x86: biarch support for 32 bit builds beautified
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>
This commit is contained in:
parent
25dfeeb757
commit
4ba7e5cd49
2 changed files with 5 additions and 10 deletions
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue