[haiku-development] Re: __cxa_atexit missing from libroot.so

  • From: Ingo Weinhold <ingo_weinhold@xxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Tue, 13 Apr 2010 14:08:52 +0200

On 2010-04-13 at 10:21:43 [+0200], Paul Davey <plmdvy@xxxxxxxxx> wrote:
> On Tue, Apr 13, 2010 at 8:03 PM, Ingo Weinhold <ingo_weinhold@xxxxxx> wrote:
> > On 2010-04-13 at 05:47:09 [+0200], Paul Davey <plmdvy@xxxxxxxxx> wrote:
> >> I cant find __cxa_atexit in libroot.so
> >> Is there a reason it isn't there or is this a bug?
> >
> > Is there a reason it should be there?
> 
> clang uses it for certain C++ things. its part of the Itanium C++
> abi... there is a file implementing it in glibc.

Indeed the ABI specs say it needs to be provided by the implementation's 
runtime. Since it needs to work consistently with atexit() that obviously has 
to be the C library. __cxa_finalize() is missing, too.

> I may be able to stop clang using it but I think it would be better to
> have it...

Please file a Trac ticket.

> I wonder how gcc 4.3.3 is told not to use it since it uses it by
> default too I think.

When building a native compiler gcc's configure checks whether the function 
is available and uses it, when that is the case.

CU, Ingo

Other related posts: