To track POSIX glibc and the kernel agreed to change the type of the
sa_flags field in struct sigaction to an int. There is now a int
__glibc_reserved0 padding field that can be passed undefined.
See https://sourceware.org/ml/libc-alpha/2014-09/msg00161.html
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14508
338791 alt dwz files can be relative of debug/main file
338878 on MacOS: assertion 'VG_IS_PAGE_ALIGNED(clstack_end+1)' failed
338932 build V-trunk with gcc-trunk
+338974 glibc 2.20 changed size of struct sigaction sa_flags field on s390
n-i-bz Fix KVM_CREATE_IRQCHIP ioctl handling
n-i-bz s390x: Fix memory corruption for multithreaded applications
n-i-bz vex arm->IR: allow PC as basereg in some LDRD cases
struct vki_sigaction {
// [[See comment about extra 'k' above]]
__vki_sighandler_t ksa_handler;
- unsigned long sa_flags;
+ // Yes, the reserved field is really glibc specific. The kernel
+ // doesn't have it and uses an unsigned long for sa_flags.
+ // The glibc and the kernel agreed this is fine and the
+ // __glibc_reserved0 field can be undefined.
+ // See https://sourceware.org/ml/libc-alpha/2014-09/msg00161.html
+ int __glibc_reserved0;
+ int sa_flags;
void (*sa_restorer)(void);
vki_sigset_t sa_mask; /* mask last for extensibility */
};