> crash> dis common_interrupt
> 0xffffffff80109b34 <common_interrupt>: cld
> 0xffffffff80109b35 <common_interrupt+1>: sub $0x48,%rsp
> 0xffffffff80109b39 <common_interrupt+5>: mov %rdi,0x40(%rsp)
> 0xffffffff80109b3e <common_interrupt+10>: mov %rsi,0x38(%rsp)
> 0xffffffff80109b43 <common_interrupt+15>: mov %rdx,0x30(%rsp)
> 0xffffffff80109b48 <common_interrupt+20>: mov %rcx,0x28(%rsp)
> 0xffffffff80109b4d <common_interrupt+25>: mov %rax,0x20(%rsp)
> 0xffffffff80109b52 <common_interrupt+30>: mov %r8,0x18(%rsp)
> 0xffffffff80109b57 <common_interrupt+35>: mov %r9,0x10(%rsp)
> 0xffffffff80109b5c <common_interrupt+40>: mov %r10,0x8(%rsp)
> 0xffffffff80109b61 <common_interrupt+45>: mov %r11,(%rsp)
> 0xffffffff80109b65 <common_interrupt+49>:
> lea 0xffffffffffffffd0(%rsp),%rdi
> 0xffffffff80109b6a <common_interrupt+54>: push %rbp
> 0xffffffff80109b6b <common_interrupt+55>: mov %rsp,%rbp
>
> Thanks
> Rachita
Unbelievable -- nice catch!
I would have thought since the output of the disassembly
was changed to a temporary file instead of stdout, that there
wouldn't be any line-wrap applied by gdb behind the scenes.
And as luck would have it, I did my testing in a window
larger than 80-columns...
Hi Rachita,
Fixed in 4.0-3.11 (the only change from 4.0-3.9 is attached).
In fact, while testing in a 30-column window, I found another
gdb output problem where an asterisk (pointer) in a data structure
declaration got dropped for some reason, causing next_online_pgdat()
to fail. Anyway, setting the gdb line width to unlimited fixes
both issues.
Thanks again for catching this,
Dave
--- gdb_interface.c 11 Oct 2006 13:14:35 -0000 1.34
+++ gdb_interface.c 8 Nov 2006 21:57:06 -0000 1.35
@@ -239,6 +239,11 @@
sprintf(req->buf, "set height 0");
gdb_interface(req);
+ req->command = GNU_PASS_THROUGH;
+ req->name = NULL, req->flags = 0;
+ sprintf(req->buf, "set width 0");
+ gdb_interface(req);
+
/*
* Patch gdb's symbol values with the correct values from either
* the System.map or non-debug vmlinux, whichever is in effect.