> On Dec 31, 2014, at 8:52 PM, Dimitry Andric <d...@freebsd.org> wrote: > > On 01 Jan 2015, at 03:00, Warner Losh <i...@freebsd.org> wrote: >> >> 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 > > This should not be removed from bsd.sys.mk, since other things depend on > it, are you sure that you want this? :)
I may be wrong here for boot stuff that uses it. > As far as I know, there are still a few places in the tree that use the > CLANG_NO_IAS macro. It would be nice if those all went away, though… Only for boot. Thanks, though I think they may be CFLAGS.clang += there. > 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}} > > Note that for x86, all of these warnings were already either fixed or > suppressed. I assume this will be fleshed out later? Yea, but since a build universe wasn’t done, they were present in the build. They are harmless on other architectures. >> +# 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} >> > > Was this latter part intentional? It does not seem to have anything to > do with clang at all. It was the only bit of bsd.sys.mk that was needed. Warner
signature.asc
Description: Message signed with OpenPGP using GPGMail