[PATCH][4.3] Deprecate -ftrapv
Andi Kleen
andi@firstfloor.org
Mon Mar 3 00:38:00 GMT 2008
rridge@csclub.uwaterloo.ca (Ross Ridge) writes:
> Robert Dewar writes:
> >Yes, and that is what we would want for Ada, so I am puzzled by your
> >sigh. All Ada needs to do is to issue a constraint_error exception,
> >it does not need to know where the exception came from or why except
> >in very broad detail.
>
> Unless printing "This application has requested the Runtime to terminate
> it in an unusual way." counts an issuing a contraint_error in Ada,
> it seems to me that -ftrapv and Ada have differing requirements.
> How can you portabilty and correctly generate a constraint_error if
> the code generated by -ftrapv calls the C runtime function abort()?
> On Unix-like systems you can catch SIGABRT, but even there how do you
> tell that it didn't come from CTRL-\, a signal sent from a different
> process, or abort() called fom some other context? With INTO I don't
> see any way distignuish the SIGSEGV it generates on Linux from any of
> the myriad other ways a SIGSEGV can be generated.
Easy: The signal frame that is passed as an argument to the signal handler
has a trapno member than will contain 4 for INTO. The only other case where
it would contain 4 would be a explicit int 4
-Andi
More information about the Gcc
mailing list