diff options
author | Vladimir Mezentsev <vladimir.mezentsev@oracle.com> | 2023-09-07 14:50:15 -0700 |
---|---|---|
committer | Vladimir Mezentsev <vladimir.mezentsev@oracle.com> | 2023-09-08 11:55:36 -0700 |
commit | 92c713d7da3578a3691a03c52d716094686390b9 (patch) | |
tree | 277649b358811569f26b6336e726347214e2668a /opcodes/aarch64-dis.c | |
parent | 15db2284f2f8259e46635ca6df3efc772d951fac (diff) | |
download | binutils-92c713d7da3578a3691a03c52d716094686390b9.zip binutils-92c713d7da3578a3691a03c52d716094686390b9.tar.gz binutils-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/aarch64-dis.c')
-rw-r--r-- | opcodes/aarch64-dis.c | 6 |
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: |