bfd/
authorPaul Brook <paul@codesourcery.com>
Thu, 30 Sep 2004 17:03:53 +0000 (17:03 +0000)
committerPaul Brook <paul@codesourcery.com>
Thu, 30 Sep 2004 17:03:53 +0000 (17:03 +0000)
* elf32-arm.h (bfd_elf32_arm_set_target_relocs): Handle "abs"
target2 relocation type.
ld/
* ld.texinfo: Document --target2=abs.
* emulparms/armsymbian.sh (TARGET2_TYPE): Set.
ld/testsuite/
* ld-arm/arm-elf.exp: Add test for --target2=abs.
* ld-arm/arm-target2-abs.d: New file.

bfd/ChangeLog
bfd/elf32-arm.h
ld/ChangeLog
ld/emulparams/armsymbian.sh
ld/ld.texinfo
ld/testsuite/ChangeLog
ld/testsuite/ld-arm/arm-elf.exp
ld/testsuite/ld-arm/arm-target2-abs.d [new file with mode: 0644]

index bb4d5e3e44a8e115a2e40feab9ac150685f0e666..77510cbff9fe9712496bd814027600b28b6027ca 100644 (file)
@@ -1,3 +1,8 @@
+2004-09-30  Paul Brook  <paul@codesourcery.com>
+
+       * elf32-arm.h (bfd_elf32_arm_set_target_relocs): Handle "abs"
+       target2 relocation type.
+
 2004-09-30  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR 414
index 27e74d95569442d3bb11cbced1e0b15b78ec25f8..99ed731f65deec7d5a31f4a1dc797a8b54dcf8c3 100644 (file)
@@ -925,6 +925,8 @@ bfd_elf32_arm_set_target_relocs (struct bfd_link_info *link_info,
   globals->target1_is_rel = target1_is_rel;
   if (strcmp (target2_type, "rel") == 0)
     globals->target2_reloc = R_ARM_REL32;
+  else if (strcmp (target2_type, "abs") == 0)
+    globals->target2_reloc = R_ARM_ABS32;
   else if (strcmp (target2_type, "got-rel") == 0)
     globals->target2_reloc = R_ARM_GOT_PREL;
   else
index cfe0333372cd8197a9a02878370c00351caf4a52..f9a078054a60d9d2126d41a05f577edc214e80d9 100644 (file)
@@ -1,3 +1,8 @@
+2004-09-30  Paul Brook  <paul@codesourcery.com>
+
+       * ld.texinfo: Document --target2=abs.
+       * emulparms/armsymbian.sh (TARGET2_TYPE): Set.
+
 2004-09-29  Nick Clifton  <nickc@redhat.com>
 
        * scripttempl/xstormy16.sc: Only perform the assignments to the
index ce3a963ba0b511aa5bf7dd649caa08ba43cf946b..6fd1d15548dbbb5ac05822253d4c43e32c0c0503 100644 (file)
@@ -5,6 +5,7 @@ OUTPUT_FORMAT="elf32-littlearm-symbian"
 BIG_OUTPUT_FORMAT="elf32-bigarm-symbian"
 LITTLE_OUTPUT_FORMAT="$OUTPUT_FORMAT"
 TARGET1_IS_REL=1
+TARGET2_TYPE=abs
 
 # This value should match ELF_MAXPAGESIZE in BFD.  Otherwise, elf.c
 # will not place read-write sections in a separate ELF segment from
index 8acc3c49ada36e50baa25e3a5cf3837a2fc72177..047933aaf0bb6abf5fb4179c5e8462e4dffb84a0 100644 (file)
@@ -4922,7 +4922,9 @@ The @samp{--target2=type} switch overrides the default definition of the
 meanings, and target defaults are as follows:
 @table @samp
 @item rel
-@samp{R_ARM_REL32} (arm*-*-symbianelf, arm*-*-elf, arm*-*-eabi)
+@samp{R_ARM_REL32} (arm*-*-elf, arm*-*-eabi)
+@item abs
+@samp{R_ARM_ABS32} (arm*-*-symbianelf)
 @item got-rel
 @samp{R_ARM_GOT_PREL} (arm*-*-linux, arm*-*-*bsd)
 @end table
index ac41e87510fd1d4e955b7987e237853f5b37e947..76de52b30678d949b41838d277550fb946d9dc33 100644 (file)
@@ -1,3 +1,8 @@
+2004-09-30  Paul Brook  <paul@codesourcery.com>
+
+       * ld-arm/arm-elf.exp: Add test for --target2=abs.
+       * ld-arm/arm-target2-abs.d: New file.
+
 2004-09-29  Alan Modra  <amodra@bigpond.net.au>
 
        * ld-pe/secrel1.s: Pad .rdata out to 16 byte boundary.
index 17fb08914c2c246de8f9b5b313e0878f3d4e4f13..1de19e78916c39cb37b2a18f8008cd6eae1c3bc3 100644 (file)
@@ -56,6 +56,9 @@ set armelftests {
     {"target2-rel" "-static --target2=rel -T arm.ld" "" {arm-target2.s}
      {{objdump -s arm-target2-rel.d}}
      "arm-target2-rel"}
+    {"target2-abs" "-static --target2=abs -T arm.ld" "" {arm-target2.s}
+     {{objdump -s arm-target2-abs.d}}
+     "arm-target2-abs"}
     {"target2-got-rel" "-static --target2=got-rel -T arm.ld" "" {arm-target2.s}
      {{objdump -s arm-target2-got-rel.d}}
      "arm-target2-got-rel"}
diff --git a/ld/testsuite/ld-arm/arm-target2-abs.d b/ld/testsuite/ld-arm/arm-target2-abs.d
new file mode 100644 (file)
index 0000000..81cc9cc
--- /dev/null
@@ -0,0 +1,5 @@
+
+.*:     file format.*
+
+Contents of section .text:
+ 8000 (04800000|00008004) .*