OSDN Git Service

2005-07-29 Paul Brook <paul@codesourcery.com>
authorPaul Brook <paul@codesourcery.com>
Fri, 29 Jul 2005 17:39:39 +0000 (17:39 +0000)
committerPaul Brook <paul@codesourcery.com>
Fri, 29 Jul 2005 17:39:39 +0000 (17:39 +0000)
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.

bfd/ChangeLog
bfd/bfd-in2.h
bfd/libbfd.h
bfd/reloc.c
opcodes/ChangeLog
opcodes/arm-dis.c

index c016e7f..b52a2ec 100644 (file)
@@ -1,5 +1,11 @@
 2005-07-29  Paul Brook  <paul@codesourcery.com>
 
+       * reloc.c: Add BFD_RELOC_ARM_T32_ADD_PC12.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+
+2005-07-29  Paul Brook  <paul@codesourcery.com>
+
        * reloc.c (BFD_RELOC_ARM_T32_IMM12): Add.
        * bfd-in2.h: Regeenrate.
        * libbfd.h: Regenerate.
index 2db99a4..e8c5972 100644 (file)
@@ -2881,6 +2881,7 @@ pc-relative or some form of GOT-indirect relocation.  */
   BFD_RELOC_ARM_ADRL_IMMEDIATE,
   BFD_RELOC_ARM_T32_IMMEDIATE,
   BFD_RELOC_ARM_T32_IMM12,
+  BFD_RELOC_ARM_T32_ADD_PC12,
   BFD_RELOC_ARM_SHIFT_IMM,
   BFD_RELOC_ARM_SMI,
   BFD_RELOC_ARM_SWI,
index 51aa3c9..62173e0 100644 (file)
@@ -1212,6 +1212,7 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
   "BFD_RELOC_ARM_ADRL_IMMEDIATE",
   "BFD_RELOC_ARM_T32_IMMEDIATE",
   "BFD_RELOC_ARM_T32_IMM12",
+  "BFD_RELOC_ARM_T32_ADD_PC12",
   "BFD_RELOC_ARM_SHIFT_IMM",
   "BFD_RELOC_ARM_SMI",
   "BFD_RELOC_ARM_SWI",
index 7c2ccdb..77b4feb 100644 (file)
@@ -2738,6 +2738,8 @@ ENUMX
 ENUMX
   BFD_RELOC_ARM_T32_IMM12
 ENUMX
+  BFD_RELOC_ARM_T32_ADD_PC12
+ENUMX
   BFD_RELOC_ARM_SHIFT_IMM
 ENUMX
   BFD_RELOC_ARM_SMI
index 539252e..f02e007 100644 (file)
@@ -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.
 
index 14b9901..dbf91be 100644 (file)
@@ -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;