undefined `__terminate_set_func@GCC_3.0'
Per Bothner
per@bothner.com
Sun Feb 4 08:43:00 GMT 2001
While doing a 'make boostrap' on Red Hat Linux 7.0, I got the following
error message:
home/bothner/GNU/linux-gcc/gcc/gcj -B/home/bothner/GNU/linux-gcc/i686-pc-linux-gnu/libjava/ -B/home/bothner/GNU/linux-gcc/gcc/ -g -ffloat-store -o .libs/jv-convert --main=gnu.gcj.convert.Convert gnu/gcj/convert/.libs/BytesToUnicode.o gnu/gcj/convert/.libs/Convert.o gnu/gcj/convert/.libs/Input_8859_1.o gnu/gcj/convert/.libs/Input_ASCII.o gnu/gcj/convert/.libs/Input_EUCJIS.o gnu/gcj/convert/.libs/Input_JavaSrc.o gnu/gcj/convert/.libs/Input_SJIS.o gnu/gcj/convert/.libs/Input_UTF8.o gnu/gcj/convert/.libs/Input_iconv.o gnu/gcj/convert/.libs/IOConverter.o gnu/gcj/convert/.libs/Output_8859_1.o gnu/gcj/convert/.libs/Output_ASCII.o gnu/gcj/convert/.libs/Output_EUCJIS.o gnu/gcj/convert/.libs/Output_JavaSrc.o gnu/gcj/convert/.libs/Output_SJIS.o gnu/gcj/convert/.libs/Output_UTF8.o gnu/gcj/convert/.libs/Output_iconv.o gnu/gcj/convert/.libs/UnicodeToBytes.o -L/home/bothner/GNU/linux-gcc/i686-pc-linux-gnu/libjava ./.libs/libgcj.so -L/home/bothner/GNU/linux-gcc/i686-pc-linux-gnu/libjava/..!
/libstdc++-v3/libsupc++ -lm -ldl ./../boehm-gc/.libs/libgcjgc.so -L/home/bothner/GNU/linux-gcc/i686-pc-linux-gnu/libjava/../boehm-gc/.libs -lpthread ./../zlib/.libs/libzgcj.so -L/home/bothner/GNU/linux-gcc/i686-pc-linux-gnu/libjava/../zlib/.libs -L/home/bothner/GNU/linux-gcc/i686-pc-linux-gnu/libjava/.libs -Wl,--rpath -Wl,/home/bothner/GNU/linux/lib
./.libs/libgcj.so: undefined reference to `__terminate_set_func@GCC_3.0'
collect2: ld returned 1 exit status
make[3]: *** [jv-convert] Error 1
make[3]: Leaving directory `/home/bothner/GNU/linux-gcc/i686-pc-linux-gnu/libjava'
I had configured with:
CFLAGS=-g /home/bothner/GNU/gcc/configure --enable-threads=posix --prefix=/home/bothner/GNU/linux --enable-shared --enable-languages=c++,java
I'm guessing that has something to do with the shared libgcc problems others
have reported and/or this change:
2001-01-23 Chris Demetriou <cgd@broadcom.com>
* libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
of EH symbols.
* libgcc2.c (__terminate_func): Make variable static.
(__terminate_set_func): New function to set __terminate_func.
* libgcc2.h (__terminate_func_ptr): New typedef.
(__terminate_set_func): New function.
but I'm afraid I have no idea how symbol versioning etc is supposed to
work. Using nm I couldn't see that __terminate_set_func@GCC_3.0 was
different from other symbols (though I noticed that nm reported the
symbol names as __terminate_set_func@GCC_3.0 - with two '@'s).
--
--Per Bothner
per@bothner.com http://www.bothner.com/~per/
More information about the Gcc-bugs
mailing list