oneTBB
oneTBB copied to clipboard
ittnotify_config.h: gcc support for ia64 architecture
When compiling with gcc on ia64 architecture, the __TBB_machine_fetchadd4 will be left undefined.
https://github.com/oneapi-src/oneTBB/blob/master/src/tbb/tools_api/ittnotify_config.h#L327-L331
Why not replace the TODO comment with the fallback implementation?
#define __TBB_machine_fetchadd4(addr, val) __sync_fetch_and_add(addr, val)
Perhaps, it makes sense (especially, if someone is interested in ia64)
Notify: @ekovanova
I tried to build tbb on IA64 with that fallback implementation, and the tests ended up with a large number of segmentation faults.
@cdluminate does the aforementioned segfaults relate to __sync_fetch_and_add?
@ekovanova Yes. Lots of segmentation faults after adding
#define __TBB_machine_fetchadd4(addr, val) __sync_fetch_and_add(addr, val)
Please find the buildlog here https://buildd.debian.org/status/fetch.php?pkg=onetbb&arch=ia64&ver=2021.5.0-6&stamp=1644945917&raw=0
The build log does not show if it is really related to ITT. oneTBB is neither officially nor community supported on ia64. I would not expect that someone tried to run oneTBB on ia64 previously, so many others issues might present.
Try to build without ITT to check if it relates to ITT (disable the branch in src/tbb/CMakeLists.txt#L61-L66)
@cdluminate how critical support of IA64 for a debian releases? Is it must have or optional?
@anton-potapov IA64 is not Debian's release architecture. It's just optional. I was just trying to let it build on as more architectures as possible.
@cdluminate Is this issue still relevant? Have you tried to build without ITT?
Not yet. Will try it for the next time of package upload