----- Original Message -----
On Mon 2015-08-10 09:58 -0400, Dave Anderson wrote:
[ ... ]
> > > BTW, that's what all the ":" checks are there for, both in
cmd_dis() and in the
> > > per-arch dis_filter functions. When gdb would split the line, it would
end the
> > > first line with the colon following the text address and offset.
> >
> > OK shall I post a v2 to put the if clause back?
>
> As long as your patch doesn't make other presumptions that the gdb output is
> necessarily a one-liner, then I can add it back for testing.
That's the only one. I'll wait for your feedback.
Hi Aaron,
I haven't investigated why, but I immediately bumped into a bug
in your patch that needs to be addressed. It will not disassemble
a single instruction (i.e. "dis <address>") unless:
(1) it is the first instruction in a function -- in which case
disassembles the whole function as expected, or
(2) unless a count argument is applied.
Here's an example with crash-7.1.2:
crash> dis vfs_read+32
0xffffffff8119d3c0 <vfs_read+32>: testb $0x1,0x44(%rdi)
crash> dis 0xffffffff8119d3c0
0xffffffff8119d3c0 <vfs_read+32>: testb $0x1,0x44(%rdi)
crash>
With your patch applied:
crash> dis vfs_read+32
crash> dis 0xffffffff8119d3c0
crash>
Although it does work with a count argument:
crash> dis vfs_read+32 1
0xffffffff8119d3c0 <vfs_read+32>: testb $0x1,0x44(%rdi)
crash> dis 0xffffffff8119d3c0 1
0xffffffff8119d3c0 <vfs_read+32>: testb $0x1,0x44(%rdi)
crash>
Dave