diff options
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/patches/tbb-fix-test-on-aarch64.patch | 35 | ||||
-rw-r--r-- | gnu/packages/tbb.scm | 4 |
3 files changed, 40 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 146b2a116a..5c4d35fc36 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1855,6 +1855,7 @@ dist_patch_DATA = \ %D%/packages/patches/tao-fix-parser-types.patch \ %D%/packages/patches/tar-remove-wholesparse-check.patch \ %D%/packages/patches/tar-skip-unreliable-tests.patch \ + %D%/packages/patches/tbb-fix-test-on-aarch64.patch \ %D%/packages/patches/tcc-boot-0.9.27.patch \ %D%/packages/patches/tclxml-3.2-install.patch \ %D%/packages/patches/tcsh-fix-autotest.patch \ diff --git a/gnu/packages/patches/tbb-fix-test-on-aarch64.patch b/gnu/packages/patches/tbb-fix-test-on-aarch64.patch new file mode 100644 index 0000000000..3a6003591e --- /dev/null +++ b/gnu/packages/patches/tbb-fix-test-on-aarch64.patch @@ -0,0 +1,35 @@ +From 013035b4e9af39f506e87ae6b755c3363e768d4d Mon Sep 17 00:00:00 2001 +From: Vladislav Shchapov <phprus@gmail.com> +Date: Thu, 23 Dec 2021 19:17:24 +0500 +Subject: [PATCH] Fix issue #687 (test_eh_thread) (#697) + +Signed-off-by: Vladislav Shchapov <phprus@gmail.com> +--- + test/tbb/test_eh_thread.cpp | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/test/tbb/test_eh_thread.cpp b/test/tbb/test_eh_thread.cpp +index aa6d764d..af291f48 100644 +--- a/test/tbb/test_eh_thread.cpp ++++ b/test/tbb/test_eh_thread.cpp +@@ -36,6 +36,7 @@ + // TODO: enable limitThreads with sanitizer under docker + #if TBB_USE_EXCEPTIONS && !_WIN32 && !__ANDROID__ + ++#include <limits.h> + #include <sys/types.h> + #include <sys/time.h> + #include <sys/resource.h> +@@ -73,7 +74,8 @@ public: + mValid = false; + pthread_attr_t attr; + // Limit the stack size not to consume all virtual memory on 32 bit platforms. +- if (pthread_attr_init(&attr) == 0 && pthread_attr_setstacksize(&attr, 100*1024) == 0) { ++ std::size_t stacksize = utils::max(128*1024, PTHREAD_STACK_MIN); ++ if (pthread_attr_init(&attr) == 0 && pthread_attr_setstacksize(&attr, stacksize) == 0) { + mValid = pthread_create(&mHandle, &attr, thread_routine, /* arg = */ nullptr) == 0; + } + } +-- +2.34.0 + diff --git a/gnu/packages/tbb.scm b/gnu/packages/tbb.scm index e5d8394f5f..ef92e6db69 100644 --- a/gnu/packages/tbb.scm +++ b/gnu/packages/tbb.scm @@ -41,6 +41,10 @@ (sha256 (base32 "0ih727g802j9lvwkqhw021bk1wb7xlvfgd0vl1i6jng4am1wv7vq")))) + (patches (list + ;; Backport an upstream commit that prevents the + ;; "test_eh_thread" test failing on AArch64. + (search-patch "tbb-fix-test-on-aarch64.patch"))))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DTBB_STRICT=OFF"))) ;; Don't fail on warnings |