Skip to content

Exported symbols aren't consistent #715

@Zer0-One

Description

@Zer0-One

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions