From: Andrew Crabtree Message-Id: <199710241603.AA225099039@typhoon.rose.hp.com> Subject: Re: compiling C++ with -a switch To: eliz AT is DOT elta DOT co DOT il (Eli Zaretskii) Date: Fri, 24 Oct 1997 9:03:59 PDT Cc: andrewc AT rosemail DOT rose DOT hp DOT com, wallace AT ami1 DOT md DOT essd DOT northgrum DOT com, djgpp AT delorie DOT com In-Reply-To: ; from "Eli Zaretskii" at Oct 24, 97 12:32 (noon) Reply-To: andrewc AT rosemail DOT rose DOT hp DOT com Precedence: bulk > > Your mention of HAVE_ATEXIT just > > makes we worried I may have overlooked something when I did this last > > April-ish. > > I think it's better to make a local change that only involves that > spot. HAVE_ATEXIT is used in several other spots as well. (I would > expect that there should be a way to disable the dtor handling without > having to lie to the configuration about the functions we have in the > library, though.) This will really strain my memory, but I think was happened was this - GCC Now compiles in its own version of atexit into libgcc.a if HAVE_ATEXIT is not defined. This version of atexit also doesn't run properly for DJGPP (as in it don't run at all). I noticed that things like allegro weren't working properly, nor were dtors or anything else that used atexit (specifically the gcc options for using gcov -ftest-coverage and -fprofile-arcs). I can go back and doublecheck the sources (hold on I'll do it now) OK - In libgcc2.c, just after the area that you patched, there is a conditional function definition for atexit. The condition if NEED_ATEXIT, but that is dependent on HAVE_ATEXIT (I think). I don't know what all the options here are. But what do you mean by 'lie to the configuration', DJs libc does have an atexit? Andy -- _______ ___________________________________________________________ / Andrew Crabtree / Workgroup Networks Division ____ ___ / Hewlett-Packard / / / / Roseville, CA __/ __/ _____/ 916/785-1675 / andrewc AT rosemail DOT rose DOT hp DOT com ___________ __/ _____________________________________________________