diff options
author | John Darrington <john@darrington.wattle.id.au> | 2018-07-24 13:40:21 +0200 |
---|---|---|
committer | John Darrington <john@darrington.wattle.id.au> | 2018-08-18 07:50:57 +0200 |
commit | f41078422a4381d4943f36aa1ef95b1d7c85ee7e (patch) | |
tree | fc8c846c8504b62763289f2df7d44b8db6b11824 /gas | |
parent | 7ba3ba91a3dbc43f7ff16c4899f7f1cbef056db0 (diff) | |
download | gdb-f41078422a4381d4943f36aa1ef95b1d7c85ee7e.zip gdb-f41078422a4381d4943f36aa1ef95b1d7c85ee7e.tar.gz gdb-f41078422a4381d4943f36aa1ef95b1d7c85ee7e.tar.bz2 |
Opcodes: (BRCLR / BRSET) Disassemble reserved codes instead of aborting.
Bit manipulation instructions which are not normally generated by the
assembler, should nevertheless be decoded by the disassembler.
opcodes/
* s12z-dis.c: BM_RESERVED1 to behave like BM_OPR_REG, and
BM_RESERVED0 like BM_REG_IMM.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/s12z/bit-manip-invalid.d | 19 | ||||
-rw-r--r-- | gas/testsuite/gas/s12z/bit-manip-invalid.s | 11 | ||||
-rw-r--r-- | gas/testsuite/gas/s12z/s12z.exp | 1 |
4 files changed, 37 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index df36d50..efb834c 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2018-07-28 John Darrington <john@darrington.wattle.id.au> + + * testsuite/gas/s12z/bit-manip-invalid.d: New file. + * testsuite/gas/s12z/bit-manip-invalid.s: New file. + * testsuite/gas/s12z/s12z.exp: Add them. + 2018-08-14 H.J. Lu <hongjiu.lu@intel.com> * testsuite/gas/i386/evex-no-scale-64.d: Updated. diff --git a/gas/testsuite/gas/s12z/bit-manip-invalid.d b/gas/testsuite/gas/s12z/bit-manip-invalid.d new file mode 100644 index 0000000..0cfcfe4 --- /dev/null +++ b/gas/testsuite/gas/s12z/bit-manip-invalid.d @@ -0,0 +1,19 @@ +#objdump: -d +#name: Test of disassembler behaviour by with invalid bit manipulation instructions +#source: bit-manip-invalid.s + + +dump.o: file format elf32-s12z + + +Disassembly of section .text: + +00000000 <.text>: + 0: 01 nop + 1: 03 a5 10 04 brset.w 4100, d4, *+6 + 5: 06 + 6: 01 nop + 7: 01 nop + 8: 03 65 12 brset d1, #4, *+18 + b: 01 nop + c: 01 nop diff --git a/gas/testsuite/gas/s12z/bit-manip-invalid.s b/gas/testsuite/gas/s12z/bit-manip-invalid.s new file mode 100644 index 0000000..6876ba8 --- /dev/null +++ b/gas/testsuite/gas/s12z/bit-manip-invalid.s @@ -0,0 +1,11 @@ +;;; This is really a test of the disassembler rather than +;;; the assembler. + nop + DC.L 0x03A51004 + DC.B 0x06 + nop + + nop + DC.L 0x03651201 + nop + diff --git a/gas/testsuite/gas/s12z/s12z.exp b/gas/testsuite/gas/s12z/s12z.exp index acd50cf..9d73ca0 100644 --- a/gas/testsuite/gas/s12z/s12z.exp +++ b/gas/testsuite/gas/s12z/s12z.exp @@ -113,6 +113,7 @@ run_dump_test ld-immu18 run_dump_test lea-immu18 run_dump_test ext24-ld-xy run_dump_test st-xy +run_dump_test bit-manip-invalid # Symbol related tests run_dump_test opr-symbol |