1From 035dc537bee26e3b63a211b2835d8560439e161f Mon Sep 17 00:00:00 2001
2From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
3Date: Fri, 27 Aug 2021 16:28:32 +0200
4Subject: Fix build on riscv32
5
6riscv32 fails to build because __NR_futex is not defined on this
7architecture:
8
9In file included from thread/qmutex_linux.cpp:45,
10                 from thread/qmutex.cpp:804:
11thread/qfutex_p.h: In function 'int QtLinuxFutex::_q_futex(int*, int, int, quintptr, int*, int)':
12thread/qfutex_p.h:116:30: error: '__NR_futex' was not declared in this scope; did you mean '_q_futex'?
13  116 |         int result = syscall(__NR_futex, addr, op | FUTEX_PRIVATE_FLAG, val, val2, addr2, val3);
14      |                              ^~~~~~~~~~
15      |                              _q_futex
16
17Pick-to: 6.1 6.2
18Fixes: QTBUG-96067
19Change-Id: Ib6a9bcc496f37e69ac39362cb0a021fccaf311f5
20Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
21[Retrieved from:
22https://code.qt.io/cgit/qt/qtbase.git/commit/?id=035dc537bee26e3b63a211b2835d8560439e161f]
23Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
24---
25 src/corelib/thread/qfutex_p.h | 5 +++++
26 1 file changed, 5 insertions(+)
27
28diff --git a/src/corelib/thread/qfutex_p.h b/src/corelib/thread/qfutex_p.h
29index 40482b6fc1..037207a5c0 100644
30--- a/src/corelib/thread/qfutex_p.h
31+++ b/src/corelib/thread/qfutex_p.h
32@@ -103,6 +103,11 @@ QT_END_NAMESPACE
33 // if not defined in linux/futex.h
34 #  define FUTEX_PRIVATE_FLAG        128         // added in v2.6.22
35
36+// RISC-V does not supply __NR_futex
37+#  ifndef __NR_futex
38+#    define __NR_futex __NR_futex_time64
39+#  endif
40+
41 QT_BEGIN_NAMESPACE
42 namespace QtLinuxFutex {
43     constexpr inline bool futexAvailable() { return true; }
44--
45cgit v1.2.1
46
47