aboutsummaryrefslogtreecommitdiff
path: root/gdb/arch/aarch64-insn.h
diff options
context:
space:
mode:
authorPierre Langlois <pierre.langlois@arm.com>2015-09-21 15:01:04 +0100
committerYao Qi <yao.qi@linaro.org>2015-09-21 15:01:04 +0100
commit6ec5f4be052e594dc90b6677fec1c1e7727d9651 (patch)
treea3cd573fae1dca52781754dedb6c281563509679 /gdb/arch/aarch64-insn.h
parent787749ead66eee8c20754c160bd79404b2109553 (diff)
downloadfsf-binutils-gdb-6ec5f4be052e594dc90b6677fec1c1e7727d9651.zip
fsf-binutils-gdb-6ec5f4be052e594dc90b6677fec1c1e7727d9651.tar.gz
fsf-binutils-gdb-6ec5f4be052e594dc90b6677fec1c1e7727d9651.tar.bz2
Make aarch64_decode_adrp handle both ADR and ADRP instructions
We will need to decode both ADR and ADRP instructions in GDBserver. This patch makes common code handle both cases, even if GDB only needs to decode the ADRP instruction. gdb/ChangeLog: * aarch64-tdep.c (aarch64_analyze_prologue): New is_adrp variable. Call aarch64_decode_adr instead of aarch64_decode_adrp. * arch/aarch64-insn.h (aarch64_decode_adrp): Delete. (aarch64_decode_adr): New function declaration. * arch/aarch64-insn.c (aarch64_decode_adrp): Delete. (aarch64_decode_adr): New function, factored out from aarch64_decode_adrp to decode both adr and adrp instructions.
Diffstat (limited to 'gdb/arch/aarch64-insn.h')
-rw-r--r--gdb/arch/aarch64-insn.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/gdb/arch/aarch64-insn.h b/gdb/arch/aarch64-insn.h
index 7775a34..2facb44 100644
--- a/gdb/arch/aarch64-insn.h
+++ b/gdb/arch/aarch64-insn.h
@@ -21,7 +21,8 @@
extern int aarch64_debug;
-int aarch64_decode_adrp (CORE_ADDR addr, uint32_t insn, unsigned *rd);
+int aarch64_decode_adr (CORE_ADDR addr, uint32_t insn, int *is_adrp,
+ unsigned *rd, int32_t *offset);
int aarch64_decode_b (CORE_ADDR addr, uint32_t insn, int *is_bl,
int32_t *offset);