aboutsummaryrefslogtreecommitdiff
path: root/opcodes
diff options
context:
space:
mode:
authorVladimir Mezentsev <vladimir.mezentsev@oracle.com>2023-09-07 14:50:15 -0700
committerVladimir Mezentsev <vladimir.mezentsev@oracle.com>2023-09-08 11:55:36 -0700
commit92c713d7da3578a3691a03c52d716094686390b9 (patch)
tree277649b358811569f26b6336e726347214e2668a /opcodes
parent15db2284f2f8259e46635ca6df3efc772d951fac (diff)
downloadgdb-92c713d7da3578a3691a03c52d716094686390b9.zip
gdb-92c713d7da3578a3691a03c52d716094686390b9.tar.gz
gdb-92c713d7da3578a3691a03c52d716094686390b9.tar.bz2
Set insn_type for branch instructions on aarch64
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.
Diffstat (limited to 'opcodes')
-rw-r--r--opcodes/aarch64-dis.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/opcodes/aarch64-dis.c b/opcodes/aarch64-dis.c
index e118370..03bcc37 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: