From 4979ce178a5f33cd940677610932c694b0adc831d743543eaeaad9ea37bdebc5 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Wed, 4 Jan 2023 21:26:10 +0000 Subject: [PATCH] Accepting request 1055995 from home:glaubitz:branches:devel:libraries:c_c++ - Update to v2021.8.0 * Fixed oneapi::tbb::concurrent_bounded_queue::pop return type (GitHub* #807). * Fixed oneapi::tbb::concurrent_queue and oneapi::tbb::concurrent_bounded_queue with non-default constructible value types (GitHub* #885). * Fixed incorrect splitting of iteration space in case there is no support for proportional splitting in custom ranges. - Add patch to link against libatomic where necessary * add-cmake-check-for-libatomic-requirement-when-build.patch - Drop 5cb212d44732947396abdd39eae1229c7cd51644.patch, merged upstream - Use correct changelog entries for v2021.7.0 * Memory allocator crash when allocating ~1TB on 64-bit systems (GitHub* #838). * Thread Distribution over NUMA Nodes on Windows OS systems. * For oneapi::tbb::suspend it is now guaranteed that the user-specified callable object is executed by the calling thread. OBS-URL: https://build.opensuse.org/request/show/1055995 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/tbb?expand=0&rev=81 --- ...12d44732947396abdd39eae1229c7cd51644.patch | 43 ------------------- ...for-libatomic-requirement-when-build.patch | 41 ++++++++++++++++++ tbb-2021.7.0.tar.gz | 3 -- tbb-2021.8.0.tar.gz | 3 ++ tbb.changes | 31 +++++++------ tbb.spec | 4 +- 6 files changed, 64 insertions(+), 61 deletions(-) delete mode 100644 5cb212d44732947396abdd39eae1229c7cd51644.patch create mode 100644 add-cmake-check-for-libatomic-requirement-when-build.patch delete mode 100644 tbb-2021.7.0.tar.gz create mode 100644 tbb-2021.8.0.tar.gz diff --git a/5cb212d44732947396abdd39eae1229c7cd51644.patch b/5cb212d44732947396abdd39eae1229c7cd51644.patch deleted file mode 100644 index 0791b30..0000000 --- a/5cb212d44732947396abdd39eae1229c7cd51644.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 5cb212d44732947396abdd39eae1229c7cd51644 Mon Sep 17 00:00:00 2001 -From: Kirigami -Date: Sun, 14 Aug 2022 16:21:51 +0800 -Subject: [PATCH] add loongarch support (#850) - -* add loongarch support - -* update the copyright year of ittnotify_config.h ---- - src/tbb/tools_api/ittnotify_config.h | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/src/tbb/tools_api/ittnotify_config.h b/src/tbb/tools_api/ittnotify_config.h -index f904a8e9d..5e7c0cdf5 100644 ---- a/src/tbb/tools_api/ittnotify_config.h -+++ b/src/tbb/tools_api/ittnotify_config.h -@@ -1,5 +1,5 @@ - /* -- Copyright (c) 2005-2021 Intel Corporation -+ Copyright (c) 2005-2022 Intel Corporation - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. -@@ -163,6 +163,10 @@ - # define ITT_ARCH_ARM64 6 - #endif /* ITT_ARCH_ARM64 */ - -+#ifndef ITT_ARCH_LOONGARCH64 -+# define ITT_ARCH_LOONGARCH64 7 -+#endif /* ITT_ARCH_LOONGARCH64 */ -+ - #ifndef ITT_ARCH - # if defined _M_IX86 || defined __i386__ - # define ITT_ARCH ITT_ARCH_IA32 -@@ -176,6 +180,8 @@ - # define ITT_ARCH ITT_ARCH_ARM64 - # elif defined __powerpc64__ - # define ITT_ARCH ITT_ARCH_PPC64 -+# elif defined __loongarch__ -+# define ITT_ARCH ITT_ARCH_LOONGARCH64 - # endif - #endif - diff --git a/add-cmake-check-for-libatomic-requirement-when-build.patch b/add-cmake-check-for-libatomic-requirement-when-build.patch new file mode 100644 index 0000000..3ae2df4 --- /dev/null +++ b/add-cmake-check-for-libatomic-requirement-when-build.patch @@ -0,0 +1,41 @@ +From faea2c59a95ff609d23a4e4f859edef83d02f417 Mon Sep 17 00:00:00 2001 +From: John Paul Adrian Glaubitz +Date: Fri, 9 Dec 2022 12:36:11 +0100 +Subject: [PATCH] Add cmake check for libatomic requirement when building with + gcc (#980) + +Signed-off-by: John Paul Adrian Glaubitz +--- + cmake/compilers/GNU.cmake | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +diff --git a/cmake/compilers/GNU.cmake b/cmake/compilers/GNU.cmake +index cd76acfe..59f4e693 100644 +--- a/cmake/compilers/GNU.cmake ++++ b/cmake/compilers/GNU.cmake +@@ -44,6 +44,22 @@ if (NOT MINGW) + set(TBB_COMMON_LINK_LIBS dl) + endif() + ++# Check whether code with full atomics can be built without libatomic ++# see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81358 ++include(CheckCXXSourceCompiles) ++check_cxx_source_compiles("#include ++int main() { ++ std::atomic w1; ++ std::atomic w2; ++ std::atomic w4; ++ std::atomic w8; ++ return ++w1 + ++w2 + ++w4 + ++w8; ++}" TBB_BUILDS_WITHOUT_LIBATOMIC) ++ ++if(NOT TBB_BUILDS_WITHOUT_LIBATOMIC) ++ set(TBB_COMMON_LINK_LIBS ${TBB_COMMON_LINK_LIBS} atomic) ++endif() ++ + # Ignore -Werror set through add_compile_options() or added to CMAKE_CXX_FLAGS if TBB_STRICT is disabled. + if (NOT TBB_STRICT AND COMMAND tbb_remove_compile_flag) + tbb_remove_compile_flag(-Werror) +-- +2.30.2 + diff --git a/tbb-2021.7.0.tar.gz b/tbb-2021.7.0.tar.gz deleted file mode 100644 index 54322eb..0000000 --- a/tbb-2021.7.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2cae2a80cda7d45dc7c072e4295c675fff5ad8316691f26f40539f7e7e54c0cc -size 2571727 diff --git a/tbb-2021.8.0.tar.gz b/tbb-2021.8.0.tar.gz new file mode 100644 index 0000000..5db9f46 --- /dev/null +++ b/tbb-2021.8.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eee380323bb7ce864355ed9431f85c43955faaae9e9bce35c62b372d7ffd9f8b +size 2575336 diff --git a/tbb.changes b/tbb.changes index 87cc97d..3689605 100644 --- a/tbb.changes +++ b/tbb.changes @@ -1,20 +1,25 @@ +------------------------------------------------------------------- +Wed Jan 4 20:08:08 UTC 2023 - John Paul Adrian Glaubitz + +- Update to v2021.8.0 + * Fixed oneapi::tbb::concurrent_bounded_queue::pop return type (GitHub* #807). + * Fixed oneapi::tbb::concurrent_queue and oneapi::tbb::concurrent_bounded_queue + with non-default constructible value types (GitHub* #885). + * Fixed incorrect splitting of iteration space in case there is no + support for proportional splitting in custom ranges. +- Add patch to link against libatomic where necessary + * add-cmake-check-for-libatomic-requirement-when-build.patch +- Drop 5cb212d44732947396abdd39eae1229c7cd51644.patch, merged upstream +- Use correct changelog entries for v2021.7.0 + ------------------------------------------------------------------- Sun Dec 11 18:37:06 UTC 2022 - Dirk Müller - update to v2021.7.0: - * Memory allocator crash on a system with an incomplete /proc/meminfo - (GitHub* #584). - * Incorrect blocking of task stealing (GitHub* #478). - * Hang due to incorrect decrement of a limiter_node (GitHub* #634). - * Memory corruption in some rare cases when passing big messages in a flow - graph (GitHub* #639). - * Possible deadlock in a throwable flow graph node with a lightweight - policy. The lightweight policy is now ignored for functors that can - throw exceptions (GitHub* #420). - * Crash when obtaining a range from empty ordered and unordered containers - (GitHub* #641). - * Deadlock in a concurrent_vector resize() that could happen when the new - size is less than the previous size (GitHub* #733). + * Memory allocator crash when allocating ~1TB on 64-bit systems (GitHub* #838). + * Thread Distribution over NUMA Nodes on Windows OS systems. + * For oneapi::tbb::suspend it is now guaranteed that the user-specified + callable object is executed by the calling thread. ------------------------------------------------------------------- Sat Sep 24 12:16:41 UTC 2022 - Dirk Müller diff --git a/tbb.spec b/tbb.spec index 1ea1d3c..185f0d8 100644 --- a/tbb.spec +++ b/tbb.spec @@ -40,7 +40,7 @@ %bcond_with python3 %endif Name: tbb -Version: 2021.7.0 +Version: 2021.8.0 Release: 0 Summary: Threading Building Blocks (TBB) License: Apache-2.0 @@ -48,11 +48,11 @@ Group: Development/Libraries/C and C++ URL: https://www.threadingbuildingblocks.org/ Source0: https://github.com/oneapi-src/oneTBB/archive/v%{version}.tar.gz#/tbb-%{version}.tar.gz Source99: tbb-rpmlintrc -Patch0: https://github.com/oneapi-src/oneTBB/commit/5cb212d44732947396abdd39eae1229c7cd51644.patch Patch1: https://github.com/oneapi-src/oneTBB/pull/917.patch # PATCH-FIX-OPENSUSE cmake-remove-include-path.patch -- openCV include error Patch2: cmake-remove-include-path.patch Patch3: retry-pthread_create.patch +Patch4: add-cmake-check-for-libatomic-requirement-when-build.patch BuildRequires: cmake BuildRequires: fdupes BuildRequires: gcc-c++