[Gc] workaround for C++ exceptions problem

Filip Pizlo pizlo at mac.com
Sun Jan 22 16:33:52 PST 2006


Hello,

Even if our request to add a hook to libstdc++ is approved, the  
interaction between exceptions and GC will still be problematic on  
older versions of gcc.  For this reason, I decided to take a crack at  
developing a small hack that overrides the routines that allocate C++  
exception storage.  I include a tarball of what I've done.

The idea is to override the two routines from eh_alloc.cc and expose  
two function pointers that can be set to point at  
GC_malloc_uncollectable/GC_free.

I tested this on my Mac with two different compilers (Apple GCC 3.3  
and 4.0).

Most of the action here happens in configure.ac.  I've put comments  
in this file describing how it detects the relevant information.  It  
isn't pretty, but it should just work.

The idea would be to make this part of the GC.  That is, the relevant  
bits of autoconf code could be integrated right into the GC's  
autoconf script, and activated when the user asks for C++ support.   
The exoverride.cpp file could easily be made part of the GC sources.

-Filip


-------------- next part --------------
A non-text attachment was scrubbed...
Name: exoverride-src.tar.gz
Type: application/x-gzip
Size: 2281 bytes
Desc: not available
Url : http://napali.hpl.hp.com/pipermail/gc/attachments/20060122/7f571fa7/exoverride-src.tar.bin


More information about the Gc mailing list