aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorYao Qi <yao.qi@linaro.org>2015-10-05 11:15:58 +0100
committerYao Qi <yao.qi@linaro.org>2015-10-28 14:22:57 +0000
commit43cdf5aeb8ae6ac2ec3bdbf636cbb2731ccbbb2a (patch)
tree69ea73c3be6425045db21170af2694f58dc5cc49 /include
parent82188b295de579bee5f68de9f4d76ce4a3d41aa9 (diff)
downloadgdb-43cdf5aeb8ae6ac2ec3bdbf636cbb2731ccbbb2a.zip
gdb-43cdf5aeb8ae6ac2ec3bdbf636cbb2731ccbbb2a.tar.gz
gdb-43cdf5aeb8ae6ac2ec3bdbf636cbb2731ccbbb2a.tar.bz2
Pass noaliases_p to aarch64_decode_insn
Nowadays aarch64_decode_insn is a public interface used by both opcodes and gdb. However, its behaviour relies on a global variable no_aliases, which isn't a good practise. On the other hand, In default, no_aliases is zero, but in GDB, we do want no alias when decoding instructions for prologue analysis (patches to be posted), so that we can handle both instructions "add" and "mov" (an alias of "add") as "add". The code in GDB can be simplified. This patch adds a new argument in aarch64_decode_insn, and pass no_aliases to it. In GDB side, always pass 1 to it. include/opcode: 2015-10-28 Yao Qi <yao.qi@linaro.org> * aarch64.h (aarch64_decode_insn): Update declaration. opcodes: 2015-10-28 Yao Qi <yao.qi@linaro.org> * aarch64-dis.c (aarch64_decode_insn): Add one argument noaliases_p. Update comments. Pass noaliases_p rather than no_aliases to aarch64_opcode_decode. (print_insn_aarch64_word): Pass no_aliases to aarch64_decode_insn. gdb: 2015-10-28 Yao Qi <yao.qi@linaro.org> * aarch64-tdep.c (aarch64_software_single_step): Pass 1 to aarch64_decode_insn.
Diffstat (limited to 'include')
-rw-r--r--include/opcode/ChangeLog4
-rw-r--r--include/opcode/aarch64.h2
2 files changed, 5 insertions, 1 deletions
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog
index ea833f7..b049302 100644
--- a/include/opcode/ChangeLog
+++ b/include/opcode/ChangeLog
@@ -1,3 +1,7 @@
+2015-10-28 Yao Qi <yao.qi@linaro.org>
+
+ * aarch64.h (aarch64_decode_insn): Update declaration.
+
2015-10-07 Yao Qi <yao.qi@linaro.org>
* aarch64.h (aarch64_sys_ins_reg) <template>: Removed.
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h
index c423858..711f7e5 100644
--- a/include/opcode/aarch64.h
+++ b/include/opcode/aarch64.h
@@ -930,7 +930,7 @@ extern int
aarch64_zero_register_p (const aarch64_opnd_info *);
extern int
-aarch64_decode_insn (aarch64_insn, aarch64_inst *);
+aarch64_decode_insn (aarch64_insn, aarch64_inst *, bfd_boolean);
/* Given an operand qualifier, return the expected data element size
of a qualified operand. */