aboutsummaryrefslogtreecommitdiff
path: root/include/opcode/aarch64.h
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2016-04-28 09:11:03 +0100
committerNick Clifton <nickc@redhat.com>2016-04-28 09:11:03 +0100
commit4bd13cde17a27c342b79b72bde9ef8e1b5373344 (patch)
treeb8216b559ad09261cc8a82c332e6c8ac90b3959a /include/opcode/aarch64.h
parenta3a65e6e1d8b31bf2c8b0abca1903106ae48e092 (diff)
downloadfsf-binutils-gdb-4bd13cde17a27c342b79b72bde9ef8e1b5373344.zip
fsf-binutils-gdb-4bd13cde17a27c342b79b72bde9ef8e1b5373344.tar.gz
fsf-binutils-gdb-4bd13cde17a27c342b79b72bde9ef8e1b5373344.tar.bz2
Add support to AArch64 disassembler for verifying instructions. Add verifier for LDPSW.
PR target/19722 opcodes * aarch64-dis.c (aarch64_opcode_decode): Run verifier if present. * aarch64-opc.c (verify_ldpsw): New function. * aarch64-opc.h (verify_ldpsw): New prototype. * aarch64-tbl.h: Add initialiser for verifier field. (LDPSW): Set verifier to verify_ldpsw. binutils* testsuite/binutils-all/aarch64/illegal.s: New test. * testsuite/binutils-all/aarch64/illegal.d: New test driver. include * opcode/aarch64.h (struct aarch64_opcode): Add verifier field.
Diffstat (limited to 'include/opcode/aarch64.h')
-rw-r--r--include/opcode/aarch64.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h
index 3a28855..e6f080c 100644
--- a/include/opcode/aarch64.h
+++ b/include/opcode/aarch64.h
@@ -535,6 +535,9 @@ struct aarch64_opcode
/* Flags providing information about this instruction */
uint32_t flags;
+
+ /* If non-NULL, a function to verify that a given instruction is valid. */
+ bfd_boolean (* verifier) (const struct aarch64_opcode *, const aarch64_insn);
};
typedef struct aarch64_opcode aarch64_opcode;