Your message dated Fri, 13 Feb 2015 22:56:31 -0500 with message-id <CANTw=mpjdl+r3hoyabsq2yot9xhwsirvujrpi_qspu1_d6w...@mail.gmail.com> and subject line has caused the Debian Bug report #773359, regarding package tbb_4.2~20140122-4 FTBFS on mips and mipsel to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact [email protected] immediately.) -- 773359: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=773359 Debian Bug Tracking System Contact [email protected] with problems
--- Begin Message ---Package: tbb Version: 4.2~20140122-4 Severity: serious Tags: sid + patch Justification: FTBFS User: [email protected] Usertags: mips-patch Hello, Package tbb_4.2~20140122-4 FTBFS on mips and mipsel. Mips platform does not have 64-bit __sync_* operations. To resolve this issue it is needed to use corresponding __atomic_* from libatomic library. https://buildd.debian.org/status/package.php?p=tbb&suite=sid build logs: https://buildd.debian.org/status/fetch.php?pkg=tbb&arch=mips&ver=4.2~20140122-4&stamp=1415055684 https://buildd.debian.org/status/fetch.php?pkg=tbb&arch=mipsel&ver=4.2~20140122-4&stamp=1415054347 I have attached a patch resolving this issue. Thank you! Regards, Jurica--- tbb-4.2~20140122.orig/build/linux.gcc.inc +++ tbb-4.2~20140122/build/linux.gcc.inc @@ -80,6 +80,14 @@ endif TBB_ASM.OBJ= MALLOC_ASM.OBJ= +ifeq (mips,$(arch)) + LINK_FLAGS += -latomic +endif + +ifeq (mipsel,$(arch)) + LINK_FLAGS += -latomic +endif + ifeq (ia64,$(arch)) # Position-independent code (PIC) is a must on IA-64 architecture, even for regular (not shared) executables CPLUS_FLAGS += $(PIC_KEY) --- tbb-4.2~20140122.orig/build/linux.inc +++ tbb-4.2~20140122/build/linux.inc @@ -76,6 +76,12 @@ ifndef arch ifeq ($(deb_host_arch),i386) export arch:=ia32 endif + ifeq ($(deb_host_arch),mips) + export arch:=mips + endif + ifeq ($(deb_host_arch),mipsel) + export arch:=mipsel + endif ifndef arch export arch:=$(uname_m) $(warning "Unknown arch: " $(arch)) --- tbb-4.2~20140122.orig/include/tbb/machine/gcc_generic.h +++ tbb-4.2~20140122/include/tbb/machine/gcc_generic.h @@ -68,14 +68,27 @@ #define __TBB_full_memory_fence() __sync_synchronize() #define __TBB_control_consistency_helper() __sync_synchronize() -#define __TBB_MACHINE_DEFINE_ATOMICS(S,T) \ -inline T __TBB_machine_cmpswp##S( volatile void *ptr, T value, T comparand ) { \ - return __sync_val_compare_and_swap(reinterpret_cast<volatile T *>(ptr),comparand,value); \ -} \ - \ -inline T __TBB_machine_fetchadd##S( volatile void *ptr, T value ) { \ - return __sync_fetch_and_add(reinterpret_cast<volatile T *>(ptr),value); \ -} \ +#if defined (__mips) && !defined (__mips64) + #define __TBB_MACHINE_DEFINE_ATOMICS(S,T) \ + inline T __TBB_machine_cmpswp##S( volatile void *ptr, T value, T comparand ) { \ + __atomic_compare_exchange(reinterpret_cast<volatile T *>(ptr),&comparand,&value, \ + false,__ATOMIC_SEQ_CST,__ATOMIC_SEQ_CST); \ + return comparand; \ + } \ + \ + inline T __TBB_machine_fetchadd##S( volatile void *ptr, T value ) { \ + return __atomic_fetch_add(reinterpret_cast<volatile T *>(ptr),value,__ATOMIC_SEQ_CST); \ + } +#else + #define __TBB_MACHINE_DEFINE_ATOMICS(S,T) \ + inline T __TBB_machine_cmpswp##S( volatile void *ptr, T value, T comparand ) { \ + return __sync_val_compare_and_swap(reinterpret_cast<volatile T *>(ptr),comparand,value); \ + } \ + \ + inline T __TBB_machine_fetchadd##S( volatile void *ptr, T value ) { \ + return __sync_fetch_and_add(reinterpret_cast<volatile T *>(ptr),value); \ + } +#endif __TBB_MACHINE_DEFINE_ATOMICS(1,int8_t) __TBB_MACHINE_DEFINE_ATOMICS(2,int16_t)
--- End Message ---
--- Begin Message ---version: 4.2~20140122-5
--- End Message ---

