Re: [PATCH v4] perf: bpf: Fix build breakage due to libbpf

From: Naveen N. Rao
Date: Tue Dec 15 2015 - 06:41:40 EST


On 2015/12/15 08:51AM, Wang Nan wrote:
> From: "Naveen N. Rao" <naveen.n.rao@xxxxxxxxxxxxxxxxxx>
>
> perf build is currently (v4.4-rc5) broken on powerpc:
>
> bpf.c:28:4: error: #error __NR_bpf not defined. libbpf does not support
> your arch.
> # error __NR_bpf not defined. libbpf does not support your arch.
> ^
>
> Fix this by including tools/scripts/Makefile.arch for the proper
> $ARCH macro. While at it, remove redundant LP64 macro definition.
>
> Also, since libbpf require $(srctree) now, detect the path of
> srctree like perf.
>
> Signed-off-by: Naveen N. Rao <naveen.n.rao@xxxxxxxxxxxxxxxxxx>
> Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx>
> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> Cc: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
> ---
>
> v3 -> v4: Add srctree detector code so directly run 'make' in libbpf
> directory would not cause error.

Good catch!

Tested-by: Naveen N. Rao <naveen.n.rao@xxxxxxxxxxxxxxxxxx>


>
> ---
> tools/lib/bpf/Makefile | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/tools/lib/bpf/Makefile b/tools/lib/bpf/Makefile
> index 636e3dd..0b6e013 100644
> --- a/tools/lib/bpf/Makefile
> +++ b/tools/lib/bpf/Makefile
> @@ -6,6 +6,12 @@ BPF_EXTRAVERSION = 1
>
> MAKEFLAGS += --no-print-directory
>
> +ifeq ($(srctree),)
> +srctree := $(patsubst %/,%,$(dir $(shell pwd)))
> +srctree := $(patsubst %/,%,$(dir $(srctree)))
> +srctree := $(patsubst %/,%,$(dir $(srctree)))
> +#$(info Determined 'srctree' to be $(srctree))
> +endif
>
> # Makefiles suck: This macro sets a default value of $(2) for the
> # variable named by $(1), unless the variable has been set by
> @@ -31,7 +37,8 @@ INSTALL = install
> DESTDIR ?=
> DESTDIR_SQ = '$(subst ','\'',$(DESTDIR))'
>
> -LP64 := $(shell echo __LP64__ | ${CC} ${CFLAGS} -E -x c - | tail -n 1)
> +include $(srctree)/tools/scripts/Makefile.arch
> +
> ifeq ($(LP64), 1)
> libdir_relative = lib64
> else
> --
> 1.8.3.4
>

--
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/