summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2019-09-16 06:02:20 +0000
committermidipix <writeonce@midipix.org>2019-09-16 07:07:35 +0000
commitee264353d0e1d9c9627272de6b5f5df5ab1ed808 (patch)
treef51205929e540277c36ef72321af5275e08378e7
parent5596be632a764bc41df021e24ae7d10f5559f601 (diff)
downloadchainport-ee264353d0e1d9c9627272de6b5f5df5ab1ed808.tar.bz2
chainport-ee264353d0e1d9c9627272de6b5f5df5ab1ed808.tar.xz
mgdb: winnt_wait(): handle __DBG_STATE_{CREATE_PROCESS|DLL_LOAD|DLL_UNLOAD}.
-rw-r--r--overlay/mgdb/gdb/winnt-nat.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/overlay/mgdb/gdb/winnt-nat.c b/overlay/mgdb/gdb/winnt-nat.c
index c3a3297..5ce4a4c 100644
--- a/overlay/mgdb/gdb/winnt-nat.c
+++ b/overlay/mgdb/gdb/winnt-nat.c
@@ -848,17 +848,31 @@ static ptid_t winnt_wait(
winnt_respond(pfd,event,__DBG_RESPONSE_CONTINUE);
break;
+ case __DBG_STATE_CREATE_PROCESS:
+ waitstatus->kind = TARGET_WAITKIND_SPURIOUS;
+ waitstatus->value.integer = 0;
+ break;
+
case __DBG_STATE_EXIT_PROCESS:
waitstatus->kind = TARGET_WAITKIND_EXITED;
waitstatus->value.integer = *event->process_exit_code;
winnt_respond(pfd,event,__DBG_RESPONSE_CONTINUE);
break;
- case __DBG_STATE_CREATE_PROCESS:
- case __DBG_STATE_IDLE:
- case __DBG_STATE_REPLY_PENDING:
case __DBG_STATE_DLL_LOAD:
+ waitstatus->kind = TARGET_WAITKIND_LOADED;
+ waitstatus->value.integer = 0;
+ winnt_get_modules(process);
+ break;
+
case __DBG_STATE_DLL_UNLOAD:
+ waitstatus->kind = TARGET_WAITKIND_LOADED;
+ waitstatus->value.integer = 0;
+ winnt_get_modules(process);
+ break;
+
+ case __DBG_STATE_IDLE:
+ case __DBG_STATE_REPLY_PENDING:
waitstatus->kind = TARGET_WAITKIND_SPURIOUS;
waitstatus->value.integer = 0;
break;