[PATCH v4] perf: bpf: Fix build breakage due to libbpf
Naveen N. Rao
naveen.n.rao at linux.vnet.ibm.com
Tue Dec 15 22:40:46 AEDT 2015
On 2015/12/15 08:51AM, Wang Nan wrote:
> From: "Naveen N. Rao" <naveen.n.rao at linux.vnet.ibm.com>
>
> 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 at linux.vnet.ibm.com>
> Signed-off-by: Wang Nan <wangnan0 at huawei.com>
> Acked-by: Jiri Olsa <jolsa at kernel.org>
> Cc: Arnaldo Carvalho de Melo <acme at kernel.org>
> Cc: Sukadev Bhattiprolu <sukadev at linux.vnet.ibm.com>
> ---
>
> 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 at linux.vnet.ibm.com>
>
> ---
> 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
>
More information about the Linuxppc-dev
mailing list