Re: [PATCH] perf build: Fix unescaped # in perf build-test

From: Arnaldo Carvalho de Melo
Date: Fri Apr 28 2023 - 21:54:42 EST


Em Tue, Apr 25, 2023 at 11:44:13AM +0100, James Clark escreveu:
> With the following bash and make versions:
>
> $ make --version
> GNU Make 4.2.1
> Built for aarch64-unknown-linux-gnu
>
> $ bash --version
> GNU bash, version 5.0.17(1)-release (aarch64-unknown-linux-gnu)
>
> This error is encountered when running the build-test target:

Thanks, applied.

- Arnaldo


> $ make -C tools/perf build-test
> tests/make:181: *** unterminated call to function 'shell': missing ')'. Stop.
> make: *** [Makefile:103: build-test] Error 2
>
> Fix it by escaping the # which was causing make to interpret the rest of
> the line as a comment leaving the unclosed opening bracket.
>
> Fixes: 56d5229471ee ("tools build: Pass libbpf feature only if libbpf 1.0+")
> Signed-off-by: James Clark <james.clark@xxxxxxx>
> ---
> tools/perf/tests/make | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/tests/make b/tools/perf/tests/make
> index d75876126631..8dd3f8090352 100644
> --- a/tools/perf/tests/make
> +++ b/tools/perf/tests/make
> @@ -178,7 +178,7 @@ run += make_install_prefix_slash
> # run += make_install_pdf
> run += make_minimal
>
> -old_libbpf := $(shell echo "#include <bpf/libbpf.h>" | $(CC) -E -dM -x c -| egrep -q "define[[:space:]]+LIBBPF_MAJOR_VERSION[[:space:]]+0{1}")
> +old_libbpf := $(shell echo '\#include <bpf/libbpf.h>' | $(CC) -E -dM -x c -| egrep -q "define[[:space:]]+LIBBPF_MAJOR_VERSION[[:space:]]+0{1}")
>
> ifneq ($(old_libbpf),)
> run += make_libbpf_dynamic
> --
> 2.34.1
>

--

- Arnaldo