-Wall
Corinna Vinschen
vinschen@redhat.com
Wed Jan 24 11:19:54 GMT 2024
On Jan 23 22:38, brian.inglis@systematicsw.ab.ca wrote:
> On 2024-01-20 11:17, brian.inglis@systematicsw.ab.ca wrote:
> > On 2024-01-19 05:55, Corinna Vinschen wrote:
> > > if you saw my today's pushes, you're aware that I only found a bug
> > > because I used -Wall. I fixed the bug and a few less crucial warnings.
> > > I did NOT fix the warnings in code we took verbatim from some BSDs,
> > > which often contain unused variables, or in some cases expressions which
> > > are deemed to profit from extra paranthesis, e. g.
> > > if (a >= 0 ^ b == 0)
> > > For that reason, I'd like to suggest to add -Wall by default to the
> > > build flags for newlib, just as it is already for ages in the Cygwin
> > > tree.
> > > Anybody having a strong opinion, pro or contra?
>
> > ++
> > I also like:
> > -Wextra -Wformat=2 -Wformat-overflow=2 -Werror=format-security
> > to get more useful warnings, and error if there are security issues like
> > totally variable format strings; use `info gcc W...` for descriptions;
> > YL/100kmMV
> > I have also found the following work well for development with recent gcc:
> > -fanalyzer -fsanitize-recover=all
> > -fstack-check -fstack-protector-all
> > --param=ssp-buffer-size=4
> > but may be inappropriate for production builds; use `info gcc f...` for
> > descriptions.
>
> Linux added -Wstringop-overflow to diagnose provable buffer overflows,
> except with GCC == 11 which mishandles the test:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=610347effc2ecb5ededf5037e82240b151f883ab
>
> For extra Linux warning flags W=1/2/3 available see:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/scripts/Makefile.extrawarn
This is going a tad bit too far. I was just asking if we should add
-Wall unconditionally.
I'm fully aware that this doesn't cover all possible warnings an
over-protective compiler can generate, but this is, IMHO, a medium
sized compromise.
Ok or not?
Corinna
More information about the Newlib
mailing list