On Fri, Feb 26, 2010 at 02:13:50PM -0300, Daniel Gutson wrote:
> Hello Kevin,
> please let me know if this works.
> If so, please remember that I'd need somebody to commit this for me, since I
> don't have write-access.
>
> Undoing line wrap and tabs.
Thanks applied.
> Thanks!
> Daniel.
>
> [old same text.]
> With this patch, 'gdb detach' correctly resumes the inferior execution
> after detaching the debugger.
> The bug was caused by qemu asking gdb to execute a syscall (isatty)
> after the detach, and then waiting (forever) for the reply. I fixed this
> by properly setting gdb_syscall_mode appropriately in the 'detach'
> packet handling, so subsequent syscalls are solved by qemu rather than gdb.
>
> Signed-off-by: Daniel Gutson
> ---
> gdbstub.c |1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/gdbstub.c b/gdbstub.c
> index 91c5f68..92bb36d 100644
> --- a/gdbstub.c
> +++ b/gdbstub.c
> @@ -1848,6 +1848,7 @@ static int gdb_handle_packet(GDBState *s, const char
> *line_buf)
> case 'D':
> /* Detach packet */
> gdb_breakpoint_remove_all();
> +gdb_syscall_mode = GDB_SYS_DISABLED;
> gdb_continue(s);
> put_packet(s, "OK");
> break;
> --
> 1.6.2.4
>
>
>
>
>
--
Aurelien Jarno GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net