GC_data_start

Jeff Sturm jsturm@sigma6.com
Mon Nov 15 20:58:00 GMT 1999


Since the new boehm-gc code was imported into libgcj, shared builds no
longer work on my Alpha.  Some investigation reveals that the
GC_data_start address is calculated (with GC_find_limit) from the
GC_copyright symbol.  The trouble is that shared builds don't locate
GC_copyright in the main data segment.

The previous release used /proc to discover the boundaries of the data
segment.  That worked on Alpha for static and shared builds.  The same
technique should also work on Sparc and PPC (and Intel for that matter),
though I have no way of testing all of those.  (It's similar to the new
/proc code to reliably determine the stack bottom; perhaps these can be
merged.)

The GC_find_limit trick isn't useable since I can't find a symbol that is
guaranteed to exist in the data segment.  Does anybody object to reverting
to the old /proc-based code, or have any better ideas?

--
Jeff Sturm
jsturm@sigma6.com




More information about the Java mailing list