Toolchain questions and locale with uClibc.

Peter S. Mazinger ps.m at gmx.net
Sun Mar 19 20:03:04 UTC 2006


On Thu, 16 Mar 2006, Steven J. Hill wrote:

> Peter,
> 
> I must again ask for your help on some things that have changed in
> uClibc that are keeping me from completing NPTL. I would appreciate
> your comments on these and any help you can give. My uClibc code is
> synced with the latest from the trunk.

is this state already committed to your branch?

> 
>    1) I tried to use binutils-2.16.1, gcc-4.1.0 (release) and my
>       uClibc code. I disabled locale support and the final GCC will
>       not build because of the missing __global_locale that you
>       mentioned and missing _NL_ #defines for THOUSANDS and DECIMAL.

I answered already these, here comes the full "story" again:

vapier removed (correctly) from the gcc-4.1.0 200* patch the hunk that 
removed the wchar_t test from configure, the test would  have enabled 
_GLIBCXX_USE_WCHAR_T, if _GLIBCXX_USE_WCHAR_T isn't defined 
for libstc++, the build of libstdc++ does not enter the failing code.
The removal is correct, it didn't belong into the 200* patch, but the one 
who did the initial port of gcc4 uclibc support took the easier path and 
disabled everything related to wide character support instead of solving 
the real problem.

>    2) I took your 20x- patches from gcc-4.2.0 and applied them to
>       gcc-4.1.0 and tried to build a toolchain without locale support
>       and it would not build the c++ support again. The error had to
>       do with missing ctype functions. I also tried to build WITH
>       locale support and got the same errors.

you have to use gcc-4.1.0 patches and 204-* from gcc-4.2.0 only, that 
should fix the missing __global_locale and missing _LC_*. You can't use 
the complete 20x* patches from gcc-4.2.0, because you will miss os/uclibc 
part of it (that was added upstream)
The 204-* patch is based on similar "corrections" done by mjn3 in 
monetary_members.cc, it should allow to build gcc-4.1 w/ WCHAR enabled, 
but LOCALE disabled. I am not sure if my patch is correct, maybe we need 
some "replacement" for the case if __global_locale is not available, 
asked mjn3 about it, have gotten no answer yet.
If you want to be able to build gcc-4.1 w/ XLOCALE enabled (not only 
LOCALE), you will also need 203-*.

Note: the 203-* patch is needed for all gcc's, if you want them to build 
w/ XLOCALE enabled against current uClibc-svn.

> 
>    3) I then tried getting the latest gcc-4.2.0 release tarball and
>       it failed to build also and died with invalid assembler messages.
>       Both with and without locale support failed.
> 
> What gcc-4.2.0 tarball did you use to create your patches? Have you
> ever built a working toolchain/buildroot with locale disabled? Any
> help you could provide would be greatly appreciated. Thanks.
> 
> -Steve

I have built all gcc's up to gcc-4.1.0 (but not within buildroot).
The gcc-4.2.0 patches are against gcc-svn (about 10 minutes before I have 
committed the patches). I have a set of patches that backport the upstream 
uclibc changes to gcc-4.1.0, the only trouble being that the 
libstdc++/configure changes are so massive, that the diff to the 
autoreconf'd configure file is 500k and I didn't wanted to add these to 
buildroot.
The only "good" option would be to add the small patch and require 
autoconf if c++ is enabled (but I am not sure if this is acceptable for 
buildroot)

Peter

-- 
Peter S. Mazinger <ps dot m at gmx dot net>           ID: 0xA5F059F2
Key fingerprint = 92A4 31E1 56BC 3D5A 2D08  BB6E C389 975E A5F0 59F2




More information about the uClibc mailing list