]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit - opcodes/aarch64-dis.c
Pass noaliases_p to aarch64_decode_insn
authorYao Qi <yao.qi@linaro.org>
Mon, 5 Oct 2015 10:15:58 +0000 (11:15 +0100)
committerYao Qi <yao.qi@linaro.org>
Wed, 28 Oct 2015 14:22:57 +0000 (14:22 +0000)
commit43cdf5aeb8ae6ac2ec3bdbf636cbb2731ccbbb2a
tree69ea73c3be6425045db21170af2694f58dc5cc49
parent82188b295de579bee5f68de9f4d76ce4a3d41aa9
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.
gdb/ChangeLog
gdb/aarch64-tdep.c
include/opcode/ChangeLog
include/opcode/aarch64.h
opcodes/ChangeLog
opcodes/aarch64-dis.c