[U-Boot] [PATCH] fix linker generated lists on non-C locales

Pavel Herrmann morpheus.ibis at gmail.com
Sun Dec 2 19:26:02 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?

Which claim? that this helps, or that LC_ALL sets LC_COLLATE as well?



More information about the U-Boot mailing list