From d33aba4a8dc134606d68ac3ac5132b4a9eafcad8 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 10 Feb 2025 09:31:35 -0600 Subject: [PATCH] bsps/arm/shared/cp15/arm920-mmu.c: Fix array overwrite An extern for the linker symbol _ttbl_base was declared incorrectly and gcc reported an overwrite of the four byte area by 16K. Switched to using the standard linker symbol macros and the warning was removed. --- bsps/arm/shared/cp15/arm920-mmu.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bsps/arm/shared/cp15/arm920-mmu.c b/bsps/arm/shared/cp15/arm920-mmu.c index b76daa6c7a..9080cc579a 100644 --- a/bsps/arm/shared/cp15/arm920-mmu.c +++ b/bsps/arm/shared/cp15/arm920-mmu.c @@ -9,10 +9,11 @@ #include #include +#include typedef uint32_t mmu_lvl1_t; -extern uint32_t _ttbl_base; +LINKER_SYMBOL(_ttbl_base); static void mmu_set_map_inval(mmu_lvl1_t *base); @@ -53,7 +54,7 @@ void mmu_init(mmu_sect_map_t *map) /* set manage mode access for all domains */ arm_cp15_set_domain_access_control(0xffffffff); - lvl1_base = (mmu_lvl1_t *)&_ttbl_base; + lvl1_base = (mmu_lvl1_t *)_ttbl_base; /* set up the trans table */ mmu_set_map_inval(lvl1_base);