x86: biarch support for 32 bit builds beautified
authorSam Ravnborg <sam@ravnborg.org>
Wed, 30 Jan 2008 12:32:23 +0000 (13:32 +0100)
committerIngo Molnar <mingo@elte.hu>
Wed, 30 Jan 2008 12:32:23 +0000 (13:32 +0100)
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@ravnborg.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/Makefile
arch/x86/boot/Makefile

index 0c5b4072d134c03e12a69506be6b4444b9ac2b99..bfe061de8ed6dcdc3a249a143744c0d15c1e748d 100644 (file)
@@ -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
 
index 7a3116ccf3878d6e3212f8d4e346a3ceef912e8b..dcad6507f196f369c1a904dd85b4f542d1f515bd 100644 (file)
@@ -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