0002-src-event-cpp-fix-build-on-riscv32.patch 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. From d2061419501bdd6761e9380ed5b91233f6c4e67e Mon Sep 17 00:00:00 2001
  2. From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  3. Date: Fri, 21 May 2021 21:30:04 +0200
  4. Subject: [PATCH] src/event.cpp: fix build on riscv32
  5. riscv32 fails to build because __NR_futex is not defined on this
  6. architecture:
  7. libs/log/src/event.cpp: In member function 'void boost::log::v2_mt_posix::aux::futex_based_event::wait()':
  8. libs/log/src/event.cpp:38:29: error: '__NR_futex' was not declared in this scope
  9. 38 | #define BOOST_LOG_SYS_FUTEX __NR_futex
  10. | ^~~~~~~~~~
  11. Fixes:
  12. - http://autobuild.buildroot.org/results/8c8135fd7c0517c66c9b3975c494da6d7934cc1b
  13. Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  14. [Retrieved from:
  15. https://github.com/boostorg/log/commit/d2061419501bdd6761e9380ed5b91233f6c4e67e]
  16. ---
  17. src/event.cpp | 7 ++++++-
  18. 1 file changed, 6 insertions(+), 1 deletion(-)
  19. diff --git a/libs/log/src/event.cpp b/libs/log/src/event.cpp
  20. index 5485154d7..f576648c6 100644
  21. --- a/libs/log/src/event.cpp
  22. +++ b/libs/log/src/event.cpp
  23. @@ -34,8 +34,13 @@
  24. // Some Android NDKs (Google NDK and older Crystax.NET NDK versions) don't define SYS_futex
  25. #if defined(SYS_futex)
  26. #define BOOST_LOG_SYS_FUTEX SYS_futex
  27. -#else
  28. +#elif defined(__NR_futex)
  29. #define BOOST_LOG_SYS_FUTEX __NR_futex
  30. +// riscv32 defines a different system call instead of __NR_futex
  31. +#elif defined(__NR_futex_time64)
  32. +#define BOOST_LOG_SYS_FUTEX __NR_futex_time64
  33. +#else
  34. +#error "Unable to find a suitable futex"
  35. #endif
  36. #if defined(FUTEX_WAIT_PRIVATE)