Add .interp back into INITIAL_READONLY_SECTIONS in MIPS n64 ABI.

The binutils update in r218822 caused the MIPS n64 dynamic binaries to
fail because the ".interp" section is not in the initial sections.
This happens because elf64bmip-defs.sh overrides INITIAL_READONLY_SECTIONS
to add ".MIPS.options" sections instead of the ".reginfo" section used
by n32.
This used to work fine, but after r218822, INITIAL_READONLY_SECTIONS also
contains the .interp section, so the override has to be done differently.

Reported by : aduane at juniper

Obtained from:	gonzo (Initial version)
This commit is contained in:
Jayachandran C. 2011-06-01 10:23:03 +00:00
parent 272cba15b8
commit d38ea3bc9e
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=222558

View File

@ -1,3 +1,11 @@
. ${srcdir}/emulparams/elf32bmipn32-defs.sh
COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
INITIAL_READONLY_SECTIONS=".MIPS.options : { *(.MIPS.options) }"
# elf32bmipn32-defs.sh use .reginfo, n64 ABI should use .MIPS.options,
# override INITIAL_READONLY_SECTIONS to do this.
INITIAL_READONLY_SECTIONS=
if test -z "${CREATE_SHLIB}"; then
INITIAL_READONLY_SECTIONS=".interp ${RELOCATING-0} : { *(.interp) }"
fi
INITIAL_READONLY_SECTIONS="${INITIAL_READONLY_SECTIONS}
.MIPS.options ${RELOCATING-0} : { *(.MIPS.options) }"