This is the mail archive of the
java-discuss@sourceware.cygnus.com
mailing list for the Java project.
GC_data_start
- To: java-discuss at sourceware dot cygnus dot com
- Subject: GC_data_start
- From: Jeff Sturm <jsturm at sigma6 dot com>
- Date: Tue, 16 Nov 1999 00:00:54 -0500 (EST)
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