Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932504AbbBLI5Z (ORCPT ); Thu, 12 Feb 2015 03:57:25 -0500 Received: from szxga03-in.huawei.com ([119.145.14.66]:25371 "EHLO szxga03-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932176AbbBLI5X (ORCPT ); Thu, 12 Feb 2015 03:57:23 -0500 Message-ID: <54DC6ACC.2050803@huawei.com> Date: Thu, 12 Feb 2015 16:56:44 +0800 From: Hekuang User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: Namhyung Kim CC: , , Subject: Re: [PATCH] perf: fix building error in x86_64 References: <1423620068-10137-1-git-send-email-hekuang@huawei.com> <20150212080718.GD30788@sejong> In-Reply-To: <20150212080718.GD30788@sejong> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [10.110.54.65] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020206.54DC6AD8.00E3,ss=1,re=0.001,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: 8cb09611477a9d3a79bf522d1d5f84ba Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2310 Lines: 70 在 2015/2/12 16:07, Namhyung Kim 写道: > Hi, > > On Wed, Feb 11, 2015 at 10:01:08AM +0800, He Kuang wrote: >> When build with ARCH=x86_64, perf failed to compile with following error: >> >> tests/builtin-test.o:(.data+0x158): undefined reference to `test__perf_time_to_tsc' >> collect2: error: ld returned 1 exit status >> Makefile.perf:632: recipe for target 'perf' failed >> ... >> >> Which is caused commit c6e5e9fbc3ea1 ("perf tools: Fix building error >> in x86_64 when dwarf unwind is on"), ARCH test in Makefile.perf >> conflicts with tests/builtin-test.c's __x86_64__. >> To x86/x86_64 platform, ARCH should always override to x86 while >> IS_64_BIT stands for the actual architecture. >> >> Signed-off-by: He Kuang >> --- >> tools/perf/config/Makefile.arch | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/tools/perf/config/Makefile.arch b/tools/perf/config/Makefile.arch >> index ff95a68..8c6214d 100644 >> --- a/tools/perf/config/Makefile.arch >> +++ b/tools/perf/config/Makefile.arch >> @@ -14,7 +14,7 @@ ifeq ($(RAW_ARCH),i386) >> endif >> >> ifeq ($(RAW_ARCH),x86_64) >> - ARCH ?= x86 >> + override ARCH := x86 > Hmm.. wouldn't it (again) break cross build then? > > Thanks, > Namhyung > I've tested both 'make ARCH=x86' and 'make ARCH=x86_64' cases after a 'make clean'. The issue was first caused by IS_X86_64 flag wrongly cleared when ARCH=x86, which is already fixed by separating IS_64_BIT and ARCH in commit c6e5e9fbc3ea1 ("perf tools: Fix building error in x86_64 when dwarf unwind is on"). The only problem here is we should let ARCH override to x86, to keep compatible with 'ifeq ($(ARCH),x86)'. >> >> ifneq (, $(findstring m32,$(CFLAGS))) >> RAW_ARCH := x86_32 >> -- >> 2.2.0.33.gc18b867 >> >> -- >> 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/ > . > -- 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/