mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-12 16:20:06 +00:00
548f467fa1
GCC 11 introduces a -Wstringop-overflow warning for calls to functions with an array argument passed as a pointer to memory not large enough for that array. This includes the __sigsetjmp calls from pthread_cleanup_push macros, because those use a structure in __pthread_unwind_buf_t, which has a common initial subsequence with jmp_buf but does not include the saved signal mask; this is OK in this case because the second argument to __sigsetjmp is 0 so the signal mask is not accessed. To avoid this warning, use a function alias __sigsetjmp_cancel with first argument an array of exactly the type used in the calls to the function, if using GCC 11 or later. With older compilers, continue to use __sigsetjmp with a cast, to avoid any issues with compilers predating the returns_twice attribute not applying the same special handling to __sigsetjmp_cancel as to __sigsetjmp. Tested with build-many-glibcs.py for arm-linux-gnueabi that this fixes the testsuite build failures. |
||
---|---|---|
.. | ||
auxv.h | ||
cdefs.h | ||
dir.h | ||
file.h | ||
ioctl.h | ||
mman.h | ||
param.h | ||
queue.h | ||
select.h | ||
single_threaded.h | ||
syslog.h | ||
sysmacros.h | ||
uio.h | ||
xattr.h |