Module Name: src Committed By: joerg Date: Sun Dec 15 18:08:37 UTC 2013
Modified Files: src/compat/arm/oabi: bsd.oabi.mk src/share/mk: bsd.own.mk src/sys/arch/acorn26/stand: Makefile.buildboot src/sys/arch/acorn32/stand: Makefile.buildboot src/sys/arch/evbarm/stand/boot2440: Makefile src/sys/arch/evbarm/stand/bootimx23: Makefile src/sys/arch/evbarm/stand/gzboot: Makefile.gzboot src/sys/arch/zaurus/stand/zboot: Makefile src/sys/arch/zaurus/stand/zbsdmod: Makefile Log Message: Move flags for ARM's APCS ABI into a common variable. Add some forces to deal with limitations in the Clang <-> LLVM backend interaction to pick the correct ABI and target assembler. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/compat/arm/oabi/bsd.oabi.mk cvs rdiff -u -r1.757 -r1.758 src/share/mk/bsd.own.mk cvs rdiff -u -r1.19 -r1.20 src/sys/arch/acorn26/stand/Makefile.buildboot cvs rdiff -u -r1.19 -r1.20 src/sys/arch/acorn32/stand/Makefile.buildboot cvs rdiff -u -r1.14 -r1.15 src/sys/arch/evbarm/stand/boot2440/Makefile cvs rdiff -u -r1.11 -r1.12 src/sys/arch/evbarm/stand/bootimx23/Makefile cvs rdiff -u -r1.28 -r1.29 src/sys/arch/evbarm/stand/gzboot/Makefile.gzboot cvs rdiff -u -r1.14 -r1.15 src/sys/arch/zaurus/stand/zboot/Makefile cvs rdiff -u -r1.7 -r1.8 src/sys/arch/zaurus/stand/zbsdmod/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/compat/arm/oabi/bsd.oabi.mk diff -u src/compat/arm/oabi/bsd.oabi.mk:1.1 src/compat/arm/oabi/bsd.oabi.mk:1.2 --- src/compat/arm/oabi/bsd.oabi.mk:1.1 Sat Apr 27 08:44:35 2013 +++ src/compat/arm/oabi/bsd.oabi.mk Sun Dec 15 18:08:37 2013 @@ -1,4 +1,4 @@ -# $NetBSD: bsd.oabi.mk,v 1.1 2013/04/27 08:44:35 matt Exp $ +# $NetBSD: bsd.oabi.mk,v 1.2 2013/12/15 18:08:37 joerg Exp $ MLIBDIR= oabi .if ${MACHINE_ARCH:M*eb} != "" @@ -20,10 +20,10 @@ CRYPTO_MACHINE_CPU= ${ARM_MACHINE_ARCH} LDELFSO_MACHINE_CPU= ${ARM_MACHINE_ARCH} GOMP_MACHINE_ARCH= ${ARM_MACHINE_ARCH} -COPTS+= -mabi=apcs-gnu -mfloat-abi=soft -CPUFLAGS+= -mabi=apcs-gnu -mfloat-abi=soft -LDADD+= -mabi=apcs-gnu -mfloat-abi=soft -LDFLAGS+= -mabi=apcs-gnu -mfloat-abi=soft -MKDEPFLAGS+= -mabi=apcs-gnu -mfloat-abi=soft +COPTS+= ${ARM_APCS_FLAGS} +CPUFLAGS+= ${ARM_APCS_FLAGS} +LDADD+= ${ARM_APCS_FLAGS} +LDFLAGS+= ${ARM_APCS_FLAGS} +MKDEPFLAGS+= ${ARM_APCS_FLAGS} .include "${.PARSEDIR}/../../Makefile.compat" Index: src/share/mk/bsd.own.mk diff -u src/share/mk/bsd.own.mk:1.757 src/share/mk/bsd.own.mk:1.758 --- src/share/mk/bsd.own.mk:1.757 Fri Dec 6 23:14:15 2013 +++ src/share/mk/bsd.own.mk Sun Dec 15 18:08:37 2013 @@ -1,4 +1,4 @@ -# $NetBSD: bsd.own.mk,v 1.757 2013/12/06 23:14:15 matt Exp $ +# $NetBSD: bsd.own.mk,v 1.758 2013/12/15 18:08:37 joerg Exp $ # This needs to be before bsd.init.mk .if defined(BSD_MK_COMPAT_FILE) @@ -756,6 +756,12 @@ MACHINE_GNU_PLATFORM?=${MACHINE_GNU_ARCH MACHINE_GNU_PLATFORM?=${MACHINE_GNU_ARCH}--netbsd .endif +.if !empty(MACHINE_ARCH:Marm*) +# Flags to pass to CC for using the old APCS ABI on ARM for compat or stand. +ARM_APCS_FLAGS= -mabi=apcs-gnu -mfloat-abi=soft +ARM_APCS_FLAGS+=${${ACTIVE_CC} == "clang":? -target ${MACHINE_GNU_ARCH}--netbsdelf -B ${TOOLDIR}/${MACHINE_GNU_PLATFORM}/bin :} +.endif + # # Determine if arch uses native kernel modules with rump # Index: src/sys/arch/acorn26/stand/Makefile.buildboot diff -u src/sys/arch/acorn26/stand/Makefile.buildboot:1.19 src/sys/arch/acorn26/stand/Makefile.buildboot:1.20 --- src/sys/arch/acorn26/stand/Makefile.buildboot:1.19 Mon Nov 4 21:25:22 2013 +++ src/sys/arch/acorn26/stand/Makefile.buildboot Sun Dec 15 18:08:37 2013 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.buildboot,v 1.19 2013/11/04 21:25:22 christos Exp $ +# $NetBSD: Makefile.buildboot,v 1.20 2013/12/15 18:08:37 joerg Exp $ S?= ${.CURDIR}/../../../.. @@ -33,7 +33,7 @@ CPUFLAGS= CPPFLAGS+= -D_STANDALONE -DHIMEM=0x28000 CPPFLAGS+= -I. -I${.CURDIR}/../../.. -I${.CURDIR}/../../../.. CPPFLAGS+= -I${.CURDIR}/../lib -CPPFLAGS+= -mabi=apcs-gnu -mfloat-abi=soft -march=armv2 +CPPFLAGS+= ${ARM_APCS_FLAGS} -march=armv2 .if ${HAVE_GCC} < 48 CPPFLAGS+= -mno-thumb -mno-thumb-interwork .else Index: src/sys/arch/acorn32/stand/Makefile.buildboot diff -u src/sys/arch/acorn32/stand/Makefile.buildboot:1.19 src/sys/arch/acorn32/stand/Makefile.buildboot:1.20 --- src/sys/arch/acorn32/stand/Makefile.buildboot:1.19 Mon Nov 4 21:25:22 2013 +++ src/sys/arch/acorn32/stand/Makefile.buildboot Sun Dec 15 18:08:37 2013 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.buildboot,v 1.19 2013/11/04 21:25:22 christos Exp $ +# $NetBSD: Makefile.buildboot,v 1.20 2013/12/15 18:08:37 joerg Exp $ S?= ${.CURDIR}/../../../.. @@ -43,7 +43,7 @@ vers.c: ${.CURDIR}/version CPPFLAGS+= -D_STANDALONE CPPFLAGS+= -I. -I${.CURDIR}/../../.. -I${.CURDIR}/../../../.. CPPFLAGS+= -I${.CURDIR}/../lib -CPPFLAGS+= -mabi=apcs-gnu -mfloat-abi=soft -march=armv3m +CPPFLAGS+= ${ARM_APCS_FLAGS} -march=armv3m .if ${HAVE_GCC} < 48 CPPFLAGS+= -mno-thumb -mno-thumb-interwork .else Index: src/sys/arch/evbarm/stand/boot2440/Makefile diff -u src/sys/arch/evbarm/stand/boot2440/Makefile:1.14 src/sys/arch/evbarm/stand/boot2440/Makefile:1.15 --- src/sys/arch/evbarm/stand/boot2440/Makefile:1.14 Thu Dec 5 16:26:04 2013 +++ src/sys/arch/evbarm/stand/boot2440/Makefile Sun Dec 15 18:08:37 2013 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.14 2013/12/05 16:26:04 joerg Exp $ +# $NetBSD: Makefile,v 1.15 2013/12/15 18:08:37 joerg Exp $ S= ${.CURDIR}/../../../.. @@ -15,7 +15,7 @@ CPPFLAGS+= -D_STANDALONE -DSUPPORT_DHCP CPPFLAGS+= -DDM9000MAC="0x08,0x08,0x11,0x18,0x12,0x27" CPPFLAGS+= -DDEFAULT_BOOTFILE="ld0a:netbsd;net:" CPPFLAGS+= -nostdinc -I. -I${.OBJDIR} -I${S} -I${S}/arch -CPPFLAGS+= -march=armv4 -mabi=apcs-gnu -mfloat-abi=soft +CPPFLAGS+= -march=armv4 ${ARM_APCS_FLAGS} .if ${HAVE_LLVM:Uno} != "no" || ${HAVE_GCC:U0} >= 48 CPPFLAGS+= -marm .else Index: src/sys/arch/evbarm/stand/bootimx23/Makefile diff -u src/sys/arch/evbarm/stand/bootimx23/Makefile:1.11 src/sys/arch/evbarm/stand/bootimx23/Makefile:1.12 --- src/sys/arch/evbarm/stand/bootimx23/Makefile:1.11 Thu Dec 5 16:26:04 2013 +++ src/sys/arch/evbarm/stand/bootimx23/Makefile Sun Dec 15 18:08:37 2013 @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.11 2013/12/05 16:26:04 joerg Exp $ +# $Id: Makefile,v 1.12 2013/12/15 18:08:37 joerg Exp $ S= ${.CURDIR}/../../../../ PROG= bootimx23 @@ -12,7 +12,7 @@ CFLAGS+= -march=armv5te -mtune=arm926ej- CPPFLAGS+= -D_STANDALONE -DMEMSIZE=64 CPPFLAGS+= -DKERNEL_BOOT_ARGS=\"root=ld0a\" CPPFLAGS+= -nostdinc -I. -I${.CURDIR} -I${.OBJDIR} -I${S} -I${S}/arch -CPPFLAGS+= -mabi=apcs-gnu -mfloat-abi=soft +CPPFLAGS+= ${ARM_APCS_FLAGS} .if ${HAVE_LLVM:Uno} != "no" || ${HAVE_GCC:U0} >= 48 CPPFLAGS+= -marm .else Index: src/sys/arch/evbarm/stand/gzboot/Makefile.gzboot diff -u src/sys/arch/evbarm/stand/gzboot/Makefile.gzboot:1.28 src/sys/arch/evbarm/stand/gzboot/Makefile.gzboot:1.29 --- src/sys/arch/evbarm/stand/gzboot/Makefile.gzboot:1.28 Thu Dec 5 16:26:04 2013 +++ src/sys/arch/evbarm/stand/gzboot/Makefile.gzboot Sun Dec 15 18:08:37 2013 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.gzboot,v 1.28 2013/12/05 16:26:04 joerg Exp $ +# $NetBSD: Makefile.gzboot,v 1.29 2013/12/15 18:08:37 joerg Exp $ NOMAN= # defined @@ -36,7 +36,7 @@ STARTFILE= srtbegin.o CPPFLAGS+= -nostdinc -I. -I${EVBARM_STAND}/gzboot -I${EVBARM_STAND}/board CPPFLAGS+= -I${S} -I${S}/arch -I${S}/lib/libsa CPPFLAGS+= -I${S}/../common/dist/zlib -CPPFLAGS+= -mabi=apcs-gnu -mfloat-abi=soft +CPPFLAGS+= ${ARM_APCS_FLAGS} .if ${HAVE_LLVM:Uno} != "no" || ${HAVE_GCC:U0} >= 48 CPPFLAGS+= -marm .else Index: src/sys/arch/zaurus/stand/zboot/Makefile diff -u src/sys/arch/zaurus/stand/zboot/Makefile:1.14 src/sys/arch/zaurus/stand/zboot/Makefile:1.15 --- src/sys/arch/zaurus/stand/zboot/Makefile:1.14 Thu Dec 5 16:26:04 2013 +++ src/sys/arch/zaurus/stand/zboot/Makefile Sun Dec 15 18:08:37 2013 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.14 2013/12/05 16:26:04 joerg Exp $ +# $NetBSD: Makefile,v 1.15 2013/12/15 18:08:37 joerg Exp $ PROG= zboot @@ -21,7 +21,7 @@ CFLAGS+= -fno-unwind-tables CPPFLAGS+= -nostdinc -I. -I${.CURDIR} -I${.OBJDIR} -I${S} CPPFLAGS+= -D_STANDALONE -DHEAP_VARIABLE CPPFLAGS+= -DLIBSA_ENABLE_LS_OP -CPPFLAGS+= -mabi=apcs-gnu -mfloat-abi=soft -mcpu=xscale +CPPFLAGS+= ${ARM_APCS_FLAGS} -mcpu=xscale .if ${HAVE_LLVM:Uno} != "no" || ${HAVE_GCC:U0} >= 48 CPPFLAGS+= -marm .else Index: src/sys/arch/zaurus/stand/zbsdmod/Makefile diff -u src/sys/arch/zaurus/stand/zbsdmod/Makefile:1.7 src/sys/arch/zaurus/stand/zbsdmod/Makefile:1.8 --- src/sys/arch/zaurus/stand/zbsdmod/Makefile:1.7 Wed May 1 22:16:16 2013 +++ src/sys/arch/zaurus/stand/zbsdmod/Makefile Sun Dec 15 18:08:37 2013 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.7 2013/05/01 22:16:16 matt Exp $ +# $NetBSD: Makefile,v 1.8 2013/12/15 18:08:37 joerg Exp $ WARNS?= 4 @@ -21,7 +21,7 @@ CPUFLAGS= COPTS= -Os CFLAGS+= -fno-strict-aliasing CFLAGS+= -DMACHINE=\"${MACHINE}\" -DUTS_RELEASE=\"2.4.20\" -CPPFLAGS+= -mabi=apcs-gnu -mfloat-abi=soft -mcpu=xscale +CPPFLAGS+= ${ARM_APCS_FLAGS} -mcpu=xscale CPPFLAGS+= -nostdinc -D_STANDALONE CPPFLAGS+= -I${.OBJDIR} -I${S}