This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[RFC v6 02/23] tst-clone3: Use __NR_futex_time64 if we don't have __NR_futex
- From: Alistair Francis <alistair dot francis at wdc dot com>
- To: libc-alpha at sourceware dot org
- Cc: arnd at arndb dot de, adhemerval dot zanella at linaro dot org, fweimer at redhat dot com, joseph at codesourcery dot com, palmerdabbelt at google dot com, macro at wdc dot com, zongbox at gmail dot com, alistair dot francis at wdc dot com, alistair23 at gmail dot com
- Date: Sun, 12 Jan 2020 02:33:36 -0800
- Subject: [RFC v6 02/23] tst-clone3: Use __NR_futex_time64 if we don't have __NR_futex
- Ironport-sdr: wo4wqb0JmnlQktBpre9a2OqCMBACze1uhvkfAqM5fZLGxWq4KvhfVHJtiou70/1UrCUUB633oH t/F1TXsNxd7I7NGReapTtgXY9Qrxxbp0HLSQJs4P2HATDe8GB3Uc8k4YAPAJfxGSJD8SOF53Q5 61Bvu+4gzwScfU5ZU6HVmCVyy00tTGRi0TOkjDCfh2Jaci21cawoQb+StYv3JMYPYk1YYhTWbi S50yDcnD5rqJWpdjpsQi/uQzG50j6ogPCkB8bQ7t0/G3flSiCcGfxLle9sA8Tvk4JRHQZW6qpZ ReU=
- Ironport-sdr: yHKMgYtYLsCCceViRT5KOtCJY+wmKPfblfpUcNVsiKxi7pXVT5a2dekVUr/G313bOZHVzd+kfz jCoz1qpoHElKiXsQt7RMlsjDZoPr9zqYOebzCbMUpiYFy8os5kHcuxjuskMZ+N9W/tGCrlhCVB Ho+1LoN0Uk61T5V3dDzj8zhbWDiwy4RCfC4hBqe4re91n4rdHql8Or5TF9ow2UMlWyvfbrFPmn 5rfbfwuNovKXfLgwEnp03zPsBsIEC/Z0h5P7s5ohlPvV7/0IhLNTxnhmTrwUaNn7Kg3Kb2PEth 3nRJmYrAS1y5ZeM3ka0K7IkG
- Ironport-sdr: FFhzAGvdA+Iu/xZlF6ZnCyWxwLrNKQud9Q+Kuyemgvz2adV247D8dhjyReMGObCOxsJz6+Fgq2 STv76WSUn9TWBK2W5HkLjfVYQV/LUrqAegpvOsTbLy31zjxqCKjqeeR3qSev+lzrIJa1MkqOj9 4HBzygdvSI7Ep48YfxZp6MjoXQfk8zA1UxeiS1Ta+h05YiNzixU57EjznrDOiEBjdWvMGb6Wpu IFenL3JKrwhfR1suL550zEqPcPCMC7I8ZsbxsMMEiN3y31xyxDeb5ZOfD6WYNPSkSAxhNPSX0N vcY=
- References: <cover.1578824547.git.alistair.francis@wdc.com>
- Wdcironportexception: Internal
We can't include sysdep.h in the test case (it introduces lots of
strange failures) so __NR_futex isn't redifined to __NR_futex_time64 by
64-bit time_t 32-bit archs (y2038 safe).
To allow the test to pass let's just do the __NR_futex_time64 syscall if
we don't have __NR_futex defined.
---
sysdeps/unix/sysv/linux/tst-clone3.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/sysdeps/unix/sysv/linux/tst-clone3.c b/sysdeps/unix/sysv/linux/tst-clone3.c
index 400eb89a5b..613cb4a811 100644
--- a/sysdeps/unix/sysv/linux/tst-clone3.c
+++ b/sysdeps/unix/sysv/linux/tst-clone3.c
@@ -56,7 +56,11 @@ f (void *a)
static inline int
futex_wait (int *futexp, int val)
{
+#ifdef __NR_futex
return syscall (__NR_futex, futexp, FUTEX_WAIT, val);
+#else
+ return syscall (__NR_futex_time64, futexp, FUTEX_WAIT, val);
+#endif
}
static int
--
2.24.1