From 050be3ad358b7824b3fe9f832bc1ee494edd37d8 Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Thu, 2 Sep 2021 18:22:22 +0200 Subject: [PATCH] package/qt5/qt5base: fix build on riscv32 Fix the following build failure on riscv32: In file included from thread/qmutex_linux.cpp:45, from thread/qmutex.cpp:804: thread/qfutex_p.h: In function 'int QtLinuxFutex::_q_futex(int*, int, int, quintptr, int*, int)': thread/qfutex_p.h:116:30: error: '__NR_futex' was not declared in this scope; did you mean '_q_futex'? 116 | int result = syscall(__NR_futex, addr, op | FUTEX_PRIVATE_FLAG, val, val2, addr2, val3); | ^~~~~~~~~~ | _q_futex Fixes: - http://autobuild.buildroot.org/results/ffedfc000029072d5d724e98ab4551fe973658ce Signed-off-by: Fabrice Fontaine --- .../qt5base/0009-Fix-build-on-riscv32.patch | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 package/qt5/qt5base/0009-Fix-build-on-riscv32.patch diff --git a/package/qt5/qt5base/0009-Fix-build-on-riscv32.patch b/package/qt5/qt5base/0009-Fix-build-on-riscv32.patch new file mode 100644 index 0000000000..98c7210551 --- /dev/null +++ b/package/qt5/qt5base/0009-Fix-build-on-riscv32.patch @@ -0,0 +1,45 @@ +From 035dc537bee26e3b63a211b2835d8560439e161f Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 27 Aug 2021 16:28:32 +0200 +Subject: Fix build on riscv32 + +riscv32 fails to build because __NR_futex is not defined on this +architecture: + +In file included from thread/qmutex_linux.cpp:45, + from thread/qmutex.cpp:804: +thread/qfutex_p.h: In function 'int QtLinuxFutex::_q_futex(int*, int, int, quintptr, int*, int)': +thread/qfutex_p.h:116:30: error: '__NR_futex' was not declared in this scope; did you mean '_q_futex'? + 116 | int result = syscall(__NR_futex, addr, op | FUTEX_PRIVATE_FLAG, val, val2, addr2, val3); + | ^~~~~~~~~~ + | _q_futex + +Pick-to: 6.1 6.2 +Fixes: QTBUG-96067 +Change-Id: Ib6a9bcc496f37e69ac39362cb0a021fccaf311f5 +Reviewed-by: Thiago Macieira +[Retrieved from: +https://code.qt.io/cgit/qt/qtbase.git/commit/?id=035dc537bee26e3b63a211b2835d8560439e161f] +--- + src/corelib/thread/qfutex_p.h | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/corelib/thread/qfutex_p.h b/src/corelib/thread/qfutex_p.h +index 40482b6fc1..037207a5c0 100644 +--- a/src/corelib/thread/qfutex_p.h ++++ b/src/corelib/thread/qfutex_p.h +@@ -103,6 +103,11 @@ QT_END_NAMESPACE + // if not defined in linux/futex.h + # define FUTEX_PRIVATE_FLAG 128 // added in v2.6.22 + ++// RISC-V does not supply __NR_futex ++# ifndef __NR_futex ++# define __NR_futex __NR_futex_time64 ++# endif ++ + QT_BEGIN_NAMESPACE + namespace QtLinuxFutex { + constexpr inline bool futexAvailable() { return true; } +-- +cgit v1.2.1 + -- 2.30.2