From a20107ab47554798e0de0347dd4d7259f01675af Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 15 Nov 2020 16:33:45 -0800
Subject: [PATCH] Define SYS_futex on 32bit arches using 64-bit time_t

Newer 32bit arches like RISCV32 and ARC are using 64bit time_t
from get go unlike other 32bit architecture therefore aliasing __NR_futex to
__NR_futex_time64 helps avoid the below errors

tst_checkpoint.c:99:17: error: use of undeclared identifier 'SYS_futex'

Signed-off-by: Khem Raj <raj.khem@gmail.com>
[ moved definitions to lapi/futex.h ]
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
---
 include/lapi/futex.h                      | 4 ++++
 testcases/kernel/syscalls/clone/clone08.c | 1 +
 2 files changed, 5 insertions(+)

diff --git a/include/lapi/futex.h b/include/lapi/futex.h
index 72209e4c98..00b26c3559 100644
--- a/include/lapi/futex.h
+++ b/include/lapi/futex.h
@@ -10,4 +10,8 @@
 
 typedef volatile uint32_t futex_t;
 
+#if !defined(SYS_futex) && defined(SYS_futex_time64)
+#define SYS_futex SYS_futex_time64
+#endif
+
 #endif /* LAPI_FUTEX_H__ */
diff --git a/testcases/kernel/syscalls/clone/clone08.c b/testcases/kernel/syscalls/clone/clone08.c
index 8e115b0421..3de1fe9bbd 100644
--- a/testcases/kernel/syscalls/clone/clone08.c
+++ b/testcases/kernel/syscalls/clone/clone08.c
@@ -16,6 +16,7 @@
 #include "tst_test.h"
 #include "clone_platform.h"
 #include "lapi/syscalls.h"
+#include "lapi/futex.h"
 
 static pid_t ptid, ctid, tgid;
 static void *child_stack;
