Date: Thu, 27 Nov 2003 14:52:18 -0800 (PST) From: Marcel Moolenaar <marcel@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 43100 for review Message-ID: <200311272252.hARMqIXa049138@repoman.freebsd.org>
index | next in thread | raw e-mail
http://perforce.freebsd.org/chv.cgi?CH=43100 Change 43100 by marcel@marcel_nfs on 2003/11/27 14:52:05 Tweak the linker script to generate executables that are targeted towards our own VM: o Set the load address of executables to the start of region 1 (region 0 is reserved for ILP32 interoperability) instead of region 2. This stops wasting a complete region. On HP-UX region 1 is reserved for shared address space and this has been copied blindly for Linux and FreeBSD after that. It doesn't make sense to do it. o Do not load the data segment in region 3. On FreeBSD this means that all shared libraries are loaded there as well. Consequently only the text segment of the executable was loaded in region 2, wasting close to a complete region. The text segment is likely to be maller than 1GB for large programs, even if the total amount of code is much larger than that. It isn't common to have an executable that is larger than 1GB on disk. Now we load the data segment in the same region as the text segment, so that we fill up the segment before we go on to the next. We now have 3*2^61 bytes of useable address space. This change needs to be contributed back to binutils. Affected files ... .. //depot/projects/ia64/contrib/binutils/ld/emulparams/elf64_ia64_fbsd.sh#2 edit Differences ... ==== //depot/projects/ia64/contrib/binutils/ld/emulparams/elf64_ia64_fbsd.sh#2 (text+ko) ==== @@ -1,2 +1,4 @@ . ${srcdir}/emulparams/elf64_ia64.sh +TEXT_START_ADDR="0x2000000000000000" +unset DATA_ADDR . ${srcdir}/emulparams/elf_fbsd.shhelp
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200311272252.hARMqIXa049138>
