diff -Nru tbb-2017~U7/debian/changelog tbb-2017~U7/debian/changelog --- tbb-2017~U7/debian/changelog 2017-08-02 18:03:30.000000000 +0000 +++ tbb-2017~U7/debian/changelog 2017-10-04 13:46:23.000000000 +0000 @@ -1,3 +1,20 @@ +tbb (2017~U7-8) unstable; urgency=medium + + * Remove un-aligned memory access unit test from test_malloc_pools.exe + - This allows sparc64 to pass unit tests. Closes: #832104 + + [ Adrian Bunk ] + * Advertise exception_ptr with gcc >= 7, Closes: #877380 + + -- Steve Capper Wed, 04 Oct 2017 14:46:23 +0100 + +tbb (2017~U7-7~exp1) experimental; urgency=medium + + * Remove un-aligned memory access unit test from test_malloc_pools.exe + - This should help sparc64 + + -- Steve Capper Mon, 14 Aug 2017 17:41:33 +0100 + tbb (2017~U7-6) unstable; urgency=medium * Rollback enhanced debugging -g3 change, as it appears to have broken diff -Nru tbb-2017~U7/debian/patches/armel-exception-ptr.patch tbb-2017~U7/debian/patches/armel-exception-ptr.patch --- tbb-2017~U7/debian/patches/armel-exception-ptr.patch 1970-01-01 00:00:00.000000000 +0000 +++ tbb-2017~U7/debian/patches/armel-exception-ptr.patch 2017-10-04 13:41:45.000000000 +0000 @@ -0,0 +1,18 @@ +Description: __TBB_EXCEPTION_PTR_PRESENT fix for armel + exception_ptr in GCC >= 7 no longer requires atomic instructions. +Author: Adrian Bunk + +--- tbb-2017~U7.orig/include/tbb/tbb_config.h ++++ tbb-2017~U7/include/tbb/tbb_config.h +@@ -226,8 +226,9 @@ + #define __TBB_IMPLICIT_MOVE_PRESENT (__GXX_EXPERIMENTAL_CXX0X__ && __TBB_GCC_VERSION >= 40600) + /** __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 here is a substitution for _GLIBCXX_ATOMIC_BUILTINS_4, which is a prerequisite + for exception_ptr but cannot be used in this file because it is defined in a header, not by the compiler. +- If the compiler has no atomic intrinsics, the C++ library should not expect those as well. **/ +- #define __TBB_EXCEPTION_PTR_PRESENT (__GXX_EXPERIMENTAL_CXX0X__ && __TBB_GCC_VERSION >= 40404 && __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4) ++ GCC >= 7 has exception_ptr even without atomic instructions: ++ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64735#c11 **/ ++ #define __TBB_EXCEPTION_PTR_PRESENT (__GXX_EXPERIMENTAL_CXX0X__ && __TBB_GCC_VERSION >= 40404 && (__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 || (__TBB_GCC_VERSION >= 70000))) + #define __TBB_STATIC_ASSERT_PRESENT (__GXX_EXPERIMENTAL_CXX0X__ && __TBB_GCC_VERSION >= 40300) + #define __TBB_CPP11_TUPLE_PRESENT (__GXX_EXPERIMENTAL_CXX0X__ && __TBB_GCC_VERSION >= 40300) + #define __TBB_INITIALIZER_LISTS_PRESENT (__GXX_EXPERIMENTAL_CXX0X__ && __TBB_GCC_VERSION >= 40400) diff -Nru tbb-2017~U7/debian/patches/remove-unaligned-test.patch tbb-2017~U7/debian/patches/remove-unaligned-test.patch --- tbb-2017~U7/debian/patches/remove-unaligned-test.patch 1970-01-01 00:00:00.000000000 +0000 +++ tbb-2017~U7/debian/patches/remove-unaligned-test.patch 2017-10-04 13:01:38.000000000 +0000 @@ -0,0 +1,19 @@ +Description: Remove unaligned mem-accesses from test_malloc_pools.cpp +Index: tbb-2017~U7/src/test/test_malloc_pools.cpp +=================================================================== +--- tbb-2017~U7.orig/src/test/test_malloc_pools.cpp ++++ tbb-2017~U7/src/test/test_malloc_pools.cpp +@@ -62,11 +62,10 @@ static tbb::atomic liveRegions; + + static void *getMallocMem(intptr_t /*pool_id*/, size_t &bytes) + { +- void *rawPtr = malloc(bytes+sizeof(MallocPoolHeader)+1); ++ void *rawPtr = malloc(bytes+sizeof(MallocPoolHeader)); + if (!rawPtr) + return NULL; +- // +1 to check working with unaligned space +- void *ret = (void *)((uintptr_t)rawPtr+sizeof(MallocPoolHeader)+1); ++ void *ret = (void *)((uintptr_t)rawPtr+sizeof(MallocPoolHeader)); + + MallocPoolHeader *hdr = (MallocPoolHeader*)ret-1; + hdr->rawPtr = rawPtr; diff -Nru tbb-2017~U7/debian/patches/series tbb-2017~U7/debian/patches/series --- tbb-2017~U7/debian/patches/series 2017-08-01 20:15:01.000000000 +0000 +++ tbb-2017~U7/debian/patches/series 2017-10-04 13:42:35.000000000 +0000 @@ -12,3 +12,5 @@ allow-reproducible-builds.patch fixup-mips-harness.patch enhanced-debugging.patch +remove-unaligned-test.patch +armel-exception-ptr.patch