]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Change the load address from offset 0 in region 1 to offset 4G in region 0.
authormarcel <marcel@FreeBSD.org>
Tue, 22 Mar 2011 17:19:35 +0000 (17:19 +0000)
committermarcel <marcel@FreeBSD.org>
Tue, 22 Mar 2011 17:19:35 +0000 (17:19 +0000)
commit740a8e4e1df03fb0c905406ade3ef033885d0467
tree13b1d2f8ec17a8b18ae223695835a52bfa6bc9d8
parentd43623eb141956b19ec3c5172eea78b9e17ef3ef
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.
gnu/usr.bin/binutils/ld/Makefile.ia64
gnu/usr.bin/binutils/ld/elf64_ia64_fbsd.sh