Generate build time and date message at link time.
So it updates each time a bootloader changes, not just when bl*_main.c
files are recompiled.
Fixes ARM-software/tf-issues#33
Change-Id: Ie8e1a7bd7e1913d2e96ac268606284f76af8c5ab
Signed-off-by: Jon Medhurst <tixy@linaro.org>
diff --git a/Makefile b/Makefile
index d0b18c9..e1a3501 100644
--- a/Makefile
+++ b/Makefile
@@ -353,8 +353,11 @@
$(ELF) : $(OBJS) $(LINKERFILE)
@echo " LD $$@"
+ @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)
+ --entry=$(BL$(1)_ENTRY_POINT) $(OBJS) \
+ $(BUILD_DIR)/build_message.o
$(DUMP) : $(ELF)
@echo " OD $$@"
diff --git a/bl1/bl1_main.c b/bl1/bl1_main.c
index b3adc25..401a525 100644
--- a/bl1/bl1_main.c
+++ b/bl1/bl1_main.c
@@ -70,7 +70,7 @@
/* Announce our arrival */
printf(FIRMWARE_WELCOME_STR);
- printf("Built : %s, %s\n\r", __TIME__, __DATE__);
+ printf("%s\n\r", build_message);
/*
* Find out how much free trusted ram remains after BL1 load
diff --git a/bl2/bl2_main.c b/bl2/bl2_main.c
index 74952da..1deebc8 100644
--- a/bl2/bl2_main.c
+++ b/bl2/bl2_main.c
@@ -58,9 +58,7 @@
/* Perform platform setup in BL1 */
bl2_platform_setup();
-#if defined(__GNUC__)
- printf("BL2 Built : %s, %s\n\r", __TIME__, __DATE__);
-#endif
+ printf("BL2 %s\n\r", build_message);
/* Find out how much free trusted ram remains after BL2 load */
bl2_tzram_layout = bl2_plat_sec_mem_layout();
diff --git a/bl31/bl31_main.c b/bl31/bl31_main.c
index 82449f5..536bb86 100644
--- a/bl31/bl31_main.c
+++ b/bl31/bl31_main.c
@@ -83,9 +83,8 @@
/* Perform platform setup in BL1 */
bl31_platform_setup();
-#if defined (__GNUC__)
- printf("BL31 Built : %s, %s\n\r", __TIME__, __DATE__);
-#endif
+ printf("BL31 %s\n\r", build_message);
+
/* Initialise helper libraries */
bl31_lib_init();
diff --git a/bl32/tsp/tsp_main.c b/bl32/tsp/tsp_main.c
index 05907f5..366aef0 100644
--- a/bl32/tsp/tsp_main.c
+++ b/bl32/tsp/tsp_main.c
@@ -121,9 +121,7 @@
tsp_stats[linear_id].cpu_on_count++;
spin_lock(&console_lock);
-#if defined (__GNUC__)
- printf("TSP Built : %s, %s\n\r", __TIME__, __DATE__);
-#endif
+ printf("TSP %s\n\r", build_message);
INFO("Total memory base : 0x%x\n", mem_layout->total_base);
INFO("Total memory size : 0x%x bytes\n", mem_layout->total_size);
INFO("Free memory base : 0x%x\n", mem_layout->free_base);
diff --git a/include/bl_common.h b/include/bl_common.h
index aad3d22..8139282 100644
--- a/include/bl_common.h
+++ b/include/bl_common.h
@@ -140,6 +140,7 @@
void *first_arg,
void *second_arg);
extern unsigned long *get_el_change_mem_ptr(void);
+extern const char build_message[];
#endif /*__ASSEMBLY__*/