# HG changeset patch # User kaf24@firebug.cl.cam.ac.uk # Date 1145481581 -3600 # Node ID 83ba928544c4bde89ff750e15cb734fc0e2bc9ba # Parent b0ee5d9b9ebda162ae478c8da2a78c0711bc5c85 The Xen Hypervisor currently operates a bit differently when the guest is being debugged. The differences are handling of int3 exception and missed pit timer injections. The Xen hypervisor should get back to the normal mode when the gdb connection is closed. With the attached patch gdbserver properly detaches from the guest when the gdb detaches or quits. Signed-Off-By: Nitin A Kamble diff -r b0ee5d9b9ebd -r 83ba928544c4 tools/debugger/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/server.c --- a/tools/debugger/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/server.c Wed Apr 19 18:43:39 2006 +0100 +++ b/tools/debugger/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/server.c Wed Apr 19 22:19:41 2006 +0100 @@ -664,17 +664,13 @@ main (int argc, char *argv[]) For the traditional remote protocol close the connection, and re-open it at the top of the loop. */ - if (extended_protocol) - { - remote_close (); + detach_inferior (); + remote_close (); + if (extended_protocol) exit (0); - } - else - { + else fprintf (stderr, "Remote side has terminated connection. " "GDBserver will reopen the connection.\n"); - remote_close (); - } sigaction(SIGINT, &old_sigaction, NULL); } }