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.
This commit is contained in:
Nick Clifton
2016-04-28 09:11:03 +01:00
parent a3a65e6e1d
commit 4bd13cde17
10 changed files with 1271 additions and 1331 deletions

View File

@ -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

View File

@ -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;