| Use SYS_futex for syscall |
| |
| glibc defines SYS_futex and on newer 32bit CPUs like RISCV-32, arc there |
| is no 32bit time_t therefore define SYS_futex in terms of SYS_futex_time64 |
| |
| Upstream-Status: Pending |
| Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| --- a/storage/innobase/include/ib0mutex.h |
| +++ b/storage/innobase/include/ib0mutex.h |
| @@ -150,6 +150,12 @@ private: |
| #include <linux/futex.h> |
| #include <sys/syscall.h> |
| |
| +/** Newer 32bit CPUs eg. RISCV-32 are defaulting to 64bit time_t from get go and |
| + therefore do not define __NR_futex */ |
| +#if !defined(SYS_futex) && defined(SYS_futex_time64) |
| +# define SYS_futex SYS_futex_time64 |
| +#endif |
| + |
| /** Mutex implementation that used the Linux futex. */ |
| template <template <typename> class Policy> |
| struct TTASFutexMutex { |