[Crash-utility] [PATCH 0/2] dis: Introduce the -f option

Dave Anderson anderson at redhat.com
Tue Aug 11 15:27:05 UTC 2015



----- 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

  
    




More information about the Crash-utility mailing list