Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752809AbbLNLyZ (ORCPT ); Mon, 14 Dec 2015 06:54:25 -0500 Received: from szxga03-in.huawei.com ([119.145.14.66]:28588 "EHLO szxga03-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752740AbbLNLyX (ORCPT ); Mon, 14 Dec 2015 06:54:23 -0500 Message-ID: <566EADD1.6000609@huawei.com> Date: Mon, 14 Dec 2015 19:53:53 +0800 From: "Wangnan (F)" User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: "Naveen N. Rao" , "Arnaldo Carvalho de Melo" CC: Alexei Starovoitov , Jiri Olsa , Sukadev Bhattiprolu , , Subject: Re: [PATCH] perf: bpf: Fix build breakage due to libbpf References: <1450090232-11437-1-git-send-email-naveen.n.rao@linux.vnet.ibm.com> In-Reply-To: <1450090232-11437-1-git-send-email-naveen.n.rao@linux.vnet.ibm.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.111.66.109] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020203.566EADDC.0016,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0, ip=0.0.0.0, so=2013-05-26 15:14:31, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: fe08b636bc96e5937723ba782b2f9e6f Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2396 Lines: 73 Hi Naveen, On 2015/12/14 18:50, Naveen N. Rao wrote: > 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/perf/config/Makefile.arch for the proper > $ARCH macro. While at it, remove redundant LP64 macro definition. > > Signed-off-by: Naveen N. Rao > --- > tools/lib/bpf/Makefile | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/tools/lib/bpf/Makefile b/tools/lib/bpf/Makefile > index 636e3dd..050e0e8 100644 > --- a/tools/lib/bpf/Makefile > +++ b/tools/lib/bpf/Makefile > @@ -31,7 +31,8 @@ INSTALL = install > DESTDIR ?= > DESTDIR_SQ = '$(subst ','\'',$(DESTDIR))' > > -LP64 := $(shell echo __LP64__ | ${CC} ${CFLAGS} -E -x c - | tail -n 1) > +include $(srctree)/tools/perf/config/Makefile.arch > + > ifeq ($(LP64), 1) > libdir_relative = lib64 > else Are you doing cross compiling? In this case you should provide an 'ARCH' to make through cmdline. For example, this is how yocto help me build perf on aarch64: $ make -C /patch/to/kernel/tools/perf O=/path/to/output \ CROSS_COMPILE=aarch64-oe-linux- ARCH=arm64 \ CC=aarch64-oe-linux-gcc --sysroot=... AR=aarch64-oe-linux-ar ... If you include Makefile.arch, I think you are seeking for a 'uname -m' result, then you are not doing cross compiling, right? In this case what you need is providing a __NR_bpf entry for your platform, because in some cases that value is overrided because we have $ find ./tools/ -name "unistd*" ./tools/perf/util/include/asm/unistd_64.h ./tools/perf/util/include/asm/unistd_32.h You can find the reason of these two files through: eae7a755ee81129370c8f555b0d5672e6673735d I posted a patch by replying this mail. I think you can find it through [1] soon. I don't have PPC environment to check it. Could you please help me check this patch in your environment? [1] http://lkml.kernel.org/g/1450092932-123588-1-git-send-email-wangnan0@huawei.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/