2013-08-22 14:53:17

by Max Filippov

[permalink] [raw]
Subject: [PATCH 0/3] clean up echo -e usage

This series cleans up non-portable 'echo -e' usage.
I haven't replaced all instances of 'echo -e' though:
- those under Documentation don't affect build;
- those that invoke echo by full path (/bin/echo) probably know what they do;
- those that output user help don't affect build.

Max Filippov (3):
xtensa: don't use echo -e needlessly
x86: don't use echo -e needlessly
raid6/test: replace echo -e with printf

arch/x86/Makefile | 2 +-
arch/xtensa/Makefile | 4 ++--
arch/xtensa/boot/Makefile | 2 +-
lib/raid6/test/Makefile | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)

--
1.7.7.6


2013-08-22 14:53:19

by Max Filippov

[permalink] [raw]
Subject: [PATCH 1/3] xtensa: don't use echo -e needlessly

-e is not needed to output strings without escape sequences. This breaks
big endian FSF build when the shell is dash, because its builtin echo
doesn't understand '-e' switch and outputs it in the echoed string.

Cc: Chris Zankel <[email protected]>
Cc: [email protected]
Reported-by: Guenter Roeck <[email protected]>
Signed-off-by: Max Filippov <[email protected]>
---
arch/xtensa/Makefile | 4 ++--
arch/xtensa/boot/Makefile | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/xtensa/Makefile b/arch/xtensa/Makefile
index 136224b..81250ec 100644
--- a/arch/xtensa/Makefile
+++ b/arch/xtensa/Makefile
@@ -55,10 +55,10 @@ ifneq ($(CONFIG_LD_NO_RELAX),)
LDFLAGS := --no-relax
endif

-ifeq ($(shell echo -e __XTENSA_EB__ | $(CC) -E - | grep -v "\#"),1)
+ifeq ($(shell echo __XTENSA_EB__ | $(CC) -E - | grep -v "\#"),1)
CHECKFLAGS += -D__XTENSA_EB__
endif
-ifeq ($(shell echo -e __XTENSA_EL__ | $(CC) -E - | grep -v "\#"),1)
+ifeq ($(shell echo __XTENSA_EL__ | $(CC) -E - | grep -v "\#"),1)
CHECKFLAGS += -D__XTENSA_EL__
endif

diff --git a/arch/xtensa/boot/Makefile b/arch/xtensa/boot/Makefile
index 64ffc4b..ca20a89 100644
--- a/arch/xtensa/boot/Makefile
+++ b/arch/xtensa/boot/Makefile
@@ -12,7 +12,7 @@
KBUILD_CFLAGS += -fno-builtin -Iarch/$(ARCH)/boot/include
HOSTFLAGS += -Iarch/$(ARCH)/boot/include

-BIG_ENDIAN := $(shell echo -e __XTENSA_EB__ | $(CC) -E - | grep -v "\#")
+BIG_ENDIAN := $(shell echo __XTENSA_EB__ | $(CC) -E - | grep -v "\#")

export ccflags-y
export BIG_ENDIAN
--
1.7.7.6

2013-08-22 14:53:23

by Max Filippov

[permalink] [raw]
Subject: [PATCH 3/3] raid6/test: replace echo -e with printf

-e is a non-standard echo option, echo output is
implementation-dependent when it is used. Replace echo -e with printf as
suggested by POSIX echo manual.

Cc: NeilBrown <[email protected]>
Cc: Jim Kukunas <[email protected]>
Cc: "H. Peter Anvin" <[email protected]>
Cc: Yuanhan Liu <[email protected]>
Signed-off-by: Max Filippov <[email protected]>
---
lib/raid6/test/Makefile | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/lib/raid6/test/Makefile b/lib/raid6/test/Makefile
index 087332d..73b0151 100644
--- a/lib/raid6/test/Makefile
+++ b/lib/raid6/test/Makefile
@@ -28,7 +28,7 @@ ifeq ($(IS_X86),yes)
gcc -c -x assembler - >&/dev/null && \
rm ./-.o && echo -DCONFIG_AS_AVX2=1)
else
- HAS_ALTIVEC := $(shell echo -e '\#include <altivec.h>\nvector int a;' |\
+ HAS_ALTIVEC := $(shell printf '\#include <altivec.h>\nvector int a;\n' |\
gcc -c -x c - >&/dev/null && \
rm ./-.o && echo yes)
ifeq ($(HAS_ALTIVEC),yes)
--
1.7.7.6

2013-08-22 14:53:32

by Max Filippov

[permalink] [raw]
Subject: [PATCH 2/3] x86: don't use echo -e needlessly

-e is not needed to output strings without escape sequences.

Cc: Thomas Gleixner <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: "H. Peter Anvin" <[email protected]>
Cc: [email protected]
Signed-off-by: Max Filippov <[email protected]>
---
arch/x86/Makefile | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index 07639c6..7386e8a 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -95,7 +95,7 @@ endif

ifdef CONFIG_X86_X32
x32_ld_ok := $(call try-run,\
- /bin/echo -e '1: .quad 1b' | \
+ /bin/echo '1: .quad 1b' | \
$(CC) $(KBUILD_AFLAGS) -c -x assembler -o "$$TMP" - && \
$(OBJCOPY) -O elf32-x86-64 "$$TMP" "$$TMPO" && \
$(LD) -m elf32_x86_64 "$$TMPO" -o "$$TMP",y,n)
--
1.7.7.6

2013-08-22 15:09:33

by H. Peter Anvin

[permalink] [raw]
Subject: Re: [PATCH 3/3] raid6/test: replace echo -e with printf

Acked-by: H. Peter Anvin <[email protected]>

Max Filippov <[email protected]> wrote:
>-e is a non-standard echo option, echo output is
>implementation-dependent when it is used. Replace echo -e with printf
>as
>suggested by POSIX echo manual.
>
>Cc: NeilBrown <[email protected]>
>Cc: Jim Kukunas <[email protected]>
>Cc: "H. Peter Anvin" <[email protected]>
>Cc: Yuanhan Liu <[email protected]>
>Signed-off-by: Max Filippov <[email protected]>
>---
> lib/raid6/test/Makefile | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
>diff --git a/lib/raid6/test/Makefile b/lib/raid6/test/Makefile
>index 087332d..73b0151 100644
>--- a/lib/raid6/test/Makefile
>+++ b/lib/raid6/test/Makefile
>@@ -28,7 +28,7 @@ ifeq ($(IS_X86),yes)
> gcc -c -x assembler - >&/dev/null && \
> rm ./-.o && echo -DCONFIG_AS_AVX2=1)
> else
>- HAS_ALTIVEC := $(shell echo -e '\#include <altivec.h>\nvector
>int a;' |\
>+ HAS_ALTIVEC := $(shell printf '\#include <altivec.h>\nvector
>int a;\n' |\
> gcc -c -x c - >&/dev/null && \
> rm ./-.o && echo yes)
> ifeq ($(HAS_ALTIVEC),yes)

--
Sent from my mobile phone. Please excuse brevity and lack of formatting.

2013-08-22 15:11:53

by H. Peter Anvin

[permalink] [raw]
Subject: Re: [PATCH 2/3] x86: don't use echo -e needlessly

Can we drop the /bin/?

Max Filippov <[email protected]> wrote:
>-e is not needed to output strings without escape sequences.
>
>Cc: Thomas Gleixner <[email protected]>
>Cc: Ingo Molnar <[email protected]>
>Cc: "H. Peter Anvin" <[email protected]>
>Cc: [email protected]
>Signed-off-by: Max Filippov <[email protected]>
>---
> arch/x86/Makefile | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
>diff --git a/arch/x86/Makefile b/arch/x86/Makefile
>index 07639c6..7386e8a 100644
>--- a/arch/x86/Makefile
>+++ b/arch/x86/Makefile
>@@ -95,7 +95,7 @@ endif
>
> ifdef CONFIG_X86_X32
> x32_ld_ok := $(call try-run,\
>- /bin/echo -e '1: .quad 1b' | \
>+ /bin/echo '1: .quad 1b' | \
> $(CC) $(KBUILD_AFLAGS) -c -x assembler -o "$$TMP" - && \
> $(OBJCOPY) -O elf32-x86-64 "$$TMP" "$$TMPO" && \
> $(LD) -m elf32_x86_64 "$$TMPO" -o "$$TMP",y,n)

--
Sent from my mobile phone. Please excuse brevity and lack of formatting.

2013-08-22 15:17:07

by Max Filippov

[permalink] [raw]
Subject: Re: [PATCH 2/3] x86: don't use echo -e needlessly

On Thu, Aug 22, 2013 at 7:11 PM, H. Peter Anvin <[email protected]> wrote:
> Can we drop the /bin/?

Sure.

> Max Filippov <[email protected]> wrote:
>>-e is not needed to output strings without escape sequences.
>>
>>Cc: Thomas Gleixner <[email protected]>
>>Cc: Ingo Molnar <[email protected]>
>>Cc: "H. Peter Anvin" <[email protected]>
>>Cc: [email protected]
>>Signed-off-by: Max Filippov <[email protected]>
>>---
>> arch/x86/Makefile | 2 +-
>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>
>>diff --git a/arch/x86/Makefile b/arch/x86/Makefile
>>index 07639c6..7386e8a 100644
>>--- a/arch/x86/Makefile
>>+++ b/arch/x86/Makefile
>>@@ -95,7 +95,7 @@ endif
>>
>> ifdef CONFIG_X86_X32
>> x32_ld_ok := $(call try-run,\
>>- /bin/echo -e '1: .quad 1b' | \
>>+ /bin/echo '1: .quad 1b' | \
>> $(CC) $(KBUILD_AFLAGS) -c -x assembler -o "$$TMP" - && \
>> $(OBJCOPY) -O elf32-x86-64 "$$TMP" "$$TMPO" && \
>> $(LD) -m elf32_x86_64 "$$TMPO" -o "$$TMP",y,n)

--
Thanks.
-- Max

2013-08-26 04:16:02

by NeilBrown

[permalink] [raw]
Subject: Re: [PATCH 3/3] raid6/test: replace echo -e with printf

On Thu, 22 Aug 2013 17:09:11 +0200 "H. Peter Anvin" <[email protected]> wrote:

> Acked-by: H. Peter Anvin <[email protected]>

Applied with the Ack - thanks.

NeilBrown

>
> Max Filippov <[email protected]> wrote:
> >-e is a non-standard echo option, echo output is
> >implementation-dependent when it is used. Replace echo -e with printf
> >as
> >suggested by POSIX echo manual.
> >
> >Cc: NeilBrown <[email protected]>
> >Cc: Jim Kukunas <[email protected]>
> >Cc: "H. Peter Anvin" <[email protected]>
> >Cc: Yuanhan Liu <[email protected]>
> >Signed-off-by: Max Filippov <[email protected]>
> >---
> > lib/raid6/test/Makefile | 2 +-
> > 1 files changed, 1 insertions(+), 1 deletions(-)
> >
> >diff --git a/lib/raid6/test/Makefile b/lib/raid6/test/Makefile
> >index 087332d..73b0151 100644
> >--- a/lib/raid6/test/Makefile
> >+++ b/lib/raid6/test/Makefile
> >@@ -28,7 +28,7 @@ ifeq ($(IS_X86),yes)
> > gcc -c -x assembler - >&/dev/null && \
> > rm ./-.o && echo -DCONFIG_AS_AVX2=1)
> > else
> >- HAS_ALTIVEC := $(shell echo -e '\#include <altivec.h>\nvector
> >int a;' |\
> >+ HAS_ALTIVEC := $(shell printf '\#include <altivec.h>\nvector
> >int a;\n' |\
> > gcc -c -x c - >&/dev/null && \
> > rm ./-.o && echo yes)
> > ifeq ($(HAS_ALTIVEC),yes)
>


Attachments:
signature.asc (828.00 B)