diff options
author | Paul Brook <paul@codesourcery.com> | 2005-07-29 17:39:39 +0000 |
---|---|---|
committer | Paul Brook <paul@codesourcery.com> | 2005-07-29 17:39:39 +0000 |
commit | e9f89963c40811550748184d4792d70336f1fcc8 (patch) | |
tree | 217954362e92f7af6dcb15bc30d7fa169c45e25c /opcodes | |
parent | 92e90b6eb3b2c77ecc6b93fe96f0896b24039ec2 (diff) | |
download | gdb-e9f89963c40811550748184d4792d70336f1fcc8.zip gdb-e9f89963c40811550748184d4792d70336f1fcc8.tar.gz gdb-e9f89963c40811550748184d4792d70336f1fcc8.tar.bz2 |
2005-07-29 Paul Brook <paul@codesourcery.com>
bfd/
* reloc.c: Add BFD_RELOC_ARM_T32_ADD_PC12.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
gas/
* config/tc-arm.c (T16_32_TAB): Add "addr". Fix encoding of push and
pop.
(do_t_addr): Implement 32-bit variant.
(do_t_push_pop): Make some errors warnings. Handle single register
32-bit case.
(insns): Use tCE for adr.
(md_pcrel_from_section): Handle BFD_RELOC_ARM_T32_ADD_PC12.
(md_apply_fix): Ditto.
gas/testsuite/
* gas/arm/thumb32.d: Fix expected output for writeback addressing
modes. Add single high reg push/pop test.
* gas/asm/thumb32.s: Add single high reg push/pop test.
opcodes/
* arm-dis.c: Fix disassebly of thumb2 writeback addressing modes.
Diffstat (limited to 'opcodes')
-rw-r--r-- | opcodes/ChangeLog | 4 | ||||
-rw-r--r-- | opcodes/arm-dis.c | 8 |
2 files changed, 8 insertions, 4 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 539252e..f02e007 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,5 +1,9 @@ 2005-07-29 Paul Brook <paul@codesourcery.com> + * arm-dis.c: Fix disassebly of thumb2 writeback addressing modes. + +2005-07-29 Paul Brook <paul@codesourcery.com> + * arm-dis.c (thumb32_opc): Fix addressing mode for tbh. (print_insn_thumb32): Fix decoding of thumb2 'I' operands. diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c index 14b9901..dbf91be 100644 --- a/opcodes/arm-dis.c +++ b/opcodes/arm-dis.c @@ -2253,22 +2253,22 @@ print_insn_thumb32 (bfd_vma pc, struct disassemble_info *info, long given) offset = -i8; break; - case 0xB: /* 8-bit + preindex with wb */ + case 0xF: /* 8-bit + preindex with wb */ offset = i8; writeback = TRUE; break; - case 0x9: /* 8-bit - preindex with wb */ + case 0xD: /* 8-bit - preindex with wb */ offset = -i8; writeback = TRUE; break; - case 0xF: /* 8-bit + postindex */ + case 0xB: /* 8-bit + postindex */ offset = i8; postind = TRUE; break; - case 0xD: /* 8-bit - postindex */ + case 0x9: /* 8-bit - postindex */ offset = -i8; postind = TRUE; break; |