diff options
author | Lin Ming <ming.m.lin@intel.com> | 2011-05-07 00:41:14 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2011-05-07 05:40:59 -0400 |
commit | 174a7b1f9692acad7f0ca2b02f696894201a6d94 (patch) | |
tree | cb952b7d4fc8de1fe0af01e44992e3245818de81 /tools | |
parent | 63b6a6758eede2f9283c3594265b6e32e75d7456 (diff) |
perf tools: Makefile: Use gcc to determine ARCH
The original Makefile uses "uname -m" to determine ARCH.
This causes problem on x86 when compile perf tool on 32 bit
userspace with a 64 bit kernel.
bench/../../../arch/x86/lib/memcpy_64.S: Assembler messages:
bench/../../../arch/x86/lib/memcpy_64.S:28: Error: bad register name `%rdi'
This is because "uname -m" returns x86_64 and memcpy_64.S is
included in 32 bit build.
Reported-by: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Arnaldo Carvalho de Melo <acme@infradead.org>
Link: http://lkml.kernel.org/r/1304743274.3132.17.camel@localhost
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/perf/Makefile | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/tools/perf/Makefile b/tools/perf/Makefile index 207dee5c5b16..0c542563ea6c 100644 --- a/tools/perf/Makefile +++ b/tools/perf/Makefile | |||
@@ -35,15 +35,21 @@ ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \ | |||
35 | -e s/ppc.*/powerpc/ -e s/mips.*/mips/ \ | 35 | -e s/ppc.*/powerpc/ -e s/mips.*/mips/ \ |
36 | -e s/sh[234].*/sh/ ) | 36 | -e s/sh[234].*/sh/ ) |
37 | 37 | ||
38 | CC = $(CROSS_COMPILE)gcc | ||
39 | AR = $(CROSS_COMPILE)ar | ||
40 | |||
38 | # Additional ARCH settings for x86 | 41 | # Additional ARCH settings for x86 |
39 | ifeq ($(ARCH),i386) | 42 | ifeq ($(ARCH),i386) |
40 | ARCH := x86 | 43 | ARCH := x86 |
41 | endif | 44 | endif |
42 | ifeq ($(ARCH),x86_64) | 45 | ifeq ($(ARCH),x86_64) |
43 | RAW_ARCH := x86_64 | 46 | ARCH := x86 |
44 | ARCH := x86 | 47 | IS_X86_64 := $(shell echo __x86_64__ | ${CC} -E -xc - | tail -n 1) |
45 | ARCH_CFLAGS := -DARCH_X86_64 | 48 | ifeq (${IS_X86_64}, 1) |
46 | ARCH_INCLUDE = ../../arch/x86/lib/memcpy_64.S | 49 | RAW_ARCH := x86_64 |
50 | ARCH_CFLAGS := -DARCH_X86_64 | ||
51 | ARCH_INCLUDE = ../../arch/x86/lib/memcpy_64.S | ||
52 | endif | ||
47 | endif | 53 | endif |
48 | 54 | ||
49 | # | 55 | # |
@@ -119,8 +125,6 @@ lib = lib | |||
119 | 125 | ||
120 | export prefix bindir sharedir sysconfdir | 126 | export prefix bindir sharedir sysconfdir |
121 | 127 | ||
122 | CC = $(CROSS_COMPILE)gcc | ||
123 | AR = $(CROSS_COMPILE)ar | ||
124 | RM = rm -f | 128 | RM = rm -f |
125 | MKDIR = mkdir | 129 | MKDIR = mkdir |
126 | FIND = find | 130 | FIND = find |