From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp37.i.mail.ru (smtp37.i.mail.ru [94.100.177.97]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 045834696C3 for ; Mon, 13 Apr 2020 17:21:13 +0300 (MSK) References: <20200412113423.GA28681@atlas> <84069240-b5a4-9e61-09f4-a347fe53d54c@tarantool.org> <20200413094004.GB16266@atlas> <20200413094230.GC16266@atlas> <533bd68c-4bbb-446a-6265-da4f47d451f1@tarantool.org> <20200413141534.GA11286@atlas> From: Vladislav Shpilevoy Message-ID: Date: Mon, 13 Apr 2020 16:21:10 +0200 MIME-Version: 1.0 In-Reply-To: <20200413141534.GA11286@atlas> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit 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: Konstantin Osipov , tarantool-patches@dev.tarantool.org On 13/04/2020 16:15, Konstantin Osipov wrote: > * 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 not listening to me. This is not about Mac only. > 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 was maintained for years in extra/exports.