Module Name: src
Committed By: christos
Date: Thu Oct 24 18:46:21 UTC 2019
Modified Files:
src/compat/arm/oabi: bsd.oabi.mk
src/share/mk: bsd.own.mk
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
Log Message:
1. All Makefiles that use ARM_APCS_FLAGS add -marm unconditionally and
bsd.own.mk also adds it for gcc only (so we end up with 2 -marm for gcc).
Just add -marm unconditionally in bsd.own.mk in ARM_APCS_FLAGS and remove
it from everywhere else.
2. gcc-8 now warns about thumb internetwork in APCS mode. This does not make
sense because the documentation says that this flag does not make a
difference in apcs mode, but might produce larger code in non-APCS mode.
So we just add it to silence the warnings.
To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/compat/arm/oabi/bsd.oabi.mk
cvs rdiff -u -r1.1157 -r1.1158 src/share/mk/bsd.own.mk
cvs rdiff -u -r1.24 -r1.25 src/sys/arch/acorn32/stand/Makefile.buildboot
cvs rdiff -u -r1.18 -r1.19 src/sys/arch/evbarm/stand/boot2440/Makefile
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/evbarm/stand/bootimx23/Makefile
cvs rdiff -u -r1.36 -r1.37 src/sys/arch/evbarm/stand/gzboot/Makefile.gzboot
cvs rdiff -u -r1.21 -r1.22 src/sys/arch/zaurus/stand/zboot/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.4 src/compat/arm/oabi/bsd.oabi.mk:1.5
--- src/compat/arm/oabi/bsd.oabi.mk:1.4 Wed Jun 24 18:20:24 2015
+++ src/compat/arm/oabi/bsd.oabi.mk Thu Oct 24 14:46:20 2019
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.oabi.mk,v 1.4 2015/06/24 22:20:24 matt Exp $
+# $NetBSD: bsd.oabi.mk,v 1.5 2019/10/24 18:46:20 christos Exp $
.if !defined(MLIBDIR)
MLIBDIR= oabi
@@ -11,6 +11,7 @@ ARM_LD= -m armelf_nbsd
LDFLAGS+= -Wl,-m,armelf_nbsd
COPTS+= -mcpu=cortex-a53
ARM_APCS_FLAGS= ${${ACTIVE_CC} == "clang":? -target arm--netbsdelf -B ${TOOLDIR}/aarch64--netbsd/bin :} -mabi=apcs-gnu -mfloat-abi=soft
+ARM_APCS_FLAGS+= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 8:? -mno-thumb-interwork :}
.elif !empty(MACHINE_ARCH:M*eb)
ARM_MACHINE_ARCH= armeb
ARM_LD= -m armelfb_nbsd
Index: src/share/mk/bsd.own.mk
diff -u src/share/mk/bsd.own.mk:1.1157 src/share/mk/bsd.own.mk:1.1158
--- src/share/mk/bsd.own.mk:1.1157 Tue Oct 22 09:49:30 2019
+++ src/share/mk/bsd.own.mk Thu Oct 24 14:46:20 2019
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.own.mk,v 1.1157 2019/10/22 13:49:30 christos Exp $
+# $NetBSD: bsd.own.mk,v 1.1158 2019/10/24 18:46:20 christos Exp $
# This needs to be before bsd.init.mk
.if defined(BSD_MK_COMPAT_FILE)
@@ -890,8 +890,8 @@ MACHINE_GNU_PLATFORM?=${MACHINE_GNU_ARCH
.if !empty(MACHINE_ARCH:M*arm*)
# 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} == "gcc":? -marm :}
+ARM_APCS_FLAGS= -mabi=apcs-gnu -mfloat-abi=soft -marm
+ARM_APCS_FLAGS+= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 8:? -mno-thumb-interwork :}
ARM_APCS_FLAGS+=${${ACTIVE_CC} == "clang":? -target ${MACHINE_GNU_ARCH}--netbsdelf -B ${TOOLDIR}/${MACHINE_GNU_PLATFORM}/bin :}
.endif
Index: src/sys/arch/acorn32/stand/Makefile.buildboot
diff -u src/sys/arch/acorn32/stand/Makefile.buildboot:1.24 src/sys/arch/acorn32/stand/Makefile.buildboot:1.25
--- src/sys/arch/acorn32/stand/Makefile.buildboot:1.24 Sun Apr 9 12:29:46 2017
+++ src/sys/arch/acorn32/stand/Makefile.buildboot Thu Oct 24 14:46:20 2019
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.buildboot,v 1.24 2017/04/09 16:29:46 christos Exp $
+# $NetBSD: Makefile.buildboot,v 1.25 2019/10/24 18:46:20 christos Exp $
S?= ${.CURDIR}/../../../..
@@ -40,7 +40,6 @@ CPPFLAGS+= -D_STANDALONE
CPPFLAGS+= -I. -I${.CURDIR}/../../.. -I${.CURDIR}/../../../..
CPPFLAGS+= -I${.CURDIR}/../lib
CPPFLAGS+= ${ARM_APCS_FLAGS} -march=armv3m
-CPPFLAGS+= -marm
CPUFLAGS=
CFLAGS= -O2
CFLAGS+= -ffreestanding -fno-unwind-tables
Index: src/sys/arch/evbarm/stand/boot2440/Makefile
diff -u src/sys/arch/evbarm/stand/boot2440/Makefile:1.18 src/sys/arch/evbarm/stand/boot2440/Makefile:1.19
--- src/sys/arch/evbarm/stand/boot2440/Makefile:1.18 Sat Apr 8 15:53:20 2017
+++ src/sys/arch/evbarm/stand/boot2440/Makefile Thu Oct 24 14:46:20 2019
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.18 2017/04/08 19:53:20 christos Exp $
+# $NetBSD: Makefile,v 1.19 2019/10/24 18:46:20 christos Exp $
S= ${.CURDIR}/../../../..
@@ -16,7 +16,6 @@ CPPFLAGS+= -DDM9000MAC="0x08,0x08,0x11,0
CPPFLAGS+= -DDEFAULT_BOOTFILE="ld0a:netbsd;net:"
CPPFLAGS+= -nostdinc -I. -I${.OBJDIR} -I${S} -I${S}/arch
CPPFLAGS+= -march=armv4 ${ARM_APCS_FLAGS}
-CPPFLAGS+= -marm
CPUFLAGS=
DBG= -Os
Index: src/sys/arch/evbarm/stand/bootimx23/Makefile
diff -u src/sys/arch/evbarm/stand/bootimx23/Makefile:1.15 src/sys/arch/evbarm/stand/bootimx23/Makefile:1.16
--- src/sys/arch/evbarm/stand/bootimx23/Makefile:1.15 Wed Feb 22 08:14:45 2017
+++ src/sys/arch/evbarm/stand/bootimx23/Makefile Thu Oct 24 14:46:21 2019
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.15 2017/02/22 13:14:45 maya Exp $
+# $Id: Makefile,v 1.16 2019/10/24 18:46:21 christos Exp $
S= ${.CURDIR}/../../../../
PROG= bootimx23
@@ -13,7 +13,6 @@ CPPFLAGS+= -D_STANDALONE -DMEMSIZE=64
CPPFLAGS+= -DKERNEL_BOOT_ARGS=\"root=ld0a\"
CPPFLAGS+= -nostdinc -I. -I${.CURDIR} -I${.OBJDIR} -I${S} -I${S}/arch
CPPFLAGS+= ${ARM_APCS_FLAGS}
-CPPFLAGS+= -marm
#CPPFLAGS+= -DDEBUG
#CPPFLAGS+= -DDIAGNOSTIC
DBG= -g
Index: src/sys/arch/evbarm/stand/gzboot/Makefile.gzboot
diff -u src/sys/arch/evbarm/stand/gzboot/Makefile.gzboot:1.36 src/sys/arch/evbarm/stand/gzboot/Makefile.gzboot:1.37
--- src/sys/arch/evbarm/stand/gzboot/Makefile.gzboot:1.36 Sat Apr 8 15:53:20 2017
+++ src/sys/arch/evbarm/stand/gzboot/Makefile.gzboot Thu Oct 24 14:46:21 2019
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.gzboot,v 1.36 2017/04/08 19:53:20 christos Exp $
+# $NetBSD: Makefile.gzboot,v 1.37 2019/10/24 18:46:21 christos Exp $
NOMAN= # defined
@@ -37,7 +37,6 @@ CPPFLAGS+= -nostdinc -I. -I${EVBARM_STAN
CPPFLAGS+= -I${S} -I${S}/arch -I${S}/lib/libsa
CPPFLAGS+= -I${S}/../common/dist/zlib
CPPFLAGS+= ${ARM_APCS_FLAGS}
-CPPFLAGS+= -marm
CPPFLAGS+= -D_STANDALONE
Index: src/sys/arch/zaurus/stand/zboot/Makefile
diff -u src/sys/arch/zaurus/stand/zboot/Makefile:1.21 src/sys/arch/zaurus/stand/zboot/Makefile:1.22
--- src/sys/arch/zaurus/stand/zboot/Makefile:1.21 Mon Sep 23 09:42:37 2019
+++ src/sys/arch/zaurus/stand/zboot/Makefile Thu Oct 24 14:46:21 2019
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.21 2019/09/23 13:42:37 christos Exp $
+# $NetBSD: Makefile,v 1.22 2019/10/24 18:46:21 christos Exp $
PROG= zboot
@@ -22,7 +22,6 @@ CPPFLAGS+= -nostdinc -I. -I${.CURDIR} -I
CPPFLAGS+= -D_STANDALONE -DHEAP_VARIABLE
CPPFLAGS+= -DLIBSA_ENABLE_LS_OP
CPPFLAGS+= ${ARM_APCS_FLAGS} -mcpu=xscale
-CPPFLAGS+= -marm
CPUFLAGS=
AFLAGS+= -D_LOCORE
LDFLAGS+= -nostdlib -Bstatic