nanovms / nanos

A kernel designed to run one and only one application in a virtualized environment
https://nanos.org
Apache License 2.0
2.58k stars 133 forks source link

ELF exec: add AT_BASE entry to auxiliary vector #1991

Closed francescolavra closed 7 months ago

francescolavra commented 7 months ago

This change adds the AT_BASE entry (which contains the base address of the interpreter for the user program, or zero if there is no interpreter) to the auxiliary vector that is set up on the user stack when executing the program. This is needed by the musl dynamic linker, which would otherwise calculate a wrong base address during startup, resulting in a segmentation fault.