Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Fri, 20 Feb 2015 02:27:01 -0500
From: Rich Felker <>
To: Sergey Dmitrouk <>
Cc: "" <>
Subject: Re: wchar_t and -fshort-wchar

On Fri, Feb 20, 2015 at 08:53:02AM +0200, Sergey Dmitrouk wrote:
> On Thu, Feb 19, 2015 at 08:26:02PM -0800, Rich Felker wrote:
> > musl does not support configurations with under-sized definitions of
> > types like 16-bit wchar_t or 32-bit off_t. Only the sizes that can
> > represent the full range of values are supported. musl does however
> > have the C11 uchar.h functions which can operate on char16_t, so you
> > could use char16_t and the corresponding c16 conversion functions
> > instead of the wc versions if that helps. What are you trying to
> > achieve?
> Nothing particular, -fshort-wchar is dictated by some compatibility
> requirements, which are probably caused by building things on Windows,
> where sizeof(wchar_t) usually equals to 2.  Maybe the flag will go away
> later, if not, will try using uchar.h in case there will be a need, thanks
> for the pointer.

musl won't work with -fshort-wchar, so the flag needs to go away. If
you compile musl with that you'll just get a broken (and potentially
even dangerous; it's hard to say) libc build. If you compile the
application (but not libc) with that option, you'll get mismatching
ABI and things will break if you call any functions that operate on
wchar_t arrays, but if you're not actually using these functions you
might not even see any breakage. If there's no specific reason this
option is being used I think it just needs to be removed from the
build and everything should work fine.


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.