https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96385

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #48956|0                           |1
        is obsolete|                            |

--- Comment #9 from H.J. Lu <hjl.tools at gmail dot com> ---
Created attachment 48975
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48975&action=edit
A testcase

[hjl@gnu-cfl-2 pr26324]$ make
gcc -B./ -O2 -g -flto -ffat-lto-objects   -c -o pr26324a.o pr26324a.c
gcc -B./ -O2 -g -fPIC   -c -o pr15146c.o pr15146c.c
gcc -B./ -O2 -g -fPIC   -c -o pr15146b.o pr15146b.c
gcc -B./ -shared  -o pr15146b.so pr15146b.o
gcc -B./ -shared  -o pr15146c.so pr15146c.o pr15146b.so
gcc -B./  -O2 -g -o x -Wl,-R,. \
  -Wl,--no-copy-dt-needed-entries -Wl,--no-as-needed pr26324a.o pr15146c.so
./ld: /tmp/ccCGQCqp.debug.temp.o: undefined reference to symbol 'xxx'
./ld: ./pr15146b.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [Makefile:20: x] Error 1
[hjl@gnu-cfl-2 pr26324]$ 

-flto -ffat-lto-objects is the key.

Reply via email to