diff options
author | Ken Brown <kbrown@cornell.edu> | 2020-08-20 09:47:47 -0400 |
---|---|---|
committer | Ken Brown <kbrown@cornell.edu> | 2020-08-20 10:48:48 -0400 |
commit | a93a85a1ff3ca937dabb1d985381b27836ce1bfc (patch) | |
tree | bcdb2fa1fad7d7c7e4bdf29eab706763d5522846 /winsup | |
parent | 14c0a4c67d4e8c296dac2f1fc6fb86da3b76d7fb (diff) | |
download | newlib-a93a85a1ff3ca937dabb1d985381b27836ce1bfc.zip newlib-a93a85a1ff3ca937dabb1d985381b27836ce1bfc.tar.gz newlib-a93a85a1ff3ca937dabb1d985381b27836ce1bfc.tar.bz2 |
Cygwin: strace: ignore GCC exceptionscygwin-3_1_7-release
Any C++ app that calls 'throw' on 64-bit Cygwin results in an
exception of type STATUS_GCC_THROW (0x20474343) generated by the C++
runtime. Don't pollute the strace output by printing information
about this and other GCC exceptions.
Diffstat (limited to 'winsup')
-rw-r--r-- | winsup/utils/strace.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/winsup/utils/strace.cc b/winsup/utils/strace.cc index 9b6569a..b96ad40 100644 --- a/winsup/utils/strace.cc +++ b/winsup/utils/strace.cc @@ -25,6 +25,7 @@ details. */ #include "../cygwin/include/sys/cygwin.h" #include "../cygwin/include/cygwin/version.h" #include "../cygwin/cygtls_padsize.h" +#include "../cygwin/gcc_seh.h" #include "path.h" #undef cygwin_internal #include "loadlib.h" @@ -790,6 +791,13 @@ proc_child (unsigned mask, FILE *ofile, pid_t pid) case STATUS_BREAKPOINT: case 0x406d1388: /* SetThreadName exception. */ break; +#ifdef __x86_64__ + case STATUS_GCC_THROW: + case STATUS_GCC_UNWIND: + case STATUS_GCC_FORCED: + status = DBG_EXCEPTION_NOT_HANDLED; + break; +#endif default: status = DBG_EXCEPTION_NOT_HANDLED; if (ev.u.Exception.dwFirstChance) |