From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf1-f67.google.com (mail-lf1-f67.google.com [209.85.167.67]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 0FEA94696C3 for ; Mon, 13 Apr 2020 17:15:36 +0300 (MSK) Received: by mail-lf1-f67.google.com with SMTP id k28so6615091lfe.10 for ; Mon, 13 Apr 2020 07:15:36 -0700 (PDT) Date: Mon, 13 Apr 2020 17:15:34 +0300 From: Konstantin Osipov Message-ID: <20200413141534.GA11286@atlas> References: <20200412113423.GA28681@atlas> <84069240-b5a4-9e61-09f4-a347fe53d54c@tarantool.org> <20200413094004.GB16266@atlas> <20200413094230.GC16266@atlas> <533bd68c-4bbb-446a-6265-da4f47d451f1@tarantool.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <533bd68c-4bbb-446a-6265-da4f47d451f1@tarantool.org> Subject: Re: [Tarantool-patches] [PATCH 00/43] Unhide symbols List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Vladislav Shpilevoy Cc: tarantool-patches@dev.tarantool.org * Vladislav Shpilevoy [20/04/13 16:57]: > > Basically the right fix is to remove this link option, not come up > > with 43 patches. > > It is not enough. Static library symbols are not exported, if they > are not used. Linker drops them. It means almost all needed symbols > are removed when you just remove the option. > > Alternative is to use option all_load on clang (and whole-archive on > gcc), but that exports *all* symbols and *all* functions. Even the > ones which really are not needed, but are just a part of some library, > which we don't want to trim. This is a single user feature. That single user was happy with the previous implementation, using automatic exports. Clang, Mac OS X or unstable export lists were not relevant to him, so a tiny patch reverting linker option would suffice. You are trying to make it "better" for that user. As I wrote earlier, this won't work, since nobody's going to maintain these lists going forward. It is actually quite amazing how Nick made a useless patch 4 years ago and it spawned hours of useless conversations and emails, and 43 other useless patches now, and I don't know how many more useless patches and emails will be written to keep this going... Since whatever happens it's not relevant to tarantool architecture or code quality I don't really care - except it's a pity people are spending time on this instead of spending it on something more useful. -- Konstantin Osipov, Moscow, Russia