Commit Graph

39 Commits

Author SHA1 Message Date
Vyacheslav Yurkov 01b4e8e2b6 tbb: Fix build error
Target and ptest packages miss the run-time dependency, which causes the
following build errors:

ERROR: tbb-1_2022.3.0-r0 do_package_qa: QA Issue: /usr/lib/tbb/ptest/gnu_15.2_cxx11_64_release/test_tbbbind contained in package tbb-ptest requires libhwloc.so.15()(64bit), but no providers found in RDEPENDS:tbb-ptest? [file-rdeps]
ERROR: tbb-1_2022.3.0-r0 do_package_qa: QA Issue: /usr/lib/libtbbbind_2_5.so.3.17 contained in package tbb requires libhwloc.so.15()(64bit), but no providers found in RDEPENDS:tbb? [file-rdeps]
ERROR: tbb-1_2022.3.0-r0 do_package_qa: Fatal QA errors were found, failing task.

Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-06-20 23:41:40 -07:00
Zeming LIU 15d5785d28 tbb: add ptest support
Test result:
root@qemux86-64:/usr/lib/tbb/ptest# ptest-runner tbb
START: ptest-runner
2026-04-23T01:21
BEGIN: /usr/lib/tbb/ptest
PASS: test_tick_count
PASS: test_allocators
PASS: test_arena_priorities
PASS: test_dynamic_link
PASS: test_collaborative_call_once
PASS: test_concurrent_lru_cache
PASS: test_concurrent_unordered_map
PASS: test_concurrent_unordered_set
PASS: test_concurrent_map
PASS: test_concurrent_set
PASS: test_concurrent_priority_queue
PASS: test_partitioner
PASS: test_parallel_for
PASS: test_parallel_for_each
PASS: test_parallel_reduce
PASS: test_parallel_sort
PASS: test_parallel_invoke
PASS: test_parallel_scan
PASS: test_parallel_pipeline
PASS: test_eh_algorithms
PASS: test_blocked_range
PASS: test_concurrent_vector
PASS: test_task_group
PASS: test_concurrent_hash_map
PASS: test_task_arena
PASS: test_parallel_phase
PASS: test_enumerable_thread_specific
PASS: test_concurrent_queue
PASS: test_resumable_tasks
PASS: test_mutex
PASS: test_function_node
PASS: test_multifunction_node
PASS: test_broadcast_node
PASS: test_buffer_node
PASS: test_composite_node
PASS: test_continue_node
PASS: test_eh_flow_graph
PASS: test_flow_graph
PASS: test_flow_graph_priorities
PASS: test_flow_graph_whitebox
PASS: test_indexer_node
PASS: test_join_node
PASS: test_join_node_key_matching
PASS: test_join_node_key_matching_n_args
PASS: test_join_node_msg_key_matching
PASS: test_join_node_msg_key_matching_n_args
PASS: test_join_node_preview
PASS: test_limiter_node
PASS: test_priority_queue_node
PASS: test_queue_node
PASS: test_sequencer_node
PASS: test_split_node
PASS: test_tagged_msg
PASS: test_overwrite_node
PASS: test_write_once_node
PASS: test_async_node
PASS: test_input_node
PASS: test_profiling
PASS: test_concurrent_queue_whitebox
PASS: test_intrusive_list
PASS: test_semaphore
PASS: test_environment_whitebox
PASS: test_hw_concurrency
PASS: test_eh_thread
PASS: test_tbb_version
PASS: test_global_control
PASS: test_task
PASS: test_concurrent_monitor
PASS: test_scheduler_mix
PASS: test_handle_perror
PASS: test_arena_constraints
PASS: test_tbbbind
PASS: test_tbb_fork
PASS: test_tbb_header
PASS: test_openmp
PASS: conformance_tick_count
PASS: conformance_allocators
PASS: conformance_mutex
PASS: conformance_task_group
PASS: conformance_task_group_context
PASS: conformance_task_arena
PASS: conformance_collaborative_call_once
PASS: conformance_concurrent_lru_cache
PASS: conformance_concurrent_unordered_map
PASS: conformance_concurrent_unordered_set
PASS: conformance_concurrent_map
PASS: conformance_concurrent_set
PASS: conformance_concurrent_priority_queue
PASS: conformance_parallel_for
PASS: conformance_parallel_for_each
PASS: conformance_parallel_reduce
PASS: conformance_parallel_scan
PASS: conformance_parallel_sort
PASS: conformance_parallel_pipeline
PASS: conformance_parallel_invoke
PASS: conformance_blocked_range
PASS: conformance_blocked_range2d
PASS: conformance_blocked_range3d
PASS: conformance_blocked_nd_range
PASS: conformance_concurrent_vector
PASS: conformance_global_control
PASS: conformance_concurrent_hash_map
PASS: conformance_enumerable_thread_specific
PASS: conformance_combinable
PASS: conformance_concurrent_queue
PASS: conformance_resumable_tasks
PASS: conformance_version
PASS: conformance_function_node
PASS: conformance_multifunction_node
PASS: conformance_input_node
PASS: conformance_continue_node
PASS: conformance_async_node
PASS: conformance_overwrite_node
PASS: conformance_write_once_node
PASS: conformance_buffer_node
PASS: conformance_queue_node
PASS: conformance_priority_queue_node
PASS: conformance_sequencer_node
PASS: conformance_limiter_node
PASS: conformance_broadcast_node
PASS: conformance_composite_node
PASS: conformance_indexer_node
PASS: conformance_split_node
PASS: conformance_join_node
PASS: conformance_graph
PASS: conformance_arena_constraints
PASS: test_scalable_allocator
PASS: test_malloc_pools
PASS: test_malloc_init_shutdown
PASS: test_malloc_regression
PASS: test_malloc_shutdown_hang
PASS: test_malloc_compliance
PASS: test_malloc_used_by_lib
PASS: test_malloc_lib_unload
PASS: test_malloc_pure_c
PASS: test_malloc_whitebox
PASS: test_malloc_atexit
PASS: test_malloc_overload
PASS: test_malloc_overload_disable
PASS: test_malloc_new_handler
DURATION: 153
END: /usr/lib/tbb/ptest
2026-04-23T01:23
STOP: ptest-runner
TOTAL: 1 FAIL: 0

Note:
The test will fail/timeout if executed on qemu target without kvm enabled.

Signed-off-by: Zeming LIU <zeming.liu@windriver.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-04-23 07:54:07 -07:00
Khem Raj f58d124eb5 tbb: Fix build with LLD linker
fixes
| aarch64-yoe-linux-ld.lld: error: version script assignment of 'local' to symbol 'ITT_DoOneTimeInitialization' failed: symbol not defined
| aarch64-yoe-linux-ld.lld: error: version script assignment of 'local' to symbol 'TBB_runtime_interface_version' failed: symbol not defined
| aarch64-yoe-linux-ld.lld: error: version script assignment of 'local' to symbol 'get_memcpy_largest_cachelinesize' failed: symbol not defined
| aarch64-yoe-linux-ld.lld: error: version script assignment of 'local' to symbol 'get_memcpy_largest_cache_size' failed: symbol not defined
| aarch64-yoe-linux-ld.lld: error: version script assignment of 'local' to symbol 'get_mem_ops_method' failed: symbol not defined
| aarch64-yoe-linux-ld.lld: error: version script assignment of 'local' to symbol 'init_mem_ops_method' failed: symbol not defined
| aarch64-yoe-linux-ld.lld: error: version script assignment of 'local' to symbol 'irc__get_msg' failed: symbol not defined
| aarch64-yoe-linux-ld.lld: error: version script assignment of 'local' to symbol 'irc__print' failed: symbol not defined
| aarch64-yoe-linux-ld.lld: error: version script assignment of 'local' to symbol 'override_mem_ops_method' failed: symbol not defined
| aarch64-yoe-linux-ld.lld: error: version script assignment of 'local' to symbol 'set_memcpy_largest_cachelinesize' failed: symbol not defined
| aarch64-yoe-linux-ld.lld: error: version script assignment of 'local' to symbol 'set_memcpy_largest_cache_size' failed: symbol not defined
| aarch64-yoe-linux-clang: error: linker command failed with exit code 1 (use -v to see invocation)
| [45/49] Linking CXX shared library clang_22.1_cxx11_64_release/libtbb.so.12.17

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-04-13 08:14:44 -07:00
Ankur Tyagi 9ce3999da9 tbb: upgrade 2022.1.0 -> 2022.3.0
Changelog:
https://github.com/uxlfoundation/oneTBB/releases/tag/v2022.2.0
https://github.com/uxlfoundation/oneTBB/releases/tag/v2022.3.0

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-11-14 07:39:48 -08:00
Alexander Kanavin fc78d37ff0 meta-openembedded/all: adapt to UNPACKDIR changes
Please see
https://git.yoctoproject.org/poky/commit/?id=4dd321f8b83afecd962393101b2a6861275b5265
for what changes are needed, and sed commands that can be used to make them en masse.

I've verified that bitbake -c patch world works with these, but did not run a world
build; the majority of recipes shouldn't need further fixups, but if there are
some that still fall out, they can be fixed in followups.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-06-25 06:44:52 -07:00
Yi Zhao 2f3b740b4f tbb: upgrade 2022.0.0 -> 2022.1.0
ChangeLog:
https://github.com/uxlfoundation/oneTBB/releases/tag/v2022.1.0

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-03-31 14:42:07 -07:00
Changqing Li e29c19c672 tbb: upgrade 2021.13.0 -> 2022.0.0
Updated to the latest version
Refer:
https://github.com/uxlfoundation/oneTBB/releases/tag/v2022.0.0

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-03-11 19:35:31 -07:00
Peter Kjellerstedt 6239d70d8b tbb: Re-enable hwloc support
The problem with using pkg-config to find hwloc when cross-compiling was
solved by upstream in 2021.13.0. However, the upgrade in commit
d8c5a72788 missed that upstream defaults
to disabling searching for hwloc when cross-compiling.

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-11-19 16:59:06 -08:00
Yi Zhao d8c5a72788 tbb: upgrade 2021.11.0 -> 2021.13.0
ChangeLog:
https://github.com/oneapi-src/oneTBB/releases/tag/v2021.12.0
https://github.com/oneapi-src/oneTBB/releases/tag/v2021.13.0

Drop 0001-hwloc_detection.cmake-remove-cross-compiation-check.patch as
the issue has been fixed upstream.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-09-16 23:01:22 -07:00
Anuj Mittal 88a9dd2b83 tbb: pass TBB_STRICT=OFF to disable -Werror
Don't treat compiler warnings as errors to avoid failures when compiling
with newer versions.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-06-27 09:18:48 -07:00
Naveen Saini 6fbe500189 tbb: enable NUMA/Hybrid CPU support
oneTBB relies on HWLOC* to identify the underlying topology
of the system to optimize thread scheduling and memory allocation.

Ref:
https://oneapi-src.github.io/oneTBB/GSG/next_steps.html#hybrid-cpu-and-numa-support

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-11-29 22:25:05 -08:00
Naveen Saini d5f16f18c3 tbb: upgrade 2021.9.0 -> 2021.11.0
riscv arch support enabled in this release, so patching
for riscv* not required anymore. Drop patch.

Release note:
https://github.com/oneapi-src/oneTBB/releases/tag/v2021.11.0

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-11-29 22:25:05 -08:00
Wang Mingyu 2e53376646 tbb: upgrade 2021.8.0 -> 2021.9.0
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-04-17 09:53:32 -07:00
Wang Mingyu 926ac58066 tbb: upgrade 2021.7.0 -> 2021.8.0
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-01-11 08:37:58 -08:00
Naveen Saini 211e4988da tbb: upgrade 2021.5.0 -> 2021.7.0
Drop patches which are already merged. Also drop
which are not required anymore.

Tested following machines with both gcc and clang:
qemuarm
qemuarm64
qemuriscv32
qemuriscv64

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-01-06 11:38:16 -08:00
Ross Burton db72adf016 tbb: upgrade to 2021.5.0
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-01-12 09:22:34 -08:00
Ross Burton 5ff0ebc497 tbb: enable native/nativesdk builds
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-01-07 11:29:09 -08:00
Khem Raj 99250956db tbb: Disable LTO on rv64
ABI mismatches still happen with clang on rv64 as well so disable
LTO for now

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-12-28 19:20:31 -08:00
Khem Raj d57dcb3f69 tbb: Upgrade to 2021.4.0
* Drop upstreamed patches
* Drop 0001-set_my_tls_end_of_input-Use-an-arbitrary-but-valid-p.patch
* which is fixed differently
* Forward port rest of them
* Add a patch to fix build with musl
* Add a patch to disable LTO on rv32 (configuration) and arm ( crashes )

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-12-09 08:36:36 -08:00
Khem Raj c2aafe4737 tbb: Link with libatomic when using clang compiler on rv32
This helps fixing opencv builds where lack of libatomic link in tbb
ends up with build failures e.g.

riscv32-yoe-linux-ld: lib/libopencv_core.so.4.5.2: undefined reference to `__atomic_fetch_add_8'

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-10-25 10:40:50 -07:00
Martin Jansa c61dc077bb Convert to new override syntax
This is the result of automated script (0.9.1) conversion:

oe-core/scripts/contrib/convert-overrides.py .

converting the metadata to use ":" as the override character instead of "_".

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-08-03 10:21:25 -07:00
Khem Raj 0b15f80012 tbb: Fix warnings with clang
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-06-05 06:06:27 -07:00
Khem Raj e9a53d389a tbb: Fix build with GCC 11
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-05-11 11:07:08 -07:00
Saul Wold 8170a965d0 tbb: Disable PPC as COMPATIBLE_MACHINE
The latest version does not support PPC architecture, so disable
the it. Otherwise the following error occurs:

/srv/nvme/yocto/hardknott/builds/tbb/tmp/work/ppc7400-poky-linux/tbb/2021.2.0-r0/git/src/tbb/tools_api/ittnotify_config.h:338:12: error: '__TBB_machine_fetchadd4' was not declared in this scope
  338 |     return __TBB_machine_fetchadd4(ptr, 1) + 1L;
      |            ^~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Saul Wold <saul.wold@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-04-29 15:40:20 -07:00
Khem Raj b5ad9c011d tbb: Re-introduce PE
It was accidentally dropped in last upgrade for this recipe

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Martin Jansa <martin.jansa@gmail.com>
Cc: Naveen Saini <naveen.kumar.saini@intel.com>
2021-04-21 08:27:01 -07:00
Khem Raj 2a88ae98e9 tbb: Fix build with musl
Need to link libucontext on musl
Additionally, mips also needs libatomic

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Naveen Saini <naveen.kumar.saini@intel.com>
2021-04-15 09:28:43 -07:00
Naveen Saini 644b75926b tbb: upgrade 2020.3 -> 2021.2.0
Switched to cmake build tool.

Rebased some patches due to directory re-structuring.
Dropped patches, which are not required anymore.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-04-15 09:28:43 -07:00
Lee Chee Yang 39185eb1d1 tbb: improve reproducibility
remove WORKDIR from generated version_string.ver and
use SOURCE_DATE_EPOCH as DATETIME wherever possible to
improve reproducibility

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-09-30 11:28:18 -07:00
Naveen Saini 11562e889d tbb: upgrade 2020.2 -> 2020.3
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-09-16 23:03:29 -07:00
Anuj Mittal 681555bf55 tbb: upgrade 2017 -> 2020.2
* Remove patches that are not needed anymore and fix the recipe to point
to new source location.

* Remove the compilation tweaks that don't seem to be required anymore.

* Include a patch to fix builds on musl.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-04-09 17:45:01 -07:00
Khem Raj 6ffd5b456f tbb: Ensure that install does not race
This fixes

install: will not overwrite just-created 'TOPDIR/build/tmp/work/core2-64-yoe-linux/tbb/20170412+AUTOINC+a2cfdfe946-r0/image/usr/lib/libtbbmalloc_proxy.so' with 'TOPDIR/build/tmp/work/core2-64-yoe-linux/tbb/20170412+AUTOINC+a2cfdfe946-r0/git/build/linux_x86_64_gcc_cc4_release/libtbbmalloc_proxy.so'

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-03-29 17:32:21 -07:00
Gregory Vimont 8b0c1c3f31 tbb: check the version of the cross gcc instead of host gcc
When cross compiling on linux with gcc, the host gcc was used instead of
the cross gcc to set compilation flags according to gcc version.

Signed-off-by: Gregory Vimont <gregory.vimont@softbankrobotics.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-07-04 06:09:58 -07:00
Khem Raj 637470014f tbb: Update to 2017 Update 6
Fix build with musl and security flags turned on

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-06-12 06:56:45 +02:00
Khem Raj 475ba851de tbb: Update to 2017 release
Update license to reflect new Apache 2.0 license
Fix build with clang

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-03-11 17:56:42 +01:00
Martin Jansa df7242fddb recipes: Replace "cp -a" with "cp -R --no-dereference --preserve=mode,links"
* Using "cp -a" leaks UID of user running the builds, causing
  many QA warnings.
* See this thread for details:
  http://lists.openembedded.org/pipermail/openembedded-core/2015-November/112904.html

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2016-03-04 09:06:22 +01:00
Martin Jansa 504133a737 tbb: Disable thumb
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-11-18 23:14:27 +01:00
Marcin Juszkiewicz 3c2891137d tbb: update to 4.1 Update 3 version from 20130314
ARMv7a support was added in 4.1 Update 3
Older ARM cores support was added by me.

Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-04-19 02:45:27 +02:00
Martin Jansa a45830a39b recipes: Unify indentation
* This change is only aesthetic (unlike indentation in Python
  tasks).
* Some recipes were using tabs.
* Some were using 8 spaces.
* Some were using mix or different number of spaces.
* Make them consistently use 4 spaces everywhere.
* Yocto styleguide advises to use tabs (but the only reason to keep
  tabs is the need to update a lot of recipes). Lately this advice
  was also merged into the styleguide on the OE wiki.
* Using 4 spaces in both types of tasks is better because it's less
  error prone when someone is not sure if e.g.
  do_generate_toolchain_file() is Python or shell task and also allows
  to highlight every tab used in .bb, .inc, .bbappend, .bbclass as
  potentially bad (shouldn't be used for indenting of multiline
  variable assignments and cannot be used for Python tasks).
* Don't indent closing quote on multiline variables
  we're quite inconsistent wheater it's first character on line
  under opening quote or under first non-whitespace character in
  previous line.

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Acked-by: Koen Kooi <koen@dominion.thruhere.net>
2013-04-15 16:23:17 +02:00
Marcin Juszkiewicz 97ded03d71 tbb: add 4.1 20130116 version (4.1 update 2)
Intel® Threading Building Blocks (Intel® TBB) lets you easily write
parallel C++ programs that take full advantage of multicore performance,
that are portable and composable, and that have future-proof
scalability.

Natively supports only x86(-64) targets with fallbacks for non-supported
architectures. There is a work at Linaro to add AArch64 and ARMv7a
support.

Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-03-29 13:16:38 +01:00