diff --git a/ld/ChangeLog b/ld/ChangeLog index 19f66d36ee..6d1a4dd3aa 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 4145488ae2..6d1cc3c96c 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