Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 31 Dec 2014 21:12:41 -0700
From:      Warner Losh <imp@bsdimp.com>
To:        Dimitry Andric <dim@FreeBSD.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers <src-committers@freebsd.org>, Warner Losh <imp@FreeBSD.org>
Subject:   Re: svn commit: r276488 - in head: share/mk sys/arm/broadcom/bcm2835 sys/conf
Message-ID:  <27B917EC-CB35-4BF6-AB8F-4CBF56EC3E41@bsdimp.com>
In-Reply-To: <760D3407-921D-4249-9DC2-74610FA46920@FreeBSD.org>
References:  <201501010200.t01205Ge007058@svn.freebsd.org> <760D3407-921D-4249-9DC2-74610FA46920@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--Apple-Mail=_A1D24157-531D-41DD-BA47-BBF8AA78E05F
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8


> On Dec 31, 2014, at 8:52 PM, Dimitry Andric <dim@FreeBSD.org> wrote:
>=20
> On 01 Jan 2015, at 03:00, Warner Losh <imp@FreeBSD.org> wrote:
>>=20
>> Author: imp
>> Date: Thu Jan  1 02:00:04 2015
>> New Revision: 276488
>> URL: https://svnweb.freebsd.org/changeset/base/276488
>>=20
>> 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.
>>=20
>> These warnings should be actually fixed in the code, but this is a
>> band-aide to get things (almost) building again.
>>=20
>> 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
>>=20
>> Modified: head/share/mk/bsd.kmod.mk
>> =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
>> --- 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=3D	${_dir}
>> .endif
>>=20
>> .include "${SYSDIR}/conf/kmod.mk"
>> -
>> -.include <bsd.sys.mk>
>>=20
>> Modified: head/share/mk/bsd.sys.mk
>> =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
>> --- 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+=3D	-Wno-format
>> CWARNFLAGS+=3D	-Wno-unknown-pragmas
>> .endif # IGNORE_PRAGMA
>>=20
>> -.if ${COMPILER_TYPE} =3D=3D "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=3D	 -no-integrated-as
>> -.endif
>> CLANG_OPT_SMALL=3D -mstack-alignment=3D8 -mllvm -inline-threshold=3D3\
>> 		 -mllvm -simplifycfg-dup-ret -mllvm -enable-gvn=3Dfalse
>> CFLAGS.clang+=3D	 -Qunused-arguments
>=20
> 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=E2=80=A6

Only for boot. Thanks, though I think they may be CFLAGS.clang +=3D =
there.

> Modified: head/sys/arm/broadcom/bcm2835/std.bcm2835
>> =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
>> --- 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 @@
>>=20
>> machine	arm armv6
>> cpu	CPU_ARM1176
>> -makeoptions	CONF_CFLAGS=3D"-mcpu=3Darm1176jzf-s =
-Wa,-mcpu=3Darm1176jzf-s"
>> +makeoptions	CONF_CFLAGS=3D"-mcpu=3Darm1176jzf-s"
>>=20
>> files	"../broadcom/bcm2835/files.bcm2835"
>>=20
>>=20
>> Modified: head/sys/conf/kern.mk
>> =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
>> --- 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+=3D	-fstack-protector
>> CFLAGS+=3D	-gdwarf-2
>> .endif
>>=20
>> +# A whole bunch of new default warnings in clang 3.5 subpress for =
now until
>> +# this can be cleaned up.
>> +.if ${COMPILER_VERSION} >=3D 30500
>> +CFLAGS.clang+=3D    -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+=3D ${CFLAGS.${COMPILER_TYPE}}
>=20
> 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=E2=80=99t 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 =3D 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}
>>=20
>=20
> 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

--Apple-Mail=_A1D24157-531D-41DD-BA47-BBF8AA78E05F
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJUpMk5AAoJEGwc0Sh9sBEA2rQP+gPkRpZsLXCeUhB6ugqMJYbl
zEIRp/ZMZKoXBW0qFHqXmzbnI1zW3er+GyKIyV1FUD0YebzbY4Mtrak20vzkThbs
3kzey2tEzaLXlEu6mfv4FXszbwTY/ndrBvBvACj/7pIfO3YCH061lSinjzq0a1wM
Az3cWibF4dMVwp7QA1k/rypyB+mHwmP4j5UQs7YnTHVttWNBn6okIX6PRr9xKpv3
kKOlyEjLNGZ4+P08v3IEfIy6ndm8Et0kjDcve+09P4HHYEfRCb6sMgCWCoDbwScH
Lz7Hf5SSl+svd9j5cC0xqZCRdyUdNtuCn4Q9oEKX/XtiyzpgaooImgBderTg5pcv
7IQYBAyNcL1Swak+zETdOJFjoWRiuKjYPTktm4ACEyFt4INxMlv3KrhlS9kNu/80
JQUo/oI1TxsZih5RwZX+qeqW7Xj1m5RXPpiYRCe6P4KbIk9HnzYwPDTCGFZy6vQk
d0kavJXu85KEKZl5+MCVaxh5I/MvWs8lZq7aTGkESkBI3ENIUsZf2xLjML0Nt7ih
dxzED07sByBtJZyJmdrinmaJ++ermaV0LN6XT7WTHa3eDlFGf+mw2RvjsHbEBWxU
SQG5vepL3N2C+vZvowSTQT+P+xWeHFmrdis4VuGlQmhSazZmVGPbh/nO1f6Pw/pd
ZFJZ9+BbnjIootJhqw4L
=zpqP
-----END PGP SIGNATURE-----

--Apple-Mail=_A1D24157-531D-41DD-BA47-BBF8AA78E05F--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?27B917EC-CB35-4BF6-AB8F-4CBF56EC3E41>