mirror of
https://github.com/opnsense/src.git
synced 2026-05-28 04:12:45 -04:00
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.
This commit is contained in:
parent
1961f30034
commit
9d985cdc65
2 changed files with 5 additions and 3 deletions
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue