]> sourceware.org Git - newlib-cygwin.git/commit
x86_64: Handle myfault exceptions when running on alternate signal stack
authorCorinna Vinschen <corinna@vinschen.de>
Tue, 7 Jul 2015 18:45:06 +0000 (20:45 +0200)
committerCorinna Vinschen <corinna@vinschen.de>
Tue, 7 Jul 2015 18:45:06 +0000 (20:45 +0200)
commit60f10c64aa57d613471446ea3ec1b3ce6d3b9500
tree0d7e41c913bb1d547cf3512dd3314dc332ca0585
parent29a12632278368f197f3270532e2f6c19642512e
x86_64: Handle myfault exceptions when running on alternate signal stack

        x86_64 only:
        * cygtls.cc (san::leave): Restore _my_tls.andreas.
        * cygtls.h (class san):  Add _clemente as in 32 bit case.  Add ret and
        frame members.
        (san::san): Handle _my_tls.andreas as on 32 bit.  Take parameter and
        write it to new member ret.  Store current stack pointer in frame.
        (san::~san): New destructor to restore _my_tls.andreas.
        (__try): Use __l_except address as parameter to san::san.
        * dcrt0.cc (dll_crt0_0): Add myfault_altstack_handler as vectored
        continuation handler.
        * exception.h (myfault_altstack_handler): Declare.
        * exceptions.cc (myfault_altstack_handler): New function.  Explain what
        it's good for.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
winsup/cygwin/cygtls.cc
winsup/cygwin/cygtls.h
winsup/cygwin/dcrt0.cc
winsup/cygwin/exception.h
winsup/cygwin/exceptions.cc
This page took 0.030117 seconds and 5 git commands to generate.