From: Denis Mukhin <[email protected]> Fix objcopy/ld parameters for x86 to enable CONFIG_REMAKE_ELF configurations.
That adds new 'PLATFORM_ELF_ELFLDFLAGS' make variable for injecting proper linker arguments when u-boot.elf is requested. Signed-off-by: Denis Mukhin <[email protected]> --- CI: https://github.com/u-boot/u-boot/pull/1013 --- Makefile | 1 + arch/x86/config.mk | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 8cb9a06f6a41..31db0d37a631 100644 --- a/Makefile +++ b/Makefile @@ -1937,6 +1937,7 @@ u-boot-with-spl-pbl.bin: spl/u-boot-spl.pbl $(UBOOT_BINLOAD) FORCE quiet_cmd_u-boot-elf ?= LD $@ cmd_u-boot-elf ?= $(LD) u-boot-elf.o -o $@ \ $(if $(CONFIG_SYS_BIG_ENDIAN),-EB,-EL) \ + $(PLATFORM_ELFLDFLAGS) \ -T u-boot-elf.lds --defsym=$(CONFIG_PLATFORM_ELFENTRY)=$(CONFIG_TEXT_BASE) \ -Ttext=$(CONFIG_TEXT_BASE) u-boot.elf: u-boot.bin u-boot-elf.lds diff --git a/arch/x86/config.mk b/arch/x86/config.mk index c2bb5549b7c8..4a6404344679 100644 --- a/arch/x86/config.mk +++ b/arch/x86/config.mk @@ -24,9 +24,13 @@ EFI_IS_32BIT := endif ifeq ($(IS_32BIT),y) -PLATFORM_CPPFLAGS += -march=i386 -m32 +PLATFORM_CPPFLAGS += -march=i386 -m32 +PLATFORM_ELFFLAGS += -O elf32-i386 -B i386 +PLATFORM_ELFLDFLAGS += -m elf_i386 else -PLATFORM_CPPFLAGS += $(if $(CONFIG_XPL_BUILD),,-fpic) -fno-common -march=core2 -m64 +PLATFORM_CPPFLAGS += $(if $(CONFIG_XPL_BUILD),,-fpic) -fno-common -march=core2 -m64 +PLATFORM_ELFFLAGS += -O elf64-x86-64 -B i386:x86-64 +PLATFORM_ELFLDFLAGS += -m elf_x86_64 ifndef CONFIG_X86_HARDFP PLATFORM_CPPFLAGS += -mno-mmx -mno-sse -- 2.54.0

