gdbstub: Save target's siginfo

Save target's siginfo into gdbserver_state so it can be used later, for
example, in any stub that requires the target's si_signo and si_code.

This change affects only linux-user mode.

Signed-off-by: Gustavo Romero <gustavo.romero@linaro.org>
Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20240309030901.1726211-4-gustavo.romero@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
Gustavo Romero 2024-03-09 03:08:59 +00:00 committed by Alex Bennée
parent 4d6d8a05a0
commit f84e313e02
6 changed files with 34 additions and 9 deletions

View file

@ -9,11 +9,15 @@
#ifndef GDBSTUB_USER_H
#define GDBSTUB_USER_H
#define MAX_SIGINFO_LENGTH 128
/**
* gdb_handlesig() - yield control to gdb
* @cpu: CPU
* @sig: if non-zero, the signal number which caused us to stop
* @reason: stop reason for stop reply packet or NULL
* @siginfo: target-specific siginfo struct
* @siginfo_len: target-specific siginfo struct length
*
* This function yields control to gdb, when a user-mode-only target
* needs to stop execution. If @sig is non-zero, then we will send a
@ -25,7 +29,7 @@
* or 0 if no signal should be delivered, ie the signal that caused
* us to stop should be ignored.
*/
int gdb_handlesig(CPUState *, int, const char *);
int gdb_handlesig(CPUState *, int, const char *, void *, int);
/**
* gdb_signalled() - inform remote gdb of sig exit