1.
Binary compatibility report for glibc: 2.31 vs 2.32Problems with Data Types, Medium Severity 1
Base type has been changed from union __jmpbuf_arch_t to struct __sigset_t of different format.
The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications.
[−] affected symbols: 17 (1.7%)
epoll_pwait ( int epfd, struct epoll_event* events, int maxevents, int timeout, union __jmpbuf_arch_t const* set )
...
https://abi-laboratory.pro/index.php?view=compat_report&l=gl...
2.
int epoll_pwait(int epfd, struct epoll_event *events,
int maxevents, int timeout,
const sigset_t *sigmask);
https://www.opennet.ru/man.shtml?topic=epoll_pwait&category=...
3.
/* Same as epoll_wait, but the thread's signal mask is temporarily
and atomically replaced with the one provided as parameter. This function is a cancellation point and therefore not marked with
__THROW. */
extern int epoll_pwait (int __epfd, struct epoll_event *__events,
int __maxevents, int __timeout,
const __sigset_t *__ss);
https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/uni...
4.
typedef union
{
__sigset_t __saved_mask_compat;
struct
{
__jmp_buf_sigset_t __saved_mask;
/* Used for shadow stack pointer. NB: Shadow stack pointer
must have the same alignment as __saved_mask. Otherwise
offset of __saved_mask will be changed. */
unsigned long int __shadow_stack_pointer;
} __saved;
} __jmpbuf_arch_t;
Даже не знаю, чему верить, и зачем я это сюда скопировал. :)