From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp16.mail.ru (smtp16.mail.ru [94.100.176.153]) (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 A4A514696C3 for ; Tue, 14 Apr 2020 21:26:12 +0300 (MSK) From: "Timur Safin" References: <20200412113423.GA28681@atlas> <84069240-b5a4-9e61-09f4-a347fe53d54c@tarantool.org> <20200413094004.GB16266@atlas> <20200413094230.GC16266@atlas> <533bd68c-4bbb-446a-6265-da4f47d451f1@tarantool.org> <20200413194931.GB1734@tarantool.org> <8b7bcee8-b2db-8f2c-d241-687f6b6d6f4b@tarantool.org> <20200413213801.GB12552@atlas> <13d501d61286$af32d4b0$0d987e10$@tarantool.org> In-Reply-To: <13d501d61286$af32d4b0$0d987e10$@tarantool.org> Date: Tue, 14 Apr 2020 21:26:09 +0300 Message-ID: <13ef01d6128a$2cb00bd0$86102370$@tarantool.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Language: ru 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' , 'Vladislav Shpilevoy' Cc: tarantool-patches@dev.tarantool.org : -----Original Message----- : From: Tarantool-patches = On : Behalf Of Timur Safin : Sent: Tuesday, April 14, 2020 9:01 PM : To: 'Konstantin Osipov' ; 'Vladislav = Shpilevoy' : : Cc: tarantool-patches@dev.tarantool.org : Subject: Re: [Tarantool-patches] [PATCH 00/43] Unhide symbols :=20 : : Mons will be happy simply if we switch back to default gcc linking : : options, -fvisibility=3Ddefault, which is basically dropping : : -exported_symbols_list. : : : : -- : : Konstantin Osipov, Moscow, Russia :=20 : Nope, this won't work the desired way - linker will get rid of symbol = if : it's default visible and unreferenced in the executable. :=20 : We used to have FFI hack for such case, which was deleted because : explicitly exported symbol (via loader list) will be retained in the : binary. If we explicitly export them in the code - we will get to the = same : result - unreferenced/"unused" symbol will be available for external : access (e.g. from LuaJIT ffi). :=20 :=20 : Timur Well, as I've realized later (after further discussions with Vlad) ld = has not kept explicitly exported symbols after it has collected = executable out of list of static libraries we have. That's unfortunate - = we need to find out the way to make ld working more link in the case of = so. Will look around. Timur