summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--overlay/mgdb/COPYING.MGDB2
-rw-r--r--overlay/mgdb/gdb/winnt-nat.c11
2 files changed, 10 insertions, 3 deletions
diff --git a/overlay/mgdb/COPYING.MGDB b/overlay/mgdb/COPYING.MGDB
index fc81925..7a49f6c 100644
--- a/overlay/mgdb/COPYING.MGDB
+++ b/overlay/mgdb/COPYING.MGDB
@@ -78,7 +78,7 @@
!! . e3eee797eac3a9fd71e78dfd038ea2e21f1b4ed67dbca0bfe6af9391c5bc22ca !!
!! !!
!! + gdb/winnt-nat.c !!
-!! . 1ca4cc62e4e4406c9d1a3b0eeb87db86643594ec7c46a5c37377ab4d369f0d29 !!
+!! . 5d8da078aa4c95c6ba3c61431b45b83956a1a7915abadebe38545be68192ebf2 !!
!! !!
!! !!
!! The following copyright notice and license apply to the Extensions: !!
diff --git a/overlay/mgdb/gdb/winnt-nat.c b/overlay/mgdb/gdb/winnt-nat.c
index 16e7b3c..ff4cc68 100644
--- a/overlay/mgdb/gdb/winnt-nat.c
+++ b/overlay/mgdb/gdb/winnt-nat.c
@@ -990,12 +990,19 @@ static ptid_t winnt_wait(
if (!(event = winnt_wait_event(ptid)))
return null_ptid;
- if ((fskip = winnt_exception_filter_match(event))) {
+ fskip = winnt_exception_filter_match(event)
+ || (event->evtattr & __DBG_EVENT_ATTR_INTERNAL_BREAKPOINT);
+
+ if (fskip) {
if (!(process = winnt_process_record(event->syspid)))
return null_ptid;
- if (event->exception_priority)
+ if (event->evtattr & __DBG_EVENT_ATTR_INTERNAL_BREAKPOINT)
+ eresponse = __DBG_RESPONSE_CONTINUE;
+
+ else if (event->exception_priority)
eresponse = __DBG_RESPONSE_EXCEPTION_NOT_HANDLED;
+
else
eresponse = __DBG_RESPONSE_CONTINUE;