[Bug 268514] graphics/png: missing symbol after upgrading from 1.6.37 to 1.6.38
Date: Mon, 22 May 2023 09:13:25 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=268514
Tatsuki Makino <tatsuki_makino@hotmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |tatsuki_makino@hotmail.com
--- Comment #5 from Tatsuki Makino <tatsuki_makino@hotmail.com> ---
(In reply to Adriaan de Groot from comment #4)
conftest.map:
VERS_1 { global: sym; local: *; }; VERS_2 { global: sym2; main; } VERS_1;
src.c:
void sym(void) {} void sym2(void) {} int main(void) {return 0;}
When such a file is prepared and the following command is executed...
clang -Wl,--version-script=conftest.map src.c
-> This is no problem.
gcc12 -Wl,--version-script=conftest.map src.c
-> This fails with a message like CMakeError.log of attachment 239067.
As a workaround for this,
Add -shared
-> gcc12 -Wl,--version-script=conftest.map -shared src.c
Rewrite local:*; in VERS_1.
-> VERS_1 { global: sym; local: foo; }; VERS_2 { global: sym2; main; }
VERS_1;
or -> VERS_1 { global: sym; }; VERS_2 { global: sym2; main; } VERS_1;
As a result, gcc may also be treated as having version-script support
successfully.
--
You are receiving this mail because:
You are the assignee for the bug.