diff options
author | Jeenu Viswambharan <jeenu.viswambharan@arm.com> | 2014-03-11 11:06:45 +0000 |
---|---|---|
committer | Dan Handley <dan.handley@arm.com> | 2014-03-20 11:16:23 +0000 |
commit | 9f98aa1a7e33dd55851fd4feec0de9b40b6d9f10 (patch) | |
tree | bc3138bc69671cee12ca01c7dd46c1d45c36c7d7 | |
parent | 52538b9b3e1fcaa96a1bb466c86a35199d4fea67 (diff) |
Specify image entry in linker script
At present, the entry point for each BL image is specified via the
Makefiles and provided on the command line to the linker. When using a
link script the entry point should rather be specified via the ENTRY()
directive in the link script.
This patch updates linker scripts of all BL images to specify the entry
point using the ENTRY() directive. It also removes the --entry flag
passed to the linker through Makefile.
Fixes issue ARM-software/tf-issues#66
Change-Id: I1369493ebbacea31885b51185441f6b628cf8da0
-rw-r--r-- | Makefile | 3 | ||||
-rw-r--r-- | bl1/aarch64/bl1_entrypoint.S | 6 | ||||
-rw-r--r-- | bl1/bl1.ld.S | 1 | ||||
-rw-r--r-- | bl1/bl1.mk | 1 | ||||
-rw-r--r-- | bl2/bl2.ld.S | 1 | ||||
-rw-r--r-- | bl2/bl2.mk | 1 | ||||
-rw-r--r-- | bl31/bl31.ld.S | 1 | ||||
-rw-r--r-- | bl31/bl31.mk | 1 | ||||
-rw-r--r-- | bl32/tsp/tsp.ld.S | 2 | ||||
-rw-r--r-- | bl32/tsp/tsp.mk | 1 |
10 files changed, 9 insertions, 9 deletions
@@ -345,8 +345,7 @@ $(ELF) : $(OBJS) $(LINKERFILE) @echo 'const char build_message[] = "Built : "__TIME__", "__DATE__;' | \ $$(CC) $$(CFLAGS) -xc - -o $(BUILD_DIR)/build_message.o $$(Q)$$(LD) -o $$@ $$(LDFLAGS) -Map=$(MAPFILE) --script $(LINKERFILE) \ - --entry=$(BL$(1)_ENTRY_POINT) $(OBJS) \ - $(BUILD_DIR)/build_message.o + $(BUILD_DIR)/build_message.o $(OBJS) $(DUMP) : $(ELF) @echo " OD $$@" diff --git a/bl1/aarch64/bl1_entrypoint.S b/bl1/aarch64/bl1_entrypoint.S index 197eac00..8d120453 100644 --- a/bl1/aarch64/bl1_entrypoint.S +++ b/bl1/aarch64/bl1_entrypoint.S @@ -30,19 +30,19 @@ #include <arch.h> - .globl reset_handler + .globl bl1_entrypoint .section .text, "ax"; .align 3 /* ----------------------------------------------------- - * reset_handler() is the entry point into the trusted + * bl1_entrypoint() is the entry point into the trusted * firmware code when a cpu is released from warm or * cold reset. * ----------------------------------------------------- */ -reset_handler: ; .type reset_handler, %function +bl1_entrypoint: ; .type bl1_entrypoint, %function /* --------------------------------------------- * Perform any processor specific actions upon * reset e.g. cache, tlb invalidations etc. diff --git a/bl1/bl1.ld.S b/bl1/bl1.ld.S index 0663b6fc..012ff582 100644 --- a/bl1/bl1.ld.S +++ b/bl1/bl1.ld.S @@ -32,6 +32,7 @@ OUTPUT_FORMAT(PLATFORM_LINKER_FORMAT) OUTPUT_ARCH(PLATFORM_LINKER_ARCH) +ENTRY(bl1_entrypoint) MEMORY { ROM (rx): ORIGIN = TZROM_BASE, LENGTH = TZROM_SIZE @@ -49,5 +49,4 @@ BL1_SOURCES += bl1_arch_setup.c \ bl1_main.c \ cpu_helpers.S -BL1_ENTRY_POINT := reset_handler BL1_LINKERFILE := bl1.ld.S diff --git a/bl2/bl2.ld.S b/bl2/bl2.ld.S index ea86e0aa..09dec758 100644 --- a/bl2/bl2.ld.S +++ b/bl2/bl2.ld.S @@ -32,6 +32,7 @@ OUTPUT_FORMAT(PLATFORM_LINKER_FORMAT) OUTPUT_ARCH(PLATFORM_LINKER_ARCH) +ENTRY(bl2_entrypoint) MEMORY { RAM (rwx): ORIGIN = TZRAM_BASE, LENGTH = TZRAM_SIZE @@ -46,7 +46,6 @@ BL2_SOURCES += bl2_entrypoint.S \ spinlock.S \ early_exceptions.S -BL2_ENTRY_POINT := bl2_entrypoint BL2_LINKERFILE := bl2.ld.S CFLAGS += $(DEFINES) diff --git a/bl31/bl31.ld.S b/bl31/bl31.ld.S index 0a78c41a..844f1696 100644 --- a/bl31/bl31.ld.S +++ b/bl31/bl31.ld.S @@ -32,6 +32,7 @@ OUTPUT_FORMAT(PLATFORM_LINKER_FORMAT) OUTPUT_ARCH(PLATFORM_LINKER_ARCH) +ENTRY(bl31_entrypoint) MEMORY { diff --git a/bl31/bl31.mk b/bl31/bl31.mk index 8f6998c6..dffe3368 100644 --- a/bl31/bl31.mk +++ b/bl31/bl31.mk @@ -69,5 +69,4 @@ BL31_SOURCES += bl31_arch_setup.c \ context_mgmt.c \ context.S -BL31_ENTRY_POINT := bl31_entrypoint BL31_LINKERFILE := bl31.ld.S diff --git a/bl32/tsp/tsp.ld.S b/bl32/tsp/tsp.ld.S index 30d9a93b..74b03ad5 100644 --- a/bl32/tsp/tsp.ld.S +++ b/bl32/tsp/tsp.ld.S @@ -32,6 +32,8 @@ OUTPUT_FORMAT(PLATFORM_LINKER_FORMAT) OUTPUT_ARCH(PLATFORM_LINKER_ARCH) +ENTRY(tsp_entrypoint) + MEMORY { RAM (rwx): ORIGIN = TZDRAM_BASE, LENGTH = TZDRAM_SIZE diff --git a/bl32/tsp/tsp.mk b/bl32/tsp/tsp.mk index a16c9702..99c83708 100644 --- a/bl32/tsp/tsp.mk +++ b/bl32/tsp/tsp.mk @@ -44,7 +44,6 @@ BL32_SOURCES += tsp_entrypoint.S \ spinlock.S \ early_exceptions.S -BL32_ENTRY_POINT := tsp_entrypoint BL32_LINKERFILE := tsp.ld.S vpath %.ld.S ${BL32_ROOT} |