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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




----- Original Message -----

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


The bug is caused by this part of the 2/2 patch:

  @@ -1655,8 +1660,15 @@ cmd_dis(void)
  
                          extract_hex(buf2, &curaddr, ':', TRUE);
  
  +                       if (forward) {
  +                               if (curaddr != target)
  +                                       continue;
  +                               else
  +                                       forward = FALSE;
  +                       }
  +
                          if (!reverse)
  -                               if ((req->flags & GNU_FUNCTION_ONLY) &&
  +                               if (!count_entered &&
                                      (curaddr >= req->addr2))
                                          break;

req->addr2 is 0 in this case, so it always breaks/fails.

Dave


> 
>  (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
> 
>   
>     
> 
> --
> Crash-utility mailing list
> Crash-utility@xxxxxxxxxx
> https://www.redhat.com/mailman/listinfo/crash-utility
> 

--
Crash-utility mailing list
Crash-utility@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/crash-utility



[Index of Archives]     [Fedora Development]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]

 

Powered by Linux