[Gc] Re: gcc 3.4 gc-test program boehm-gc/tests/test.c fails on linux 2.6.7

John Lumby johnlumby at hotmail.com
Mon Aug 16 11:54:28 PDT 2004

Thank-you Hans.    I made that change and also made the following two 
changes to the compiler itself to be consistent:
. in gcc-3.4.1/boehm-gc/misc.c
       ifdef-out entire function GC_enable_incremental
. in gcc-3.4.1/boehm-gc/pcr_interface.c
      change call to GC_enable_incremental() into an ABORT
This is on the assumption that the gcc never uses this function as you 

With those changes, build ok and make check ok.

Perhaps you could kindly confirm that these changes are ok for gcc and I can 
then install it.

By the way, just for interest I tried building and make check'ing the gcc 
tree from cvs and it also fails in the boehm-gc test, so the changes you  
mentioned that you recently made
(pthread_stop_world.c)  are apparently not enough.  I also see gcc-Bugzilla 
Bug 15812 open.  (I personally am not intending to instal gcc 3.5 until it 
becomes stable release)


----Original Message Follows----
From: Hans Boehm <Hans.Boehm at hp.com>
To: John Lumby <johnlumby at hotmail.com>
CC: gc at napali.hpl.hp.com, Hans.Boehm at hp.com
Su  bject: RE: [Gc] Re: The gcc 3.4 gc-test program boehm-gc/tests/test.c 
failson linux 2.
Date: Sun, 15 Aug 2004 21:54:37 -0700 (PDT)

The easiest patch may be to remove the GC_enable_incremental call around
line 1809 in tests/test.c, or change the surrounding #if to a #if 0.

(I'm not sure about the line number in your version, but it's the last
such call in the file.)

The other workaround is probably to build with --enable-parallel-mark,
which is probably a good idea if you are targetting mostly


On Sun, 15 Aug 2004, John Lumby wrote:

 > Thank you Hans.     I extracted latest pthread_stop_world.c from the gcc 
 > ( can't tell if this is the same version 6.3alpha6 you stated or newer) 
 > tried
 > cd /home/gcc-build/i686-pc-linux-gnu/boehm-gc;make
 > but when compiling the new pthread_stop_world.c :
 > ___________________________________________________
 > /home/gcc-3.4.1/boehm-gc/pthread_stop_world.c: In function
 > `GC_push_all_stacks':
 > /home/gcc-3.4.1/boehm-gc/pthread_stop_world.c:269: error:
 > `GC_in_thread_creation' undeclared (first use in this function)
 > /home/gcc-3.4.1/boehm-gc/pthread_stop_world.c:269: error: (Each 
 > identifier is reported only once
 > /home/gcc-3.4.1/boehm-gc/pthread_stop_world.c:269: error: for each 
 > it appears in.)
 > make[1]: *** [pthread_stop_world.lo] Error 1
 > _____________________________________________
 > I guess maybe I also need a newer header file?    Where should
 > GC_in_thread_creation be defined?
 > But of course replacing this file is changing the gcc itself, not just a
 > change to the test suite.   Maybe I can't (or shouldn't) do this in 
 > 3.4.1 ?       But I wonder if there is some simple change to my 3.4.1 
 > that will let the test run correctly?      E,g, would you recommend to
 > replace the entire boehm_gc dir by the one from cvs and try that?   Is it
 > completely self-contained and not dependent on version of other gcc
 > directories?
 > I understand you said this incremental mode is not used in the gcc itself 
 > so maybe I should ignore the error and install.     but  I don't like to
 > "instal" a new gcc that doesn't pass its own tests.
 > John
 > ----Original Message Follows----
 > From: Hans Boehm <Hans.Boehm at hp.com>
 > To: John Lumby <johnlumby at hotmail.com>
 > CC: gc at napali.hpl.hp.com
 > Subject: [Gc] Re: The gcc 3.4 gc-test program boehm-gc/tests/test.c fails 
 > linux 2.6.7 on ix86
 > Date: Sat, 14 Aug 2004 18:29:41 -0700 (PDT)
 > I believe this was fixed by a change to signal masking in
 > pthread_stop_world.c in version 6.3alpha6.  As a result, it should
 > now be fixed in the gcc trunk.  I should have merged this into the
 > gcc tree earlier.
 > I don't think this actually affects normal gcj operation, since it
 > should only show up in incremental GC mode, which is not enabled for gcj.
 > Hans

Express yourself instantly with MSN Messenger! Download today - it's FREE! 

More information about the Gc mailing list