mirror of
https://github.com/apache/nuttx.git
synced 2026-10-07 22:35:22 +00:00
gnu-elf.ld.in named neither .rel.plt nor .got.plt, and the linker placed them where its FDPIC code does not expect them. It merged .rel.plt into .rel.dyn but still set DT_JMPREL as if .rel.plt came last, so the loader bound each PLT slot with the symbol of another relocation. And .got.plt came after .got: the offsets that the linker gave the local function descriptors did not match where it put them, and the first call through one jumped into data. A module without a PLT has neither section, so neither problem showed until a module called its imports through a PLT. Give .rel.dyn and .rel.plt output sections of their own, and put .got.plt first in .got, both as in the linker's own script. Only CONFIG_FDPIC changes. Assisted-by: Claude Code:claude-opus-5-5 Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com> |
||
|---|---|---|
| .. | ||
| libbuiltin | ||
| libc | ||
| libdsp | ||
| libm | ||
| libnx | ||
| libxx | ||
| CMakeLists.txt | ||