Skip to content
Snippets Groups Projects
Commit 1b69302b authored by Paul Menzel's avatar Paul Menzel Committed by Greg Kroah-Hartman
Browse files

lib/raid6/test/Makefile: Use $(pound) instead of \# for Make 4.3

[ Upstream commit 633174a7 ]

Buidling raid6test on Ubuntu 21.10 (ppc64le) with GNU Make 4.3 shows the
errors below:

    $ cd lib/raid6/test/
    $ make
    <stdin>:1:1: error: stray ‘\’ in program
    <stdin>:1:2: error: stray ‘#’ in program
    <stdin>:1:11: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ \
        before ‘<’ token

    [...]

The errors come from the HAS_ALTIVEC test, which fails, and the POWER
optimized versions are not built. That’s also reason nobody noticed on the
other architectures.

GNU Make 4.3 does not remove the backslash anymore. From the 4.3 release
announcment:

> * WARNING: Backward-incompatibility!
>   Number signs (#) appearing inside a macro reference or function invocation
>   no longer introduce comments and should not be escaped with backslashes:
>   thus a call such as:
>     foo := $(shell echo '#')
>   is legal.  Previously the number sign needed to be escaped, for example:
>     foo := $(shell echo '\#')
>   Now this latter will resolve to "\#".  If you want to write makefiles
>   portable to both versions, assign the number sign to a variable:
>     H := \#
>     foo := $(shell echo '$H')
>   This was claimed to be fixed in 3.81, but wasn't, for some reason.
>   To detect this change search for 'nocomment' in the .FEATURES variable.

So, do the same as commit 9564a8cf ("Kbuild: fix # escaping in .cmd
files for future Make") and commit 929bef46 ("bpf: Use $(pound) instead
of \# in Makefiles") and define and use a $(pound) variable.

Reference for the change in make:
https://git.savannah.gnu.org/cgit/make.git/commit/?id=c6966b323811c37acedff05b57



Cc: Matt Brown <matthew.brown.dev@gmail.com>
Signed-off-by: default avatarPaul Menzel <pmenzel@molgen.mpg.de>
Signed-off-by: default avatarSong Liu <song@kernel.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 1b87ce6a
No related branches found
No related tags found
2 merge requests!33Integrate changes of 5.10.116 version from ST,!29Bump to Release 5.10.114 and add/backport patches
...@@ -4,6 +4,8 @@ ...@@ -4,6 +4,8 @@
# from userspace. # from userspace.
# #
pound := \#
CC = gcc CC = gcc
OPTFLAGS = -O2 # Adjust as desired OPTFLAGS = -O2 # Adjust as desired
CFLAGS = -I.. -I ../../../include -g $(OPTFLAGS) CFLAGS = -I.. -I ../../../include -g $(OPTFLAGS)
...@@ -42,7 +44,7 @@ else ifeq ($(HAS_NEON),yes) ...@@ -42,7 +44,7 @@ else ifeq ($(HAS_NEON),yes)
OBJS += neon.o neon1.o neon2.o neon4.o neon8.o recov_neon.o recov_neon_inner.o OBJS += neon.o neon1.o neon2.o neon4.o neon8.o recov_neon.o recov_neon_inner.o
CFLAGS += -DCONFIG_KERNEL_MODE_NEON=1 CFLAGS += -DCONFIG_KERNEL_MODE_NEON=1
else else
HAS_ALTIVEC := $(shell printf '\#include <altivec.h>\nvector int a;\n' |\ HAS_ALTIVEC := $(shell printf '$(pound)include <altivec.h>\nvector int a;\n' |\
gcc -c -x c - >/dev/null && rm ./-.o && echo yes) gcc -c -x c - >/dev/null && rm ./-.o && echo yes)
ifeq ($(HAS_ALTIVEC),yes) ifeq ($(HAS_ALTIVEC),yes)
CFLAGS += -I../../../arch/powerpc/include CFLAGS += -I../../../arch/powerpc/include
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment