diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index c26901e5e..b822077dd 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,7 @@ +2010-06-21 Christopher Faylor + + * dcrt0.cc (__api_fatal): Temporarily generate a stackdump. + 2010-06-21 Christopher Faylor * tls_pbuf.cc (tmp_pathbuf::w_get): Report what's failing when too many diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc index d32ff22c9..5dfad7c10 100644 --- a/winsup/cygwin/dcrt0.cc +++ b/winsup/cygwin/dcrt0.cc @@ -1145,6 +1145,8 @@ _exit (int n) do_exit (((DWORD) n & 0xff) << 8); } +extern "C" void cygwin_stackdump (); + extern "C" void __api_fatal (const char *fmt, ...) { @@ -1160,6 +1162,7 @@ __api_fatal (const char *fmt, ...) #ifdef DEBUGGING try_to_debug (); #endif + cygwin_stackdump (); myself.exit (__api_fatal_exit_val); }