mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 15:23:53 -06:00
GDB exit status for semihosting
Report exit status to GDB when a semihosted application exits. Signed-off-by: Paul Brook <paul@codesourcery.com>
This commit is contained in:
parent
1884533c74
commit
0e1c9c54af
4 changed files with 23 additions and 15 deletions
34
gdbstub.c
34
gdbstub.c
|
@ -2373,6 +2373,26 @@ static void gdb_read_byte(GDBState *s, int ch)
|
|||
}
|
||||
}
|
||||
|
||||
/* Tell the remote gdb that the process has exited. */
|
||||
void gdb_exit(CPUState *env, int code)
|
||||
{
|
||||
GDBState *s;
|
||||
char buf[4];
|
||||
|
||||
s = gdbserver_state;
|
||||
if (!s) {
|
||||
return;
|
||||
}
|
||||
#ifdef CONFIG_USER_ONLY
|
||||
if (gdbserver_fd < 0 || s->fd < 0) {
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
snprintf(buf, sizeof(buf), "W%02x", (uint8_t)code);
|
||||
put_packet(s, buf);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_USER_ONLY
|
||||
int
|
||||
gdb_queuesig (void)
|
||||
|
@ -2436,20 +2456,6 @@ gdb_handlesig (CPUState *env, int sig)
|
|||
return sig;
|
||||
}
|
||||
|
||||
/* Tell the remote gdb that the process has exited. */
|
||||
void gdb_exit(CPUState *env, int code)
|
||||
{
|
||||
GDBState *s;
|
||||
char buf[4];
|
||||
|
||||
s = gdbserver_state;
|
||||
if (gdbserver_fd < 0 || s->fd < 0)
|
||||
return;
|
||||
|
||||
snprintf(buf, sizeof(buf), "W%02x", code);
|
||||
put_packet(s, buf);
|
||||
}
|
||||
|
||||
/* Tell the remote gdb that the process has exited due to SIG. */
|
||||
void gdb_signalled(CPUState *env, int sig)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue