* config/tc-arm.c (tc_gen_reloc): Add BFD_RELOC_ARM_T32_OFFSET_IMM
authorNathan Sidwell <nathan@codesourcery.com>
Thu, 8 Jul 2010 06:22:24 +0000 (06:22 +0000)
committerNathan Sidwell <nathan@codesourcery.com>
Thu, 8 Jul 2010 06:22:24 +0000 (06:22 +0000)
error message.

testsuite/
* gas/arm/reloc-bad.d: New.
* gas/arm/reloc-bad.s: New.
* gas/arm/reloc-bad.l: New.

gas/ChangeLog
gas/config/tc-arm.c
gas/testsuite/ChangeLog
gas/testsuite/gas/arm/reloc-bad.d [new file with mode: 0644]
gas/testsuite/gas/arm/reloc-bad.l [new file with mode: 0644]
gas/testsuite/gas/arm/reloc-bad.s [new file with mode: 0644]

index 1a22a35..a67cce3 100644 (file)
@@ -1,3 +1,8 @@
+2010-07-08  Daniel Gutson  <dgutson@codesourcery.com>
+
+       * config/tc-arm.c (tc_gen_reloc): Add BFD_RELOC_ARM_T32_OFFSET_IMM
+       error message.
+
 2010-07-06  Maciej W. Rozycki  <macro@codesourcery.com>
 
        * config/tc-mips.c (mips_frob_file): Use symbol_same_p to match
index 67b36d5..33d38ad 100644 (file)
@@ -21235,6 +21235,7 @@ tc_gen_reloc (asection *section, fixS *fixp)
          case BFD_RELOC_ARM_SWI:          type = "SWI";          break;
          case BFD_RELOC_ARM_MULTI:        type = "MULTI";        break;
          case BFD_RELOC_ARM_CP_OFF_IMM:   type = "CP_OFF_IMM";   break;
+         case BFD_RELOC_ARM_T32_OFFSET_IMM: type = "T32_OFFSET_IMM"; break;
          case BFD_RELOC_ARM_T32_CP_OFF_IMM: type = "T32_CP_OFF_IMM"; break;
          case BFD_RELOC_ARM_THUMB_ADD:    type = "THUMB_ADD";    break;
          case BFD_RELOC_ARM_THUMB_SHIFT:  type = "THUMB_SHIFT";  break;
index 2d89bb8..e9dbfe7 100644 (file)
@@ -1,3 +1,9 @@
+2010-07-08  Daniel Gutson  <dgutson@codesourcery.com>
+
+       * gas/arm/reloc-bad.d: New.
+       * gas/arm/reloc-bad.s: New.
+       * gas/arm/reloc-bad.l: New.
+
 2010-07-06  Maciej W. Rozycki  <macro@codesourcery.com>
 
        * gas/mips/elf-rel27.d: New test for HI16/LO16 relocation
diff --git a/gas/testsuite/gas/arm/reloc-bad.d b/gas/testsuite/gas/arm/reloc-bad.d
new file mode 100644 (file)
index 0000000..4866871
--- /dev/null
@@ -0,0 +1,2 @@
+#name: Invalid relocations
+#error-output: reloc-bad.l
diff --git a/gas/testsuite/gas/arm/reloc-bad.l b/gas/testsuite/gas/arm/reloc-bad.l
new file mode 100644 (file)
index 0000000..a95bb99
--- /dev/null
@@ -0,0 +1,3 @@
+[^:]*: Assembler messages:
+[^:]*:5: Error: internal_relocation \(type: OFFSET_IMM\) not fixed up
+[^:]*:3: Error: cannot represent T32_OFFSET_IMM relocation in this object file format
diff --git a/gas/testsuite/gas/arm/reloc-bad.s b/gas/testsuite/gas/arm/reloc-bad.s
new file mode 100644 (file)
index 0000000..88c45c8
--- /dev/null
@@ -0,0 +1,5 @@
+.syntax unified
+.thumb
+ldr r0, 0
+.arm
+ldr r0, 0