[Gc] moving from 6.8->7.0 getting smashed objects

jim marshall jim.marshall at wbemsolutions.com
Sun Jul 8 20:48:20 PDT 2007

I was hoping to migrate our application to use GC 7.0 for our next
release. I built the Linux library with the following configure script

./configure --prefix=/home/jmars/wbem/wsi/thirdparty/memory/70dbg
--enable-gc-assertions --enable-full-debug --enable-static=no
--enable-threads=posix --enable-thread-local-alloc

I tried with and without the 'thread-local-alloc' as our 6.8 compilation
did not have that.

I then rebuilt my application using the new libgc.so.1.0.3. When I start
the application and as I run through code I get a list of smashed
objects, however; under gc 6.8 the application runs fine with no smashed
objects detected.  I do not doubt that we are doing this, I just wanted
to ask if GC 7.0 has a new algorithm for detecting smashed objects which
is better then 6.8 (I suspect yes) and if anyone else is experiencing
this?  I wanted to ask before I spend a ton of time trying to track
these down.

Thank you again!

When I do the above configure the build is being done with -g -O2, I
did not expect the "-O2" to be there for debug builds:

> -DPACKAGE_VERSION=\"7.0\" "-DPACKAGE_STRING=\"gc 7.0\"" 
> -DPACKAGE_BUGREPORT=\"Hans.Boehm at hp.com\" -DGC_VERSION_MAJOR=7 
> -DATOMIC_UNCOLLECTABLE=1 -DGC_ASSERTIONS=1 -I./include -fexceptions -I 
> ./libatomic_ops/src -g -O2 -MT os_dep.lo -MD -MP -MF .deps/os_dep.Tpo 
> -c os_dep.c  -fPIC -DPIC -o .libs/os_dep.o

More information about the Gc mailing list