On 4/20/23 13:31, Matheus Tavares Bernardino wrote:
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);
Use force_sig_fault.
r~