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-head
mailing list