Converting SIGSEGV signals to C++ exception in gcc/g++

Andrew Haley aph@redhat.com
Tue Aug 23 14:34:00 GMT 2011


On 08/22/2011 09:33 AM, Andrew Haley wrote:
> On 08/21/2011 11:02 PM, sudhakar govindavajhala wrote:
> 
>> Is there a flag in compiling or using gcc/g++ so that a signal like
>> SIGSEGV in my C++ program will result in an exception being thrown?
>> If not, why not?  I mean, is this is not a reasonable expectation in
>> OOPS?
>>
>> Is there anything I need to be careful in throwing an exception in my
>> signal handlers that convert SIGSEGV to an exception. I will ensure
>> that no malloc style calls are called.
> 
> There is gcc support for this on most of the GNU/Linux platforms, but it's
> not so well supported elsewhere.  The answer to your question depends on
> your platform.

Like this:

zebedee:~ $ g++ segv.c -g -lpthread -Wall -fnon-call-exceptions -O2
zebedee:~ $ ./a.out
Hello!

Andrew.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: segv.c
URL: <https://gcc.gnu.org/pipermail/gcc-help/attachments/20110823/05fad715/attachment-0001.c>


More information about the Gcc-help mailing list