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