[PATCH] Set insn_type for branch instructions on aarch64
vladimir.mezentsev@oracle.com
vladimir.mezentsev@oracle.com
Thu Sep 7 21:54:13 GMT 2023
From: Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
gprofng uses insn_type in print_address_func().
But insn_type is always zero on aarch64.
opcodes/ChangeLog:
2023-09-07 Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
* opcodes/aarch64-dis.c (print_insn_aarch64_word): Set insn_type for
branch instructions.
---
opcodes/aarch64-dis.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/opcodes/aarch64-dis.c b/opcodes/aarch64-dis.c
index e1183705537..03bcc372a56 100644
--- a/opcodes/aarch64-dis.c
+++ b/opcodes/aarch64-dis.c
@@ -3846,6 +3846,12 @@ print_insn_aarch64_word (bfd_vma pc,
break;
case ERR_OK:
user_friendly_fixup (&inst);
+ if (inst.opcode->iclass == condbranch
+ || inst.opcode->iclass == testbranch
+ || inst.opcode->iclass == compbranch)
+ info->insn_type = dis_condbranch;
+ else if (inst.opcode->iclass == branch_imm)
+ info->insn_type = dis_jsr;
print_aarch64_insn (pc, &inst, word, info, errors);
break;
default:
--
2.31.1
More information about the Binutils
mailing list