From a34dfa01912a521e41b4eb0155c25bb261929352 Mon Sep 17 00:00:00 2001 From: Xavier Del Campo Romero Date: Tue, 3 Nov 2020 22:41:24 +0100 Subject: Notify gdb stub whenever "break" is executed --- gdbstub.c | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/gdbstub.c b/gdbstub.c index 0a7d9cf..b9f7feb 100644 --- a/gdbstub.c +++ b/gdbstub.c @@ -21,6 +21,7 @@ */ #include "gdbstub.h" +#include /***************************************************************************** * Types @@ -592,8 +593,7 @@ int dbg_mem_write(const char *buf, size_t buf_len, address addr, size_t len, dbg */ int dbg_continue(void) { - dbg_sys_continue(); - return 0; + return dbg_sys_continue(); } /* @@ -601,8 +601,7 @@ int dbg_continue(void) */ int dbg_step(void) { - dbg_sys_step(); - return 0; + return dbg_sys_step(); } /***************************************************************************** @@ -927,8 +926,18 @@ int dbg_main(struct dbg_state *state) * Command Format: c [addr] */ case 'c': - dbg_continue(); - state->signum = 0; + switch (dbg_continue()) { + case 0: + state->signum = SIGTRAP; + break; + + case 1: + state->signum = SIGTRAP; + break; + + default: + break; + } return 0; /* @@ -936,8 +945,18 @@ int dbg_main(struct dbg_state *state) * Command Format: s [addr] */ case 's': - dbg_step(); - state->signum = 5; + switch (dbg_step()) { + case 0: + state->signum = SIGTRAP; + break; + + case 1: + state->signum = SIGTRAP; + break; + + default: + break; + } return 0; case '?': -- cgit v1.2.3