[PATCH 3/5] x86: biarch support for 32 bit builds beautified

From: Sam Ravnborg
Date: Sat Dec 29 2007 - 15:41:29 EST


From: Sam Ravnborg <sam@xxxxxxxxxxxxxxxxxxx>

There were no reason to mess around with CC, AS and LD.
Fixing this up avoided duplicated option for ld.

A small fixlet were needed in boot/Makefile which assumed
that CC were modified.

Signed-off-by: Sam Ravnborg <sam@xxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
---
arch/x86/Makefile | 11 ++++-------
arch/x86/boot/Makefile | 4 +---
2 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index 4124df5..027929e 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -15,18 +15,15 @@ export BITS
ifeq ($(CONFIG_X86_32),y)
BITS := 32
UTS_MACHINE := i386
+ CHECKFLAGS += -D__i386__

- HAS_BIARCH := $(call cc-option-yn, -m32)
- ifeq ($(HAS_BIARCH),y)
- AS := $(AS) --32
- LD := $(LD) -m elf_i386
- CC := $(CC) -m32
- endif
+ biarch := $(call cc-option,-m32)
+ KBUILD_AFLAGS += $(biarch)
+ KBUILD_CFLAGS += $(biarch)

ifdef CONFIG_RELOCATABLE
LDFLAGS_vmlinux := --emit-relocs
endif
- CHECKFLAGS += -D__i386__

KBUILD_CFLAGS += -msoft-float -mregparm=3 -freg-struct-return

diff --git a/arch/x86/boot/Makefile b/arch/x86/boot/Makefile
index 7a3116c..dcad650 100644
--- a/arch/x86/boot/Makefile
+++ b/arch/x86/boot/Makefile
@@ -49,10 +49,7 @@ HOSTCFLAGS_build.o := $(LINUXINCLUDE)

# How to compile the 16-bit code. Note we always compile for -march=i386,
# that way we can complain to the user if the CPU is insufficient.
-cflags-$(CONFIG_X86_32) :=
-cflags-$(CONFIG_X86_64) := -m32
KBUILD_CFLAGS := $(LINUXINCLUDE) -g -Os -D_SETUP -D__KERNEL__ \
- $(cflags-y) \
-Wall -Wstrict-prototypes \
-march=i386 -mregparm=3 \
-include $(srctree)/$(src)/code16gcc.h \
@@ -62,6 +59,7 @@ KBUILD_CFLAGS := $(LINUXINCLUDE) -g -Os -D_SETUP -D__KERNEL__ \
$(call cc-option, -fno-unit-at-a-time)) \
$(call cc-option, -fno-stack-protector) \
$(call cc-option, -mpreferred-stack-boundary=2)
+KBUILD_CFLAGS += $(call cc-option,-m32)
KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__

$(obj)/zImage: IMAGE_OFFSET := 0x1000
--
1.5.3.7.1112.g9758e

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