diff options
| -rw-r--r-- | Makefile | 13 | 
1 files changed, 13 insertions, 0 deletions
| @@ -358,6 +358,7 @@ ALL-$(CONFIG_OF_SEPARATE) += $(obj)u-boot.dtb $(obj)u-boot-dtb.bin  ifneq ($(CONFIG_SPL_TARGET),)  ALL-$(CONFIG_SPL) += $(obj)$(subst ",,$(CONFIG_SPL_TARGET))  endif +ALL-$(CONFIG_REMAKE_ELF) += $(obj)u-boot.elf  # enable combined SPL/u-boot/dtb rules for tegra  ifneq ($(CONFIG_TEGRA),) @@ -528,6 +529,18 @@ $(obj)u-boot-img-spl-at-end.bin: $(obj)spl/u-boot-spl.bin $(obj)u-boot.img  			conv=notrunc 2>/dev/null  		cat $(obj)u-boot-pad.img $(obj)spl/u-boot-spl.bin > $@ +# Create a new ELF from a raw binary file.  This is useful for arm64 +# where static relocation needs to be performed on the raw binary, +# but certain simulators only accept an ELF file (but don't do the +# relocation). +# FIXME refactor dts/Makefile to share target/arch detection +$(obj)u-boot.elf: $(obj)u-boot.bin +	@$(OBJCOPY)  -B aarch64 -I binary -O elf64-littleaarch64 \ +		$< $(obj)u-boot-elf.o +	@$(LD) $(obj)u-boot-elf.o -o $@ \ +		--defsym=_start=$(CONFIG_SYS_TEXT_BASE) \ +		-Ttext=$(CONFIG_SYS_TEXT_BASE) +  ifeq ($(CONFIG_SANDBOX),y)  GEN_UBOOT = \  		cd $(LNDIR) && $(CC) $(SYMS) -T $(obj)u-boot.lds \ |