Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[PATCH] Fix boot code head.S warning

When compiling a 64-bit kernel on an Ubuntu 6.06 32bit system (whose GCC is also
a cross-compiler for x86_64) I've seen that head.o is compiled as a 64-bit file
(while it should not) and ld complaining about this during linking:
[AK: it happens on all systems with new binutils]

ld: warning: i386:x86-64 architecture of input file
`arch/x86_64/boot/compressed/head.o' is incompatible with i386 output

I've verified that removing -m64 from compilation flags to turn
"-m64 -traditional -m32" into "-traditional -m32" fixes the issue.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andi Kleen <ak@suse.de>

authored by

Paolo 'Blaisorblade' Giarrusso and committed by
Andi Kleen
b3698c03 7a0a2dff

+2 -1
+2 -1
arch/x86_64/boot/compressed/Makefile
··· 7 7 # 8 8 9 9 targets := vmlinux vmlinux.bin vmlinux.bin.gz head.o misc.o piggy.o 10 - EXTRA_AFLAGS := -traditional -m32 10 + EXTRA_AFLAGS := -traditional 11 + AFLAGS := $(subst -m64,-m32,$(AFLAGS)) 11 12 12 13 # cannot use EXTRA_CFLAGS because base CFLAGS contains -mkernel which conflicts with 13 14 # -m32