perf not compiling on 64bit kernel 32bit userspace

From: Riccardo Magliocchetti
Date: Sun May 04 2014 - 10:40:24 EST


Hello,

compiling perf on 32 bit userspace and 64 bit kernel fails on x86 because
x86-64 assembly is compiled in:

CC bench/mem-memcpy-x86-64-asm.o
CC bench/mem-memset-x86-64-asm.o
bench/../../../arch/x86/lib/memcpy_64.S: Assembler messages:
bench/../../../arch/x86/lib/memcpy_64.S:29: Error: bad register name `%rdi'

Switching the check from RAW_ARCH to ARCH does the trick here on 3.14.2.
If someone could please take care of fixing Linus' master and add this to
the stable queue it would be much appreciated.

Thanks!

diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
index 7257e7e..00f632f 100644
--- a/tools/perf/Makefile.perf
+++ b/tools/perf/Makefile.perf
@@ -414,7 +414,7 @@ BUILTIN_OBJS += $(OUTPUT)builtin-bench.o
# Benchmark modules
BUILTIN_OBJS += $(OUTPUT)bench/sched-messaging.o
BUILTIN_OBJS += $(OUTPUT)bench/sched-pipe.o
-ifeq ($(RAW_ARCH),x86_64)
+ifeq ($(ARCH),x86_64)
BUILTIN_OBJS += $(OUTPUT)bench/mem-memcpy-x86-64-asm.o
BUILTIN_OBJS += $(OUTPUT)bench/mem-memset-x86-64-asm.o
endif

--
Riccardo Magliocchetti
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/