Date: Sun, 19 Apr 2015 08:19:30 -0700 From: Adrian Chadd <adrian@freebsd.org> To: Eitan Adler <lists@eitanadler.com> Cc: Craig Rodrigues <rodrigc@freebsd.org>, freebsd-current Current <freebsd-current@freebsd.org>, "freebsd-testing@freebsd.org" <freebsd-testing@freebsd.org>, FreeBSD Toolchain <freebsd-toolchain@freebsd.org> Subject: Re: [Request for Help] Reducing gcc 4.9 compilation warnings Message-ID: <CAJ-Vmomc3cDDDUt3G6Z46=fWzGdSna2THA7U7f87aK=kXuyobg@mail.gmail.com> In-Reply-To: <CAF6rxgnp4c=shS9fc7ijHxqKvgz09vX_ja8dWf%2B2NbjCOvBhiQ@mail.gmail.com> References: <CAG=rPVetxeXcVAB7ripkMtEYGB3Fw18JZH3XpOnRqEf6nvmXdQ@mail.gmail.com> <CAF6rxgnp4c=shS9fc7ijHxqKvgz09vX_ja8dWf%2B2NbjCOvBhiQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 19 April 2015 at 02:10, Eitan Adler <lists@eitanadler.com> wrote: > " > > On 18 April 2015 at 11:12, Craig Rodrigues <rodrigc@freebsd.org> wrote: >> Hi, >> >> After the latest commits by members of freebsd-toolchain@ , >> I have managed to compile latest CURRENT world and GENERIC >> kernel on amd64 with an gcc 4.9 external toolchain by doing: >> >> pkg install devel/amd64-xtoolchain-gcc >> cd /usr/src >> sed -i "" -e 's/boot2//' sys/boot/i386/Makefile >> make buildworld CROSS_TOOLCHAIN=amd64-gcc NO_WERROR=yes WERROR= >> make buildkernel CROSS_TOOLCHAIN=amd64-gcc NO_WERROR=yes WERROR= >> >> >> It was necessary to skip boot2 from building because of errors >> reported here: >> https://lists.freebsd.org/pipermail/freebsd-toolchain/2015-April/001658.html >> >> The boot2 compilation errors still need to be worked on. >> >> However, most other things compile with warnings. If folks are >> interested in looking at the warnings, you can see them here: >> >> https://jenkins.freebsd.org/job/FreeBSD_HEAD_amd64_gcc4.9/warnings17 >> >> Please look at these warnings, and if you see places to >> patch the code to eliminate the warnings, please submit patches >> and commit them if you can. > > Some time ago I tried to do something similar, but with gcc4.6 instead > of gcc4.9. > > The vast majority of warnings (1548) are "unused-but-set-variable" and > it may be worthwhile to just silence this warning, at least at low > WARNS levels. It has caught real errors but is quite noisy and can > cause quite a bit of churn. > > "inline" (count 515) is generally pure noise, and I think we should > disable it. It can be helpful to find certain types of performance > optimizations, but it should be opt-in. > > "strict-aliasing" (154) are likely all real bugs of some form. Very > few exist in contrib code, and it would be good to fix them. > > "Warning" (111) seem to be a mix of warnings, but mostly in contrib code. > > "maybe-uninitialized" (111) is often noisy, and in a spot check were > all false positives. > > "deprecated-declarations" (22) is all in contrib code > > Many of these are useful though and I've already fixed a few of the > bugs reported. > > Perhaps it would be useful to do a second run of this, but with a > modified share/mk to silence the most useless of these warnings? I just got a booting mips32 kernel using gcc-4.9.2, and boy are there a lot of warnings. I'm going to start fixing the ones I find - cleaner code is better code. Mostly. (I'd be happy with -Wall -Werror.) -adrian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmomc3cDDDUt3G6Z46=fWzGdSna2THA7U7f87aK=kXuyobg>