[Bug lto/86175] New: LTO code generator does not respect ld -u option to force symbol inclusion in the link product
zenith432 at users dot sourceforge.net
gcc-bugzilla@gcc.gnu.org
Sat Jun 16 16:58:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86175
Bug ID: 86175
Summary: LTO code generator does not respect ld -u option to
force symbol inclusion in the link product
Product: gcc
Version: 8.1.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: lto
Assignee: unassigned at gcc dot gnu.org
Reporter: zenith432 at users dot sourceforge.net
CC: marxin at gcc dot gnu.org
Target Milestone: ---
Created attachment 44288
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44288&action=edit
Test case to demonstrate bug
Please see test case in attached file that contains
Makefile
test.c
GCC is 8.1.1
ld is from binutils 2.29.1
Compiling with -flto and attempting to force inclusion of a symbol with hidden
visibility. The symbol is discarded.
make
gcc -o test1 -fvisibility=default -ffunction-sections
-Wl,--gc-sections,-u,KeepMe test.c
strings test1 | grep This
This string should appear in the executable.
gcc -o test2 -flto -fvisibility=default -ffunction-sections
-Wl,--gc-sections,-u,KeepMe test.c
strings test2 | grep This
This string should appear in the executable.
gcc -o test3 -fvisibility=hidden -ffunction-sections
-Wl,--gc-sections,-u,KeepMe test.c
strings test3 | grep This
This string should appear in the executable.
gcc -o test4 -flto -fvisibility=hidden -ffunction-sections
-Wl,--gc-sections,-u,KeepMe test.c
strings test4 | grep This
make: [Makefile:18: test4] Error 1 (ignored)
More information about the Gcc-bugs
mailing list