1*4882a593SmuzhiyunFrom e501b7c17ada9c694d3f8302622b78d733485b38 Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Fabrice Fontaine <fontaine.fabrice@gmail.com>
3*4882a593SmuzhiyunDate: Sat, 21 Aug 2021 17:55:33 +0200
4*4882a593SmuzhiyunSubject: [PATCH] src/util/futex.h: fix build on 32-bit architectures using
5*4882a593Smuzhiyun 64-bit time_t
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunFix the following build failure on 32-bit architectures using 64-bit
8*4882a593Smuzhiyuntime_t (e.g. riscv32):
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun../src/util/futex.h: In function 'sys_futex':
11*4882a593Smuzhiyun../src/util/futex.h:39:19: error: 'SYS_futex' undeclared (first use in this function); did you mean 'sys_futex'?
12*4882a593Smuzhiyun   39 |    return syscall(SYS_futex, addr1, op, val1, timeout, addr2, val3);
13*4882a593Smuzhiyun      |                   ^~~~~~~~~
14*4882a593Smuzhiyun      |                   sys_futex
15*4882a593Smuzhiyun
16*4882a593SmuzhiyunFixes:
17*4882a593Smuzhiyun - http://autobuild.buildroot.org/results/692700a5f967760a0b8cd358b1712f1d5a7b681e
18*4882a593Smuzhiyun
19*4882a593SmuzhiyunSigned-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
20*4882a593Smuzhiyun[Upstream status:
21*4882a593Smuzhiyunhttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12496]
22*4882a593Smuzhiyun---
23*4882a593Smuzhiyun src/util/futex.h | 4 ++++
24*4882a593Smuzhiyun 1 file changed, 4 insertions(+)
25*4882a593Smuzhiyun
26*4882a593Smuzhiyundiff --git a/src/util/futex.h b/src/util/futex.h
27*4882a593Smuzhiyunindex 43097f4cd5b..221eda9db0c 100644
28*4882a593Smuzhiyun--- a/src/util/futex.h
29*4882a593Smuzhiyun+++ b/src/util/futex.h
30*4882a593Smuzhiyun@@ -34,6 +34,10 @@
31*4882a593Smuzhiyun #include <sys/syscall.h>
32*4882a593Smuzhiyun #include <sys/time.h>
33*4882a593Smuzhiyun
34*4882a593Smuzhiyun+#ifndef SYS_futex
35*4882a593Smuzhiyun+#define SYS_futex SYS_futex_time64
36*4882a593Smuzhiyun+#endif
37*4882a593Smuzhiyun+
38*4882a593Smuzhiyun static inline long sys_futex(void *addr1, int op, int val1, const struct timespec *timeout, void *addr2, int val3)
39*4882a593Smuzhiyun {
40*4882a593Smuzhiyun    return syscall(SYS_futex, addr1, op, val1, timeout, addr2, val3);
41*4882a593Smuzhiyun--
42*4882a593Smuzhiyun2.32.0
43*4882a593Smuzhiyun
44