[Tarantool-patches] [PATCH 00/43] Unhide symbols

sergos at tarantool.org sergos at tarantool.org
Wed Apr 15 13:50:44 MSK 2020



> On 15 Apr 2020, at 13:40, Mons Anderson <mons at cpan.org> wrote:
> 
> On Tue, Apr 14, 2020 at 11:41 PM Konstantin Osipov
> <kostja.osipov at gmail.com> wrote:
>> 
>> * Timur Safin <tsafin at tarantool.org> [20/04/14 21:01]:
>>> : Mons will be happy simply if we switch back to default gcc linking
>>> : options, -fvisibility=default, which is basically dropping
>>> : -exported_symbols_list.
> 
> We've been discussing this with team. It is sufficient for me.
> But you can't just drop exported_symbols_list without replacing it
> with something else to guarantee presence of internal ffi functions
> 
This could be done with approach from @cyrillos, AFAIU. These functions
should be annotated in the code, rather than collected in a separate 
list. If a function is not present in the tarantool binary - e.g. 
dropped as not used from static library - it should not be available 
anyways. Will it work you, Mons?

>> 
>> This is unrelated. 1.5 didn't have plugin api and no ffi exports
>> and mons was hacking into it.
>> 
>> In fact he wasn't hacking into functions at all, he was hacking
>> into global state, such as cord_ptr->fiber, and it was not (and I
>> believe is not) removed from the visibility list by linker.
>> 
>> In short:
>> When trying to understand how this "feature" worked before, look
>> at 1.5, not 1.6+.
> 
> You are wrong. It works in 1.6 and was broken by mejedi in the middle
> of 1.7 and unfortunately left unseen
> For ex, I’m using in 1.6:
> 
> ffi.cdef[[ uint32_t sc_version; ]]
> 
> Things like that stop working after that patch.
> 
> 
> -- 
> Best wishes,
> Vladimir V. Perepelitsa aka Mons Anderson
> <inthrax at gmail.com>, <mons at cpan.org>
> http://github.com/Mons



More information about the Tarantool-patches mailing list