ld/
authorRichard Sandiford <rdsandiford@googlemail.com>
Fri, 18 May 2007 09:18:18 +0000 (09:18 +0000)
committerRichard Sandiford <rdsandiford@googlemail.com>
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 19f66d36ee61ada985f0c5c18f46ea1463f836c9..6d1a4dd3aa41961e1c47f60c4d190f33e3888567 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 4145488ae28ef01e047ee56e1a0f80b2c16afd6a..6d1cc3c96ca19f0889375e5e2dc51dea1ff059f9 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