* exceptions.cc (handle_exceptions): Set si_addr according to

POSIX for SIGSEGV.
This commit is contained in:
Eric Blake 2009-07-23 02:47:17 +00:00
parent d974d420d4
commit 3f6f9155c9
2 changed files with 14 additions and 7 deletions

View File

@ -1,3 +1,8 @@
2009-07-22 Eric Blake <ebb9@byu.net>
* exceptions.cc (handle_exceptions): Set si_addr according to
POSIX for SIGSEGV.
2009-07-22 Corinna Vinschen <corinna@vinschen.de>
* mount.cc (fs_info::update): Open filesystem with access set to 0.

View File

@ -686,7 +686,9 @@ _cygtls::handle_exceptions (EXCEPTION_RECORD *e, exception_list *frame, CONTEXT
me.signal_exit (0x80 | si.si_signo); // Flag signal + core dump
}
si.si_addr = (void *) in->Eip;
si.si_addr = (si.si_signo == SIGSEGV || si.si_signo == SIGBUS
? (void *) e->ExceptionInformation[1]
: (void *) in->Eip);
si.si_errno = si.si_pid = si.si_uid = 0;
me.incyg++;
sig_send (NULL, si, &me); // Signal myself