From 70f42e720c90faa2fa27836288559e0d647862b7 Mon Sep 17 00:00:00 2001 From: Philippe Reynes Date: Wed, 9 Feb 2022 18:01:24 +0100 Subject: [PATCH] scripts: dtc: libfdt: fdt_ro.c: always define fdt_check_full On some configs (like stm32mp15_dhcom_basic_defconfig), if configs SPL_LOAD_FIT_FULL and SPL_FIT_FULL_CHECK are enabled. Then the compilatio fails with the following error: arm-linux-gnueabi-ld.bfd: boot/image-fit.o: in function `fit_check_format': /uboot/u-boot-stm/boot/image-fit.c:1641: undefined reference to `fdt_check_full' scripts/Makefile.spl:509: recipe for target 'spl/u-boot-spl' failed This issue happens because the function fdt_check_full is only defined if "!defined(FDT_ASSUME_MASK) || FDT_ASSUME_MASK != 0xff". But this function may be called even if this condition are not verified. To avoid this issue, the function fdt_check_full is always defined. Signed-off-by: Philippe Reynes Reviewed-by: Simon Glass --- scripts/dtc/libfdt/fdt_ro.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/scripts/dtc/libfdt/fdt_ro.c b/scripts/dtc/libfdt/fdt_ro.c index efe7efe921..63eaf57f43 100644 --- a/scripts/dtc/libfdt/fdt_ro.c +++ b/scripts/dtc/libfdt/fdt_ro.c @@ -937,4 +937,10 @@ int fdt_check_full(const void *fdt, size_t bufsize) } } } -#endif +#else +int fdt_check_full(const void __always_unused *fdt, + size_t __always_unused bufsize) +{ + return 0; +} +#endif /* #if !defined(FDT_ASSUME_MASK) || FDT_ASSUME_MASK != 0xff */ -- 2.39.5