This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Can't bootstrap gcc 4.2 RC1 on cygwin: gcc/boehm-gc/misc.c:680: undefined reference to `_GC_get_thread_stack_base'
- From: Brian Dessent <brian at dessent dot net>
- To: Christian Joensson <christian dot joensson at gmail dot com>
- Cc: GCC Development <gcc at gcc dot gnu dot org>
- Date: Wed, 21 Mar 2007 03:10:22 -0700
- Subject: Re: Can't bootstrap gcc 4.2 RC1 on cygwin: gcc/boehm-gc/misc.c:680: undefined reference to `_GC_get_thread_stack_base'
- References: <5460e3330703210300n1c47640fj549a075a53ee2e11@mail.gmail.com>
- Reply-to: gcc at gcc dot gnu dot org
Christian Joensson wrote:
> /usr/local/src/branch/objdir/gcc/gcj
> -B/usr/local/src/branch/objdir/i686-pc-cygwin/libjava/
> -B/usr/local/src/branch/objdir/gcc/ -ffloat-store -fomit-frame-pointer
> -g -O2 -o jv-convert.exe --main=gnu.gcj.convert.Convert -shared-libgcc
> -L/usr/local/src/branch/objdir/i686-pc-cygwin/libjava
> -L/usr/local/src/branch/objdir/i686-pc-cygwin/libjava/.libs
> ./.libs/libgcj.a
> -L/usr/local/src/branch/objdir/i686-pc-cygwin/libstdc++-v3/src
> -L/usr/local/src/branch/objdir/i686-pc-cygwin/libstdc++-v3/src/.libs
> -ldl -lz -L/usr/local/src/branch/objdir/./gcc -L/usr/local/lib -lgcc
> -lcygwin -luser32 -lkernel32 -ladvapi32 -lshell32 -lgcc
> ./.libs/libgcj.a(misc.o): In function `GC_init_inner':
> /usr/local/src/branch/objdir/i686-pc-cygwin/boehm-gc/../../../gcc/boehm-gc/misc.c:680:
> undefined reference to `_GC_get_thread_stack_base'
> collect2: ld returned 1 exit status
> make[3]: *** [jv-convert.exe] Error 1
Yes, this is unfortunately par for the course with gcc and win32, which
hasn't been able to even bootstrap all languages for many months. Ada's
broken too, has been since October. Sad state. You can get gcj limping
again with something like this:
--- win32_threads.c (revision 121494)
+++ win32_threads.c (working copy)
@@ -337,6 +337,11 @@
}
# endif
+GC_PTR GC_get_thread_stack_base()
+{
+ return 0;
+}
+
void GC_push_all_stacks()
{
DWORD thread_id = GetCurrentThreadId();
Brian