From 39c985e3f03c9c7d361c2fa3dcbe8104a868d959 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Tue, 28 Apr 2020 20:30:56 -0700 Subject: [PATCH] Define __NR_futex to be __NR_futex_time64 on riscv32 RISCV glibc has decided to use 64bit time_t from get go unlike other 32bit architecture therefore aliasing __NR_futex to __NR_futex_time64 helps avoid the below errors on rv32 tst_checkpoint.c:99:17: error: use of undeclared identifier 'SYS_futex' Signed-off-by: Khem Raj --- lib/tst_checkpoint.c | 4 ++++ testcases/kernel/syscalls/clone/clone08.c | 4 ++++ testcases/kernel/syscalls/futex/futextest.h | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/lib/tst_checkpoint.c b/lib/tst_checkpoint.c index 5e5b11496c..0388e9db2f 100644 --- a/lib/tst_checkpoint.c +++ b/lib/tst_checkpoint.c @@ -21,6 +21,10 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ +#if !defined(__NR_futex) && defined(__riscv) && __riscv_xlen == 32 +# define __NR_futex __NR_futex_time64 +#endif + #include #include #include diff --git a/testcases/kernel/syscalls/clone/clone08.c b/testcases/kernel/syscalls/clone/clone08.c index aace308068..85a2bd9246 100644 --- a/testcases/kernel/syscalls/clone/clone08.c +++ b/testcases/kernel/syscalls/clone/clone08.c @@ -5,6 +5,10 @@ * Author: Zeng Linggang */ +#if !defined(__NR_futex) && defined(__riscv) && __riscv_xlen == 32 +# define __NR_futex __NR_futex_time64 +#endif + #define _GNU_SOURCE #include #include diff --git a/testcases/kernel/syscalls/futex/futextest.h b/testcases/kernel/syscalls/futex/futextest.h index 5754d36dae..59d877e30f 100644 --- a/testcases/kernel/syscalls/futex/futextest.h +++ b/testcases/kernel/syscalls/futex/futextest.h @@ -34,6 +34,10 @@ #ifndef _FUTEXTEST_H #define _FUTEXTEST_H +#if !defined(__NR_futex) && defined(__riscv) && __riscv_xlen == 32 +# define __NR_futex __NR_futex_time64 +#endif + #include #include #include -- 2.26.2