diff options
author | Michael Pavone <pavone@retrodev.com> | 2017-01-10 23:45:59 -0800 |
---|---|---|
committer | Michael Pavone <pavone@retrodev.com> | 2017-01-10 23:45:59 -0800 |
commit | 927a09fa524284367a0ce5c663703ca70b4621cf (patch) | |
tree | 76d04c75d483fe0a4c371a27a0a6d568ef9ecd76 /gdb_remote.c | |
parent | 588d69091052c3c27762eb73ab50ad0566a08e62 (diff) |
Fix GDB remote protocol support
Diffstat (limited to 'gdb_remote.c')
-rw-r--r-- | gdb_remote.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/gdb_remote.c b/gdb_remote.c index b2de7db..2742d34 100644 --- a/gdb_remote.c +++ b/gdb_remote.c @@ -378,7 +378,7 @@ void gdb_run_command(m68k_context * context, uint32_t pc, char * command) if (!memcmp("Supported", command+1, strlen("Supported"))) { sprintf(send_buf, "PacketSize=%X", (int)bufsize); gdb_send_command(send_buf); - } else if (!memcmp("Attached", command+1, strlen("Supported"))) { + } else if (!memcmp("Attached", command+1, strlen("Attached"))) { //not really meaningful for us, but saying we spawned a new process //is probably closest to the truth gdb_send_command("0"); @@ -395,7 +395,12 @@ void gdb_run_command(m68k_context * context, uint32_t pc, char * command) gdb_send_command(""); } else if (command[1] == 'C') { //we only support a single thread currently, so send 1 - gdb_send_command("1"); + gdb_send_command("QC1"); + } else if (!strcmp("fThreadInfo", command + 1)) { + //we only support a single thread currently, so send 1 + gdb_send_command("m1"); + } else if (!strcmp("sThreadInfo", command + 1)) { + gdb_send_command("l"); } else { goto not_impl; } @@ -403,6 +408,8 @@ void gdb_run_command(m68k_context * context, uint32_t pc, char * command) case 'v': if (!memcmp("Cont?", command+1, strlen("Cont?"))) { gdb_send_command("vCont;c;C;s;S"); + } else if (!strcmp("MustReplyEmpty", command + 1)) { + gdb_send_command(""); } else if (!memcmp("Cont;", command+1, strlen("Cont;"))) { switch (*(command + 1 + strlen("Cont;"))) { |