[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: is g++-cxa-atexit.dpatch still needed



Jack Howarth <howarth@nitro.msbb.uc.edu> writes:

> In that case it also passes the test case properly. It seems to me
> that if the only reason we included the g++-cxa-atexit.dpatch
> was to satisfy the known problem...
> 
> Global destructors are not run in the correct order.
> 
>
> Global destructors should be run in the reverse order of their
> constructors completing. In most cases this is the same as the
> reverse order of constructors starting, but sometimes it is
> different, and that is important. You need to compile and link your
> p
>
> 
> ...that we don't need this patch 

This patch is indeed needed to satisfy the problem above; without this
option, the compiler does not always implement C++ correctly (see the
example in my other message).

> and it is undesirable because
> 1) no other distro is using it and FSF has this flag off by default
> in all compiler releases

That's partially a bug in the other distributions (for not activating
the flag); partially a bug in gcc (for not activating it automatically
if it detects that the platform supports it); partially simply due to
the fact that the flag was introduced in gcc 3.0, so older
distributions could not possibly have used it (and, consequently,
those distributions have bugs in their C++ compiler relating to dtor
ordering).

> 2) it currently causes breakage in binutils

If this breakage is due to proper use of binutils, then there is
clearly a bug in binutils here; I'm not sure working around this bug
by breaking C++ programs is acceptable.

Regards,
Martin


-- 
To UNSUBSCRIBE, email to debian-gcc-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: