diff options
author | Nick Clifton <nickc@redhat.com> | 2016-04-28 09:11:03 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2016-04-28 09:11:03 +0100 |
commit | 4bd13cde17a27c342b79b72bde9ef8e1b5373344 (patch) | |
tree | b8216b559ad09261cc8a82c332e6c8ac90b3959a /include/opcode | |
parent | a3a65e6e1d8b31bf2c8b0abca1903106ae48e092 (diff) | |
download | gdb-4bd13cde17a27c342b79b72bde9ef8e1b5373344.zip gdb-4bd13cde17a27c342b79b72bde9ef8e1b5373344.tar.gz 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')
-rw-r--r-- | include/opcode/aarch64.h | 3 |
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; |