a8c7e406f6
Commitd72350e62a
disabled boost::logs on riscv32 due to the use of SYS_futex, which doesn't exist on riscv32. Revert "package/boost: disable logs with riscv32" and add an upstream patch that uses SYS_futex_time64 instead. This reverts commitd72350e62a
. Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
43 lines
1.5 KiB
Diff
43 lines
1.5 KiB
Diff
From d2061419501bdd6761e9380ed5b91233f6c4e67e Mon Sep 17 00:00:00 2001
|
|
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
|
Date: Fri, 21 May 2021 21:30:04 +0200
|
|
Subject: [PATCH] src/event.cpp: fix build on riscv32
|
|
|
|
riscv32 fails to build because __NR_futex is not defined on this
|
|
architecture:
|
|
|
|
libs/log/src/event.cpp: In member function 'void boost::log::v2_mt_posix::aux::futex_based_event::wait()':
|
|
libs/log/src/event.cpp:38:29: error: '__NR_futex' was not declared in this scope
|
|
38 | #define BOOST_LOG_SYS_FUTEX __NR_futex
|
|
| ^~~~~~~~~~
|
|
|
|
Fixes:
|
|
- http://autobuild.buildroot.org/results/8c8135fd7c0517c66c9b3975c494da6d7934cc1b
|
|
|
|
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
|
[Retrieved from:
|
|
https://github.com/boostorg/log/commit/d2061419501bdd6761e9380ed5b91233f6c4e67e]
|
|
---
|
|
src/event.cpp | 7 ++++++-
|
|
1 file changed, 6 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/libs/log/src/event.cpp b/libs/log/src/event.cpp
|
|
index 5485154d7..f576648c6 100644
|
|
--- a/libs/log/src/event.cpp
|
|
+++ b/libs/log/src/event.cpp
|
|
@@ -34,8 +34,13 @@
|
|
// Some Android NDKs (Google NDK and older Crystax.NET NDK versions) don't define SYS_futex
|
|
#if defined(SYS_futex)
|
|
#define BOOST_LOG_SYS_FUTEX SYS_futex
|
|
-#else
|
|
+#elif defined(__NR_futex)
|
|
#define BOOST_LOG_SYS_FUTEX __NR_futex
|
|
+// riscv32 defines a different system call instead of __NR_futex
|
|
+#elif defined(__NR_futex_time64)
|
|
+#define BOOST_LOG_SYS_FUTEX __NR_futex_time64
|
|
+#else
|
|
+#error "Unable to find a suitable futex"
|
|
#endif
|
|
|
|
#if defined(FUTEX_WAIT_PRIVATE)
|