From owner-svn-src-all@FreeBSD.ORG Tue Mar 22 17:19:35 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CD24F1065670; Tue, 22 Mar 2011 17:19:35 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A521E8FC12; Tue, 22 Mar 2011 17:19:35 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id p2MHJZPj066184; Tue, 22 Mar 2011 17:19:35 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p2MHJZxi066181; Tue, 22 Mar 2011 17:19:35 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201103221719.p2MHJZxi066181@svn.freebsd.org> From: Marcel Moolenaar Date: Tue, 22 Mar 2011 17:19:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r219876 - head/gnu/usr.bin/binutils/ld X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Mar 2011 17:19:35 -0000 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