aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Kubaj <pkubaj@FreeBSD.org>2021-06-30 20:37:54 +0000
committerPiotr Kubaj <pkubaj@FreeBSD.org>2021-06-30 20:37:54 +0000
commit122b7f18900dabd78759760b67f3573763ea9afe (patch)
tree1bff10c42ae4ff6d75c03bc22c66d3c0ddff7787
parent5985a22c6f1dab6475a1258d3873d5d296502558 (diff)
downloadports-122b7f18900dabd78759760b67f3573763ea9afe.tar.gz
ports-122b7f18900dabd78759760b67f3573763ea9afe.zip
devel/onetbb: fix build on powerpc
/wrkdirs/usr/ports/devel/onetbb/work/oneTBB-2021.2.0/src/tbb/tools_api/ittnotify_config.h:338:12: error: use of undeclared identifier '__TBB_machine_fetchadd4' return __TBB_machine_fetchadd4(ptr, 1) + 1L; Patch taken from https://github.com/oneapi-src/oneTBB/issues/186.
-rw-r--r--devel/onetbb/Makefile4
-rw-r--r--devel/onetbb/files/extra-patch-src_tbb_tools__api_ittnotify__config.h11
2 files changed, 15 insertions, 0 deletions
diff --git a/devel/onetbb/Makefile b/devel/onetbb/Makefile
index 5cda501074da..f98ec6f87bdd 100644
--- a/devel/onetbb/Makefile
+++ b/devel/onetbb/Makefile
@@ -39,6 +39,10 @@ OPTIONS_DEFINE= DOCS
.include <bsd.port.pre.mk>
+.if ${ARCH} == powerpc
+EXTRA_PATCHES= ${FILESDIR}/extra-patch-src_tbb_tools__api_ittnotify__config.h
+.endif
+
post-install:
${INSTALL_DATA} ${WRKDIR}/onetbb.pc ${STAGEDIR}${PREFIX}/libdata/pkgconfig
diff --git a/devel/onetbb/files/extra-patch-src_tbb_tools__api_ittnotify__config.h b/devel/onetbb/files/extra-patch-src_tbb_tools__api_ittnotify__config.h
new file mode 100644
index 000000000000..17105704d4cf
--- /dev/null
+++ b/devel/onetbb/files/extra-patch-src_tbb_tools__api_ittnotify__config.h
@@ -0,0 +1,11 @@
+--- src/tbb/tools_api/ittnotify_config.h.orig 2021-06-30 18:42:09 UTC
++++ src/tbb/tools_api/ittnotify_config.h
+@@ -335,7 +335,7 @@ ITT_INLINE long
+ __itt_interlocked_increment(volatile long* ptr) ITT_INLINE_ATTRIBUTE;
+ ITT_INLINE long __itt_interlocked_increment(volatile long* ptr)
+ {
+- return __TBB_machine_fetchadd4(ptr, 1) + 1L;
++ return __atomic_fetch_add(ptr, 1L, __ATOMIC_SEQ_CST) + 1L;
+ }
+ #endif /* ITT_SIMPLE_INIT */
+