Hello list
boehm-gc/misc.c compiles fine, but later when it's linked into another
lib, this "undefined reference" occures:
/cygdrive/d/marco/GCC/build/gcc/gcj
-B/cygdrive/d/marco/GCC/build/i686-pc-cygwin/libjava/
-B/cygdrive/d/marco/GCC/build/gcc/ -ffloat-store -fomit-frame-pointer -g
-O2 -o jv-convert.exe --main=gnu.gcj.convert.Convert -shared-libgcc
-L/cygdrive/d/marco/GCC/build/i686-pc-cygwin/libjava
-L/cygdrive/d/marco/GCC/build/i686-pc-cygwin/libjava/.libs
./.libs/libgcj.a
-L/cygdrive/d/marco/GCC/build/i686-pc-cygwin/libstdc++-v3/src
-L/cygdrive/d/marco/GCC/build/i686-pc-cygwin/libstdc++-v3/src/.libs -ldl
-L/cygdrive/d/marco/GCC/build/./gcc -lgcc -lcygwin -luser32 -lkernel32
-ladvapi32 -lshell32 -lgcc
./.libs/libgcj.a(misc.o): In function `GC_init_inner':
/cygdrive/d/marco/GCC/source/boehm-gc/misc.c:681: undefined reference to
`_GC_get_thread_stack_base'
collect2: ld returned 1 exit status
make[3]: *** [jv-convert.exe] Error 1
make[3]: Leaving directory
`/cygdrive/d/marco/GCC/build/i686-pc-cygwin/libjava'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/cygdrive/d/marco/GCC/build/i686-pc-cygwin/libjava'
make[1]: *** [all-target-libjava] Error 2
make[1]: Leaving directory `/cygdrive/d/marco/GCC/build'
make: *** [all] Error 2
The "GC_get_thread_stack_base" is in gc.h, but including it didn't help.
Actually I'm not fully sure whether this is a libjava or base boehm-gc
question, but assume the problem is at the basic compilation step.
I compile with:
/cygdrive/d/marco/GCC/source/configure --prefix=/cygdrive/d/marco/GCC/out \
--enable-languages=c,c++,java \
--disable-nls --disable-debug --disable-shared --disable-checking \
--enable-threads=posix --disable-win32-registry
--enable-sjlj-exceptions \
--enable-libgcj
Anyone an idea?
thanks
Marco