From 6783859f31b1825c54b40db0f2489c782c683abb Mon Sep 17 00:00:00 2001 From: imp Date: Thu, 1 Jan 2015 02:00:04 +0000 Subject: [PATCH] Fix module builds on arm (and maybe others) by turning off a whole raft of new warnings that appear to be on by default in clang 3.5.0. Fix RPI-B build issues with new clang not liking the ability to pass arbitrary flags to as, since some flags are more arbitrary (and thus verboten) than others. These warnings should be actually fixed in the code, but this is a band-aide to get things (almost) building again. --- share/mk/bsd.kmod.mk | 2 -- share/mk/bsd.sys.mk | 4 ---- sys/arm/broadcom/bcm2835/std.bcm2835 | 2 +- sys/conf/kern.mk | 22 ++++++++++++++++++++++ 4 files changed, 23 insertions(+), 7 deletions(-) diff --git a/share/mk/bsd.kmod.mk b/share/mk/bsd.kmod.mk index fd4f993de7cb..09ac8e3de342 100644 --- a/share/mk/bsd.kmod.mk +++ b/share/mk/bsd.kmod.mk @@ -13,5 +13,3 @@ SYSDIR= ${_dir} .endif .include "${SYSDIR}/conf/kmod.mk" - -.include diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk index af2c0240d7d4..4f95fb4fc797 100644 --- a/share/mk/bsd.sys.mk +++ b/share/mk/bsd.sys.mk @@ -110,11 +110,7 @@ CWARNFLAGS+= -Wno-format CWARNFLAGS+= -Wno-unknown-pragmas .endif # IGNORE_PRAGMA -.if ${COMPILER_TYPE} == "clang" -# Would love to do this unconditionally, but can't due to its use in -# kernel build coupled with CFLAGS.${TARGET} feature CLANG_NO_IAS= -no-integrated-as -.endif CLANG_OPT_SMALL= -mstack-alignment=8 -mllvm -inline-threshold=3\ -mllvm -simplifycfg-dup-ret -mllvm -enable-gvn=false CFLAGS.clang+= -Qunused-arguments diff --git a/sys/arm/broadcom/bcm2835/std.bcm2835 b/sys/arm/broadcom/bcm2835/std.bcm2835 index 026f5b238e36..24e2424fc689 100644 --- a/sys/arm/broadcom/bcm2835/std.bcm2835 +++ b/sys/arm/broadcom/bcm2835/std.bcm2835 @@ -2,7 +2,7 @@ machine arm armv6 cpu CPU_ARM1176 -makeoptions CONF_CFLAGS="-mcpu=arm1176jzf-s -Wa,-mcpu=arm1176jzf-s" +makeoptions CONF_CFLAGS="-mcpu=arm1176jzf-s" files "../broadcom/bcm2835/files.bcm2835" diff --git a/sys/conf/kern.mk b/sys/conf/kern.mk index 6d59f61aa64d..6f7111fc8e18 100644 --- a/sys/conf/kern.mk +++ b/sys/conf/kern.mk @@ -164,4 +164,26 @@ CFLAGS+= -fstack-protector CFLAGS+= -gdwarf-2 .endif +# A whole bunch of new default warnings in clang 3.5 subpress for now until +# this can be cleaned up. +.if ${COMPILER_VERSION} >= 30500 +CFLAGS.clang+= -Wno-pointer-sign -Wno-constant-conversion -Wno-format \ + -Wno-shift-count-negative -Wno-tautological-pointer-compare \ + -Wno-shift-count-overflow -Wno-tautological-compare +.endif + CFLAGS+= ${CFLAGS.${COMPILER_TYPE}} + +# Tell bmake not to mistake standard targets for things to be searched for +# or expect to ever be up-to-date. +PHONY_NOTMAIN = afterdepend afterinstall all beforedepend beforeinstall \ + beforelinking build build-tools buildfiles buildincludes \ + checkdpadd clean cleandepend cleandir cleanobj configure \ + depend dependall distclean distribute exe \ + html includes install installfiles installincludes lint \ + obj objlink objs objwarn realall realdepend \ + realinstall regress subdir-all subdir-depend subdir-install \ + tags whereobj + +.PHONY: ${PHONY_NOTMAIN} +.NOTMAIN: ${PHONY_NOTMAIN}