From 120facfc96bcc7132cd78ebc358856b21547da2b Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Fri, 18 May 2007 09:18:18 +0000 Subject: [PATCH] ld/ * emulparams/elf32ebmipvxworks.sh (OTHER_READONLY_SECTIONS) (OTHER_READWRITE_SECTIONS): Define. Add .rdata sections. --- ld/ChangeLog | 5 +++++ ld/emulparams/elf32ebmipvxworks.sh | 9 +++++++++ 2 files changed, 14 insertions(+) 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 + + * emulparams/elf32ebmipvxworks.sh (OTHER_READONLY_SECTIONS) + (OTHER_READWRITE_SECTIONS): Define. Add .rdata sections. + 2007-05-16 Richard Sandiford * 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 -- 2.7.4