From 40a6f64795847f2b96ec24e9b11cb7002f0b48bf Mon Sep 17 00:00:00 2001 From: James Morrissey Date: Mon, 10 Feb 2014 14:24:36 +0000 Subject: [PATCH] Fix asserts appearing in release builds Also fix warnings generated in release builds when assert code is absent. Change-Id: I45b9173d3888f9e93e98eb5b4fdc06727ba5cbf4 --- Makefile | 2 ++ bl1/bl1_main.c | 2 ++ common/bl_common.c | 5 +++-- common/psci/psci_common.c | 7 +++++-- common/psci/psci_setup.c | 5 ++--- plat/fvp/aarch64/plat_common.c | 5 +++-- 6 files changed, 17 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index 7938318de..f64a700c3 100644 --- a/Makefile +++ b/Makefile @@ -154,6 +154,8 @@ ifneq (${DEBUG}, 0) CFLAGS += -g # -save-temps -fverbose-asm ASFLAGS += -g -Wa,--gdwarf-2 +else +CFLAGS += -DNDEBUG=1 endif diff --git a/bl1/bl1_main.c b/bl1/bl1_main.c index df9237435..06ab4e59e 100644 --- a/bl1/bl1_main.c +++ b/bl1/bl1_main.c @@ -47,7 +47,9 @@ void bl1_arch_next_el_setup(void); ******************************************************************************/ void bl1_main(void) { +#if DEBUG unsigned long sctlr_el3 = read_sctlr(); +#endif unsigned long bl2_base; unsigned int load_type = TOP_LOAD, spsr; meminfo *bl1_tzram_layout; diff --git a/common/bl_common.c b/common/bl_common.c index 0a0c5cd80..d401f8cc2 100644 --- a/common/bl_common.c +++ b/common/bl_common.c @@ -272,8 +272,9 @@ unsigned long load_image(meminfo *mem_layout, unsigned int load_type, unsigned long fixed_addr) { - unsigned long temp_image_base, image_base; - long offset; + unsigned long temp_image_base = 0; + unsigned long image_base = 0; + long offset = 0; int image_flen; /* Find the size of the image */ diff --git a/common/psci/psci_common.c b/common/psci/psci_common.c index e6be2f86e..193655ddc 100644 --- a/common/psci/psci_common.c +++ b/common/psci/psci_common.c @@ -37,6 +37,7 @@ #include #include #include +#include "debug.h" /******************************************************************************* * Arrays that contains information needs to resume a cpu's execution when woken @@ -511,7 +512,8 @@ void psci_afflvl_power_on_finish(unsigned long mpidr, start_afflvl, end_afflvl, mpidr_nodes); - assert (rc == PSCI_E_SUCCESS); + if (rc != PSCI_E_SUCCESS) + panic(); /* * This function acquires the lock corresponding to each affinity @@ -529,7 +531,8 @@ void psci_afflvl_power_on_finish(unsigned long mpidr, end_afflvl, pon_handlers, mpidr); - assert (rc == PSCI_E_SUCCESS); + if (rc != PSCI_E_SUCCESS) + panic(); /* * This loop releases the lock corresponding to each affinity level diff --git a/common/psci/psci_setup.c b/common/psci/psci_setup.c index c0d29f242..4c32b411a 100644 --- a/common/psci/psci_setup.c +++ b/common/psci/psci_setup.c @@ -255,7 +255,7 @@ static unsigned int psci_init_aff_map(unsigned long mpidr, ******************************************************************************/ void psci_setup(unsigned long mpidr) { - int afflvl, affmap_idx, rc, max_afflvl; + int afflvl, affmap_idx, max_afflvl; aff_map_node *node; /* Initialize psci's internal state */ @@ -314,8 +314,7 @@ void psci_setup(unsigned long mpidr) psci_set_state(node, PSCI_STATE_ON); } - rc = platform_setup_pm(&psci_plat_pm_ops); - assert(rc == 0); + platform_setup_pm(&psci_plat_pm_ops); assert(psci_plat_pm_ops); return; diff --git a/plat/fvp/aarch64/plat_common.c b/plat/fvp/aarch64/plat_common.c index 8568bfe28..5b53aafb8 100644 --- a/plat/fvp/aarch64/plat_common.c +++ b/plat/fvp/aarch64/plat_common.c @@ -35,6 +35,7 @@ #include /* Included only for error codes */ #include +#include "debug.h" unsigned char platform_normal_stacks[PLATFORM_STACK_SIZE][PLATFORM_CORE_COUNT] __attribute__ ((aligned(PLATFORM_CACHE_LINE_SIZE), @@ -534,8 +535,8 @@ int platform_config_setup(void) bld = (sys_id >> SYS_ID_BLD_SHIFT) & SYS_ID_BLD_MASK; arch = (sys_id >> SYS_ID_ARCH_SHIFT) & SYS_ID_ARCH_MASK; - assert(rev == REV_FVP); - assert(arch == ARCH_MODEL); + if ((rev != REV_FVP) || (arch != ARCH_MODEL)) + panic(); /* * The build field in the SYS_ID tells which variant of the GIC