x86: Enable 32-bit build using x86_64 multilib toolchain
Until now building the x86 arch boards required 32-bit toolchain. As many x86_64 toolchains come with 32-bit support (multilib) that's a good idea to enable build with such toolchains. The change required was to specify the usage of 32-bit explicitly to the compiler and the linker (-m32 and -m elf_i386 flags) and locate the right libgcc path. Signed-off-by: Vasili Galka <vvv444@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
038380597b
commit
dbb7234b2a
@ -16,17 +16,18 @@ PF_CPPFLAGS_X86 := $(call cc-option, -fno-toplevel-reorder, \
|
||||
PLATFORM_CPPFLAGS += $(PF_CPPFLAGS_X86)
|
||||
PLATFORM_CPPFLAGS += -fno-dwarf2-cfi-asm
|
||||
PLATFORM_CPPFLAGS += -DREALMODE_BASE=0x7c0
|
||||
PLATFORM_CPPFLAGS += -march=i386 -m32
|
||||
|
||||
# Support generic board on x86
|
||||
__HAVE_ARCH_GENERIC_BOARD := y
|
||||
|
||||
PLATFORM_RELFLAGS += -ffunction-sections -fvisibility=hidden
|
||||
|
||||
PLATFORM_LDFLAGS += --emit-relocs -Bsymbolic -Bsymbolic-functions
|
||||
PLATFORM_LDFLAGS += --emit-relocs -Bsymbolic -Bsymbolic-functions -m elf_i386
|
||||
|
||||
LDFLAGS_FINAL += --gc-sections -pie
|
||||
LDFLAGS_FINAL += --wrap=__divdi3 --wrap=__udivdi3
|
||||
LDFLAGS_FINAL += --wrap=__moddi3 --wrap=__umoddi3
|
||||
|
||||
export NORMAL_LIBGCC = $(shell $(CC) $(CFLAGS) -print-libgcc-file-name)
|
||||
export NORMAL_LIBGCC = $(shell $(CC) $(PLATFORM_CPPFLAGS) -print-libgcc-file-name)
|
||||
CONFIG_USE_PRIVATE_LIBGCC := arch/x86/lib
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
CROSS_COMPILE ?= i386-linux-
|
||||
|
||||
PLATFORM_CPPFLAGS += -DCONFIG_X86 -D__I386__ -march=i386 -Werror
|
||||
PLATFORM_CPPFLAGS += -DCONFIG_X86 -D__I386__ -Werror
|
||||
|
||||
# DO NOT MODIFY THE FOLLOWING UNLESS YOU REALLY KNOW WHAT YOU ARE DOING!
|
||||
LDPPFLAGS += -DRESET_SEG_START=0xffff0000
|
||||
|
Loading…
Reference in New Issue
Block a user