-
Notifications
You must be signed in to change notification settings - Fork 838
Exported symbols aren't consistent #715
Description
jansson_withoutpatch.txt
jansson_withpatch.txt
Here are the symbol tables without the patch from #704 and with the patch. Something confusing is that this symbol version script appears to be configured only to be applied if the linker doesn't support --default-symver, and I'm using the GNU linker, which does support that flag, afaik.
The autotools build produces a clean symbol table because of the "inline version script" in src/Makefile.am .
On Windows platforms, the jansson.def file handles symbol exports in DLLs and (afaik) is ignored on unix, so for unix platforms, why are we not just using a version script everywhere and ignoring --default-symver altogether?
In any case, the symbols exported on a default cmake build on GCC currently include symbols which should be local only. The hack fix is to merge #704 , and the proper fix would be to just default to including a version script.