On 2015/12/15 08:51AM, Wang Nan wrote: > From: "Naveen N. Rao" <[email protected]> > > 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 <[email protected]> > Signed-off-by: Wang Nan <[email protected]> > Acked-by: Jiri Olsa <[email protected]> > Cc: Arnaldo Carvalho de Melo <[email protected]> > Cc: Sukadev Bhattiprolu <[email protected]> > --- > > v3 -> v4: Add srctree detector code so directly run 'make' in libbpf > directory would not cause error.
Good catch! Tested-by: Naveen N. Rao <[email protected]> > > --- > 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 [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

