From f6ba9446edf3bd60867a96d545e23f36fd06f7f4 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Sat, 5 Nov 2011 18:47:39 +0000 Subject: [PATCH] * pinfo.cc (status_exit): Recognize STATUS_ILLEGAL_INSTRUCTION. (child_info::proc_retry): Ditto. --- winsup/cygwin/ChangeLog | 5 +++++ winsup/cygwin/pinfo.cc | 3 +++ winsup/cygwin/sigproc.cc | 1 + 3 files changed, 9 insertions(+) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index cd9cdf5ea..cd6081340 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2011-11-05 Christopher Faylor + + * pinfo.cc (status_exit): Recognize STATUS_ILLEGAL_INSTRUCTION. + (child_info::proc_retry): Ditto. + 2011-11-05 Christopher Faylor * pinfo.cc (status_exit): Return complete error code. Handle diff --git a/winsup/cygwin/pinfo.cc b/winsup/cygwin/pinfo.cc index 83f231d64..26739ddbe 100644 --- a/winsup/cygwin/pinfo.cc +++ b/winsup/cygwin/pinfo.cc @@ -140,6 +140,9 @@ status_exit (DWORD x) case STATUS_ACCESS_VIOLATION: x = SIGSEGV; break; + case STATUS_ILLEGAL_INSTRUCTION: + x = SIGILL; + break; default: debug_printf ("*** STATUS_%p\n", x); x = 127 << 8; diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc index be570c496..f31081044 100644 --- a/winsup/cygwin/sigproc.cc +++ b/winsup/cygwin/sigproc.cc @@ -960,6 +960,7 @@ child_info::proc_retry (HANDLE h) break; case STATUS_DLL_NOT_FOUND: case STATUS_ACCESS_VIOLATION: + case STATUS_ILLEGAL_INSTRUCTION: case STATUS_ILLEGAL_DLL_PSEUDO_RELOCATION: /* pseudo-reloc.c specific */ return exit_code; case STATUS_CONTROL_C_EXIT: