aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2007-05-18 09:18:18 +0000
committerRichard Sandiford <rdsandiford@googlemail.com>2007-05-18 09:18:18 +0000
commit120facfc96bcc7132cd78ebc358856b21547da2b (patch)
tree7eb677bb072f1cab59d46e942ef5664485c9211c /ld
parent12f498a721b3acede21798bd2090cb189308ac2b (diff)
downloadgdb-120facfc96bcc7132cd78ebc358856b21547da2b.zip
gdb-120facfc96bcc7132cd78ebc358856b21547da2b.tar.gz
gdb-120facfc96bcc7132cd78ebc358856b21547da2b.tar.bz2
ld/
* emulparams/elf32ebmipvxworks.sh (OTHER_READONLY_SECTIONS) (OTHER_READWRITE_SECTIONS): Define. Add .rdata sections.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog5
-rw-r--r--ld/emulparams/elf32ebmipvxworks.sh9
2 files changed, 14 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 19f66d3..6d1a4dd 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -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
diff --git a/ld/emulparams/elf32ebmipvxworks.sh b/ld/emulparams/elf32ebmipvxworks.sh
index 4145488..6d1cc3c 100644
--- a/ld/emulparams/elf32ebmipvxworks.sh
+++ b/ld/emulparams/elf32ebmipvxworks.sh
@@ -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