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 | |
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')
-rw-r--r-- | include/ChangeLog | 5 | ||||
-rw-r--r-- | include/opcode/aarch64.h | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/include/ChangeLog b/include/ChangeLog index 1390d42..df2ebb3 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,8 @@ +2016-04-28 Nick Clifton <nickc@redhat.com> + + PR target/19722 + * opcode/aarch64.h (struct aarch64_opcode): Add verifier field. + 2016-04-27 Alan Modra <amodra@gmail.com> * bfdlink.h (struct bfd_link_hash_entry): Add "section" field to 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; |