4da573d910
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>
27 lines
814 B
Makefile
27 lines
814 B
Makefile
# $FreeBSD$
|
|
|
|
# These assignments duplicate much of the functionality of
|
|
# MACHINE_CPUARCH, but there's no easy way to export make functions...
|
|
|
|
.if defined(TARGET_ARCH)
|
|
TARGET_CPUARCH=${TARGET_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb)?/arm/:C/powerpc64/powerpc/}
|
|
.else
|
|
TARGET_CPUARCH=${MACHINE_CPUARCH}
|
|
.endif
|
|
TARGET_ARCH?= ${MACHINE_ARCH}
|
|
GCC_CPU=${TARGET_CPUARCH:C/amd64/i386/:C/powerpc/rs6000/:C/sparc64/sparc/}
|
|
|
|
.if ${TARGET_ARCH} == "ia64"
|
|
TARGET_CPU_DEFAULT= MASK_GNU_AS|MASK_GNU_LD
|
|
.endif
|
|
.if ${TARGET_ARCH} == "sparc64"
|
|
TARGET_CPU_DEFAULT= TARGET_CPU_ultrasparc
|
|
.endif
|
|
.if ${TARGET_ARCH} == "armeb" || ${TARGET_ARCH} == "armv6eb" || \
|
|
(${TARGET_CPUARCH} == "mips" && ${TARGET_ARCH:Mmips*el} == "")
|
|
TARGET_BIG_ENDIAN=t
|
|
.endif
|
|
.if ${TARGET_ARCH} == "powerpc64"
|
|
TARGET_CPU_DEFAULT= \"powerpc64\"
|
|
.endif
|