mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-01 23:03:54 -06:00
gdbstub: Implement gdb_do_syscallv()
Implement a variant of the existing gdb_do_syscall() which takes a va_list. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Tested-by: Christopher Covington <cov@codeaurora.org> Message-id: 1439483745-28752-4-git-send-email-peter.maydell@linaro.org
This commit is contained in:
parent
205ace55ff
commit
19239b39e7
2 changed files with 37 additions and 4 deletions
14
gdbstub.c
14
gdbstub.c
|
@ -1301,9 +1301,8 @@ send_packet:
|
|||
%x - target_ulong argument printed in hex.
|
||||
%lx - 64-bit argument printed in hex.
|
||||
%s - string pointer (target_ulong) and length (int) pair. */
|
||||
void gdb_do_syscall(gdb_syscall_complete_cb cb, const char *fmt, ...)
|
||||
void gdb_do_syscallv(gdb_syscall_complete_cb cb, const char *fmt, va_list va)
|
||||
{
|
||||
va_list va;
|
||||
char *p;
|
||||
char *p_end;
|
||||
target_ulong addr;
|
||||
|
@ -1317,7 +1316,6 @@ void gdb_do_syscall(gdb_syscall_complete_cb cb, const char *fmt, ...)
|
|||
#ifndef CONFIG_USER_ONLY
|
||||
vm_stop(RUN_STATE_DEBUG);
|
||||
#endif
|
||||
va_start(va, fmt);
|
||||
p = s->syscall_buf;
|
||||
p_end = &s->syscall_buf[sizeof(s->syscall_buf)];
|
||||
*(p++) = 'F';
|
||||
|
@ -1351,7 +1349,6 @@ void gdb_do_syscall(gdb_syscall_complete_cb cb, const char *fmt, ...)
|
|||
}
|
||||
}
|
||||
*p = 0;
|
||||
va_end(va);
|
||||
#ifdef CONFIG_USER_ONLY
|
||||
put_packet(s, s->syscall_buf);
|
||||
gdb_handlesig(s->c_cpu, 0);
|
||||
|
@ -1366,6 +1363,15 @@ void gdb_do_syscall(gdb_syscall_complete_cb cb, const char *fmt, ...)
|
|||
#endif
|
||||
}
|
||||
|
||||
void gdb_do_syscall(gdb_syscall_complete_cb cb, const char *fmt, ...)
|
||||
{
|
||||
va_list va;
|
||||
|
||||
va_start(va, fmt);
|
||||
gdb_do_syscallv(cb, fmt, va);
|
||||
va_end(va);
|
||||
}
|
||||
|
||||
static void gdb_read_byte(GDBState *s, int ch)
|
||||
{
|
||||
int i, csum;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue