Re: CONFIG_KPROBES=y build requires gawk

Rob Landley
2009-12-17T05:43:28Z

On Wednesday 16 December 2009 23:21:44 H. Peter Anvin wrote:
> On 12/16/2009 09:11 PM, Roland Dreier wrote:
> > > As Al Viro said, if we run awk with LC_ALL=C, then the characters will
> > > be sorted as ASCII. So, your patch is OK if you can add LC_ALL=C just
> > > before $(AWK). (I'm not so sure whether Makefile can accept it...)
>
> I would strongly prefer the following solution as it solves this entire
> class of problems globally, although I'd really want Michal's ACK for it:
>
> diff --git a/Makefile b/Makefile
> index 33d4732..7fefc13 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -302,6 +302,10 @@ MAKEFLAGS += --include-dir=$(srctree)
> $(srctree)/scripts/Kbuild.include: ;
> include $(srctree)/scripts/Kbuild.include
>
> +# Avoid funny character set dependencies
> +LC_ALL=C
> +export LC_ALL
> +
> # Make variables (CC, etc...)
>
> AS = $(CROSS_COMPILE)as

Agreed. Otherwise we can get strange new breakabe in future just because
somebody builds in a _locale_ we've never heard of. We must specify this to
get consistent behavior.

And keep in mind, specifying this _is_ part of POSIX 2008. The standard is
online, even:

http://www.opengroup.org/onlinepubs/9699919799/utilities/awk.html#tag_20_06_08
http://www.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html#tag_07_02

Rob
--
Latency is more important than throughput. It's that simple. - Linus Torvalds