arch/x86: Move oformat definition into the linker file
This removes the boilerplate --oformat out of the makefile.mk Change-Id: Ib78934fff4a31c4375da2038efca5027b813b07b Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-on: https://review.coreboot.org/c/coreboot/+/83999 Reviewed-by: Elyes Haouas <ehaouas@noos.fr> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de>
This commit is contained in:
committed by
Felix Held
parent
89869144bf
commit
cb26ed489c
@ -56,11 +56,10 @@ endif # CONFIG_SOC_AMD_COMMON_BLOCK_LPC_SPI_DMA
|
|||||||
|
|
||||||
define x86_stage
|
define x86_stage
|
||||||
# $1 stage name
|
# $1 stage name
|
||||||
# $2 oformat
|
|
||||||
|
|
||||||
$$(objcbfs)/$(1).debug: $$$$($(1)-libs) $$$$($(1)-objs)
|
$$(objcbfs)/$(1).debug: $$$$($(1)-libs) $$$$($(1)-objs)
|
||||||
@printf " LINK $$(subst $$(obj)/,,$$(@))\n"
|
@printf " LINK $$(subst $$(obj)/,,$$(@))\n"
|
||||||
$$(LD_$(1)) $$(LDFLAGS_$(1)) -o $$@ -L$$(obj) $$(COMPILER_RT_FLAGS_$(1)) --whole-archive --start-group $$(filter-out %.ld,$$($(1)-objs)) $$($(1)-libs) --no-whole-archive $$(COMPILER_RT_$(1)) --end-group -T $(call src-to-obj,$(1),$(CONFIG_MEMLAYOUT_LD_FILE)) --oformat $(2)
|
$$(LD_$(1)) $$(LDFLAGS_$(1)) -o $$@ -L$$(obj) $$(COMPILER_RT_FLAGS_$(1)) --whole-archive --start-group $$(filter-out %.ld,$$($(1)-objs)) $$($(1)-libs) --no-whole-archive $$(COMPILER_RT_$(1)) --end-group -T $(call src-to-obj,$(1),$(CONFIG_MEMLAYOUT_LD_FILE))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
@ -91,11 +90,7 @@ bootblock-y += car.ld
|
|||||||
|
|
||||||
$(call src-to-obj,bootblock,$(dir)/id.S): $(obj)/build.h
|
$(call src-to-obj,bootblock,$(dir)/id.S): $(obj)/build.h
|
||||||
|
|
||||||
ifeq ($(CONFIG_ARCH_BOOTBLOCK_X86_32),y)
|
$(eval $(call x86_stage,bootblock))
|
||||||
$(eval $(call x86_stage,bootblock,elf32-i386))
|
|
||||||
else
|
|
||||||
$(eval $(call x86_stage,bootblock,elf64-x86-64))
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(CONFIG_BOOTBLOCK_IN_CBFS),y)
|
ifeq ($(CONFIG_BOOTBLOCK_IN_CBFS),y)
|
||||||
add_bootblock = \
|
add_bootblock = \
|
||||||
@ -144,11 +139,7 @@ verstage-y += car.ld
|
|||||||
|
|
||||||
verstage-libs ?=
|
verstage-libs ?=
|
||||||
|
|
||||||
ifeq ($(CONFIG_ARCH_VERSTAGE_X86_32),y)
|
$(eval $(call x86_stage,verstage))
|
||||||
$(eval $(call x86_stage,verstage,elf32-i386))
|
|
||||||
else
|
|
||||||
$(eval $(call x86_stage,verstage,elf64-x86-64))
|
|
||||||
endif
|
|
||||||
|
|
||||||
endif # CONFIG_ARCH_VERSTAGE_X86_32 / CONFIG_ARCH_VERSTAGE_X86_64
|
endif # CONFIG_ARCH_VERSTAGE_X86_32 / CONFIG_ARCH_VERSTAGE_X86_64
|
||||||
|
|
||||||
@ -183,11 +174,7 @@ romstage-y += car.ld
|
|||||||
romstage-srcs += $(wildcard $(src)/mainboard/$(MAINBOARDDIR)/romstage.c)
|
romstage-srcs += $(wildcard $(src)/mainboard/$(MAINBOARDDIR)/romstage.c)
|
||||||
romstage-libs ?=
|
romstage-libs ?=
|
||||||
|
|
||||||
ifeq ($(CONFIG_ARCH_ROMSTAGE_X86_32),y)
|
$(eval $(call x86_stage,romstage))
|
||||||
$(eval $(call x86_stage,romstage,elf32-i386))
|
|
||||||
else
|
|
||||||
$(eval $(call x86_stage,romstage,elf64-x86-64))
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Compiling crt0 with -g seems to trigger https://sourceware.org/bugzilla/show_bug.cgi?id=6428
|
# Compiling crt0 with -g seems to trigger https://sourceware.org/bugzilla/show_bug.cgi?id=6428
|
||||||
romstage-S-ccopts += -g0
|
romstage-S-ccopts += -g0
|
||||||
@ -225,11 +212,7 @@ postcar-$(CONFIG_HAVE_CF9_RESET) += cf9_reset.c
|
|||||||
|
|
||||||
LDFLAGS_postcar += -Map $(objcbfs)/postcar.map
|
LDFLAGS_postcar += -Map $(objcbfs)/postcar.map
|
||||||
|
|
||||||
ifeq ($(CONFIG_ARCH_POSTCAR_X86_32),y)
|
$(eval $(call x86_stage,postcar))
|
||||||
$(eval $(call x86_stage,postcar,elf32-i386))
|
|
||||||
else
|
|
||||||
$(eval $(call x86_stage,postcar,elf64-x86-64))
|
|
||||||
endif
|
|
||||||
|
|
||||||
$(objcbfs)/postcar.elf: $(objcbfs)/postcar.debug.rmod
|
$(objcbfs)/postcar.elf: $(objcbfs)/postcar.debug.rmod
|
||||||
cp $< $@
|
cp $< $@
|
||||||
@ -308,11 +291,7 @@ endif
|
|||||||
|
|
||||||
ramstage-libs ?=
|
ramstage-libs ?=
|
||||||
|
|
||||||
ifeq ($(CONFIG_ARCH_RAMSTAGE_X86_32),y)
|
$(eval $(call x86_stage,ramstage))
|
||||||
$(eval $(call x86_stage,ramstage,elf32-i386))
|
|
||||||
else
|
|
||||||
$(eval $(call x86_stage,ramstage,elf64-x86-64))
|
|
||||||
endif
|
|
||||||
|
|
||||||
$(objcbfs)/ramstage.elf: $(objcbfs)/ramstage.debug.rmod
|
$(objcbfs)/ramstage.elf: $(objcbfs)/ramstage.debug.rmod
|
||||||
cp $< $@
|
cp $< $@
|
||||||
|
@ -1,5 +1,13 @@
|
|||||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||||
|
|
||||||
|
#if ENV_X86_64
|
||||||
|
OUTPUT_FORMAT(elf64-x86-64)
|
||||||
|
OUTPUT_ARCH(i386:x86-64)
|
||||||
|
#else
|
||||||
|
OUTPUT_FORMAT(elf32-i386)
|
||||||
|
OUTPUT_ARCH(i386)
|
||||||
|
#endif
|
||||||
|
|
||||||
PHDRS
|
PHDRS
|
||||||
{
|
{
|
||||||
to_load PT_LOAD;
|
to_load PT_LOAD;
|
||||||
|
Reference in New Issue
Block a user