qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] Fix to 'gdb detach' stub
@ 2010-02-22 20:50 Daniel Gutson
  2010-02-22 21:22 ` [Qemu-devel] " Daniel Gutson
  0 siblings, 1 reply; 4+ messages in thread
From: Daniel Gutson @ 2010-02-22 20:50 UTC (permalink / raw)
  To: qemu-devel

[-- Attachment #1: Type: text/plain, Size: 682 bytes --]

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.

I tested this manually.

Please commit it for me if accepted, since I don't have write privileges.

Thanks!
	Daniel.

2010-02-22  Daniel Gutson  <dgutson@codesourcery.com>

	* gdbstub.c (gdb_handle_packet): set
	gdb_syscall_mode properly.

-- 
Daniel Gutson
CodeSourcery
www.codesourcery.com

[-- Attachment #2: gdbstub.patch --]
[-- Type: text/x-diff, Size: 376 bytes --]

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;

^ permalink raw reply related	[flat|nested] 4+ messages in thread
* [Qemu-devel] Re: Re: [PATCH] Fix to 'gdb detach' stub
@ 2010-02-26 17:13 Daniel Gutson
  2010-02-26 17:28 ` [Qemu-devel] " Kevin Wolf
  0 siblings, 1 reply; 4+ messages in thread
From: Daniel Gutson @ 2010-02-26 17:13 UTC (permalink / raw)
  To: qemu-devel, kwolf, daniel.gutson

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!
	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 <dgutson@codesourcery.com>
---
 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

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-02-26 17:29 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-02-22 20:50 [Qemu-devel] [PATCH] Fix to 'gdb detach' stub Daniel Gutson
2010-02-22 21:22 ` [Qemu-devel] " Daniel Gutson
2010-02-23 10:30   ` Kevin Wolf
  -- strict thread matches above, loose matches on Subject: below --
2010-02-26 17:13 [Qemu-devel] " Daniel Gutson
2010-02-26 17:28 ` [Qemu-devel] " Kevin Wolf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).