All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] x86: add support for CONFIG_REMAKE_ELF
@ 2026-07-23  0:52 Denis Mukhin via U-Boot
  2026-07-28 12:07 ` Simon Glass
  2026-07-30 13:38 ` Tom Rini
  0 siblings, 2 replies; 3+ messages in thread
From: Denis Mukhin via U-Boot @ 2026-07-23  0:52 UTC (permalink / raw)
  To: u-boot; +Cc: sjg, trini, dmukhin

From: Denis Mukhin <dmukhin@ford.com> 

x86 builds with CONFIG_REMAKE_ELF fail as the following:
...
u-boot-elf.o: file not recognized: file format not recognized
...

Fix objcopy/ld parameters for x86 to enable CONFIG_REMAKE_ELF
configurations in both SPL and U-Boot proper builds.

Add a new 'PLATFORM_ELFLDFLAGS' make variable for injecting
proper linker arguments when u-boot.elf is requested.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
Changes since v1:
- added SPL build
- fixed commit message
- CI: https://github.com/u-boot/u-boot/pull/1016
- v1: https://lore.kernel.org/u-boot/20260716205213.340109-2-dmukhin@ford.com/
---
 Makefile           | 2 ++
 arch/x86/config.mk | 3 +++
 2 files changed, 5 insertions(+)

diff --git a/Makefile b/Makefile
index 56f59c24cf89..ab2121c87007 100644
--- a/Makefile
+++ b/Makefile
@@ -2003,6 +2003,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 FORCE
@@ -2012,6 +2013,7 @@ u-boot.elf: u-boot.bin u-boot-elf.lds FORCE
 quiet_cmd_u-boot-spl-elf ?= LD      $@
 	cmd_u-boot-spl-elf ?= $(LD) spl/u-boot-spl-elf.o -o $@ \
 	$(if $(CONFIG_SYS_BIG_ENDIAN),-EB,-EL) \
+	$(PLATFORM_ELFLDFLAGS) \
 	-T u-boot-elf.lds --defsym=$(CONFIG_PLATFORM_ELFENTRY)=$(CONFIG_SPL_TEXT_BASE) \
 	-Ttext=$(CONFIG_SPL_TEXT_BASE)
 spl/u-boot-spl.elf: spl/u-boot-spl.bin u-boot-elf.lds
diff --git a/arch/x86/config.mk b/arch/x86/config.mk
index c2bb5549b7c8..a62015e1a64c 100644
--- a/arch/x86/config.mk
+++ b/arch/x86/config.mk
@@ -25,8 +25,10 @@ endif
 
 ifeq ($(IS_32BIT),y)
 PLATFORM_CPPFLAGS += -march=i386 -m32
+PLATFORM_ELFFLAGS += -O elf32-i386 -B i386
 else
 PLATFORM_CPPFLAGS += $(if $(CONFIG_XPL_BUILD),,-fpic) -fno-common -march=core2 -m64
+PLATFORM_ELFFLAGS += -O elf64-x86-64 -B i386:x86-64
 
 ifndef CONFIG_X86_HARDFP
 PLATFORM_CPPFLAGS += -mno-mmx -mno-sse
@@ -38,6 +40,7 @@ PLATFORM_RELFLAGS += -fdata-sections -ffunction-sections -fvisibility=hidden
 
 KBUILD_LDFLAGS += -Bsymbolic -Bsymbolic-functions
 KBUILD_LDFLAGS += -m $(if $(IS_32BIT),elf_i386,elf_x86_64)
+PLATFORM_ELFLDFLAGS += -m $(if $(IS_32BIT),elf_i386,elf_x86_64)
 
 # This is used in the top-level Makefile which does not include
 # KBUILD_LDFLAGS
-- 
2.54.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-07-30 13:38 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-23  0:52 [PATCH v2] x86: add support for CONFIG_REMAKE_ELF Denis Mukhin via U-Boot
2026-07-28 12:07 ` Simon Glass
2026-07-30 13:38 ` Tom Rini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.