On 24/05/2022 11:00, Peng Fan (OSS) wrote: > From: Peng Fan <peng....@nxp.com> > > There is case that CONFIG_BINMAN is defined, but > CONFIG_SPL_BINMAN_SYMBOLS is not defined. In that case, there will be > build failure. So use CONFIG_SPL_BINMAN_SYMBOLS to guard the macros, and > define CONFIG_SPL_BINMAN_SYMBOLS in binman syms test. > > Tested-by: Tim Harvey <thar...@gateworks.com> #imx8m[m,n,p]-venice > Signed-off-by: Peng Fan <peng....@nxp.com> > --- > include/binman_sym.h | 2 +- > tools/binman/test/u_boot_binman_syms.c | 1 + > tools/binman/test/u_boot_binman_syms_size.c | 1 + > 3 files changed, 3 insertions(+), 1 deletion(-) > > diff --git a/include/binman_sym.h b/include/binman_sym.h > index 72e6765fe52..548d8f5654c 100644 > --- a/include/binman_sym.h > +++ b/include/binman_sym.h > @@ -13,7 +13,7 @@ > > #define BINMAN_SYM_MISSING (-1UL) > > -#ifdef CONFIG_BINMAN > +#ifdef CONFIG_SPL_BINMAN_SYMBOLS
This must handle all of CONFIG_{TPL,VPL,SPL}_BINMAN_SYMBOLS. You can use CONFIG_IS_ENABLED(BINMAN_SYMBOLS) if you: - Create a binman/test/generated/autoconf.h with binman CONFIGs - Add `-I $(SRC)` to CFLAGS in binman/test/Makefile - Add `#include <linux/kconfig.h>` to test .c files - Maybe add `#define CONFIG_SPL_BUILD` to test .c files > > /** > * binman_symname() - Internal function to get a binman symbol name > diff --git a/tools/binman/test/u_boot_binman_syms.c > b/tools/binman/test/u_boot_binman_syms.c > index 37fc339ce84..f4a4d1f6846 100644 > --- a/tools/binman/test/u_boot_binman_syms.c > +++ b/tools/binman/test/u_boot_binman_syms.c > @@ -6,6 +6,7 @@ > */ > > #define CONFIG_BINMAN > +#define CONFIG_SPL_BINMAN_SYMBOLS > #include <binman_sym.h> > > binman_sym_declare(unsigned long, u_boot_spl_any, offset); > diff --git a/tools/binman/test/u_boot_binman_syms_size.c > b/tools/binman/test/u_boot_binman_syms_size.c > index 7224bc1863c..3a01d8ca4be 100644 > --- a/tools/binman/test/u_boot_binman_syms_size.c > +++ b/tools/binman/test/u_boot_binman_syms_size.c > @@ -6,6 +6,7 @@ > */ > > #define CONFIG_BINMAN > +#define CONFIG_SPL_BINMAN_SYMBOLS > #include <binman_sym.h> > > binman_sym_declare(char, u_boot_spl, pos);