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

Pavel Herrmann morpheus.ibis at gmail.com
Sun Dec 2 19:00:06 CET 2012


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.

Pavel Herrmann



More information about the U-Boot mailing list