commit a977b84
Michael Forney
·
2026-10-28 03:53:07 +0000 UTC
parent 269dded
python: Probe for preadv2 and pwritev2 musl older than 1.2.5 doesn't implement these functions.
5 files changed,
+16,
-2
+2,
-0
1@@ -12,6 +12,8 @@ cflags{
2 }
3
4 build('cat', '$outdir/pyconfig.h', {
5+ '$builddir/probe/HAVE_PREADV2',
6+ '$builddir/probe/HAVE_PWRITEV2',
7 '$builddir/probe/HAVE_STATX',
8 '$dir/pyconfig.h',
9 })
+2,
-2
1@@ -326,7 +326,7 @@
2 #define HAVE_PPOLL 1
3 #define HAVE_PREAD 1
4 #define HAVE_PREADV 1
5-#define HAVE_PREADV2 1
6+/* probe HAVE_PREADV2 */
7 #define HAVE_PRLIMIT 1
8 /* #undef HAVE_PROCESS_H */
9 #define HAVE_PROCESS_VM_READV 1
10@@ -351,7 +351,7 @@
11 #define HAVE_PTY_H 1
12 #define HAVE_PWRITE 1
13 #define HAVE_PWRITEV 1
14-#define HAVE_PWRITEV2 1
15+/* probe HAVE_PWRITEV2 */
16 /* #undef HAVE_READLINE_READLINE_H */
17 #define HAVE_READLINK 1
18 #define HAVE_READLINKAT 1
+5,
-0
1@@ -0,0 +1,5 @@
2+#define _GNU_SOURCE
3+#include <sys/uio.h>
4+int main(void) {
5+ return preadv2(0, 0, 0, -1, 0) != 0;
6+}
+5,
-0
1@@ -0,0 +1,5 @@
2+#define _GNU_SOURCE
3+#include <sys/uio.h>
4+int main(void) {
5+ return pwritev2(1, 0, 0, -1, 0) != 0;
6+}
+2,
-0
1@@ -6,6 +6,8 @@ probe('HAVE_EMMINTRIN_H')
2 probe('HAVE_IMMINTRIN_H')
3 probe('HAVE_INLINE_ASM')
4 probe('HAVE_MMINTRIN_H')
5+probe('HAVE_PREADV2')
6+probe('HAVE_PWRITEV2')
7 probe('HAVE_STATX')
8 probe('HAVE__MM_CLMULEPI64_SI128')
9 probe('HAVE__MM_MOVEMASK_EPI8')