Re: [BUG] perf cross-compile error dual to fixdep not host-exe

From: Jiri Olsa
Date: Wed Sep 30 2015 - 02:13:21 EST


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
--
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/