ld/
authorRichard Sandiford <rdsandiford@googlemail.com>
Fri, 20 Oct 2006 07:55:37 +0000 (07:55 +0000)
committerRichard Sandiford <rdsandiford@googlemail.com>
Fri, 20 Oct 2006 07:55:37 +0000 (07:55 +0000)
* emulparams/elf32bmip.sh (OTHER_GOT_RELOC_SECTIONS): Define.
* emulparams/elf32bmipn32-defs.sh (OTHER_GOT_RELOC_SECTIONS): Likewise.

ld/testsuite/
* ld-mips-elf/rel32-o32.d: Bump the section number of .text by 1
to account for the fact that .rel.dyn is now before .text in the
section table.
* ld-mips-elf/rel32-n32.d: Likewise.
* ld-mips-elf/rel64.d: Likewise.

ld/ChangeLog
ld/emulparams/elf32bmip.sh
ld/emulparams/elf32bmipn32-defs.sh
ld/testsuite/ChangeLog
ld/testsuite/ld-mips-elf/rel32-n32.d
ld/testsuite/ld-mips-elf/rel32-o32.d
ld/testsuite/ld-mips-elf/rel64.d

index 99b33401a63714d1b6107385a4ed60024cebff73..e4e9a74f652de128b7961ffa61ed327a086bcc05 100644 (file)
@@ -1,3 +1,8 @@
+2006-10-20  Richard Sandiford  <richard@codesourcery.com>
+
+       * emulparams/elf32bmip.sh (OTHER_GOT_RELOC_SECTIONS): Define.
+       * emulparams/elf32bmipn32-defs.sh (OTHER_GOT_RELOC_SECTIONS): Likewise.
+
 2006-10-19  Alan Modra  <amodra@bigpond.net.au>
 
        * emultempl/armelf.em (arm_elf_before_allocation): Run
index 8fda60bf7978ec26597a93c24f7bc226f848f940..e1d6d3442dc974ee3eab0eb4f1d65cb8c1699138 100644 (file)
@@ -20,6 +20,13 @@ INITIAL_READONLY_SECTIONS="${INITIAL_READONLY_SECTIONS}
   .reginfo      ${RELOCATING-0} : { *(.reginfo) }
 "
 OTHER_TEXT_SECTIONS='*(.mips16.fn.*) *(.mips16.call.*)'
+# Unlike most targets, the MIPS backend puts all dynamic relocations
+# in a single dynobj section, which it also calls ".rel.dyn".  It does
+# this so that it can easily sort all dynamic relocations before the
+# output section has been populated.
+OTHER_GOT_RELOC_SECTIONS="
+  .rel.dyn      ${RELOCATING-0} : { *(.rel.dyn) }
+"
 # If the output has a GOT section, there must be exactly 0x7ff0 bytes
 # between .got and _gp.  The ". = ." below stops the orphan code from
 # inserting other sections between the assignment to _gp and the start
index 4091ff4f15e10ae444e3052b2263e80599aeefdd..49d2f8545da5e3a36d7294325a621517af9120f5 100644 (file)
@@ -37,6 +37,13 @@ TEXT_START_ADDR=0x10000000
 MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
 ENTRY=__start
 
+# Unlike most targets, the MIPS backend puts all dynamic relocations
+# in a single dynobj section, which it also calls ".rel.dyn".  It does
+# this so that it can easily sort all dynamic relocations before the
+# output section has been populated.
+OTHER_GOT_RELOC_SECTIONS="
+  .rel.dyn      ${RELOCATING-0} : { *(.rel.dyn) }
+"
 # GOT-related settings.  
 # If the output has a GOT section, there must be exactly 0x7ff0 bytes
 # between .got and _gp.  The ". = ." below stops the orphan code from
index 3f72a2fc5a0dc732f67652bb0e8b636cd08d0a78..9584b47167d9c8b8366c3a59ad8f3e533fb574c4 100644 (file)
@@ -1,3 +1,11 @@
+2006-10-20  Richard Sandiford  <richard@codesourcery.com>
+
+       * ld-mips-elf/rel32-o32.d: Bump the section number of .text by 1
+       to account for the fact that .rel.dyn is now before .text in the
+       section table.
+       * ld-mips-elf/rel32-n32.d: Likewise.
+       * ld-mips-elf/rel64.d: Likewise.
+
 2006-10-19  Richard Sandiford  <richard@codesourcery.com>
 
        * ld-mips-elf/tlslib-o32-hidden.got: Sort relocations against the
index 3764f40b49a42dd20f13d83109a059cc9bf866c2..7adf822e4d7eebe0af7a82795ebd711a04d619f1 100644 (file)
@@ -1,7 +1,7 @@
 #name: MIPS rel32 n32
 #source: rel32.s
 #as: -KPIC -EB -n32
-#readelf: -x 6 -r
+#readelf: -x .text -r
 #ld: -shared -melf32btsmipn32
 
 Relocation section '.rel.dyn' at offset .* contains 2 entries:
index d2d932e5a705e2276b5a4947f42c2a2152446515..ac82459519a69b23a7fa02c9adedfd81eec055d2 100644 (file)
@@ -1,7 +1,7 @@
 #name: MIPS rel32 o32
 #source: rel32.s
 #as: -KPIC -EB -32
-#readelf: -x 6 -r
+#readelf: -x .text -r
 #ld: -shared -melf32btsmip
 
 Relocation section '.rel.dyn' at offset .* contains 2 entries:
index c3e0913c94186213877ed372e11ad5ae9ee77d88..37f95ae54f71b7eb7cca4eca37edb8a6a142c520 100644 (file)
@@ -1,7 +1,7 @@
 #name: MIPS rel64 n64
 #source: rel64.s
 #as: -KPIC -EB -64
-#readelf: -x 6 -r
+#readelf: -x .text -r
 #ld: -shared -melf64btsmip
 
 Relocation section '.rel.dyn' at offset .* contains 2 entries: