From b501ab9dc953c1526e2383baf8e4a5c4165d7c7e Mon Sep 17 00:00:00 2001 From: gonzo Date: Wed, 15 Aug 2012 03:21:56 +0000 Subject: Merging of projects/armv6, part 3 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 --- gnu/usr.bin/cc/Makefile.inc | 5 ++++- gnu/usr.bin/cc/Makefile.tgt | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'gnu/usr.bin/cc') diff --git a/gnu/usr.bin/cc/Makefile.inc b/gnu/usr.bin/cc/Makefile.inc index b97261a..7a5991e 100644 --- a/gnu/usr.bin/cc/Makefile.inc +++ b/gnu/usr.bin/cc/Makefile.inc @@ -26,9 +26,12 @@ CSTD?= gnu89 CFLAGS+= -DCROSS_COMPILE .endif -.if ${TARGET_ARCH} == "armeb" +.if ${TARGET_ARCH} == "armeb" || ${TARGET_ARCH} == "armv6eb" CFLAGS += -DTARGET_ENDIAN_DEFAULT=MASK_BIG_END .endif +.if ${TARGET_ARCH} == "armv6" || ${TARGET_ARCH} == "armv6eb" +CFLAGS += -DFREEBSD_ARCH_armv6 +.endif .if ${TARGET_CPUARCH} == "mips" .if ${TARGET_ARCH:Mmips*el} != "" diff --git a/gnu/usr.bin/cc/Makefile.tgt b/gnu/usr.bin/cc/Makefile.tgt index 3fd18e6..025f05e 100644 --- a/gnu/usr.bin/cc/Makefile.tgt +++ b/gnu/usr.bin/cc/Makefile.tgt @@ -4,7 +4,7 @@ # 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/armeb/arm/:C/powerpc64/powerpc/} +TARGET_CPUARCH=${TARGET_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb)?/arm/:C/powerpc64/powerpc/} .else TARGET_CPUARCH=${MACHINE_CPUARCH} .endif @@ -17,7 +17,7 @@ TARGET_CPU_DEFAULT= MASK_GNU_AS|MASK_GNU_LD .if ${TARGET_ARCH} == "sparc64" TARGET_CPU_DEFAULT= TARGET_CPU_ultrasparc .endif -.if ${TARGET_ARCH} == "armeb" || \ +.if ${TARGET_ARCH} == "armeb" || ${TARGET_ARCH} == "armv6eb" || \ (${TARGET_CPUARCH} == "mips" && ${TARGET_ARCH:Mmips*el} == "") TARGET_BIG_ENDIAN=t .endif -- cgit v1.1