On Wed, Sep 30, 2015 at 11:18:20AM +0800, He Kuang wrote:
Hi,
perf cross-compile error dual to fixdep is not a host executable, first bad commit
is 7c422f557266("tools build: Build fixdep helper from perf and basic libs")
Cross-compiling an aarch64 target on x86_64 host, error like this:
$ make ARCH=aarch64 O=xx/aarch64 CROSS_COMPILE=aarch64-linux-gnu
...
make[3]: *** [xx/aarch64/parse-utils.o] Error 126
make[3]: *** Waiting for unfinished jobs....
/bin/sh: xx/aarch64//fixdep: cannot execute binary file
$ uname -a
x86_64 x86_64 x86_64 GNU/Linux
$ file xx/aarch64//fixdep
xx/aarch64//fixdep : ELF 64-bit LSB executable, ARM aarch64, version 1
(SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for
GNU/Linux 3.7.0, not stripped
hum, we need fixdep to stay the host arch.. I should have seen it :-\
could you please check attached patch?
thanks,
jirka
---
diff --git a/tools/build/Makefile b/tools/build/Makefile
index a93036272d43..648897694992 100644
--- a/tools/build/Makefile
+++ b/tools/build/Makefile
@@ -5,15 +5,6 @@ endif
include $(srctree)/tools//scripts/Makefile.include
-define allow-override
- $(if $(or $(findstring environment,$(origin $(1))),\
- $(findstring command line,$(origin $(1)))),,\
- $(eval $(1) = $(2)))
-endef
-
-$(call allow-override,CC,$(CROSS_COMPILE)gcc)
-$(call allow-override,LD,$(CROSS_COMPILE)ld)
-
ifeq ($(V),1)
Q =
else