[Bug libgcj/38298] libjava link failures.

pluto at agmk dot net gcc-bugzilla@gcc.gnu.org
Mon Dec 29 10:00:00 GMT 2008



------- Comment #6 from pluto at agmk dot net  2008-12-29 09:59 -------
during standard build (w/o --as-needed) the libgcj-tools.so is linked
in the following way:

(...)
libtool: link: 
/home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/./gcc/xgcc -shared-libgcc
-B/home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/./gcc -nostdinc++
-L/home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/x86_64-pld-linux/libstdc++-v3/src
-L/home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/x86_64-pld-linux/libstdc++-v3/src/.libs
-B/usr/x86_64-pld-linux/bin/ -B/usr/x86_64-pld-linux/lib/ -isystem
/usr/x86_64-pld-linux/include
-isystem /usr/x86_64-pld-linux/sys-include -shared -nostdlib
/usr/lib/../lib64/crti.o
/home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/./gcc/crtbeginS.o
classpath/tools/.libs/libgcj_tools_la-tools.o
-L/home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/x86_64-pld-linux/libstdc++-v3/src
-L/home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/x86_64-pld-linux/libstdc++-v3/src/.libs
-L/home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/x86_64-pld-linux/libjava
-L/home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/./gcc -L/lib/../lib64
-L/usr/lib/../lib64 -lc -lgcc_s
/home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/./gcc/crtendS.o
/usr/lib/../lib64/crtn.o  -march=x86-64 -Wl,-z -Wl,relro -Wl,-z -Wl,combreloc
-Wl,--version-script=../../../libjava/libgcj.ver -Wl,-Bsymbolic-functions
-Wl,-soname -Wl,libgcj-tools.so.10 -o .libs/libgcj-tools.so.10.0.0


$ ldd -r x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0
        linux-vdso.so.1 =>  (0x00007fffa2fff000)
        libc.so.6 => /lib64/libc.so.6 (0x00002abf084bc000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00002abf08813000)
        /lib64/ld-linux-x86-64.so.2 (0x00002abf07b02000)

undefined symbol: _Jv_charClass
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_floatClass       
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_shortClass       
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_byteClass
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_booleanClass     
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_doubleClass      
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_longClass
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_intClass 
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _ZTVN4java4lang5ClassE       
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_ThrowAbstractMethodError 
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: __gcj_personality_v0 
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_IsInstanceOf     
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_NewPrimArray     
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_Throw    
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_CheckArrayStore  
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_CheckCast
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_LookupInterfaceMethodIdx 
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_RegisterResource 
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_NewMultiArray    
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_ResolvePoolEntry 
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_AllocObjectNoFinalizer   
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_ThrowNoSuchFieldError    
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_ThrowBadArrayIndex       
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_ThrowNullPointerException
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: fmod  (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_InitClass
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_MonitorExit      
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_NewObjectArray   
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_MonitorEnter     
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_AllocObject      
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)

$ cat x86_64-pld-linux/libjava/.libs/libgcj-tools.la
# libgcj-tools.la - a libtool library file
# Generated by ltmain.sh (GNU libtool) 2.2.6
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# The name that we can dlopen(3).
dlname='libgcj-tools.so.10'

# Names of this library.
library_names='libgcj-tools.so.10.0.0 libgcj-tools.so.10 libgcj-tools.so'

# The name of the static archive.
old_library='libgcj-tools.a'

# Linker flags that can not go in dependency_libs.
inherited_linker_flags=''

# Libraries that this one depends upon.
dependency_libs='
-L/home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/x86_64-pld-linux/libjava'

# Names of additional weak libraries provided by this library
weak_library_names=''

# Version information for libgcj-tools.
current=10
age=0
revision=0

# Is this an already installed library?
installed=no

# Should we warn about portability when linking against -modules?
shouldnotlink=no

# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''

# Directory that this library needs to be installed in:
libdir='/usr/lib64/../lib64'


as you can see, there's undefined fmod symbol and related .la doesn't
contain required -lm. the --as-needed feature only exposes this bug.


-- 

pluto at agmk dot net changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |UNCONFIRMED
         Resolution|INVALID                     |


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



More information about the Gcc-bugs mailing list