From: Taylor Simpson <tsimp...@quicinc.com> This enables LLDB to work with hexagon linux-user mode through the GDB remote protocol.
Signed-off-by: Taylor Simpson <tsimp...@quicinc.com> Signed-off-by: Matheus Tavares Bernardino <quic_mathb...@quicinc.com> --- linux-user/hexagon/cpu_loop.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/linux-user/hexagon/cpu_loop.c b/linux-user/hexagon/cpu_loop.c index b84e25bf71..00c12bbb55 100644 --- a/linux-user/hexagon/cpu_loop.c +++ b/linux-user/hexagon/cpu_loop.c @@ -33,6 +33,7 @@ void cpu_loop(CPUHexagonState *env) target_ulong ret; for (;;) { + target_siginfo_t info; cpu_exec_start(cs); trapnr = cpu_exec(cs); cpu_exec_end(cs); @@ -63,6 +64,15 @@ void cpu_loop(CPUHexagonState *env) case EXCP_ATOMIC: cpu_exec_step_atomic(cs); break; + case EXCP_DEBUG: + info = (target_siginfo_t) { + .si_signo = TARGET_SIGTRAP, + .si_errno = 0, + .si_code = TARGET_TRAP_BRKPT, + ._sifields._sigfault._addr = 0 + }; + queue_signal(env, info.si_signo, QEMU_SI_KILL, &info); + break; default: EXCP_DUMP(env, "\nqemu: unhandled CPU exception %#x - aborting\n", trapnr); -- 2.39.1