I went back and looked at the origin of this g++-cxa-atexit.dpatch patch...
http://lists.debian.org/debian-gcc/2001/debian-gcc-200106/msg00162.html http://gcc.gnu.org/ml/gcc-patches/1999-12n/msg00664.html and decided to try the test case (it needs a correction...test.C is missing a #include <stdlib.h> I found the following. I can compile it with either gcc 3.0.4 with the g++-cxa-atexit.dpatch patch or with my own local copy of gcc 3.1 which has the g++-cxa-atexit.dpatch removed. In either case I get.. In main In shared object Back in main Shared object going away... Goodbye, world. I also built the test programs on entropy.crashing.org using Franz Sirl's toolchain that uses an srpm that also doesn't use int flag_use_cxa_atexit = 1; 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 and it is undesirable because 1) no other distro is using it and FSF has this flag off by default in all compiler releases 2) it currently causes breakage in binutils Jack ------------------------------------------------------------------------------ Jack W. Howarth, Ph.D. 231 Albert Sabin Way NMR Facility Director Cincinnati, Ohio 45267-0524 Dept. of Molecular Genetics phone: (513) 558-4420 Univ. of Cincinnati College of Medicine fax: (513) 558-8474 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]