Re: [Request for Help] Reducing gcc 4.9 compilation warnings

2015-04-20 Thread Craig Rodrigues
On Sun, Apr 19, 2015 at 2:10 AM, Eitan Adler  wrote:

>
> 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?
>
>
Sure, that's fine.  Can you provide a modified share/mk which you think
does the right thing?  We can try it.

--
Craig
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: [Request for Help] Reducing gcc 4.9 compilation warnings

2015-04-20 Thread Benjamin Kaduk
On Sun, 19 Apr 2015, Adrian Chadd wrote:

> 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.)

I thought that -Wall was a fixed set of warnings nowhere close to all of
them (to avoid breaking peoples' builds as new warnings are introduced),
and a larger set would be better.  (Things like -Wmaybe-uninitialized have
too many false positives to be a desirable -Werror target, though.)

-Ben
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: [Request for Help] Reducing gcc 4.9 compilation warnings

2015-04-19 Thread Adrian Chadd
On 19 April 2015 at 02:10, Eitan Adler  wrote:
> "
>
> On 18 April 2015 at 11:12, Craig Rodrigues  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
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: [Request for Help] Reducing gcc 4.9 compilation warnings

2015-04-19 Thread Eitan Adler
"

On 18 April 2015 at 11:12, Craig Rodrigues  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?

-- 
Eitan Adler
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


[Request for Help] Reducing gcc 4.9 compilation warnings

2015-04-18 Thread Craig Rodrigues
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.

clang is still going to be the default compiler in the base system,
but it is nice to have FreeBSD compilable by multiple compilers.
--
Craig
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"