This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Conservative GC and glibc data structures
- From: "Boehm, Hans" <hans dot boehm at hp dot com>
- To: <libc-alpha at sourceware dot org>
- Cc: "Filip Pizlo" <pizlo at mac dot com>
- Date: Wed, 18 Jan 2006 12:27:57 -0800
- Subject: Conservative GC and glibc data structures
We've been running into a couple of issues related to our conservative
GC, glibc, and the C++ library. The basic problem is that glibc or the
gcc runtime maintains some data structures under the covers, which may
contain pointers to the garbage-collected heap. But we have no way to
find those data structures so that the collector can scan them for
pointers.
The main instance of this in this context are the data structures used
to hold thread-local-storage. Is there any way to enumerate the memory
containing tls values? If not, would the glibc maintainers be open to
adding such a mechanism? Currently garbage collected objects referenced
only from tls tend to be collected prematurely, which is clearly not
good. I can think of some gross hacks that would improve matters. But
I'd be much happier with a real solution, even if it is specific to
glibc.
There is a similar issue with the memory used to hold C++ exceptions,
though that presumably needs to be addressed on the libstdc++ mailing
list?
Thanks.
Hans