diff --git a/sched/Kconfig b/sched/Kconfig index bfb0ff015f..f0f9ba876d 100644 --- a/sched/Kconfig +++ b/sched/Kconfig @@ -335,7 +335,8 @@ config USER_INITPATH config INIT_SYMTAB string "Symbol table" - default "NULL" + default "NULL" if !EXECFUNCS_HAVE_SYMTAB + default EXECFUNCS_SYMTAB_ARRAY if EXECFUNCS_HAVE_SYMTAB depends on !BUILD_PROTECTED && !BUILD_KERNEL ---help--- The name of othe global array that holds the exported symbol table. @@ -348,7 +349,8 @@ config INIT_SYMTAB config INIT_NEXPORTS string "Symbol table size" - default "0" + default "0" if !EXECFUNCS_HAVE_SYMTAB + default EXECFUNCS_NSYMBOLS_VAR if EXECFUNCS_HAVE_SYMTAB depends on !BUILD_PROTECTED && !BUILD_KERNEL ---help--- The size of the symbol table. NOTE that is is logically a numeric diff --git a/sched/init/os_bringup.c b/sched/init/os_bringup.c index 316809654c..62213ccd78 100644 --- a/sched/init/os_bringup.c +++ b/sched/init/os_bringup.c @@ -50,6 +50,7 @@ #include #include #include +#include #include #include #include @@ -114,6 +115,9 @@ # undef CONFIG_INIT_NEXPORTS # define CONFIG_INIT_SYMTAB NULL # define CONFIG_INIT_NEXPORTS 0 +# else +extern const struct symtab_s CONFIG_INIT_SYMTAB[]; +extern const int CONFIG_INIT_NEXPORTS; # endif # endif #endif