svn commit: r222558 - head/contrib/binutils/ld/emulparams

Jayachandran C. jchandra at FreeBSD.org
Wed Jun 1 10:23:03 UTC 2011


Author: jchandra
Date: Wed Jun  1 10:23:03 2011
New Revision: 222558
URL: http://svn.freebsd.org/changeset/base/222558

Log:
  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)

Modified:
  head/contrib/binutils/ld/emulparams/elf64bmip-defs.sh

Modified: head/contrib/binutils/ld/emulparams/elf64bmip-defs.sh
==============================================================================
--- head/contrib/binutils/ld/emulparams/elf64bmip-defs.sh	Wed Jun  1 06:07:57 2011	(r222557)
+++ head/contrib/binutils/ld/emulparams/elf64bmip-defs.sh	Wed Jun  1 10:23:03 2011	(r222558)
@@ -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) }"


More information about the svn-src-all mailing list