mirror of
https://github.com/apache/nuttx.git
synced 2026-10-10 15:50:23 +00:00
libelf_relocateadd() keeps a cache of CONFIG_LIBC_ELF_SYMBOL_CACHECOUNT symbols in a list and reads each missing symbol from the file. A large module has many more relocations than symbols (one with 1.1 million relocations against 82000 symbols took more than 30 minutes to load from a 9P share), and most of that time is spent in single reads. If there is memory for it, read the whole symbol table in one read and resolve each symbol only once. Otherwise use the cache as before. Assisted-by: Claude Code:claude-opus-5-5 Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com> |
||
|---|---|---|
| .. | ||
| CMakeLists.txt | ||
| elf.h | ||
| elf_addrenv.c | ||
| elf_bind.c | ||
| elf_depend.c | ||
| elf_gethandle.c | ||
| elf_getsymbol.c | ||
| elf_globals.S | ||
| elf_init.c | ||
| elf_insert.c | ||
| elf_iobuffer.c | ||
| elf_load.c | ||
| elf_loadhdrs.c | ||
| elf_read.c | ||
| elf_registry.c | ||
| elf_remove.c | ||
| elf_sections.c | ||
| elf_symbols.c | ||
| elf_symtab.c | ||
| elf_uninit.c | ||
| elf_unload.c | ||
| elf_verify.c | ||
| gnu-elf.ld.in | ||
| Kconfig | ||
| Make.defs | ||
| Makefile | ||