[PATCH]: cross-compiling x86_64 kernel on i386 user-space fails

Chris Clayton
2014-11-22T09:51:10Z

Hi,

Commit e6023367d779060fddc9a52d1f474085b2b36298 broke building an x86_64 kernel in an i386. The change added a call to
objdump but neglected to cater for cross-compiling.

The patch below fixes the problem for me. I see the commit is now in 3.14 and 3.17 -stable, so the patch needs to go
there too.

CC: Junjie Mao <eternal.n08@gmail.com>
CC: Kees Cook <keescook@chromium.org>
CC: Thomas Gleixner <tglx@linutronix.de>
CC: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Chris Clayton <chris2553@googlemail.com>
---
--- linux/arch/x86/boot/compressed/Makefile~ 2014-11-22 08:56:50.359706324 +0000
+++ linux/arch/x86/boot/compressed/Makefile 2014-11-22 09:04:06.615693435 +0000
@@ -76,7 +76,7 @@ suffix-$(CONFIG_KERNEL_XZ) := xz
suffix-$(CONFIG_KERNEL_LZO) := lzo
suffix-$(CONFIG_KERNEL_LZ4) := lz4

-RUN_SIZE = $(shell objdump -h vmlinux | \
+RUN_SIZE = $(shell ${CROSS_COMPILE}objdump -h vmlinux | \
perl $(srctree)/arch/x86/tools/calc_run_size.pl)
quiet_cmd_mkpiggy = MKPIGGY $@
cmd_mkpiggy = $(obj)/mkpiggy $< $(RUN_SIZE) > $@ || ( rm -f $@ ; false )