diff options
author | Zack Weinberg <zackw@panix.com> | 2017-06-01 10:56:10 -0400 |
---|---|---|
committer | Zack Weinberg <zackw@panix.com> | 2017-06-01 10:56:10 -0400 |
commit | 72b81552a1239f91054ae0c8469e6d780f79a890 (patch) | |
tree | fb9a9c04256f25a38709f398da13352857c3c288 | |
parent | 139904b7e454b1232dc7807dd613682d107daab1 (diff) | |
download | glibc-72b81552a1239f91054ae0c8469e6d780f79a890.zip glibc-72b81552a1239f91054ae0c8469e6d780f79a890.tar.gz glibc-72b81552a1239f91054ae0c8469e6d780f79a890.tar.bz2 |
Add shim header for bits/syscall.h.
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.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/include/bits/syscall.h | 3 |
2 files changed, 9 insertions, 0 deletions
@@ -1,3 +1,9 @@ +2017-06-01 Zack Weinberg <zackw@panix.com> + + [BZ #21514] + * sysdeps/unix/sysv/linux/include/bits/syscall.h: New shim header + pointing to the generated file in <builddir>/misc/bits/syscall.h. + 2017-06-01 Joseph Myers <joseph@codesourcery.com> [BZ #21457] diff --git a/sysdeps/unix/sysv/linux/include/bits/syscall.h b/sysdeps/unix/sysv/linux/include/bits/syscall.h new file mode 100644 index 0000000..3e60262 --- /dev/null +++ b/sysdeps/unix/sysv/linux/include/bits/syscall.h @@ -0,0 +1,3 @@ +/* The real bits/syscall.h is generated during the build, in + $(objdir)/misc/bits. */ +#include <misc/bits/syscall.h> |