From bdcec0d9792584a0ca985f9cf829be5779c6ca19 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Sat, 22 Apr 2006 23:09:44 +0000 Subject: [PATCH] * abort.cc (abort): Set incyg manually to help get a reliable gdb stack trace. * cygwin.din (abort): Make NOSIGFE. --- winsup/cygwin/ChangeLog | 6 ++++++ winsup/cygwin/cygwin.din | 2 +- winsup/cygwin/signal.cc | 3 +++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 63c164228..fa573b2d8 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,9 @@ +2006-04-22 Christopher Faylor + + * abort.cc (abort): Set incyg manually to help get a reliable gdb stack + trace. + * cygwin.din (abort): Make NOSIGFE. + 2006-04-21 Pierre Humblet Pierre.Humblet@ieee.org Christopher Faylor diff --git a/winsup/cygwin/cygwin.din b/winsup/cygwin/cygwin.din index 9fc71162a..bf71839ad 100644 --- a/winsup/cygwin/cygwin.din +++ b/winsup/cygwin/cygwin.din @@ -109,7 +109,7 @@ vscanf_r = _vscanf_r SIGFE _vsscanf_r SIGFE vsscanf_r = _vsscanf_r SIGFE a64l NOSIGFE -abort SIGFE +abort NOSIGFE _abort = abort SIGFE abs NOSIGFE _abs = abs NOSIGFE diff --git a/winsup/cygwin/signal.cc b/winsup/cygwin/signal.cc index bcaf6edb2..75eea49e9 100644 --- a/winsup/cygwin/signal.cc +++ b/winsup/cygwin/signal.cc @@ -25,6 +25,7 @@ details. */ #include "fhandler.h" #include "dtable.h" #include "cygheap.h" +#include "cygtls.h" int sigcatchers; /* FIXME: Not thread safe. */ @@ -343,7 +344,9 @@ abort (void) sigdelset (&sig_mask, SIGABRT); set_signal_mask (sig_mask, myself->getsigmask ()); + _my_tls.incyg++; raise (SIGABRT); + _my_tls.incyg--; _my_tls.call_signal_handler (); /* Call any signal handler */ do_exit (SIGABRT); /* signal handler didn't exit. Goodbye. */ }