diff --git a/winsup/utils/strace.cc b/winsup/utils/strace.cc index 9b6569a70..b96ad40c1 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)