mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-07-30 21:34:42 +08:00
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:
@ -1,3 +1,9 @@
|
||||
2016-04-28 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
PR target/19722
|
||||
* testsuite/binutils-all/aarch64/illegal.s: New test.
|
||||
* testsuite/binutils-all/aarch64/illegal.d: New test driver.
|
||||
|
||||
2016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
|
||||
|
||||
* resres.c: Likewise.
|
||||
|
12
binutils/testsuite/binutils-all/aarch64/illegal.d
Normal file
12
binutils/testsuite/binutils-all/aarch64/illegal.d
Normal file
@ -0,0 +1,12 @@
|
||||
#PROG: objcopy
|
||||
#objdump: -d
|
||||
#name: Check that the disassembler complains about illegal instructions.
|
||||
|
||||
.*: +file format .*aarch64.*
|
||||
|
||||
Disassembly of section \.text:
|
||||
|
||||
0+000 <.*>:
|
||||
[ ]+0:[ ]+68ea18cc[ ]+.inst[ ]+0x68ea18cc ; undefined
|
||||
#pass
|
||||
|
7
binutils/testsuite/binutils-all/aarch64/illegal.s
Normal file
7
binutils/testsuite/binutils-all/aarch64/illegal.s
Normal file
@ -0,0 +1,7 @@
|
||||
# Test disassembly of illegal instructions.
|
||||
.text
|
||||
|
||||
# ldpsw x12, x6, [x6],#-8 ; illegal because one of the dest regs is also the address reg
|
||||
.inst 0x68ea18cc
|
||||
|
||||
# FIXME: Add more illegal instructions here.
|
Reference in New Issue
Block a user