| # |
| # 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 |
| 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 |
| |
| endmenu # Module library configuration |