Add quirks for Linux ABI signals handling
Require queueing of the signals with default action, and disable dequeueing SIGCHLD on wait for live process. Reported and tested by: dchagin Reviewed by: dchagin, markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D30675
This commit is contained in:
parent
a12e901a5a
commit
870e197d52
@ -752,7 +752,8 @@ struct sysentvec elf_linux_sysvec = {
|
||||
.sv_setregs = linux_exec_setregs,
|
||||
.sv_fixlimit = NULL,
|
||||
.sv_maxssiz = NULL,
|
||||
.sv_flags = SV_ABI_LINUX | SV_LP64 | SV_SHP,
|
||||
.sv_flags = SV_ABI_LINUX | SV_LP64 | SV_SHP | SV_SIG_DISCIGN |
|
||||
SV_SIG_WAITNDQ,
|
||||
.sv_set_syscall_retval = linux_set_syscall_retval,
|
||||
.sv_fetch_syscall_args = linux_fetch_syscall_args,
|
||||
.sv_syscallnames = NULL,
|
||||
|
@ -919,7 +919,8 @@ struct sysentvec elf_linux_sysvec = {
|
||||
.sv_setregs = linux_exec_setregs,
|
||||
.sv_fixlimit = linux32_fixlimit,
|
||||
.sv_maxssiz = &linux32_maxssiz,
|
||||
.sv_flags = SV_ABI_LINUX | SV_ILP32 | SV_IA32 | SV_SHP,
|
||||
.sv_flags = SV_ABI_LINUX | SV_ILP32 | SV_IA32 | SV_SHP |
|
||||
SV_SIG_DISCIGN | SV_SIG_WAITNDQ,
|
||||
.sv_set_syscall_retval = linux32_set_syscall_retval,
|
||||
.sv_fetch_syscall_args = linux32_fetch_syscall_args,
|
||||
.sv_syscallnames = NULL,
|
||||
|
@ -429,7 +429,8 @@ struct sysentvec elf_linux_sysvec = {
|
||||
.sv_setregs = linux_exec_setregs,
|
||||
.sv_fixlimit = NULL,
|
||||
.sv_maxssiz = NULL,
|
||||
.sv_flags = SV_ABI_LINUX | SV_LP64 | SV_SHP,
|
||||
.sv_flags = SV_ABI_LINUX | SV_LP64 | SV_SHP | SV_SIG_DISCIGN |
|
||||
SV_SIG_WAITNDQ,
|
||||
.sv_set_syscall_retval = linux_set_syscall_retval,
|
||||
.sv_fetch_syscall_args = linux_fetch_syscall_args,
|
||||
.sv_syscallnames = NULL,
|
||||
|
@ -859,7 +859,8 @@ struct sysentvec linux_sysvec = {
|
||||
.sv_setregs = linux_exec_setregs,
|
||||
.sv_fixlimit = NULL,
|
||||
.sv_maxssiz = NULL,
|
||||
.sv_flags = SV_ABI_LINUX | SV_AOUT | SV_IA32 | SV_ILP32,
|
||||
.sv_flags = SV_ABI_LINUX | SV_AOUT | SV_IA32 | SV_ILP32 |
|
||||
SV_SIG_DISCIGN | SV_SIG_WAITNDQ,
|
||||
.sv_set_syscall_retval = linux_set_syscall_retval,
|
||||
.sv_fetch_syscall_args = linux_fetch_syscall_args,
|
||||
.sv_syscallnames = NULL,
|
||||
@ -897,7 +898,8 @@ struct sysentvec elf_linux_sysvec = {
|
||||
.sv_setregs = linux_exec_setregs,
|
||||
.sv_fixlimit = NULL,
|
||||
.sv_maxssiz = NULL,
|
||||
.sv_flags = SV_ABI_LINUX | SV_IA32 | SV_ILP32 | SV_SHP,
|
||||
.sv_flags = SV_ABI_LINUX | SV_IA32 | SV_ILP32 | SV_SHP |
|
||||
SV_SIG_DISCIGN | SV_SIG_WAITNDQ,
|
||||
.sv_set_syscall_retval = linux_set_syscall_retval,
|
||||
.sv_fetch_syscall_args = linux_fetch_syscall_args,
|
||||
.sv_syscallnames = NULL,
|
||||
|
Loading…
Reference in New Issue
Block a user