diff --git a/debian/patches/libcxx-silent-failure-arm64.diff b/debian/patches/libcxx-silent-failure-arm64.diff deleted file mode 100644 index c06b6e33..00000000 --- a/debian/patches/libcxx-silent-failure-arm64.diff +++ /dev/null @@ -1,24 +0,0 @@ -Index: llvm-toolchain-snapshot_7~svn337372/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp -=================================================================== ---- llvm-toolchain-snapshot_7~svn337372.orig/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp -+++ llvm-toolchain-snapshot_7~svn337372/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp -@@ -8,6 +8,7 @@ - //===----------------------------------------------------------------------===// - // - // UNSUPPORTED: libcpp-has-no-threads -+// XFAIL: * - - // - -Index: llvm-toolchain-snapshot_7~svn337372/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp -=================================================================== ---- llvm-toolchain-snapshot_7~svn337372.orig/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp -+++ llvm-toolchain-snapshot_7~svn337372/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp -@@ -9,6 +9,7 @@ - // - // UNSUPPORTED: libcpp-has-no-threads - // UNSUPPORTED: c++98, c++03, c++11 -+// XFAIL: * - - // - diff --git a/debian/patches/libcxx-silent-failure-ppc64el.diff b/debian/patches/libcxx-silent-failure-ppc64el.diff deleted file mode 100644 index 3a84f1ad..00000000 --- a/debian/patches/libcxx-silent-failure-ppc64el.diff +++ /dev/null @@ -1,13 +0,0 @@ -Index: llvm-toolchain-snapshot_7~svn337372/libcxx/test/libcxx/atomics/atomics.align/align.pass.sh.cpp -=================================================================== ---- llvm-toolchain-snapshot_7~svn337372.orig/libcxx/test/libcxx/atomics/atomics.align/align.pass.sh.cpp -+++ llvm-toolchain-snapshot_7~svn337372/libcxx/test/libcxx/atomics/atomics.align/align.pass.sh.cpp -@@ -14,7 +14,7 @@ - // - // GCC currently fails because it needs -fabi-version=6 to fix mangling of - // std::atomic when used with __attribute__((vector(X))). --// XFAIL: gcc -+// XFAIL: * - - // - diff --git a/debian/patches/libcxx-silent-test-libcxx.diff b/debian/patches/libcxx-silent-test-libcxx.diff deleted file mode 100644 index c272b943..00000000 --- a/debian/patches/libcxx-silent-test-libcxx.diff +++ /dev/null @@ -1,51 +0,0 @@ -Index: llvm-toolchain-snapshot_7~svn337372/libcxx/test/std/numerics/rand/rand.util/rand.util.canonical/generate_canonical.pass.cpp -=================================================================== ---- llvm-toolchain-snapshot_7~svn337372.orig/libcxx/test/std/numerics/rand/rand.util/rand.util.canonical/generate_canonical.pass.cpp -+++ llvm-toolchain-snapshot_7~svn337372/libcxx/test/std/numerics/rand/rand.util/rand.util.canonical/generate_canonical.pass.cpp -@@ -12,6 +12,8 @@ - // template - // RealType generate_canonical(URNG& g); - -+// XFAIL: * -+ - #include - #include - -Index: llvm-toolchain-snapshot_7~svn337372/libcxx/test/std/re/re.traits/isctype.pass.cpp -=================================================================== ---- llvm-toolchain-snapshot_7~svn337372.orig/libcxx/test/std/re/re.traits/isctype.pass.cpp -+++ llvm-toolchain-snapshot_7~svn337372/libcxx/test/std/re/re.traits/isctype.pass.cpp -@@ -16,6 +16,7 @@ - // TODO(EricWF): This test takes 40+ minutes to build with Clang 3.8 under ASAN or MSAN. - // UNSUPPORTED: asan, msan - -+// XFAIL: * - - #include - #include -Index: llvm-toolchain-snapshot_7~svn337372/libcxxabi/test/catch_multi_level_pointer.pass.cpp -=================================================================== ---- llvm-toolchain-snapshot_7~svn337372.orig/libcxxabi/test/catch_multi_level_pointer.pass.cpp -+++ llvm-toolchain-snapshot_7~svn337372/libcxxabi/test/catch_multi_level_pointer.pass.cpp -@@ -9,6 +9,8 @@ - - // UNSUPPORTED: libcxxabi-no-exceptions - -+// XFAIL: * -+ - #include - #include - #include -Index: llvm-toolchain-snapshot_7~svn337372/libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct.pass.cpp -=================================================================== ---- llvm-toolchain-snapshot_7~svn337372.orig/libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct.pass.cpp -+++ llvm-toolchain-snapshot_7~svn337372/libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct.pass.cpp -@@ -16,6 +16,8 @@ - - // template void construct(T* p, Args&&... args); - -+// XFAIL: * -+ - #include - #include - #include diff --git a/debian/patches/libcxx-test-atomics-set-compare-exchange-to-be-expected-fails-on-arm.patch b/debian/patches/libcxx-test-atomics-set-compare-exchange-to-be-expected-fails-on-arm.patch deleted file mode 100644 index af434574..00000000 --- a/debian/patches/libcxx-test-atomics-set-compare-exchange-to-be-expected-fails-on-arm.patch +++ /dev/null @@ -1,58 +0,0 @@ -Clang 3.9 regression causes a bug when generating code for -std::atomic_compare_and_exchange*(std::atomic,...) without -optimizations. If same code is compiled with -O2 tests pass without problems. -Atomics are implement in headers with builtin functions which makes this -affect application code instead of libc++ library code. - -libcxx tests default to -O0 compilation so these test need to be marked failing -on arm to allow installing packages. Use cases is so borderline failure that it -shouldn't prevent building the package. (64bit atomics in 32bit mode) - -Index: llvm-toolchain-snapshot_7~svn337372/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp -=================================================================== ---- llvm-toolchain-snapshot_7~svn337372.orig/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp -+++ llvm-toolchain-snapshot_7~svn337372/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp -@@ -8,6 +8,7 @@ - //===----------------------------------------------------------------------===// - // - // UNSUPPORTED: libcpp-has-no-threads -+// XFAIL: arm - // ... assertion fails line 34 - - // -Index: llvm-toolchain-snapshot_7~svn337372/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp -=================================================================== ---- llvm-toolchain-snapshot_7~svn337372.orig/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp -+++ llvm-toolchain-snapshot_7~svn337372/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp -@@ -8,6 +8,7 @@ - //===----------------------------------------------------------------------===// - // - // UNSUPPORTED: libcpp-has-no-threads -+// XFAIL: arm - // ... assertion fails line 38 - - // -Index: llvm-toolchain-snapshot_7~svn337372/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp -=================================================================== ---- llvm-toolchain-snapshot_7~svn337372.orig/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp -+++ llvm-toolchain-snapshot_7~svn337372/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp -@@ -8,6 +8,7 @@ - //===----------------------------------------------------------------------===// - // - // UNSUPPORTED: libcpp-has-no-threads -+// XFAIL: arm - // ... assertion fails line 34 - - // -Index: llvm-toolchain-snapshot_7~svn337372/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp -=================================================================== ---- llvm-toolchain-snapshot_7~svn337372.orig/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp -+++ llvm-toolchain-snapshot_7~svn337372/libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp -@@ -8,6 +8,7 @@ - //===----------------------------------------------------------------------===// - // - // UNSUPPORTED: libcpp-has-no-threads -+// XFAIL: arm - // ... assertion fails line 38 - - // diff --git a/debian/patches/libcxx-test-fix-lockfree-test-for-i386.patch b/debian/patches/libcxx-test-fix-lockfree-test-for-i386.patch deleted file mode 100644 index 631b554b..00000000 --- a/debian/patches/libcxx-test-fix-lockfree-test-for-i386.patch +++ /dev/null @@ -1,31 +0,0 @@ -Lock is_always_lock free test fails on i386 because std::atomic is aligned -to 8 bytes while long long is aligned to 4 bytes. clang can't generate inline -code for unaligned 8 byte atomics even tough instruction set and gcc support -it. - -That makes it expected thaqt ATOMIC_LLONG_LOCK_FREE and -std::atomic::is_always_lock_free don't match on i386. Correct test -for std::atomic is to check if target cpu support cmpxchg8 instruction. -To set instruction support one can check __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 define. - -Bug: https://llvm.org/bugs/show_bug.cgi?id=19355 - -Index: llvm-toolchain-snapshot_7~svn337372/libcxx/test/std/atomics/atomics.lockfree/isalwayslockfree.pass.cpp -=================================================================== ---- llvm-toolchain-snapshot_7~svn337372.orig/libcxx/test/std/atomics/atomics.lockfree/isalwayslockfree.pass.cpp -+++ llvm-toolchain-snapshot_7~svn337372/libcxx/test/std/atomics/atomics.lockfree/isalwayslockfree.pass.cpp -@@ -20,6 +20,14 @@ - # error Feature test macro missing. - #endif - -+#if defined(__i386__) && defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8) -+/* Fix for clang setting __GCC_ATOMIC_LLONG_LOCK_FREE incorecctly for x86 -+ * https://llvm.org/bugs/show_bug.cgi?id=19355 -+ */ -+#undef ATOMIC_LLONG_LOCK_FREE -+#define ATOMIC_LLONG_LOCK_FREE 2 -+#endif -+ - template void checkAlwaysLockFree() { - if (std::atomic::is_always_lock_free) - assert(std::atomic().is_lock_free()); diff --git a/debian/patches/series b/debian/patches/series index a55ba0fc..7e107266 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -78,13 +78,13 @@ openmp-mips-affinity.patch bootstrap-with-openmp-version-export-missing.diff # libcxx -libcxxabi-test-don-t-fail-extended-long-double.patch -libcxx-test-fix-lockfree-test-for-i386.patch -libcxxabi-arm-ehabi-fix.patch -libcxx-test-atomics-set-compare-exchange-to-be-expected-fails-on-arm.patch -libcxx-silent-test-libcxx.diff -libcxx-silent-failure-ppc64el.diff -libcxx-silent-failure-arm64.diff +libcxx/libcxxabi-test-don-t-fail-extended-long-double.patch +libcxx/libcxx-test-fix-lockfree-test-for-i386.patch +libcxx/libcxxabi-arm-ehabi-fix.patch +libcxx/libcxx-test-atomics-set-compare-exchange-to-be-expected-fails-on-arm.patch +libcxx/libcxx-silent-test-libcxx.diff +libcxx/libcxx-silent-failure-ppc64el.diff +libcxx/libcxx-silent-failure-arm64.diff # Rust on ppc D51108-rust-powerpc.diff