diff options
author | Eric Fry <yuv422@users.noreply.github.com> | 2020-04-28 22:03:04 +1000 |
---|---|---|
committer | Eric Fry <yuv422@users.noreply.github.com> | 2020-04-28 22:03:04 +1000 |
commit | 8adaf00407538f09d5d0cf306c4100611a5aa8af (patch) | |
tree | bb7abdbb0af6795ba29621b18b2f306fbc71f715 | |
parent | 3aa05714b2e0e2ca03a8712315170c7a7c715322 (diff) |
Add support for printing a byte from memory in native debugger. Add stubs for GDB commands qThreadExtraInfo and qP
-rw-r--r-- | debug.c | 6 | ||||
-rw-r--r-- | gdb_remote.c | 4 |
2 files changed, 10 insertions, 0 deletions
@@ -158,6 +158,9 @@ void debugger_print(m68k_context *context, char format_char, char *param, uint32 uint32_t p_addr = strtol(param+(param[0] == '0' ? 2 : 1), &after, 16); if (after[0] == '.' && after[1] == 'l') { value = m68k_read_long(p_addr, context); + } else if (after[0] == '.' && after[1] == 'b') { + value = m68k_read_word(p_addr, context); + value &= 0xFF; } else { value = m68k_read_word(p_addr, context); } @@ -166,6 +169,9 @@ void debugger_print(m68k_context *context, char format_char, char *param, uint32 uint32_t p_addr = param[1] == 'a' ? context->aregs[reg] : context->dregs[reg]; if (param[4] == '.' && param[5] == 'l') { value = m68k_read_long(p_addr, context); + } else if (param[4] == '.' && param[5] == 'b') { + value = m68k_read_word(p_addr, context); + value &= 0xFF; } else { value = m68k_read_word(p_addr, context); } diff --git a/gdb_remote.c b/gdb_remote.c index 6cf1d67..cdc73a5 100644 --- a/gdb_remote.c +++ b/gdb_remote.c @@ -401,6 +401,10 @@ void gdb_run_command(m68k_context * context, uint32_t pc, char * command) gdb_send_command("m1"); } else if (!strcmp("sThreadInfo", command + 1)) { gdb_send_command("l"); + } else if (!memcmp("ThreadExtraInfo", command+1, strlen("ThreadExtraInfo"))) { + gdb_send_command(""); + } else if (command[1] == 'P') { + gdb_send_command(""); } else { goto not_impl; } |