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