Date: Wed, 31 Dec 2014 21:25:51 -0700 From: Warner Losh <imp@bsdimp.com> To: Garrett Cooper <yaneurabeya@gmail.com> Cc: svn-src-head@freebsd.org, Warner Losh <imp@FreeBSD.org>, svn-src-all@freebsd.org, src-committers <src-committers@freebsd.org>, Dimitry Andric <dim@FreeBSD.org> Subject: Re: svn commit: r276488 - in head: share/mk sys/arm/broadcom/bcm2835 sys/conf Message-ID: <FC1DD917-D28C-44B8-9BE8-45A57F4A9EA6@bsdimp.com> In-Reply-To: <E1FA7448-844B-4454-8C2C-5592198D0570@gmail.com> References: <201501010200.t01205Ge007058@svn.freebsd.org> <760D3407-921D-4249-9DC2-74610FA46920@FreeBSD.org> <27B917EC-CB35-4BF6-AB8F-4CBF56EC3E41@bsdimp.com> <E1FA7448-844B-4454-8C2C-5592198D0570@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] > On Dec 31, 2014, at 9:15 PM, Garrett Cooper <yaneurabeya@gmail.com> wrote: > > On Dec 31, 2014, at 20:12, Warner Losh <imp@bsdimp.com> wrote: > >>> On Dec 31, 2014, at 8:52 PM, Dimitry Andric <dim@FreeBSD.org> wrote: >>> >>> On 01 Jan 2015, at 03:00, Warner Losh <imp@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. > > Unfortunately that broke the build on all architectures where bce is built as -std= was not being passed to the compiler. Jenkins reported an error with bce: https://jenkins.freebsd.org/job/FreeBSD_HEAD_sparc64/225/changes , and I committed a change to bring back that support here: https://svnweb.freebsd.org/changeset/base/276493 . Please revert it if it wasn’t correct. This change is wrong. bsd.sys.mk was eliminated on purpose, dammit. Warner [-- Attachment #2 --] -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJUpMxQAAoJEGwc0Sh9sBEAVVsQAOP9uJYBSw8fu9WJMIXW3VES FpzjAnFjdg50/AvQfGU2XJc5tR3SLS7Z6KAf4RSKW3l6BYnUoqHZqhq7stE0za27 ex0OdEAHoBp7TAYXSrG6L77TROcOMiyA+ZgMcfZ1tY33Z8LSpxeqPEej0esxlLJ1 FKAzDWbgTBeOL90ORmcq34sre6Pev34WQL4gqEHOEVMF9J/DC5XrCRTVFzn/s/H9 cXxOwTDc22CF0BCN2k11fuzwRqE+iYVguLCwOee3y1Wxm0hraAlv6lhvZFbwBuW4 StXy/Rd2pn9AvZTQmyKLjXt9muTNNn7BeYaObr6HTJ26vgixWC8H4V6pCXo2WTHA TcQxFdDBvaamilgi5OgINa2146sCpWSFtMFr0FdttPfCP9///dDppbZcw0qfYtsH blrI4aXgW3F8zHKWbJqvkNA7BHALu/H6fScInymymkw/9Q7hjirq7+BWoDQyLkPo Cz4Z1ULwXfzI3cNGlVvbIFvTapQa+UPGcKs9f/sWiwFtRonyffmnF6M99g6DcUW5 Hd+WCDWafeyTZHoSh9U/1ZG63vKAzJjCxZSILiFYT3PwXyEeaYjum5qXxevsyghO 0/dJJJKE1TcORdd9kjQvo03umTJWmw7lbxQ4YPNYkrUO7+isSk5EoapcQcXIYuDF Cs7tDnJhbr+oDUvq0i9e =blje -----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?FC1DD917-D28C-44B8-9BE8-45A57F4A9EA6>
