svn commit: r276488 - in head: share/mk sys/arm/broadcom/bcm2835 sys/conf

Warner Losh imp at FreeBSD.org
Thu Jan 1 02:00:07 UTC 2015


Author: imp
Date: Thu Jan  1 02:00:04 2015
New Revision: 276488
URL: https://svnweb.freebsd.org/changeset/base/276488

Log:
  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.

Modified:
  head/share/mk/bsd.kmod.mk
  head/share/mk/bsd.sys.mk
  head/sys/arm/broadcom/bcm2835/std.bcm2835
  head/sys/conf/kern.mk

Modified: head/share/mk/bsd.kmod.mk
==============================================================================
--- head/share/mk/bsd.kmod.mk	Thu Jan  1 01:43:00 2015	(r276487)
+++ head/share/mk/bsd.kmod.mk	Thu Jan  1 02:00:04 2015	(r276488)
@@ -13,5 +13,3 @@ SYSDIR=	${_dir}
 .endif
 
 .include "${SYSDIR}/conf/kmod.mk"
-
-.include <bsd.sys.mk>

Modified: head/share/mk/bsd.sys.mk
==============================================================================
--- head/share/mk/bsd.sys.mk	Thu Jan  1 01:43:00 2015	(r276487)
+++ head/share/mk/bsd.sys.mk	Thu Jan  1 02:00:04 2015	(r276488)
@@ -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

Modified: head/sys/arm/broadcom/bcm2835/std.bcm2835
==============================================================================
--- head/sys/arm/broadcom/bcm2835/std.bcm2835	Thu Jan  1 01:43:00 2015	(r276487)
+++ head/sys/arm/broadcom/bcm2835/std.bcm2835	Thu Jan  1 02:00:04 2015	(r276488)
@@ -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"
 

Modified: head/sys/conf/kern.mk
==============================================================================
--- head/sys/conf/kern.mk	Thu Jan  1 01:43:00 2015	(r276487)
+++ head/sys/conf/kern.mk	Thu Jan  1 02:00:04 2015	(r276488)
@@ -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}


More information about the svn-src-all mailing list