Having a symbol table is an option. There are no symbol tables with CONFIG_BUILD_KERNEL, for example.
This commit is contained in:
parent
282fe4aa10
commit
8f30804e05
@ -409,6 +409,7 @@ CONFIG_LIB_RAND_ORDER=1
|
|||||||
# CONFIG_EOL_IS_BOTH_CRLF is not set
|
# CONFIG_EOL_IS_BOTH_CRLF is not set
|
||||||
CONFIG_EOL_IS_EITHER_CRLF=y
|
CONFIG_EOL_IS_EITHER_CRLF=y
|
||||||
CONFIG_LIBC_EXECFUNCS=y
|
CONFIG_LIBC_EXECFUNCS=y
|
||||||
|
CONFIG_EXECFUNCS_HAVE_SYMTAB=y
|
||||||
CONFIG_EXECFUNCS_SYMTAB="g_symtab"
|
CONFIG_EXECFUNCS_SYMTAB="g_symtab"
|
||||||
CONFIG_EXECFUNCS_NSYMBOLS=0
|
CONFIG_EXECFUNCS_NSYMBOLS=0
|
||||||
CONFIG_POSIX_SPAWN_PROXY_STACKSIZE=1024
|
CONFIG_POSIX_SPAWN_PROXY_STACKSIZE=1024
|
||||||
|
@ -609,6 +609,7 @@ CONFIG_LIB_RAND_ORDER=1
|
|||||||
# CONFIG_EOL_IS_BOTH_CRLF is not set
|
# CONFIG_EOL_IS_BOTH_CRLF is not set
|
||||||
CONFIG_EOL_IS_EITHER_CRLF=y
|
CONFIG_EOL_IS_EITHER_CRLF=y
|
||||||
CONFIG_LIBC_EXECFUNCS=y
|
CONFIG_LIBC_EXECFUNCS=y
|
||||||
|
CONFIG_EXECFUNCS_HAVE_SYMTAB=y
|
||||||
CONFIG_EXECFUNCS_SYMTAB="exports"
|
CONFIG_EXECFUNCS_SYMTAB="exports"
|
||||||
CONFIG_EXECFUNCS_NSYMBOLS=10
|
CONFIG_EXECFUNCS_NSYMBOLS=10
|
||||||
CONFIG_POSIX_SPAWN_PROXY_STACKSIZE=1024
|
CONFIG_POSIX_SPAWN_PROXY_STACKSIZE=1024
|
||||||
|
11
libc/Kconfig
11
libc/Kconfig
@ -107,6 +107,16 @@ config LIBC_EXECFUNCS
|
|||||||
|
|
||||||
if LIBC_EXECFUNCS
|
if LIBC_EXECFUNCS
|
||||||
|
|
||||||
|
config EXECFUNCS_HAVE_SYMTAB
|
||||||
|
bool "Have symbol table"
|
||||||
|
default n if BUILD_KERNEL
|
||||||
|
default y if !BUILD_KERNEL
|
||||||
|
---help---
|
||||||
|
If you have a system symbol table, then you must select this
|
||||||
|
option in order to use it. Symbol tables are required in most
|
||||||
|
cases in order to like executable programs to the base code.
|
||||||
|
|
||||||
|
if EXECFUNCS_HAVE_SYMTAB
|
||||||
config EXECFUNCS_SYMTAB
|
config EXECFUNCS_SYMTAB
|
||||||
string "Symbol table used by exec[l|v]"
|
string "Symbol table used by exec[l|v]"
|
||||||
default "g_symtab"
|
default "g_symtab"
|
||||||
@ -129,6 +139,7 @@ config EXECFUNCS_NSYMBOLS
|
|||||||
symbols in that table. This selection provides the number of
|
symbols in that table. This selection provides the number of
|
||||||
symbols in the symbol table.
|
symbols in the symbol table.
|
||||||
|
|
||||||
|
endif # EXECFUNCS_HAVE_SYMTAB
|
||||||
endif # LIBC_EXECFUNCS
|
endif # LIBC_EXECFUNCS
|
||||||
|
|
||||||
config POSIX_SPAWN_PROXY_STACKSIZE
|
config POSIX_SPAWN_PROXY_STACKSIZE
|
||||||
|
@ -69,14 +69,21 @@
|
|||||||
* Public Variables
|
* Public Variables
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
|
#ifdef CONFIG_EXECFUNCS_HAVE_SYMTAB
|
||||||
extern const struct symtab_s CONFIG_EXECFUNCS_SYMTAB;
|
extern const struct symtab_s CONFIG_EXECFUNCS_SYMTAB;
|
||||||
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Data
|
* Private Data
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
|
#ifdef CONFIG_EXECFUNCS_HAVE_SYMTAB
|
||||||
static FAR const struct symtab_s *g_exec_symtab = &CONFIG_EXECFUNCS_SYMTAB;
|
static FAR const struct symtab_s *g_exec_symtab = &CONFIG_EXECFUNCS_SYMTAB;
|
||||||
static int g_exec_nsymbols = CONFIG_EXECFUNCS_NSYMBOLS;
|
static int g_exec_nsymbols = CONFIG_EXECFUNCS_NSYMBOLS;
|
||||||
|
#else
|
||||||
|
static FAR const struct symtab_s *g_exec_symtab;
|
||||||
|
static int g_exec_nsymbols;
|
||||||
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
|
Loading…
Reference in New Issue
Block a user