From 63dc2177ed42fd0ae45cb66e169a28305e0fe622 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Mon, 21 Feb 2022 10:24:17 -0700 Subject: test/pollfree: fix compile on 32-bit x86 For some reason we don't have __NR_futex or SYS_futex there. Just skip the test if we don't have the proper syscall number, this dates back to the days of every arch having their own syscall numbering. Not worth fixing this one up for real. Signed-off-by: Jens Axboe --- test/pollfree.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/test/pollfree.c b/test/pollfree.c index 4ef259c..10f842b 100644 --- a/test/pollfree.c +++ b/test/pollfree.c @@ -24,6 +24,8 @@ #include +#ifdef __NR_futex + static void sleep_ms(uint64_t ms) { usleep(ms * 1000); @@ -77,13 +79,13 @@ static void event_set(event_t* ev) if (ev->state) exit(1); __atomic_store_n(&ev->state, 1, __ATOMIC_RELEASE); - syscall(SYS_futex, &ev->state, FUTEX_WAKE | FUTEX_PRIVATE_FLAG, 1000000); + syscall(__NR_futex, &ev->state, FUTEX_WAKE | FUTEX_PRIVATE_FLAG, 1000000); } static void event_wait(event_t* ev) { while (!__atomic_load_n(&ev->state, __ATOMIC_ACQUIRE)) - syscall(SYS_futex, &ev->state, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, 0, 0); + syscall(__NR_futex, &ev->state, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, 0, 0); } static int event_isset(event_t* ev) @@ -100,7 +102,7 @@ static int event_timedwait(event_t* ev, uint64_t timeout) struct timespec ts; ts.tv_sec = remain / 1000; ts.tv_nsec = (remain % 1000) * 1000 * 1000; - syscall(SYS_futex, &ev->state, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, 0, &ts); + syscall(__NR_futex, &ev->state, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, 0, &ts); if (__atomic_load_n(&ev->state, __ATOMIC_ACQUIRE)) return 1; now = current_time_ms(); @@ -412,3 +414,12 @@ int main(int argc, char *argv[]) loop(); return 0; } + +#else /* __NR_futex */ + +int main(int argc, char *argv[]) +{ + return 0; +} + +#endif /* __NR_futex */ -- cgit v1.2.3