bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/15149] Weak reference leads to DT_NEEDED entry


From: hjl.tools at gmail dot com
Subject: [Bug ld/15149] Weak reference leads to DT_NEEDED entry
Date: Fri, 15 Feb 2013 23:41:33 +0000

http://sourceware.org/bugzilla/show_bug.cgi?id=15149

--- Comment #1 from H.J. Lu <hjl.tools at gmail dot com> 2013-02-15 23:41:33 
UTC ---
This patch:

http://sourceware.org/ml/binutils/2013-02/msg00186.html

caused:

/export/gnu/import/git/gcc-test-intel64/bld/gcc/xgcc
-B/export/gnu/import/git/gcc-test-intel64/bld/gcc/
/export/gnu/import/git/gcc-test-intel64/src-trunk/libjava/testsuite/libjava.jni/invocation/PR16923.c
-I. -I..
-I/export/gnu/import/git/gcc-test-intel64/src-trunk/libjava/testsuite/libjava.jni
-I/export/gnu/import/git/gcc-test-intel64/src-trunk/libjava/testsuite/../include
-I/export/gnu/import/git/gcc-test-intel64/src-trunk/libjava/testsuite/../classpath/include
-fdollars-in-identifiers
-L/export/gnu/import/git/gcc-test-intel64/bld/x86_64-unknown-linux-gnu/32/libjava/.libs
-ljvm -lm -m32 -o PR16923^M
/usr/local/bin/ld:
/export/gnu/import/git/gcc-test-intel64/bld/gcc/32/crtbegin.o: undefined
reference to symbol '_Jv_RegisterClasses'^M
/usr/local/bin/ld: note: '_Jv_RegisterClasses' is defined in DSO
/export/gnu/import/git/gcc-test-intel64/bld/x86_64-unknown-linux-gnu/32/libjava/.libs/libgcj.so.14
so try adding it to the linker command line^M
/export/gnu/import/git/gcc-test-intel64/bld/x86_64-unknown-linux-gnu/32/libjava/.libs/libgcj.so.14:
could not read symbols: Invalid operation^M
collect2: error: ld returned 1 exit status^M
compiler exited with status 1

_Jv_RegisterClasses is weak reference and libgcj.so isn't on the
linker command line. Since libgcj.so isn't on the linker command line,
gold resolves _Jv_RegisterClasses to 0 and the old bfd linker silently
resolves it to _Jv_RegisterClasses in libgcj.so.  Now executable
generated by gold and ld behaves differently:

address@hidden testsuite]$ readelf -sW /tmp/PR16923.gold | grep
_Jv_RegisterClasses 
     8: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND _Jv_RegisterClasses
    37: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND _Jv_RegisterClasses
address@hidden testsuite]$ readelf -sW /tmp/PR16923.bfd | grep 
_Jv_RegisterClasses 
     9: 00000000004005e0     0 FUNC    WEAK   DEFAULT  UND _Jv_RegisterClasses
    59: 00000000004005e0     0 FUNC    WEAK   DEFAULT  UND _Jv_RegisterClasses

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]