r238211: Support TARGET_ARCH=armv6 and TARGET_ARCH=armv6eb This adds a new TARGET_ARCH for building on ARM processors that support the ARMv6K multiprocessor extensions. In particular, these processors have better support for TLS and mutex operations. This mostly touches a lot of Makefiles to extend existing patterns for inferring CPUARCH from ARCH. It also configures: * GCC to default to arm1176jz-s * GCC to predefine __FreeBSD_ARCH_armv6__ * gas to default to ARM_ARCH_V6K * uname -p to return 'armv6' * make so that MACHINE_ARCH defaults to 'armv6' It also changes a number of headers to use the compiler __ARM_ARCH_XXX__ macros to configure processor-specific support routines. Submitted by: Tim Kientzle <kientzle@freebsd.org>
18 lines
589 B
Makefile
18 lines
589 B
Makefile
# $FreeBSD$
|
|
|
|
.if ${TARGET_ARCH} == "armeb" || ${TARGET_ARCH} == "armv6eb"
|
|
NATIVE_EMULATION= armelfb_fbsd
|
|
.else
|
|
NATIVE_EMULATION= armelf_fbsd
|
|
.endif
|
|
|
|
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
|