delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2003/06/15/11:47:00

Date: Sun, 15 Jun 2003 18:45:13 +0300
From: "Eli Zaretskii" <eliz AT elta DOT co DOT il>
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

> From: <ams AT ludd DOT luth DOT se>
> 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.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019