OSDN Git Service

ld/
authorrsandifo <rsandifo>
Fri, 18 May 2007 09:18:18 +0000 (09:18 +0000)
committerrsandifo <rsandifo>
Fri, 18 May 2007 09:18:18 +0000 (09:18 +0000)
* emulparams/elf32ebmipvxworks.sh (OTHER_READONLY_SECTIONS)
(OTHER_READWRITE_SECTIONS): Define.  Add .rdata sections.

ld/ChangeLog
ld/emulparams/elf32ebmipvxworks.sh

index 19f66d3..6d1a4dd 100644 (file)
@@ -1,3 +1,8 @@
+2007-05-18  Richard Sandiford  <richard@codesourcery.com>
+
+       * emulparams/elf32ebmipvxworks.sh (OTHER_READONLY_SECTIONS)
+       (OTHER_READWRITE_SECTIONS): Define.  Add .rdata sections.
+
 2007-05-16  Richard Sandiford  <richard@codesourcery.com>
 
        * configure.in: Allow sysroots to be relocated under $prefix as
index 4145488..6d1cc3c 100644 (file)
@@ -3,6 +3,15 @@
 OUTPUT_FORMAT="elf32-bigmips-vxworks"
 BIG_OUTPUT_FORMAT="elf32-bigmips-vxworks"
 LITTLE_OUTPUT_FORMAT="elf32-littlemips-vxworks"
+# VxWorks .rdata sections are normally read-only, but one of the objects
+# in libdl.a (the dynamic loader) is actually read-write.  Explicitly
+# place the section in the appropriate segment for its flags.
+OTHER_READONLY_SECTIONS="
+  .rdata ${RELOCATING-0} : ONLY_IF_RO { *(.rdata) }
+"
+OTHER_READWRITE_SECTIONS="
+  .rdata ${RELOCATING-0} : ONLY_IF_RW { *(.rdata) }
+"
 unset OTHER_GOT_SYMBOLS
 SHLIB_TEXT_START_ADDR=0
 unset TEXT_DYNAMIC