Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20110607153918.GI191@brightrain.aerifal.cx>
Date: Tue, 7 Jun 2011 11:39:18 -0400
From: Rich Felker <dalias@...ifal.cx>
To: musl@...ts.openwall.com
Subject: Re: Cleanup patches

On Tue, Jun 07, 2011 at 05:26:22PM +0200, Igmar Palsenberg wrote:
> The assembler doesn't see those flags. Those flags are simply
> ignore, but clang does complain about them.

What about things like -m32? Surely that affects the assembler.

> >> I need to check. I get out of bounds warning with this code. I'll
> >> check and update this code.
> > 
> > Yes, you'll get array bounds warnings. You can leave this warning off
> > unless clang is really miscompiling the code, in which case I'll have
> > to make some larger changes...
> 
> Probably not. I might run a case through valgrind to see if it comes up (and if possible, since the last time I checked valgrind, it couldn't handle static binaries).

Just test malloc and make sure it works. If clang generated wrong
code, it will fail catastrophically.

> >>> I'm guessing this might be an issue of some 32-bit x86 compilers
> >>> disagreeing on whether wchar_t is "int" or "long". Traditionally it
> >>> was "long" which worked but was obviously stupid conceptually. I don't
> >>> know a good way to make musl's wchar.h adapt to what the compiler
> >>> wants though...
> >> 
> >> The cast should be OK. In cases where it is correct (and the cast
> >> isn't necessary), it is simply a NOOP.
> > 
> > No, the cast, like ALMOST ALL CASTS, hides a bug: that wchar_t is
> > defined in an inconsistent way. It's actively harmful.
> 
> I'll make a proper fix for that.

I think it should be fixed in git. Please tell me if it's not.

> The code is normally something like :
> 
> weak_alias(real, alias);
> where real is a static function.
> 
> clang then barked about the function being unused. If I expand the
> macro (gcc -E), and replace weak_alias(...) with the expanded form,
> I get an error that an alias won't work on a static function.

Are you sure you didn't botch the macro expansion? If you did it right
and the warnings/errors differ, that's a bug in clang, I think... Can
you show an example of the expansion you did? (just the relevant lines)

> I need to dive into this to see who to blame :)

:)

Rich

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.