Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2024-09-24 | misc: Enable internal use of memory protection keys | Florian Weimer | 1 | -0/+16 | |
This adds the necessary hidden prototypes. | |||||
2021-07-12 | Reduce <limits.h> pollution due to dynamic PTHREAD_STACK_MIN | Florian Weimer | 1 | -0/+7 | |
<limits.h> used to be a header file with no declarations. GCC's libgomp includes it in a #pragma GCC visibility hidden block. Including <unistd.h> from <limits.h> (indirectly) declares everything in <unistd.h> with hidden visibility, resulting in linker failures. This commit avoids C declarations in assembler mode and only declares __sysconf in <limits.h> (and not the entire contents of <unistd.h>). The __sysconf symbol is already part of the ABI. PTHREAD_STACK_MIN is no longer defined for __USE_DYNAMIC_STACK_SIZE && __ASSEMBLER__ because there is no possible definition. Additionally, PTHREAD_STACK_MIN is now defined by <pthread.h> for __USE_MISC because this is what developers expect based on the macro name. It also helps to avoid libgomp linker failures in GCC because libgomp includes <pthread.h> before its visibility hacks. Reviewed-by: Carlos O'Donell <carlos@redhat.com> | |||||
2017-06-01 | Add shim header for bits/syscall.h. | Zack Weinberg | 1 | -0/+3 | |
On Linux-based configurations, bits/syscall.h is a generated file. To avoid build-ordering problems, the Linux sys/syscall.h only includes bits/syscall.h if _LIBC is not defined. After the _ISOMAC-testsuite changes, this means any test case that includes sys/syscall.h tries to pull in bits/syscall.h. This would be fine, because it'll definitely have been generated by the time we start compiling tests, except that the generated <builddir>/misc/bits/syscall.h is not visible in the include path, because nothing needed it till now. So we either get the bits/syscall.h from the host system, or the build fails. The fix is simple: add a shim header for bits/syscall.h. I put it in sysdeps/unix/sysv/linux/include instead of the top-level include/ because bits/syscall.h doesn't exist at all on other configurations as far as I can tell. This is known to affect nptl/tst-cond2[45]. Thanks to John David Anglin for noticing the problem. [BZ #21514] * sysdeps/unix/sysv/linux/include/bits/syscall.h: New shim header pointing to the generated file in <builddir>/misc/bits/syscall.h. |