[PATCH 1/1] arm: provide noncached_set_region prototype to fix build
Jonas Jelonek
jelonek.jonas at gmail.com
Wed Oct 16 13:24:55 CEST 2024
Due to the removal of weak functions in 7d6cee2cd0 ("cmd: cache: Remove
weak function"), uboot fails to compile after updating to v2024.10 for
mediatek target in OpenWrt with GCC-14 with error:
cmd/cache.c: In function 'do_dcache':
cmd/cache.c:57:25: error: implicit declaration of function
'noncached_set_region' [-Wimplicit-function-declaration]
Thus, provide a prototype in arm's include/asm/system.h to fix a build
error in cmd/cache.c, since related prototypes are also located there.
Also add an include of asm/system.h in cmd/cache.c to have the function
available there.
The issue occured after the update of uboot-mediatek in OpenWrt to
v2024.10, in combination with GCC-14 toolchain. It was reported and
discussed in https://github.com/openwrt/openwrt/issues/16697, and
temporarily fixed with
https://github.com/openwrt/openwrt/commit/92ca322dd1f48158b8829fec59319a12e4ae4295.
Signed-off-by: Jonas Jelonek <jelonek.jonas at gmail.com>
Cc: Tom Rini <trini at konsulko.com>
---
arch/arm/include/asm/system.h | 1 +
cmd/cache.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/arch/arm/include/asm/system.h b/arch/arm/include/asm/system.h
index 2237d7d006..0100096202 100644
--- a/arch/arm/include/asm/system.h
+++ b/arch/arm/include/asm/system.h
@@ -668,6 +668,7 @@ void mmu_set_region_dcache_behaviour(phys_addr_t start, size_t size,
* Return: 0 if OK
*/
int noncached_init(void);
+void noncached_set_region(void);
phys_addr_t noncached_alloc(size_t size, size_t align);
#endif /* CONFIG_SYS_NONCACHED_MEMORY */
diff --git a/cmd/cache.c b/cmd/cache.c
index 3049f5c305..f873f2c8fb 100644
--- a/cmd/cache.c
+++ b/cmd/cache.c
@@ -10,6 +10,7 @@
#include <command.h>
#include <cpu_func.h>
#include <linux/compiler.h>
+#include <asm/system.h>
static int parse_argv(const char *);
--
2.39.5 (Apple Git-154)
More information about the U-Boot
mailing list