Re: [PATCH] scripts/Kbuild.include: Fix portability problem of"echo -e"

From: Sam Ravnborg
Date: Sun Feb 26 2012 - 12:48:14 EST


On Sun, Feb 26, 2012 at 06:35:18PM +0100, Bernhard Walle wrote:
> "echo -e" is a GNU extension. When cross-compiling the kernel on a
> BSD-like operating system (Mac OS X in my case), this doesn't work.
>
> One could install a GNU version of echo, put that in the $PATH before
> the system echo and use "/usr/bin/env echo", but the solution with
> printf is simpler.
>
> Since it is no disadvantage on Linux, I hope that gets accepted even if
> cross-compiling the Linux kernel on another Unix operating system is
> quite a rare use case.
>
> Signed-off-by: Bernhard Walle <bernhard@xxxxxxxxx>
> ---
> scripts/Kbuild.include | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include
> index d897278..6a3ee98 100644
> --- a/scripts/Kbuild.include
> +++ b/scripts/Kbuild.include
> @@ -104,7 +104,7 @@ as-option = $(call try-run,\
> # Usage: cflags-y += $(call as-instr,instr,option1,option2)
>
> as-instr = $(call try-run,\
> - /bin/echo -e "$(1)" | $(CC) $(KBUILD_AFLAGS) -c -xassembler -o "$$TMP" -,$(2),$(3))
> + printf "%b\n" "$(1)" | $(CC) $(KBUILD_AFLAGS) -c -xassembler -o "$$TMP" -,$(2),$(3))
>
> # cc-option
> # Usage: cflags-y += $(call cc-option,-march=winchip-c6,-march=i586)

Roman Zippel removed use of printf in this patch: beda9f3a13bbb22cde92a45f230a02ef2afef6a9

I cannot remember why - but it would be good if you could dig up
why - just so we do not hit an old issue again.

Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/