about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/include
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2017-06-01 10:56:10 -0400
committerZack Weinberg <zackw@panix.com>2017-06-01 10:56:10 -0400
commit72b81552a1239f91054ae0c8469e6d780f79a890 (patch)
treefb9a9c04256f25a38709f398da13352857c3c288 /sysdeps/unix/sysv/linux/include
parent139904b7e454b1232dc7807dd613682d107daab1 (diff)
downloadglibc-72b81552a1239f91054ae0c8469e6d780f79a890.tar.gz
glibc-72b81552a1239f91054ae0c8469e6d780f79a890.tar.xz
glibc-72b81552a1239f91054ae0c8469e6d780f79a890.zip
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.
Diffstat (limited to 'sysdeps/unix/sysv/linux/include')
-rw-r--r--sysdeps/unix/sysv/linux/include/bits/syscall.h3
1 files changed, 3 insertions, 0 deletions
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 0000000000..3e60262486
--- /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>