[Gc] Status of gc on Mac OS X - gc_cpp issue

Boehm, Hans hans.boehm at hp.com
Thu Oct 5 12:43:44 PDT 2006


Thanks for the recipe.  Unfortunately it appears that requires some work
on the part of MacOSX clients.

For now, I documented the behavior in README.darwin, with a pointer to
Andrew's message.

> -----Original Message-----
> From: Andrew Begel [mailto:abegel at eecs.berkeley.edu] 
> 
> It's not a bug. new and delete are not overrideable on MacOSX 
> without a little extra work (this behavior, btw is part of 
> the C++ spec.  
> You're allowed to override everything but new and delete). In 
> the source code for the Harmonia project you can see how we did it:  
> http://harmonia.cs.berkeley.edu.
> 
Section 17.4.3.4 of the C++ standard actually reads to me like it's
quite explicit that operator delete(void *) may be overridden.  I expect
the issue here is that the C++ standard says nothing about dynamic
libraries, and the name visibility rules there vary.

It seems that things generally just work with either

- static libraries, or
- dynamic libraries with ELF visibility rules

On other systems you're sort of on your own.

Hans



More information about the Gc mailing list