From 36f4aab18ccf897b405f137d6cd4f9673bd947fc Mon Sep 17 00:00:00 2001 From: Yao Qi Date: Fri, 2 Oct 2015 11:36:00 +0100 Subject: [PATCH] [aarch64] expose disas_aarch64_insn and rename it to aarch64_decode_insn We want to use disas_aarch64_insn inside GDB to decode instructions, so this patch exposes it and rename it to aarch64_decode_insn to follow the conventions of other interfaces. include/opcode: 2015-10-02 Yao Qi * aarch64.h (aarch64_decode_insn): Declare it. opcodes: 2015-10-02 Yao Qi * aarch64-dis.c (disas_aarch64_insn): Remove static. Change argument insn type to aarch64_insn. Rename to ... (aarch64_decode_insn): ... it. (print_insn_aarch64_word): Caller updated. --- include/opcode/ChangeLog | 4 ++++ include/opcode/aarch64.h | 3 +++ opcodes/ChangeLog | 7 +++++++ opcodes/aarch64-dis.c | 9 +++++---- 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog index aa5ea1c195..a93d964be3 100644 --- a/include/opcode/ChangeLog +++ b/include/opcode/ChangeLog @@ -1,3 +1,7 @@ +2015-10-02 Yao Qi + + * aarch64.h (aarch64_decode_insn): Declare it. + 2015-09-29 Dominik Vogt * s390.h (S390_INSTR_FLAG_HTM): New flag. diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h index dcf0fefd19..ac4da289f0 100644 --- a/include/opcode/aarch64.h +++ b/include/opcode/aarch64.h @@ -925,6 +925,9 @@ aarch64_stack_pointer_p (const aarch64_opnd_info *); extern int aarch64_zero_register_p (const aarch64_opnd_info *); +extern int +aarch64_decode_insn (aarch64_insn, aarch64_inst *); + /* Given an operand qualifier, return the expected data element size of a qualified operand. */ extern unsigned char diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 051c42beae..124ead7f0a 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,10 @@ +2015-10-02 Yao Qi + + * aarch64-dis.c (disas_aarch64_insn): Remove static. Change + argument insn type to aarch64_insn. Rename to ... + (aarch64_decode_insn): ... it. + (print_insn_aarch64_word): Caller updated. + 2015-10-02 Yao Qi * aarch64-dis.c (disas_aarch64_insn): Remove argument PC. diff --git a/opcodes/aarch64-dis.c b/opcodes/aarch64-dis.c index e0faeb5a2b..fe3caacd54 100644 --- a/opcodes/aarch64-dis.c +++ b/opcodes/aarch64-dis.c @@ -2029,10 +2029,11 @@ user_friendly_fixup (aarch64_inst *inst) } } -/* Decode INSN and fill in *INST the instruction information. */ +/* Decode INSN and fill in *INST the instruction information. Return zero + on success. */ -static int -disas_aarch64_insn (uint32_t insn, aarch64_inst *inst) +int +aarch64_decode_insn (aarch64_insn insn, aarch64_inst *inst) { const aarch64_opcode *opcode = aarch64_opcode_lookup (insn); @@ -2171,7 +2172,7 @@ print_insn_aarch64_word (bfd_vma pc, addresses, since the addend is not currently pc-relative. */ pc = 0; - ret = disas_aarch64_insn (word, &inst); + ret = aarch64_decode_insn (word, &inst); if (((word >> 21) & 0x3ff) == 1) { -- 2.34.1