Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190215023851.GA23599@brightrain.aerifal.cx>
Date: Thu, 14 Feb 2019 21:38:51 -0500
From: Rich Felker <dalias@...c.org>
To: musl@...ts.openwall.com
Subject: Re: [PATCH] eliminate strict parentheses warnings for
 byteswaps

On Thu, Feb 14, 2019 at 06:27:26PM -0800, Nick Bray wrote:
> To give a little more context, I am targeting a small non-Linux OS.
> We are not at a point where maintaining our own toolchain make sense.
> Instead we are using Android's prebuilt toolchains, providing an
> alternate sysroot (empty for now), and treating Musl as a library
> built from source.  It's a flat playing field and there is no such
> thing as system headers or system libraries.  We can dial the
> strictness down when compiling Musl itself, but header files touch
> everything.  This isn't the traditional use case, but Musl seems like
> a pretty good choice for embedded systems-ish type work when you need
> to scale down into a smaller memory footprint.

This has come up enough that there's some chance it may be worth
revisiting, but I wonder if using -isystem wouldn't solve your
problem.

The policy aspect here is that coding style in the libc headers should
not be governed by a possibly changing/unbounded set of compiler style
warnings. But maybe we should look at whether there's some small set
of stricter style rules we should adopt for the headers.

Also it's worth noting that, in the past when this has come up, it's
brought light to incorrect usage by the person raising the issue --
things like using a glibc-targeting toolchain and just adding -I for
the musl include dir.

Rich


> On Thu, Feb 14, 2019 at 5:55 PM A. Wilcox <awilfox@...lielinux.org> wrote:
> >
> > On 02/14/19 18:24, Nick Bray wrote:
> > > Patch is attached.
> > >
> > > The change was motivated by including Musl's headers from a project
> > > with -Werror -Wall enabled. I believe Fucshia ran into this, too.  I
> > > couldn't think of a good regression test, in part because warnings are
> > > somewhat compiler specific.  One possible approach would be to enable
> > > -Werror -Wall in the main build, but that runs into issues of which
> > > compilers are supported and what the core developers prefer.  Another
> > > approach would be to only lint the header files - generate a dummy .c
> > > file that includes all the header files and compile it with -Werror.
> > > This is complicated by the "redirection" header files that warn you
> > > should use the canonical version.  Which header files should be
> > > checked?  So for the moment I punted on regression testing.  I mention
> > > this line of thinking in case anyone has some perspective.
> >
> >
> > This has a strong +1 from me, but changes like this have already been
> > rejected at least twice on this list because "compilers shouldn't warn
> > about system headers".
> >
> > Perhaps at attempt #3, they will just accept that this happens regularly
> > enough that a few parens is not the end of the world.  (It also makes
> > more components of musl reusable in other libraries, if desired.)
> >
> > Best,
> > --arw

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.