120 lines
3.6 KiB
Plaintext
120 lines
3.6 KiB
Plaintext
#
|
|
# 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 "Enable module library"
|
|
default n
|
|
select LIBC_ARCH_ELF
|
|
select ARCH_USE_TEXT_HEAP if ARCH_HAVE_TEXT_HEAP
|
|
|
|
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.
|
|
|
|
All dependencies logic my be eliminated by set CONFIG_MODLIB_MAXDEPEND
|
|
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"
|
|
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 is really just this initial size of the buffer; it will be
|
|
reallocated as necessary to hold large symbol names). Default: 32
|
|
|
|
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
|
|
|
|
config MODLIB_HAVE_SYMTAB
|
|
bool "Have symbol table"
|
|
default n
|
|
---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.
|
|
|
|
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
|
|
|
|
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
|
|
|
|
if MODLIB_HAVE_SYMTAB
|
|
|
|
config MODLIB_SYMTAB_ARRAY
|
|
string "Symbol table name used by dlsym"
|
|
default "g_mod_symtab" if !EXECFUNCS_HAVE_SYMTAB
|
|
default EXECFUNCS_SYMTAB_ARRAY if EXECFUNCS_HAVE_SYMTAB
|
|
|
|
config MODLIB_NSYMBOLS_VAR
|
|
string "Name of variable holding the number of symbols"
|
|
default "g_mod_nsymbols" if !EXECFUNCS_HAVE_SYMTAB
|
|
default EXECFUNCS_NSYMBOLS_VAR if EXECFUNCS_HAVE_SYMTAB
|
|
|
|
config MODLIB_SYSTEM_SYMTAB
|
|
bool "Generate the system symbol table"
|
|
default n
|
|
|
|
endif # MODLIB_HAVE_SYMTAB
|
|
|
|
config MODLIB_LOADTO_LMA
|
|
bool "modlib load sections to LMA"
|
|
default n
|
|
---help---
|
|
Load all section to LMA not VMA, so the startup code(e.g. start.S) need
|
|
relocate .data section to the final address(VMA) and zero .bss section
|
|
by self.
|
|
|
|
config MODLIB_EXIDX_SECTNAME
|
|
string "ELF Section Name for Exception Index"
|
|
default ".ARM.exidx"
|
|
depends on CXX_EXCEPTION && ARCH_ARM
|
|
---help---
|
|
Set the name string for the exception index section on the ELF modules to
|
|
be loaded by the ELF binary loader.
|
|
|
|
This is needed to support exception handling on loadable ELF modules.
|
|
|
|
endmenu # Module library configuration
|