Date: Sun, 15 Jun 2003 18:45:13 +0300 From: "Eli Zaretskii" Sender: halo1 AT zahav DOT net DOT il To: djgpp-workers AT delorie DOT com Message-Id: <3405-Sun15Jun2003184512+0300-eliz@elta.co.il> X-Mailer: emacs 21.3.50 (via feedmail 8 I) and Blat ver 1.8.9 In-reply-to: <200306151033.h5FAXDJP018725@speedy.ludd.luth.se> (ams AT ludd DOT luth DOT se) Subject: Re: Integer Overflow References: <200306151033 DOT h5FAXDJP018725 AT speedy DOT ludd DOT luth DOT se> Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > From: > Date: Sun, 15 Jun 2003 12:33:13 +0200 (CEST) > > Umm, before going any further take note that abort() is declared with > __attribute((noreturn)) in stdlib.h. This will probably affect how > much code is generated after a call to it. Since `abort' indeed never returns, even if SIGABRT is caught and its handler returns, the declaration and the code generated by GCC are correct. Programs that want to allow recovery in such situations should not call `abort, but instead should raise SIGABRT (and include code for the case that the handler returns). It sounds like libgcc functions should be modified along these lines.