This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH COMMITTED] Add shim header for bits/syscall.h.
- From: Zack Weinberg <zackw at panix dot com>
- To: libc-alpha at sourceware dot org
- Date: Thu, 1 Jun 2017 11:06:51 -0400
- Subject: [PATCH COMMITTED] Add shim header for bits/syscall.h.
- Authentication-results: sourceware.org; auth=none
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.
---
ChangeLog | 6 ++++++
sysdeps/unix/sysv/linux/include/bits/syscall.h | 3 +++
2 files changed, 9 insertions(+)
create mode 100644 sysdeps/unix/sysv/linux/include/bits/syscall.h
diff --git a/ChangeLog b/ChangeLog
index d56331a06d..5c54da8a12 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 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>
--
2.11.0