diff options
author | Aaron Durbin <adurbin@chromium.org> | 2015-04-03 20:33:39 -0500 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2015-04-04 09:05:27 +0200 |
commit | 8adf1bf2f387c31a8f0575164d90afddd5c17805 (patch) | |
tree | 238f75d57307cdb409552abf40e89235b079fae3 /src/arch | |
parent | 1ea2e76035e165b31dc3eb638ead1caa92db7bc4 (diff) |
arm64: make secmon link with the manual template
Secmon needs a special build rule because of the objcopy -B
operation required to include it in ramstage. Utilize the
manual template so builds continue to work with upcoming
build chnages.
Note: secmon is actually missing symbols still so those
still need to be addressed. That looks to be as if
--gc-sections isn't be honored, but I'm actually thinking
the symbols are just erroneously carried over as the
references for these symbols don't show up in the
symbol table:
U coreboot_build
U coreboot_extra_version
U coreboot_version
U default_baudrate
U lb_add_console
U lb_add_serial
U uart_baudrate_divisor
Change-Id: I41c75e93536b73c4304ef3a87dc39d448d1f00d4
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/9300
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/arm64/armv8/secmon/Makefile.inc | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/arch/arm64/armv8/secmon/Makefile.inc b/src/arch/arm64/armv8/secmon/Makefile.inc index 85c3c0a161..f9ce4f690e 100644 --- a/src/arch/arm64/armv8/secmon/Makefile.inc +++ b/src/arch/arm64/armv8/secmon/Makefile.inc @@ -23,10 +23,10 @@ $(eval $(call create_class_compiler,secmon,arm64)) SECMON_DIR=$(obj)/arch/arm64/armv8/secmon SECMON_BIN=$(SECMON_DIR)/secmon -SECMON_OBJ=$(SECMON_DIR)/secmon.o -SECMON_ELF=$(SECMON_DIR)/secmon.elf -SECMON_RMOD=$(SECMON_DIR)/secmon.elf.rmod -SECMON_RAMSTAGE=$(SECMON_DIR)/secmon.ramstage.o +SECMON_OBJ=$(SECMON_BIN).o +SECMON_ELF=$(SECMON_BIN).elf +SECMON_RMOD=$(SECMON_ELF).rmod +SECMON_RAMSTAGE=$(SECMON_DIR)/secmon.manual secmon-generic-ccopts += -I$(src)/arch/arm64/include/armv8/ -include $(src)/include/kconfig.h -D__SECMON__ @@ -38,16 +38,16 @@ secmon-y += ../exception.c secmon-y += ../../cpu.c secmon-y += ../../transition_asm.S ../../transition.c -ramstage-srcs += $(SECMON_BIN).o +ramstage-srcs += $(SECMON_RAMSTAGE) $(SECMON_OBJ): $$(secmon-objs) - $(CC_secmon) $(LDFLAGS) -nostdlib -r -o $@ $^ + $(CC_secmon) $(LDFLAGS) -nostdlib -r -o $@ $^ $(eval $(call rmodule_link,$(SECMON_ELF), $(SECMON_OBJ), 0,arm64)) $(SECMON_BIN): $(SECMON_RMOD) - $(OBJCOPY_secmon) -O binary $< $@ + $(OBJCOPY_secmon) -O binary $< $@ -$(SECMON_RAMSTAGE): $(SECMON_BIN) - @printf " OBJCOPY $(subst $(obj)/,,$(@))\n" - cd $(dir $@); $(OBJCOPY_secmon) -I binary $(notdir $<) -O elf64-littleaarch64 -B aarch64 $(notdir $@) +$(SECMON_BIN).ramstage.manual: $(SECMON_BIN) + @printf " OBJCOPY $(subst $(obj)/,,$(@))\n" + cd $(dir $@); $(OBJCOPY_secmon) -I binary $(notdir $<) -O elf64-littleaarch64 -B aarch64 $(notdir $@) |