aboutsummaryrefslogtreecommitdiff
path: root/sys/amd64/linux/linux_genassym.c
Commit message (Collapse)AuthorAgeFilesLines
* sys: Remove $FreeBSD$: one-line .c patternWarner Losh2023-08-231-2/+0
| | | | | | | Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/ Similar commit in current: (cherry picked from commit 685dc743dc3b)
* linux(4): Cleanup includes under amd64/linuxDmitry Chagin2023-03-011-1/+1
| | | | | | | | | Cleanup unneeded includes, sort the rest according to style(9). No functional changes. MFC after: 2 weeks (cherry picked from commit 2456a45929328ce73a40ef6577600b0f1e2cced6)
* linux(4): Retire handmade DWARF annotations from signal trampolinesDmitry Chagin2022-06-171-1/+19
| | | | | | | | | | | | | | | | | 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 (cherry picked from commit 8f9635dc99f571a0ae4e613b9a0439e68da7b160)
* linux(4): Better naming for ucontext field of struct rt_sigframeDmitry Chagin2022-06-171-1/+1
| | | | | | | | | To reduce sendsig code difference and to avoid confusing me, rename sf_sc to sf_uc to match the content. MFC after: 2 weeks (cherry picked from commit 6e826d27c340fa29e166d06e5d8553f6c63c409e)
* linux(4): Move sigframe definitions to separate headersDmitry Chagin2022-06-171-0/+2
| | | | | | | | | | The signal trampoine-related definitions are used only in the MD part of code, wherefore moved from everywhere used linux.h to separate MD headers. MFC after: 2 weeks (cherry picked from commit 21f246174184742ba8952aeb1dadbf58d48d54b4)
* linux(4): Cleanup signal trampolinesDmitry Chagin2022-06-171-1/+0
| | | | | | | | | | | | | | | | | | | | This is the first stage of a signal trampolines refactoring. From trampolines retired emulation of the 'call' instruction, which is replaced by direct call of a signal handler. The signal handler address is in the register. The previous trampoline implemenatation used semi-Linux-way to call a signal handler via the 'jmp' instruction. Wherefore the trampoline emulated a 'call' instruction to into the stack the return address for signal handler's 'ret' instruction. Wherefore handmade DWARD annotations was used. While here rephrased and removed excessive comments. MFC after: 2 weeks (cherry picked from commit ba279bcd6d75aa236bcb9ccf11aeb6f51a2f8514)
* Add preliminary support for x86-64 Linux binaries.Dmitry Chagin2015-05-241-0/+15
Differential Revision: https://reviews.freebsd.org/D1076 Notes: svn path=/head/; revision=283424