apps/examples/nsh: The symbol table name and size variale names can now be configured.

This commit is contained in:
Gregory Nutt 2018-07-14 16:47:06 -06:00
parent 5ecec24084
commit aea8d948d4
2 changed files with 24 additions and 2 deletions

View File

@ -38,6 +38,28 @@ config EXAMPLES_NSH_SYMTAB
of the necessary symbols in place. Otherwise, you probably do *not*
want this option!
if EXAMPLES_NSH_SYMTAB
config EXAMPLES_NSH_SYMTAB_ARRAYNAME
string "Symbol table used by exec[l|v]"
default "g_exports"
---help---
The exec[l|v] and posix_spawn() functions needs to have (1) a
symbol table that provides the list of symbols exported by the base
code, and (2) the number of symbols in that table. This selection
provides the name of that symbol table.
config EXAMPLES_NSH_SYMTAB_COUNTNAME
string "Variable holding the number of symbols"
default "g_nexports"
---help---
The exec[l|v] and posix_spawn() functions needs to have (1) a
symbol table that provides the list of symbols exported by the base
code, and (2) the number of symbols in that table. This selection
provides the name of 'int' variable that holds the number of symbol
in the table.
endif # EXAMPLES_NSH_SYMTAB
config EXAMPLES_NSH_PROGNAME
string "Program name"
default "nsh"

View File

@ -155,8 +155,8 @@ static const struct symtab_s g_dummy_symtab[1]; /* Wasted memory! */
#elif defined(CONFIG_EXAMPLES_NSH_SYMTAB)
extern const struct symtab_s g_exports[];
extern const int g_nexports;
extern const struct symtab_s CONFIG_EXAMPLES_NSH_SYMTAB_ARRAYNAME[];
extern const int CONFIG_EXAMPLES_NSH_SYMTAB_COUNTNAME;
#endif