[U-Boot] [PATCH] fix linker generated lists on non-C locales
Pavel Herrmann
morpheus.ibis at gmail.com
Sun Dec 2 19:34:18 CET 2012
On Sunday 02 of December 2012 19:12:17 Marek Vasut wrote:
> Dear Pavel Herrmann,
>
> > On Sunday 02 of December 2012 18:50:53 Marek Vasut wrote:
> > > Dear Pavel Herrmann,
> > >
> > > > Setting LC_COLLATE=C is not enough if LC_ALL=en_US.utf8. The result is
> > > > a build that has no available commands. Setting LC_ALL=C for the
> > > > generator script helps.
> > > >
> > > > Signed-off-by: Pavel Herrmann <morpheus.ibis at gmail.com>
> > > > ---
> > > >
> > > > helper.mk | 4 ++--
> > > > 1 file changed, 2 insertions(+), 2 deletions(-)
> > > >
> > > > diff --git a/helper.mk b/helper.mk
> > > > index 79a1da0..2b75182 100644
> > > > --- a/helper.mk
> > > > +++ b/helper.mk
> > > > @@ -35,7 +35,7 @@
> > > >
> > > > # line. Next, append "@" at the end and print the line. Finally,
> > > > # append "~" at the end of line. This will make sense in
> > > > conjunction # with 6) and 7).
> > > >
> > > > -# 7) Sort the lines. It is imperative to use LC_COLLATE=C here
> > > > because
> > > > +# 7) Sort the lines. It is imperative to use LC_ALL=C here because
> > > >
> > > > # with this, the "\a" symbol is first and "~" symbol is last. Any
> > > > # other symbols fall inbetween. Symbols like "@", which marks the
> > > > # end of current line (representing current section) and ".",
> > > > which
> > > >
> > > > @@ -57,7 +57,7 @@ $(1): $(2)
> > > >
> > > > -e 's/\.[^\.]\+$$$$//' \
> > > > -e ':s /^.\+$$$$/ { p;s/^\(.*\)\.[^\.]*$$$$/\1/;b s }' | \
> > > >
> > > > sed -n -e 'h;s/$$$$/\a/p;g;s/$$$$/@/p;g;s/$$$$/~/p;' | \
> > > >
> > > > - LC_COLLATE=C sort -u | \
> > > > + LC_ALL=C sort -u | \
> > >
> > > How will this work? LC_COLLATE is supposed to adjust the behavior of
> > > "sort" command, without it, "sort" will not behave as expected.
> >
> > Clearly, LC_COLLATE is not enough for it to behave correctly, as seen on
> > my
> > setup.
> > This works because LC_ALL sets LC_COLLATE, as well as all other LC_*
> > environment variables.
>
> Do you have any reference where I can verify this claim please?
Actually, the problem seems to be a little different - when i have LC_ALL set,
changing LC_COLLATE doesnt do anything (try running "LC_COLLATE=crazy locale"
with LC_ALL set)
anyways, the fix remains the same.
Pavel Herrmann
More information about the U-Boot
mailing list