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) }"
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to