----- 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
> [email protected]
> https://www.redhat.com/mailman/listinfo/crash-utility
>
--
Crash-utility mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/crash-utility