Source: onetbb Version: 2021.7.0-1 Severity: normal Tags: patch User: debian-ia64@lists.debian.org Usertags: ia64 X-Debbugs-Cc: debian-ia64@lists.debian.org
Hello! The attached patch defines fetchadd4() on ia64 where it's currently undefined which leads to the following build error: FAILED: src/tbbmalloc/CMakeFiles/tbbmalloc.dir/__/tbb/itt_notify.cpp.o /usr/bin/c++ -D__TBBMALLOC_BUILD -D__TBB_USE_ITT_NOTIFY -I/<<PKGBUILDDIR>>/src/tbbmalloc/../../include -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -specs=/usr/share/dpkg/pie-compile.specs -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -flto=auto -fno-fat-lto-objects -fPIC -flifetime-dse=1 -fno-rtti -fno-exceptions -std=c++11 -MD -MT src/tbbmalloc/CMakeFiles/tbbmalloc.dir/__/tbb/itt_notify.cpp.o -MF src/tbbmalloc/CMakeFiles/tbbmalloc.dir/__/tbb/itt_notify.cpp.o.d -o src/tbbmalloc/CMakeFiles/tbbmalloc.dir/__/tbb/itt_notify.cpp.o -c /<<PKGBUILDDIR>>/src/tbb/itt_notify.cpp In file included from /<<PKGBUILDDIR>>/src/tbb/tools_api/ittnotify_static.c:17, from /<<PKGBUILDDIR>>/src/tbb/itt_notify.cpp:43: /<<PKGBUILDDIR>>/src/tbb/tools_api/ittnotify_config.h: In function ‘long int __itt_interlocked_increment(volatile long int*)’: /<<PKGBUILDDIR>>/src/tbb/tools_api/ittnotify_config.h:370:12: error: ‘__TBB_machine_fetchadd4’ was not declared in this scope 370 | return __TBB_machine_fetchadd4(ptr, 1) + 1L; | ^~~~~~~~~~~~~~~~~~~~~~~ Could you include the patch for the next upload? I've also opened a PR upstream [1]. Thanks, Adrian > [1] https://github.com/oneapi-src/oneTBB/pull/983 -- .''`. John Paul Adrian Glaubitz : :' : Debian Developer `. `' Physicist `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
--- onetbb-2021.7.0.orig/src/tbb/tools_api/ittnotify_config.h +++ onetbb-2021.7.0/src/tbb/tools_api/ittnotify_config.h @@ -345,7 +345,7 @@ ITT_INLINE long __itt_interlocked_increm #ifdef __INTEL_COMPILER #define __TBB_machine_fetchadd4(addr, val) __fetchadd4_acq((void *)addr, val) #else /* __INTEL_COMPILER */ -/* TODO: Add Support for not Intel compilers for IA-64 architecture */ +#define __TBB_machine_fetchadd4(addr, val) __sync_fetch_and_add(addr, val) #endif /* __INTEL_COMPILER */ #elif ITT_ARCH==ITT_ARCH_IA32 || ITT_ARCH==ITT_ARCH_IA32E /* ITT_ARCH!=ITT_ARCH_IA64 */ ITT_INLINE long