PERFORCE change 43100 for review
Marcel Moolenaar
marcel at FreeBSD.org
Thu Nov 27 14:52:22 PST 2003
http://perforce.freebsd.org/chv.cgi?CH=43100
Change 43100 by marcel at 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.sh
More information about the p4-projects
mailing list