[Bug libgcj/56353] New: libgcj should be listed on command line for libjava.jni/invocation/PR16923.c

hjl.tools at gmail dot com gcc-bugzilla@gcc.gnu.org
Fri Feb 15 23:47:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56353

             Bug #: 56353
           Summary: libgcj should be listed on command line for
                    libjava.jni/invocation/PR16923.c
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libgcj
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: hjl.tools@gmail.com


libjava.jni/invocation/PR16923.c behaves differently, depending
on linking with gold or ld. _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
ld silently resolves it to _Jv_RegisterClasses in libgcj.so:

[hjl@gnu-13 testsuite]$ readelf -sWr /tmp/PR16923.gold | grep
_Jv_RegisterClasses 
     8: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND _Jv_RegisterClasses
    37: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND _Jv_RegisterClasses
[hjl@gnu-13 testsuite]$ readelf -sWr /tmp/PR16923.bfd | grep
_Jv_RegisterClasses 
0000000000600cd0  0000000900000007 R_X86_64_JUMP_SLOT     00000000004005e0
_Jv_RegisterClasses + 0
     9: 00000000004005e0     0 FUNC    WEAK   DEFAULT  UND _Jv_RegisterClasses
    59: 00000000004005e0     0 FUNC    WEAK   DEFAULT  UND _Jv_RegisterClasses
[hjl@gnu-13 testsuite]$



More information about the Java-prs mailing list