Messages in this thread | | | Date | Thu, 12 Feb 2015 16:56:44 +0800 | From | Hekuang <> | Subject | Re: [PATCH] perf: fix building error in x86_64 |
| |
在 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 <hekuang@huawei.com> >> --- >> 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/ > . >
| |