HomeFreeBSD

linux(4): Retire handmade DWARF annotations from signal trampolines

Description

linux(4): Retire handmade DWARF annotations from signal trampolines

The Linux exports kernel_sigreturn and kernel_rt_sigreturn from the
vdso. Modern glibc's sigaction sets the sa_restorer field of sigaction
to the corresponding vdso __sigreturn, and sets the SA_RESTORER.
Our signal trampolines uses the FreeBSD-way to call a signal handler,
so does not use the sigaction's sa_restorer.

However, as glibc's runtime linker depends on the existment of the vdso
sigreturn symbols, for all Linuxulators was added separate trampolines
named
sigcode with DWARF anotations and left separate __sigreturn
methods, which are exported.

MFC after: 2 weeks

Details

Provenance
dchaginAuthored on May 15 2022, 6:08 PM
Parents
rG6e826d27c340: linux(4): Better naming for ucontext field of struct rt_sigframe
Branches
Unknown
Tags
Unknown