From 0f01a40ab90e3536bb2442bbce4e48fa0de96371 Mon Sep 17 00:00:00 2001 From: Thomas Rodgers Date: Tue, 22 Jun 2021 11:24:11 -0700 Subject: [PATCH] Fix ABI regression in tbb::empty_task caused by switch to LTO * 2nd attempt, previous commit did not include referenced patch Resolves: rhbz#1939012 --- ...ark-empty_task-execute-with-gnu-used.patch | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 tbb-mark-empty_task-execute-with-gnu-used.patch diff --git a/tbb-mark-empty_task-execute-with-gnu-used.patch b/tbb-mark-empty_task-execute-with-gnu-used.patch new file mode 100644 index 0000000..597efcd --- /dev/null +++ b/tbb-mark-empty_task-execute-with-gnu-used.patch @@ -0,0 +1,26 @@ +From db2f2116adfb545bb76c92205f91e3e3f0f9e44a Mon Sep 17 00:00:00 2001 +From: Thomas Rodgers +Date: Wed, 2 Jun 2021 15:18:30 -0700 +Subject: [PATCH] Mark tbb::empty_task::execute with [[gnu::used]] + +--- + include/tbb/task.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/include/tbb/task.h b/include/tbb/task.h +index 5e137c6..5b60163 100644 +--- a/include/tbb/task.h ++++ b/include/tbb/task.h +@@ -1040,6 +1040,9 @@ inline void task::resume(suspend_point tag) { + //! task that does nothing. Useful for synchronization. + /** @ingroup task_scheduling */ + class __TBB_DEPRECATED_IN_VERBOSE_MODE empty_task: public task { ++#if __has_cpp_attribute(gnu::used) ++ [[gnu::used]] ++#endif + task* execute() __TBB_override { + return NULL; + } +-- +2.31.1 +