mirror of
https://github.com/apache/nuttx.git
synced 2026-09-28 01:53:48 +00:00
The loader packs the allocatable sections of a fully linked program into the text and data regions in section header order, and on a chip that selects ARCH_HAVE_TEXT_HEAP_WORD_ALIGNED_READ every section that is not executable goes to the data region. The template left .rodata in the text region, so the addresses the program carries did not say where it would be loaded. .rodata now leads the data region on such a chip, .eh_frame is placed rather than left an orphan, and the Xtensa literal pools are gathered with the text they belong to: a literal section is not executable, so an orphan one would be loaded into the data region, away from the code that reads it. The ESP32-S3 needs all three. With them the shared template lays out a user program exactly as the board script it replaces did, section for section. Assisted-by: Claude Opus 5 (1M context) <noreply@anthropic.com> 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 | ||