[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