scripts: dtc: libfdt: fdt_ro.c: always define fdt_check_full
authorPhilippe Reynes <philippe.reynes@softathome.com>
Wed, 9 Feb 2022 17:01:24 +0000 (18:01 +0100)
committerSimon Glass <sjg@chromium.org>
Tue, 22 Feb 2022 17:05:44 +0000 (10:05 -0700)
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':
<PATH>/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 <philippe.reynes@softathome.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
scripts/dtc/libfdt/fdt_ro.c

index efe7efe..63eaf57 100644 (file)
@@ -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 */