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

John Lumby johnlumby at hotmail.com
Sun Aug 15 10:29:40 PDT 2004

Thank you Hans.     I extracted latest pthread_stop_world.c from the gcc cvs 
( can't tell if this is the same version 6.3alpha6 you stated or newer) and 
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 
/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 undeclared 
identifier is reported only once
/home/gcc-3.4.1/boehm-gc/pthread_stop_world.c:269: error: for each function 
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 version 
3.4.1 ?       But I wonder if there is some simple change to my 3.4.1 tree 
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 

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.


----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 on 
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.


On Sat, 14 Aug 2004, John Lumby wrote:

 > I tried to instal the gcc version 3.4.1 compiler on linux 2.6.7 running 
 > intel i686.
 > build of compiler succeeds but the make check fails when running the
 > .../gcc-3.4.1/boehm-gc/tests/test.c
 > test output is
 > Switched to incremental mode
 > Emulating dirty bits with mprotect/signals
 > FAIL: gctest
 > ===================
 > 1 of 1 tests failed
 > If I run the test on a linux 2.4 kernel, the test succeeds.    So I think 
 > is not a problem in the compiler but perhaps some incompatibility between
 > the test program and the newer 2.6 linux.
 > I tried debugging a little.  I was able to add GC_printfs to see progress 
 > the threads and re-compile the test.c.
 > on 2.4.18:
 > Switched to incremental mode
 > Emulating dirty bits with mprotect/signals
 > thread 4000 entering run_one_test
 > thread 4002 entering run_one_test
 > thread 8003 entering run_one_test
 > thread 4000 leaving run_one_test
 > thread 4002 leaving run_one_test
 > thread 8003 leaving run_one_test
 > Completed 3 tests
 > Allocated 5716744 collectable objects
 > Allocated 306 uncollectable objects
 > Allocated 3750000 atomic objects
 > Allocated 34440 stubborn objects
 > Finalized 6613/6613 objects - finalization is probably ok
 > Total number of bytes allocated is 290418232
 > Final heap size is 12443648 bytes
 > Collector appears to work
 > Completed 462 collections
 > on 2.6.7
 > Switched to incremental mode
 > Emulating dirty bits with mprotect/signals
 > thread 4002 entering run_one_test
 > thread 4000 entering run_one_test
 > Killed
 > I could not find out why the "Killed" not even with gdb.
 > Can you help at all with this?     I think there is no problem with my
 > compiler but would like the testcase to work.
 > John

Take advantage of powerful junk e-mail filters built on patented Microsoft® 
SmartScreen Technology. 
  Start enjoying all the benefits of MSN® Premium right now and get the 
first two months FREE*.

More information about the Gc mailing list