public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/2474] global destructors should run in reverse order of _finishing_ construction
       [not found] <20010403032601.2474.lassi.tuura@cern.ch>
@ 2003-05-25 20:00 ` pinskia@physics.uc.edu
  2003-05-26 16:36 ` pinskia@physics.uc.edu
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia@physics.uc.edu @ 2003-05-25 20:00 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=2474



------- Additional Comments From pinskia@physics.uc.edu  2003-05-25 19:48 -------
Does using --enable-__cxa_atexit fix this problem?



------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug c++/2474] global destructors should run in reverse order of _finishing_ construction
       [not found] <20010403032601.2474.lassi.tuura@cern.ch>
  2003-05-25 20:00 ` [Bug c++/2474] global destructors should run in reverse order of _finishing_ construction pinskia@physics.uc.edu
@ 2003-05-26 16:36 ` pinskia@physics.uc.edu
  2003-05-27  8:22 ` lassi.tuura@cern.ch
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia@physics.uc.edu @ 2003-05-26 16:36 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=2474


pinskia@physics.uc.edu changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |WAITING





------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug c++/2474] global destructors should run in reverse order of _finishing_ construction
       [not found] <20010403032601.2474.lassi.tuura@cern.ch>
  2003-05-25 20:00 ` [Bug c++/2474] global destructors should run in reverse order of _finishing_ construction pinskia@physics.uc.edu
  2003-05-26 16:36 ` pinskia@physics.uc.edu
@ 2003-05-27  8:22 ` lassi.tuura@cern.ch
  2003-05-27 15:25 ` pinskia@physics.uc.edu
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: lassi.tuura@cern.ch @ 2003-05-27  8:22 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=2474



------- Additional Comments From lassi.tuura@cern.ch  2003-05-27 07:59 -------
Subject: Re:  global destructors should run in reverse order
 of _finishing_ construction

The output is correct with the following compiler:

Reading specs from
/tmp/gcc-3.3-install/lib/gcc-lib/i686-pc-linux-gnu/3.3/specs
Configured with: ../gcc-3.3/configure --prefix=/tmp/gcc-3.3-install
--enable-shared --enable-__cxa_atexit
Thread model: posix
gcc version 3.3

It is not correct with this compiler:

Reading specs from
/usr/local/gcc-alt-3.2/lib/gcc-lib/i686-pc-linux-gnu/3.2/specs
Configured with: ./configure --prefix=/usr/local/gcc-alt-3.2 --enable-shared
Thread model: posix
gcc version 3.2

The platform is RedHat 7.3.1-derived.

Should I ask our system support people to rebuild the compilers with the
--enable-__cxa_exit option?  I would have assumed that it was on by
default if it didn't cause problems elsewhere.  What issues do we need
to consider if we enable the option?

Thanks in advance!
//lat




------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug c++/2474] global destructors should run in reverse order of _finishing_ construction
       [not found] <20010403032601.2474.lassi.tuura@cern.ch>
                   ` (2 preceding siblings ...)
  2003-05-27  8:22 ` lassi.tuura@cern.ch
@ 2003-05-27 15:25 ` pinskia@physics.uc.edu
  2003-05-27 16:00 ` lassi.tuura@cern.ch
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia@physics.uc.edu @ 2003-05-27 15:25 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=2474


pinskia@physics.uc.edu changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |NEW
   Last reconfirmed|2003-05-05 00:00:00         |2003-05-27 15:20:05
               date|                            |


------- Additional Comments From pinskia@physics.uc.edu  2003-05-27 15:20 -------
The only problem with --enable-__cxa_atexit is that it does not work on every platform.



------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug c++/2474] global destructors should run in reverse order of _finishing_ construction
       [not found] <20010403032601.2474.lassi.tuura@cern.ch>
                   ` (3 preceding siblings ...)
  2003-05-27 15:25 ` pinskia@physics.uc.edu
@ 2003-05-27 16:00 ` lassi.tuura@cern.ch
  2003-05-27 16:05 ` pinskia@physics.uc.edu
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: lassi.tuura@cern.ch @ 2003-05-27 16:00 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=2474



------- Additional Comments From lassi.tuura@cern.ch  2003-05-27 15:54 -------
Subject: Re:  global destructors should run in reverse order
 of _finishing_ construction

Do you mean there is no autoconf check for it because I could build on
machine A which has it, and run on machine B which doesn't?  Does this
actually happen with modern GLIBC?  I have not had any luck running
programs built with a new GLIBC on older GLIBCs because of the symbol
versioning barfing this or that.

Otherwise I would ask the check to simply be made automatic -- should it
not be part of the C++ ABI definition?  It would be nice if the default
build was ABI/language correct.

Please bear with these basic questions.  I'd like to just know if I
should tell our system support to unconditionally define that option on
all of our Linux builds (or even more platforms?).  All our systems are
relatively modern (RedHat 7.3 or newer).  It's not a problem to us to
say "Use GLIBC >= x.y.z, we don't support anything older" if x.y.z or
newer libraries are widely distributed (e.g. recent RedHat and SuSE
distros).

//lat




------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug c++/2474] global destructors should run in reverse order of _finishing_ construction
       [not found] <20010403032601.2474.lassi.tuura@cern.ch>
                   ` (4 preceding siblings ...)
  2003-05-27 16:00 ` lassi.tuura@cern.ch
@ 2003-05-27 16:05 ` pinskia@physics.uc.edu
  2003-05-27 17:15 ` lassi.tuura@cern.ch
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia@physics.uc.edu @ 2003-05-27 16:05 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=2474



------- Additional Comments From pinskia@physics.uc.edu  2003-05-27 16:00 -------
__cxa_atexit is part of the C++ ABI so it is in at least on glibc 2.2.5, I mean it is problem 
on non glibc platforms such as Mac OS X (darwin), *BSD's, Solaris, AIX, etc.  Some of 
these have it but others do not, I do not know which ones though.



------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug c++/2474] global destructors should run in reverse order of _finishing_ construction
       [not found] <20010403032601.2474.lassi.tuura@cern.ch>
                   ` (5 preceding siblings ...)
  2003-05-27 16:05 ` pinskia@physics.uc.edu
@ 2003-05-27 17:15 ` lassi.tuura@cern.ch
  2003-05-27 17:19 ` giovannibajo@libero.it
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: lassi.tuura@cern.ch @ 2003-05-27 17:15 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=2474



------- Additional Comments From lassi.tuura@cern.ch  2003-05-27 16:05 -------
Subject: Re:  global destructors should run in reverse order
 of _finishing_ construction

Could I then request that for future versions, it's just checked with
autoconf, and if it exists, is used?  I would prefer the compiler was by
default ABI-compliant on a system that supports it.

If you want to, I can look into creating a patch for this.  It shouldn't
be too hard.

//lat




------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug c++/2474] global destructors should run in reverse order of _finishing_ construction
       [not found] <20010403032601.2474.lassi.tuura@cern.ch>
                   ` (6 preceding siblings ...)
  2003-05-27 17:15 ` lassi.tuura@cern.ch
@ 2003-05-27 17:19 ` giovannibajo@libero.it
  2003-07-05 21:02 ` neroden at gcc dot gnu dot org
  2005-02-14 22:13 ` pinskia at gcc dot gnu dot org
  9 siblings, 0 replies; 11+ messages in thread
From: giovannibajo@libero.it @ 2003-05-27 17:19 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=2474


giovannibajo@libero.it changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |giovannibajo@libero.it


------- Additional Comments From giovannibajo@libero.it  2003-05-27 16:31 -------
Thank you Lassi, but I don't think such a configure patch would fix the issue. 
If the code generation is wrong (and it's not undefined behaviour in the 
standard), we need a fix that can be used everywhere, not only on glibc 
platforms.



------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug c++/2474] global destructors should run in reverse order of _finishing_ construction
       [not found] <20010403032601.2474.lassi.tuura@cern.ch>
                   ` (7 preceding siblings ...)
  2003-05-27 17:19 ` giovannibajo@libero.it
@ 2003-07-05 21:02 ` neroden at gcc dot gnu dot org
  2005-02-14 22:13 ` pinskia at gcc dot gnu dot org
  9 siblings, 0 replies; 11+ messages in thread
From: neroden at gcc dot gnu dot org @ 2003-07-05 21:02 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=2474



------- Additional Comments From neroden at gcc dot gnu dot org  2003-07-05 21:02 -------
The configury machinery to default --enable-__cxa_atexit to true on certain systems is now present.

I believe that the global destructors simply cannot be run in the correct order for sure without __cxa_atexit (someone can correct me if I'm wrong).
So we should not try to fix it in those circumstances.

We should, however, default it to true on a lot more systems than we currently do, or provide a configure test. :-P
In other words, I disagree with Giovanni's assessment. :-)


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug c++/2474] global destructors should run in reverse order of _finishing_ construction
       [not found] <20010403032601.2474.lassi.tuura@cern.ch>
                   ` (8 preceding siblings ...)
  2003-07-05 21:02 ` neroden at gcc dot gnu dot org
@ 2005-02-14 22:13 ` pinskia at gcc dot gnu dot org
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-02-14 22:13 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-02-14 19:46 -------
*** Bug 19958 has been marked as a duplicate of this bug. ***

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |sabre at nondot dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=2474


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug c++/2474] global destructors should run in reverse order of _finishing_ construction
       [not found] <bug-2474-2298@http.gcc.gnu.org/bugzilla/>
@ 2010-01-20 21:12 ` jason at gcc dot gnu dot org
  0 siblings, 0 replies; 11+ messages in thread
From: jason at gcc dot gnu dot org @ 2010-01-20 21:12 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #15 from jason at gcc dot gnu dot org  2010-01-20 21:12 -------
Suspending since this seems unfixable on systems without __cxa_atexit.


-- 

jason at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jason at gcc dot gnu dot org
             Status|NEW                         |SUSPENDED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=2474


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2010-01-20 21:12 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20010403032601.2474.lassi.tuura@cern.ch>
2003-05-25 20:00 ` [Bug c++/2474] global destructors should run in reverse order of _finishing_ construction pinskia@physics.uc.edu
2003-05-26 16:36 ` pinskia@physics.uc.edu
2003-05-27  8:22 ` lassi.tuura@cern.ch
2003-05-27 15:25 ` pinskia@physics.uc.edu
2003-05-27 16:00 ` lassi.tuura@cern.ch
2003-05-27 16:05 ` pinskia@physics.uc.edu
2003-05-27 17:15 ` lassi.tuura@cern.ch
2003-05-27 17:19 ` giovannibajo@libero.it
2003-07-05 21:02 ` neroden at gcc dot gnu dot org
2005-02-14 22:13 ` pinskia at gcc dot gnu dot org
     [not found] <bug-2474-2298@http.gcc.gnu.org/bugzilla/>
2010-01-20 21:12 ` jason at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).