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

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Mon Apr 13 16:53:27 MSK 2020



On 13/04/2020 11:42, Konstantin Osipov wrote:
> * Konstantin Osipov <kostja.osipov at gmail.com> [20/04/13 12:40]:
>>> It was never autogenerated. We always patched extra/exports file.
>>> That makes almost all your comments irrelevant.
>>
>> 4c4c1ccbe422e1420ce0c0b36194fc61bb857ed4 adds exports
>>
>> It also adds explicit -Wl,exported_symbols_list
> 
> 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.

The decision was made to go for the former option.


More information about the Tarantool-patches mailing list