summaryrefslogtreecommitdiff
path: root/dev-cpp/tbb/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-03-20 00:40:44 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-03-20 00:40:44 +0000
commit4cbcc855382a06088e2f016f62cafdbcb7e40665 (patch)
tree356496503d52354aa6d9f2d36126302fed5f3a73 /dev-cpp/tbb/files
parentfcc5224904648a8e6eb528d7603154160a20022f (diff)
gentoo resync : 20.03.2022
Diffstat (limited to 'dev-cpp/tbb/files')
-rw-r--r--dev-cpp/tbb/files/tbb-2021.5.0-musl-setcontext.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/dev-cpp/tbb/files/tbb-2021.5.0-musl-setcontext.patch b/dev-cpp/tbb/files/tbb-2021.5.0-musl-setcontext.patch
new file mode 100644
index 000000000000..111bbf123d9a
--- /dev/null
+++ b/dev-cpp/tbb/files/tbb-2021.5.0-musl-setcontext.patch
@@ -0,0 +1,30 @@
+https://bugs.gentoo.org/832700
+https://github.com/oneapi-src/oneTBB/commit/6a15b64093c51ddc00bdf4a6b49d4bbec1574a12
+
+From: Rui Ueyama <rui314@gmail.com>
+Date: Fri, 4 Feb 2022 19:32:11 +0900
+Subject: [PATCH] Make tbb compile with musl libc (#748)
+
+TBB resumable tasks are implemented using getcontext() and setcontext()
+on Unix-like systems. These functions are deprecated in the recent
+versions of POSIX and may not exist. musl libc does not provide these
+functions.
+
+There's unfortunately no way to detect musl (musl intentionally do not
+define macros like `__MUSL__`), so __TBB_RESUMABLE_TASKS is defined if
+`__GLIBC__`. glibc-compatible libc's such as uClibc defines `__GLIBC__`,
+so it should work as a catch-all condition.
+
+Signed-off-by: Rui Ueyama <ruiu@cs.stanford.edu>
+--- a/include/oneapi/tbb/detail/_config.h
++++ b/include/oneapi/tbb/detail/_config.h
+@@ -268,7 +268,7 @@
+ #define __TBB_CPP20_COMPARISONS_PRESENT __TBB_CPP20_PRESENT
+ #endif
+
+-#define __TBB_RESUMABLE_TASKS (!__TBB_WIN8UI_SUPPORT && !__ANDROID__ && !__QNXNTO__)
++#define __TBB_RESUMABLE_TASKS (!__TBB_WIN8UI_SUPPORT && !__ANDROID__ && !__QNXNTO__ && (!__linux__ || __GLIBC__))
+
+ /* This macro marks incomplete code or comments describing ideas which are considered for the future.
+ * See also for plain comment with TODO and FIXME marks for small improvement opportunities.
+