aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2010-07-16 14:02:10 +0100
committerKeir Fraser <keir.fraser@citrix.com>2010-07-16 14:02:10 +0100
commit71477a460fdc3dcd6fe10e60195978d052b5eec7 (patch)
tree198269a04216464b65698606b1222ad179b556a1
parent0e5d044c9ff44e64080da21fec7ef5d613898be4 (diff)
downloadxen-71477a460fdc3dcd6fe10e60195978d052b5eec7.tar.gz
xen-71477a460fdc3dcd6fe10e60195978d052b5eec7.tar.bz2
xen-71477a460fdc3dcd6fe10e60195978d052b5eec7.zip
gdbsx: update README and remove space in q packet
Newer version of gdb, version 7*, seems to have bug where it is not parsing thread list from gdbsx properly. Getting rid of the space in thread list works around it. It's ok with older gdb also. Signed-off-by: Mukesh Rathor <mukesh.rathor@oracle.com> xen-unstable changeset: 21806:bb3b28cb7208 xen-unstable date: Thu Jul 15 16:30:24 2010 +0100
-rw-r--r--tools/debugger/gdbsx/README2
-rw-r--r--tools/debugger/gdbsx/gx/gx_main.c10
2 files changed, 6 insertions, 6 deletions
diff --git a/tools/debugger/gdbsx/README b/tools/debugger/gdbsx/README
index ac01add93c..0ac229924c 100644
--- a/tools/debugger/gdbsx/README
+++ b/tools/debugger/gdbsx/README
@@ -26,7 +26,7 @@ USAGE:
bash> gdb ./vmlinux (exact matching vmlinux of guest kernel)
(gdb) target remote dom0:9999
- - Additionally, to debug loadable kernel modules, please do following:
+ - Additionally, to debug 32bit loadable kernel modules, please do following:
(gdb) p init_mm.pgd[3]
$1 = {pgd = 0x1b874f027}
(gdb) monitor pgd3 0x1b874f027 (Make sure value is in HEX)
diff --git a/tools/debugger/gdbsx/gx/gx_main.c b/tools/debugger/gdbsx/gx/gx_main.c
index 07923af973..e3feee1443 100644
--- a/tools/debugger/gdbsx/gx/gx_main.c
+++ b/tools/debugger/gdbsx/gx/gx_main.c
@@ -132,12 +132,12 @@ _do_qRcmd_req(char *remote_buf)
static void
process_q_request(char *remote_buf)
{
- /* send a list of tids: "m 0,1,2,3l" */
+ /* send a list of tids: "m0,1,2,3l" */
if (strcmp("qfThreadInfo", remote_buf) == 0) {
vcpuid_t vid = 0;
char *p = remote_buf;
- sprintf(p, "m %x", vid); /* puts null char at the end */
+ sprintf(p, "m%x", vid); /* puts null char at the end */
p = p + strlen(p);
for (vid=1; vid <= max_vcpuid; vid++) {
sprintf(p, ",%x", vid);
@@ -146,8 +146,9 @@ process_q_request(char *remote_buf)
sprintf(p, "l"); /* puts null char at the end */
return;
}
+
/* qSymbol works for init_mm, and not init_mm.pgd, hence we can't use
- * it at this time. instead use "monitor" in gdb */
+ * it at this time. instead use "monitor" in gdb */
if (strncmp("qRcmd,", remote_buf, 6) == 0) {
_do_qRcmd_req(remote_buf);
return;
@@ -155,8 +156,7 @@ process_q_request(char *remote_buf)
/* TBD : qThreadExtraInfo : send extra banner info */
- /* nothing else supported right now */
- remote_buf[0] = '\0';
+ remote_buf[0] = '\0'; /* nothing else supported for now */
return;
}