This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]