From: Richard Sandiford Date: Fri, 18 May 2007 09:18:18 +0000 (+0000) Subject: ld/ X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=120facfc96bcc7132cd78ebc358856b21547da2b;p=binutils-gdb.git ld/ * emulparams/elf32ebmipvxworks.sh (OTHER_READONLY_SECTIONS) (OTHER_READWRITE_SECTIONS): Define. Add .rdata sections. --- diff --git a/ld/ChangeLog b/ld/ChangeLog index 19f66d36ee6..6d1a4dd3aa4 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 4145488ae28..6d1cc3c96ca 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