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.
25 lines
857 B
Makefile
25 lines
857 B
Makefile
# $FreeBSD$
|
|
|
|
NATIVE_EMULATION= elf64_ia64_fbsd
|
|
|
|
SRCS+= e${NATIVE_EMULATION}.c
|
|
CLEANFILES+= e${NATIVE_EMULATION}.c
|
|
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} \
|
|
${.CURDIR}/${NATIVE_EMULATION}.sh
|
|
|
|
#XXX EMS+= eelf64_ia64
|
|
|
|
SRCS+= eelf64_ia64.c
|
|
CLEANFILES+= eelf64_ia64.c
|
|
eelf64_ia64.c: emulparams/elf64_ia64.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} \
|
|
elf64_ia64 "" no elf64_ia64 ${TARGET_TUPLE}
|