49 lines
1.6 KiB
Diff
49 lines
1.6 KiB
Diff
|
|
From 7949977cef7b7b4170dad873f9b5788f0c4e40ee Mon Sep 17 00:00:00 2001
|
||
|
|
From: boringandboring <wangjinlei_yewu@cmss.chinamobile.com>
|
||
|
|
Date: Mon, 27 Nov 2023 10:54:54 +0800
|
||
|
|
Subject: [PATCH] disas/hppa: Show hexcode of instruction along with
|
||
|
|
disassembly
|
||
|
|
|
||
|
|
cherry picked from 2f926bfd5b79e6219ae65a1e530b38f37d62b384
|
||
|
|
|
||
|
|
On hppa many instructions can be expressed by different bytecodes.
|
||
|
|
To be able to debug qemu translation bugs it's therefore necessary to see the
|
||
|
|
currently executed byte codes without the need to lookup the sequence without
|
||
|
|
the full executable.
|
||
|
|
With this patch the instruction byte code is shown beside the disassembly.
|
||
|
|
|
||
|
|
Signed-off-by: Helge Deller <deller@gmx.de>
|
||
|
|
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
|
||
|
|
|
||
|
|
Signed-off-by: boringandboring <wangjinlei_yewu@cmss.chinamobile.com>
|
||
|
|
---
|
||
|
|
disas/hppa.c | 6 +++++-
|
||
|
|
1 file changed, 5 insertions(+), 1 deletion(-)
|
||
|
|
|
||
|
|
diff --git a/disas/hppa.c b/disas/hppa.c
|
||
|
|
index dcf9a47f34..cce4f4aa37 100644
|
||
|
|
--- a/disas/hppa.c
|
||
|
|
+++ b/disas/hppa.c
|
||
|
|
@@ -1968,6 +1968,10 @@ print_insn_hppa (bfd_vma memaddr, disassemble_info *info)
|
||
|
|
|
||
|
|
insn = bfd_getb32 (buffer);
|
||
|
|
|
||
|
|
+ info->fprintf_func(info->stream, " %02x %02x %02x %02x ",
|
||
|
|
+ (insn >> 24) & 0xff, (insn >> 16) & 0xff,
|
||
|
|
+ (insn >> 8) & 0xff, insn & 0xff);
|
||
|
|
+
|
||
|
|
for (i = 0; i < NUMOPCODES; ++i)
|
||
|
|
{
|
||
|
|
const struct pa_opcode *opcode = &pa_opcodes[i];
|
||
|
|
@@ -2826,6 +2830,6 @@ print_insn_hppa (bfd_vma memaddr, disassemble_info *info)
|
||
|
|
return sizeof (insn);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
- (*info->fprintf_func) (info->stream, "#%8x", insn);
|
||
|
|
+ info->fprintf_func(info->stream, "<unknown>");
|
||
|
|
return sizeof (insn);
|
||
|
|
}
|
||
|
|
--
|
||
|
|
2.27.0
|
||
|
|
|