mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Rich Felker <dalias@aerifal.cx>
To: musl@lists.openwall.com
Subject: Re: build with clang-3.4 warnings report
Date: Sat, 5 Apr 2014 09:07:00 -0400	[thread overview]
Message-ID: <20140405130700.GV26358@brightrain.aerifal.cx> (raw)
In-Reply-To: <1396688698.11744.258.camel@eris.loria.fr>

On Sat, Apr 05, 2014 at 11:04:58AM +0200, Jens Gustedt wrote:
> Hello
> 
> Am Freitag, den 04.04.2014, 21:54 -0400 schrieb Rich Felker:
> > On Sat, Apr 05, 2014 at 03:06:03AM +0200, Abdoulaye Walsimou Gaye wrote:
> > > In file included from src/errno/strerror.c:7:
> > > src/errno/__strerror.h:100:1: warning: implicit conversion from 'int' to 'unsigned char' changes value from 1133 to 109 [-Wconstant-conversion]
> > > 1133,
> > > ^~~~
> > > 1 warning generated.
> > 
> > Again, I'm confused why we're getting this one.
> 
> This seems to come from the bogus handling of EDQUOT by mips:
> [...]
> I think the real bug is here
> 
> #define E(a,b) ((unsigned char)a),
> 
> this is a typical case of someone using a cast to burry a
> problem, black magic, "casting a spell".

The problem was fixed, not burried. In any case, the clang warning is
a bug in clang because it's claiming there's an implicit conversion
when the conversion is actually explicit.

> As this bug shows, the whole technique of searching the error string
> in strerror is somehow fragile.
> 
> The whole thing could be avoided by using designated initializers and
> eliminating the whole errid array right away. Designated initializers
> should be present in all decent versions of gcc. Do you want me to
> prepare a patch?

No, this is not about avoiding features but rather not adding a whole
page (or two pages, on 64-bit machines) of non-sharable pseudo-data to
libc.so, or the same amount of text to nearly every static-linked
program.

Please see the previous bikeshed discussion from when the mips issue
was fixed. Several people offered up crazy ideas for strerror and none
of them could compare in size to the current implementation; most of
them also broke its other nice qualities.

Rich


  parent reply	other threads:[~2014-04-05 13:07 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-04 19:59 Abdoulaye Walsimou Gaye
2014-04-04 20:47 ` Rich Felker
2014-04-05  1:06   ` Abdoulaye Walsimou Gaye
2014-04-05  1:54     ` Rich Felker
2014-04-05  9:04       ` Jens Gustedt
2014-04-05  9:31         ` Szabolcs Nagy
2014-04-05 13:07         ` Rich Felker [this message]
2014-04-05 14:37           ` Jens Gustedt
2014-04-05 16:35             ` Rich Felker
2014-04-05 22:08               ` Jens Gustedt
2014-04-06  1:57                 ` Rich Felker
2014-04-06 16:37                   ` Jens Gustedt
2014-04-06 16:49                     ` Rich Felker
2014-04-07 11:17       ` Oliver Schneider
2014-04-07 17:23         ` Rich Felker
2014-04-07 19:40           ` Abdoulaye Walsimou Gaye

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140405130700.GV26358@brightrain.aerifal.cx \
    --to=dalias@aerifal.cx \
    --cc=musl@lists.openwall.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).