0007-Fix-build-on-riscv32.patch 1.7 KB

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