mirror of git://sourceware.org/git/glibc.git
This patch fixes part of bug 26647 (-Werror=array-parameter error building with GCC 11 because of __sigsetjmp being declared using an array parameter in one header and a pointer parameter in another). The fix is to split the struct __jmp_buf_tag definition out to a separate bits/types/ header so it can be included in pthread.h, so that pthread.h can declare __sigsetjmp with the type contents visible, so can use an array (as in setjmp.h) rather than a pointer in the declaration. Note that several other build failures with GCC 11 remain. This does not fix the jmp_buf-related -Wstringop-overflow errors (also discussed in bug 26647), or -Warray-parameter errors for other functions (bug 26686), or -Warray-bounds errors (bug 26687). Tested, with older compilers, natively for x86_64 and with build-many-glibc.py for aarch64-linux-gnu. Tested with build-many-glibcs.py with GCC mainline for aarch64-linux-gnu that this gets past the -Warray-parameter issue for __sigsetjmp (with the next build failure being the other one discussed in bug 26647). |
||
|---|---|---|
| .. | ||
| bits | ||
| Makefile | ||
| Versions | ||
| __longjmp.c | ||
| bsd-_setjmp.c | ||
| bsd-setjmp.c | ||
| bug269-setjmp.c | ||
| jmp-unwind.c | ||
| jmpbug.c | ||
| longjmp.c | ||
| setjmp.c | ||
| setjmp.h | ||
| sigjmp.c | ||
| tst-setjmp-fp.c | ||
| tst-setjmp-static.c | ||
| tst-setjmp.c | ||
| tst-sigsetjmp.c | ||