2017-01-29 15:55:27 +01:00
|
|
|
#
|
|
|
|
# For a description of the syntax of this configuration file,
|
|
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
|
|
#
|
|
|
|
|
|
|
|
config LIBC_MODLIB
|
|
|
|
bool
|
|
|
|
default n
|
2019-01-26 18:50:09 +01:00
|
|
|
select LIBC_ARCH_ELF
|
2021-06-18 01:47:45 +02:00
|
|
|
select ARCH_USE_TEXT_HEAP if ARCH_HAVE_TEXT_HEAP
|
2017-01-29 15:55:27 +01:00
|
|
|
|
|
|
|
menu "Module library configuration"
|
|
|
|
depends on LIBC_MODLIB
|
|
|
|
|
|
|
|
config MODLIB_MAXDEPEND
|
|
|
|
int "Max dependencies"
|
|
|
|
default 2
|
|
|
|
---help---
|
|
|
|
This setting controls the number of other modules that a new module
|
|
|
|
may depend on. That is, when a new module in inserted via 'insmod'
|
|
|
|
it may depend on symbols exported by other, already installed
|
|
|
|
modules. This is the maximum number of modules that export symbols
|
|
|
|
to the new module. This maximum is artificial; it is used in the
|
|
|
|
current design because it uses some very simple, pre-allocated data
|
|
|
|
structures.
|
|
|
|
|
2022-01-07 22:40:47 +01:00
|
|
|
All dependencies logic my be eliminated by set CONFIG_MODLIB_MAXDEPEND
|
2017-01-29 15:55:27 +01:00
|
|
|
to zero.
|
|
|
|
|
|
|
|
config MODLIB_ALIGN_LOG2
|
|
|
|
int "Log2 Section Alignment"
|
|
|
|
default 2
|
|
|
|
---help---
|
|
|
|
Align all sections to this Log2 value: 0->1, 1->2, 2->4, etc.
|
|
|
|
|
|
|
|
config MODLIB_BUFFERSIZE
|
|
|
|
int "Module I/O Buffer Size"
|
2019-01-26 18:34:40 +01:00
|
|
|
default 32
|
2017-01-29 15:55:27 +01:00
|
|
|
---help---
|
|
|
|
This is an I/O buffer that is used to access the module file.
|
|
|
|
Variable length items will need to be read (such as symbol names).
|
|
|
|
This is really just this initial size of the buffer; it will be
|
2019-01-26 18:34:40 +01:00
|
|
|
reallocated as necessary to hold large symbol names). Default: 32
|
2017-01-29 15:55:27 +01:00
|
|
|
|
|
|
|
config MODLIB_BUFFERINCR
|
|
|
|
int "Module I/O Buffer Realloc Increment"
|
|
|
|
default 32
|
|
|
|
---help---
|
|
|
|
This is an I/O buffer that is used to access the module file.
|
|
|
|
Variable length items will need to be read (such as symbol names).
|
|
|
|
This value specifies the size increment to use each time the
|
|
|
|
buffer is reallocated. Default: 32
|
|
|
|
|
|
|
|
config MODLIB_DUMPBUFFER
|
|
|
|
bool "Dump module buffers"
|
|
|
|
default n
|
|
|
|
depends on DEBUG_INFO
|
|
|
|
---help---
|
|
|
|
Dump various module buffers for debug purposes
|
|
|
|
|
2018-11-08 14:27:14 +01:00
|
|
|
config MODLIB_HAVE_SYMTAB
|
|
|
|
bool "Have symbol table"
|
2019-10-01 15:19:21 +02:00
|
|
|
default n
|
2018-11-08 14:27:14 +01:00
|
|
|
---help---
|
|
|
|
If you have a module library symbol table, then you may select this
|
|
|
|
option in order to use it. Symbol tables are required in most
|
|
|
|
cases in order to link executable programs to the base code.
|
|
|
|
|
2019-03-19 15:57:13 +01:00
|
|
|
config MODLIB_RELOCATION_BUFFERCOUNT
|
|
|
|
int "MODLIB Relocation Table Buffer Count"
|
|
|
|
default 256
|
|
|
|
---help---
|
|
|
|
This is an cache buffer that is used to store elf relocation table to
|
|
|
|
reduce access fs. Default: 256
|
|
|
|
|
2019-03-19 16:13:50 +01:00
|
|
|
config MODLIB_SYMBOL_CACHECOUNT
|
|
|
|
int "MODLIB SYMBOL Table Cache Count"
|
|
|
|
default 256
|
|
|
|
---help---
|
|
|
|
This is an cache that is used to store elf symbol table to
|
|
|
|
reduce access fs. Default: 256
|
|
|
|
|
2018-11-08 14:27:14 +01:00
|
|
|
if MODLIB_HAVE_SYMTAB
|
|
|
|
|
|
|
|
config MODLIB_SYMTAB_ARRAY
|
|
|
|
string "Symbol table name used by dlsym"
|
2019-01-26 18:50:09 +01:00
|
|
|
default "g_mod_symtab" if !EXECFUNCS_HAVE_SYMTAB
|
|
|
|
default EXECFUNCS_SYMTAB_ARRAY if EXECFUNCS_HAVE_SYMTAB
|
2018-11-08 14:27:14 +01:00
|
|
|
|
|
|
|
config MODLIB_NSYMBOLS_VAR
|
|
|
|
string "Name of variable holding the number of symbols"
|
2019-01-26 18:50:09 +01:00
|
|
|
default "g_mod_nsymbols" if !EXECFUNCS_HAVE_SYMTAB
|
|
|
|
default EXECFUNCS_NSYMBOLS_VAR if EXECFUNCS_HAVE_SYMTAB
|
2018-11-08 14:27:14 +01:00
|
|
|
|
2019-09-28 19:17:01 +02:00
|
|
|
config MODLIB_SYSTEM_SYMTAB
|
|
|
|
bool "Generate the system symbol table"
|
|
|
|
default n
|
|
|
|
|
2018-11-08 14:27:14 +01:00
|
|
|
endif # MODLIB_HAVE_SYMTAB
|
|
|
|
|
2017-01-29 15:55:27 +01:00
|
|
|
endmenu # Module library configuration
|