svn commit: r219876 - head/gnu/usr.bin/binutils/ld

Marcel Moolenaar marcel at FreeBSD.org
Tue Mar 22 17:19:35 UTC 2011


Author: marcel
Date: Tue Mar 22 17:19:35 2011
New Revision: 219876
URL: http://svn.freebsd.org/changeset/base/219876

Log:
  Change the load address from offset 0 in region 1 to offset 4G in region 0.
  This (almost) gives us the address space back (at the bottom) that we lost
  at the top.
  
  Region 0 has traditionally been reserved for IA-32 emulation, which has not
  been of great interest. By starting 64-bit processes at the 4G boundary we
  at least preserve some of the advantages:
  1.  Any invalid pointer cast (from int to pointer and back) will still
      always fail and not only when more than 4GB of memory is in use.
  2.  Memory sharing between 64-bit and 32-bit processes is still possibly
      by using addresses < 4G.

Modified:
  head/gnu/usr.bin/binutils/ld/Makefile.ia64
  head/gnu/usr.bin/binutils/ld/elf64_ia64_fbsd.sh

Modified: head/gnu/usr.bin/binutils/ld/Makefile.ia64
==============================================================================
--- head/gnu/usr.bin/binutils/ld/Makefile.ia64	Tue Mar 22 17:02:33 2011	(r219875)
+++ head/gnu/usr.bin/binutils/ld/Makefile.ia64	Tue Mar 22 17:19:35 2011	(r219876)
@@ -4,12 +4,13 @@ NATIVE_EMULATION= elf64_ia64_fbsd
 
 SRCS+=		e${NATIVE_EMULATION}.c
 CLEANFILES+=	e${NATIVE_EMULATION}.c
-e${NATIVE_EMULATION}.c: emulparams/${NATIVE_EMULATION}.sh emultempl/elf32.em \
+e${NATIVE_EMULATION}.c: ${.CURDIR}/${NATIVE_EMULATION}.sh emultempl/elf32.em \
     scripttempl/elf.sc genscripts.sh stringify.sed
 	sh ${.CURDIR}/genscripts.sh ${SRCDIR}/ld ${LIBSEARCHPATH} \
 	    ${TOOLS_PREFIX}/usr \
 	    ${HOST} ${TARGET_TUPLE} ${TARGET_TUPLE} \
-	    ${NATIVE_EMULATION} "" no ${NATIVE_EMULATION} ${TARGET_TUPLE}
+	    ${NATIVE_EMULATION} "" no ${NATIVE_EMULATION} ${TARGET_TUPLE} \
+	    ${.CURDIR}/${NATIVE_EMULATION}.sh
 
 #XXX	EMS+=	eelf64_ia64
 

Modified: head/gnu/usr.bin/binutils/ld/elf64_ia64_fbsd.sh
==============================================================================
--- head/gnu/usr.bin/binutils/ld/elf64_ia64_fbsd.sh	Tue Mar 22 17:02:33 2011	(r219875)
+++ head/gnu/usr.bin/binutils/ld/elf64_ia64_fbsd.sh	Tue Mar 22 17:19:35 2011	(r219876)
@@ -1,5 +1,6 @@
+# $FreeBSD$
 . ${srcdir}/emulparams/elf64_ia64.sh
-TEXT_START_ADDR="0x2000000000000000"
+TEXT_START_ADDR="0x0000000100000000"
 unset DATA_ADDR
 unset SMALL_DATA_CTOR
 unset SMALL_DATA_DTOR


More information about the svn-src-all mailing list