[gcc-7] 75/354: * GCC 7 snapshot build, taken from the trunk 20161217. * Update gdc to trunk 20161217. * Apply proposed patch for PR libstdc++/64735.
Ximin Luo
infinity0 at debian.org
Thu Nov 23 15:50:33 UTC 2017
This is an automated email from the git hooks/post-receive script.
infinity0 pushed a commit to branch master
in repository gcc-7.
commit 23cbae6286ae3724a239136d46e1c473f7f05f8b
Author: doko <doko at 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>
Date: Sat Dec 17 13:09:32 2016 +0000
* GCC 7 snapshot build, taken from the trunk 20161217.
* Update gdc to trunk 20161217.
* Apply proposed patch for PR libstdc++/64735.
git-svn-id: svn+ssh://svn.debian.org/svn/gcccvs/branches/sid/gcc-7@9193 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca
---
debian/changelog | 9 +-
debian/patches/pr64735.diff | 1385 ++++++++++++++++++++++++++++++++++++
debian/patches/r243346-revert.diff | 115 ---
debian/rules.patch | 5 +-
4 files changed, 1394 insertions(+), 120 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index c816700..7c43e5f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,13 +1,14 @@
-gcc-7 (7-20161208-1) UNRELEASED; urgency=medium
+gcc-7 (7-20161217-1) experimental; urgency=medium
- * GCC 7 snapshot build, taken from the trunk 20161208.
- - Revert r243346, breaking bootstrap on AArch64.
+ * GCC 7 snapshot build, taken from the trunk 20161217.
* Build the cilk runtime on armel, armhf, sparc and sparc64.
* Use --push-state/--pop-state for gold as well when linking libtsan.
* In GCC ICE dumps, prefix each line with the PID of the driver.
* Apply proposed patch for PR target/78748.
+ * Update gdc to trunk 20161217.
+ * Apply proposed patch for PR libstdc++/64735.
- -- Matthias Klose <doko at debian.org> Thu, 08 Dec 2016 12:02:16 +0100
+ -- Matthias Klose <doko at debian.org> Sat, 17 Dec 2016 13:59:47 +0100
gcc-7 (7-20161201-1) experimental; urgency=medium
diff --git a/debian/patches/pr64735.diff b/debian/patches/pr64735.diff
new file mode 100644
index 0000000..12ee7ae
--- /dev/null
+++ b/debian/patches/pr64735.diff
@@ -0,0 +1,1385 @@
+# DP: Proposed patch for PR libstdc++/64735
+
+commit e81e908deb699886e65cb4d614f6a0a1cf54662f
+Author: Jonathan Wakely <jwakely at redhat.com>
+Date: Fri Dec 16 15:22:21 2016 +0000
+
+ PR64735 support exception propagation without atomics
+
+ 2016-11-09 Pauli Nieminen <suokkos at gmail.com>
+ Jonathan Wakely <jwakely at redhat.com>
+
+ PR libstdc++/64735
+ * include/std/future: Remove check for ATOMIC_INT_LOCK_FREE
+ * libsupc++/eh_atomics.h: New file for internal use only.
+ (__eh_atomic_inc, __eh_atomic_dec): New.
+ * libsupc++/eh_ptr.cc (exception_ptr::_M_addref)
+ (exception_ptr::_M_release) (__gxx_dependent_exception_cleanup)
+ (rethrow_exception): Use eh_atomics.h reference counting helpers.
+ * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise.
+ * libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise.
+ * libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE.
+ * libsupc++/exception_ptr.h: Likewise.
+ * libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro.
+ * libsupc++/nested_exception.cc: Remove check for
+ ATOMIC_INT_LOCK_FREE.
+ * libsupc++/nested_exception.h: Likewise.
+ * src/c++11/future.cc: Likewise.
+ * testsuite/18_support/exception_ptr/*: Remove atomic builtins checks.
+ * testsuite/18_support/nested_exception/*: Likewise.
+ * testsuite/30_threads/async/*: Likewise.
+ * testsuite/30_threads/future/*: Likewise.
+ * testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise.
+ * testsuite/30_threads/packaged_task/*: Likewise.
+ * testsuite/30_threads/promise/*: Likewise.
+ * testsuite/30_threads/shared_future/*: Likewise.
+
+--- a/src/libstdc++-v3/include/std/future
++++ b/src/libstdc++-v3/include/std/future
+@@ -192,8 +192,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+ future<__async_result_of<_Fn, _Args...>>
+ async(_Fn&& __fn, _Args&&... __args);
+
+-#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) \
+- && (ATOMIC_INT_LOCK_FREE > 1)
++#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
+
+ /// Base class and enclosing scope.
+ struct __future_base
+@@ -1751,7 +1750,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+
+ #endif // _GLIBCXX_ASYNC_ABI_COMPAT
+ #endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1
+- // && ATOMIC_INT_LOCK_FREE
+
+ // @} group futures
+ _GLIBCXX_END_NAMESPACE_VERSION
+--- a/src//dev/null
++++ b/src/libstdc++-v3/libsupc++/eh_atomics.h
+@@ -0,0 +1,84 @@
++// Exception Handling support header for -*- C++ -*-
++
++// Copyright (C) 2016 Free Software Foundation, Inc.
++//
++// This file is part of GCC.
++//
++// GCC is free software; you can redistribute it and/or modify
++// it under the terms of the GNU General Public License as published by
++// the Free Software Foundation; either version 3, or (at your option)
++// any later version.
++//
++// GCC is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++//
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// <http://www.gnu.org/licenses/>.
++
++/** @file eh_atomics.h
++ * This is an internal header file, included by library source files.
++ * Do not attempt to use it directly.
++ */
++
++#ifndef _EH_ATOMICS_H
++#define _EH_ATOMICS_H 1
++
++#include <bits/c++config.h>
++#include <bits/atomic_word.h>
++#include <bits/atomic_lockfree_defines.h>
++#if ATOMIC_INT_LOCK_FREE <= 1
++# include <ext/atomicity.h>
++#endif
++
++#pragma GCC visibility push(default)
++extern "C++" {
++namespace __gnu_cxx
++{
++ void
++ __eh_atomic_inc (_Atomic_word* __count) __attribute__((always_inline));
++
++ bool
++ __eh_atomic_dec (_Atomic_word* __count) __attribute__((always_inline));
++
++ // Increments the count.
++ inline void
++ __eh_atomic_inc (_Atomic_word* __count)
++ {
++#if ATOMIC_INT_LOCK_FREE > 1
++ __atomic_add_fetch (__count, 1, __ATOMIC_ACQ_REL);
++#else
++ _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE (__count);
++ __gnu_cxx::__atomic_add_dispatch (__count, 1);
++ _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER (__count);
++#endif
++ }
++
++ // Decrements the count and returns true if it reached zero.
++ inline bool
++ __eh_atomic_dec (_Atomic_word* __count)
++ {
++#if ATOMIC_INT_LOCK_FREE > 1
++ return __atomic_sub_fetch (__count, 1, __ATOMIC_ACQ_REL) == 0;
++#else
++ _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE (__count);
++ if (__gnu_cxx::__exchange_and_add_dispatch (__count, -1) == 1)
++ {
++ _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER (__count);
++ return true;
++ }
++ return false;
++#endif
++ }
++} // namespace __gnu_cxx
++}
++#pragma GCC visibility pop
++
++#endif // _EH_ATOMICS_H
+--- a/src/libstdc++-v3/libsupc++/eh_ptr.cc
++++ b/src/libstdc++-v3/libsupc++/eh_ptr.cc
+@@ -23,9 +23,7 @@
+ // <http://www.gnu.org/licenses/>.
+
+ #include <bits/c++config.h>
+-#include <bits/atomic_lockfree_defines.h>
+-
+-#if ATOMIC_INT_LOCK_FREE > 1
++#include "eh_atomics.h"
+
+ #define _GLIBCXX_EH_PTR_COMPAT
+
+@@ -101,7 +99,7 @@ std::__exception_ptr::exception_ptr::_M_addref() noexcept
+ {
+ __cxa_refcounted_exception *eh =
+ __get_refcounted_exception_header_from_obj (_M_exception_object);
+- __atomic_add_fetch (&eh->referenceCount, 1, __ATOMIC_ACQ_REL);
++ __gnu_cxx::__eh_atomic_inc (&eh->referenceCount);
+ }
+ }
+
+@@ -113,7 +111,7 @@ std::__exception_ptr::exception_ptr::_M_release() noexcept
+ {
+ __cxa_refcounted_exception *eh =
+ __get_refcounted_exception_header_from_obj (_M_exception_object);
+- if (__atomic_sub_fetch (&eh->referenceCount, 1, __ATOMIC_ACQ_REL) == 0)
++ if (__gnu_cxx::__eh_atomic_dec (&eh->referenceCount))
+ {
+ if (eh->exc.exceptionDestructor)
+ eh->exc.exceptionDestructor (_M_exception_object);
+@@ -211,7 +209,7 @@ __gxx_dependent_exception_cleanup(_Unwind_Reason_Code code,
+
+ __cxa_free_dependent_exception (dep);
+
+- if (__atomic_sub_fetch (&header->referenceCount, 1, __ATOMIC_ACQ_REL) == 0)
++ if (__gnu_cxx::__eh_atomic_dec (&header->referenceCount))
+ {
+ if (header->exc.exceptionDestructor)
+ header->exc.exceptionDestructor (header + 1);
+@@ -230,7 +228,7 @@ std::rethrow_exception(std::exception_ptr ep)
+
+ __cxa_dependent_exception *dep = __cxa_allocate_dependent_exception ();
+ dep->primaryException = obj;
+- __atomic_add_fetch (&eh->referenceCount, 1, __ATOMIC_ACQ_REL);
++ __gnu_cxx::__eh_atomic_inc (&eh->referenceCount);
+
+ dep->unexpectedHandler = get_unexpected ();
+ dep->terminateHandler = get_terminate ();
+@@ -252,5 +250,3 @@ std::rethrow_exception(std::exception_ptr ep)
+ }
+
+ #undef _GLIBCXX_EH_PTR_COMPAT
+-
+-#endif
+--- a/src/libstdc++-v3/libsupc++/eh_throw.cc
++++ b/src/libstdc++-v3/libsupc++/eh_throw.cc
+@@ -24,6 +24,7 @@
+
+ #include <bits/c++config.h>
+ #include "unwind-cxx.h"
++#include "eh_atomics.h"
+
+ using namespace __cxxabiv1;
+
+@@ -42,17 +43,13 @@ __gxx_exception_cleanup (_Unwind_Reason_Code code, _Unwind_Exception *exc)
+ if (code != _URC_FOREIGN_EXCEPTION_CAUGHT && code != _URC_NO_REASON)
+ __terminate (header->exc.terminateHandler);
+
+-#if ATOMIC_INT_LOCK_FREE > 1
+- if (__atomic_sub_fetch (&header->referenceCount, 1, __ATOMIC_ACQ_REL) == 0)
++ if (__gnu_cxx::__eh_atomic_dec (&header->referenceCount))
+ {
+-#endif
+ if (header->exc.exceptionDestructor)
+ header->exc.exceptionDestructor (header + 1);
+
+ __cxa_free_exception (header + 1);
+-#if ATOMIC_INT_LOCK_FREE > 1
+ }
+-#endif
+ }
+
+ extern "C" __cxa_refcounted_exception*
+--- a/src/libstdc++-v3/libsupc++/eh_tm.cc
++++ b/src/libstdc++-v3/libsupc++/eh_tm.cc
+@@ -24,6 +24,7 @@
+
+ #include <cstdlib>
+ #include "unwind-cxx.h"
++#include "eh_atomics.h"
+
+ using namespace __cxxabiv1;
+
+@@ -45,9 +46,7 @@ free_any_cxa_exception (_Unwind_Exception *eo)
+ __cxa_free_dependent_exception (dep);
+ }
+
+-#if __GCC_ATOMIC_INT_LOCK_FREE > 1
+- if (__atomic_sub_fetch (&h->referenceCount, 1, __ATOMIC_ACQ_REL) == 0)
+-#endif
++ if (__gnu_cxx::__eh_atomic_dec (&h->referenceCount))
+ __cxa_free_exception (h + 1);
+ }
+
+--- a/src/libstdc++-v3/libsupc++/exception
++++ b/src/libstdc++-v3/libsupc++/exception
+@@ -35,7 +35,6 @@
+ #pragma GCC visibility push(default)
+
+ #include <bits/c++config.h>
+-#include <bits/atomic_lockfree_defines.h>
+ #include <bits/exception.h>
+
+ extern "C++" {
+@@ -139,7 +138,7 @@ _GLIBCXX_END_NAMESPACE_VERSION
+
+ #pragma GCC visibility pop
+
+-#if (__cplusplus >= 201103L) && (ATOMIC_INT_LOCK_FREE > 1)
++#if (__cplusplus >= 201103L)
+ #include <bits/exception_ptr.h>
+ #include <bits/nested_exception.h>
+ #endif
+--- a/src/libstdc++-v3/libsupc++/exception_ptr.h
++++ b/src/libstdc++-v3/libsupc++/exception_ptr.h
+@@ -39,10 +39,6 @@
+ #include <typeinfo>
+ #include <new>
+
+-#if ATOMIC_INT_LOCK_FREE < 2
+-# error This platform does not support exception propagation.
+-#endif
+-
+ extern "C++" {
+
+ namespace std
+--- a/src/libstdc++-v3/libsupc++/guard.cc
++++ b/src/libstdc++-v3/libsupc++/guard.cc
+@@ -30,6 +30,7 @@
+ #include <new>
+ #include <ext/atomicity.h>
+ #include <ext/concurrence.h>
++#include <bits/atomic_lockfree_defines.h>
+ #if defined(__GTHREADS) && defined(__GTHREAD_HAS_COND) \
+ && (ATOMIC_INT_LOCK_FREE > 1) && defined(_GLIBCXX_HAVE_LINUX_FUTEX)
+ # include <climits>
+--- a/src/libstdc++-v3/libsupc++/nested_exception.cc
++++ b/src/libstdc++-v3/libsupc++/nested_exception.cc
+@@ -25,7 +25,5 @@
+
+ namespace std
+ {
+-#if ATOMIC_INT_LOCK_FREE > 1
+ nested_exception::~nested_exception() noexcept = default;
+-#endif
+ } // namespace std
+--- a/src/libstdc++-v3/libsupc++/nested_exception.h
++++ b/src/libstdc++-v3/libsupc++/nested_exception.h
+@@ -39,10 +39,6 @@
+ #include <bits/c++config.h>
+ #include <bits/move.h>
+
+-#if ATOMIC_INT_LOCK_FREE < 2
+-# error This platform does not support exception propagation.
+-#endif
+-
+ extern "C++" {
+
+ namespace std
+--- a/src/libstdc++-v3/src/c++11/future.cc
++++ b/src/libstdc++-v3/src/c++11/future.cc
+@@ -78,8 +78,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+ const char*
+ future_error::what() const noexcept { return logic_error::what(); }
+
+-#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) \
+- && (ATOMIC_INT_LOCK_FREE > 1)
++#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
+ __future_base::_Result_base::_Result_base() = default;
+
+ __future_base::_Result_base::~_Result_base() = default;
+--- a/src/libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc
++++ b/src/libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc
+@@ -1,5 +1,4 @@
+ // { dg-do compile { target c++11 } }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc
++++ b/src/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc
+@@ -1,5 +1,4 @@
+ // { dg-do run { target c++11 } }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2014-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc
++++ b/src/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc
+@@ -1,5 +1,4 @@
+ // { dg-do run { target c++11 } }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2014-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc
++++ b/src/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc
+@@ -1,5 +1,4 @@
+ // { dg-do run { target c++11 } }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2015-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc
++++ b/src/libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc
+@@ -17,7 +17,6 @@
+
+ // { dg-options "-fno-exceptions -O0" }
+ // { dg-do run { target c++11 } }
+-// { dg-require-atomic-builtins "" }
+
+ #include <exception>
+ #include <testsuite_hooks.h>
+--- a/src/libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc
++++ b/src/libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc
+@@ -1,5 +1,4 @@
+ // { dg-do run { target c++11 } }
+-// { dg-require-atomic-builtins "" }
+
+ // 2008-05-25 Sebastian Redl <sebastian.redl at getdesigned.at>
+
+--- a/src/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc
++++ b/src/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc
+@@ -1,5 +1,4 @@
+ // { dg-do run { target c++11 } }
+-// { dg-require-atomic-builtins "" }
+
+ // 2008-05-25 Sebastian Redl <sebastian.redl at getdesigned.at>
+
+--- a/src/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc
++++ b/src/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc
+@@ -1,5 +1,4 @@
+ // { dg-do run { target c++11 } }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr_2.cc
++++ b/src/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr_2.cc
+@@ -1,5 +1,4 @@
+ // { dg-do run { target c++11 } }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/18_support/exception_ptr/move.cc
++++ b/src/libstdc++-v3/testsuite/18_support/exception_ptr/move.cc
+@@ -1,5 +1,4 @@
+ // { dg-do run { target c++11 } }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc
++++ b/src/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc
+@@ -1,5 +1,4 @@
+ // { dg-do run { target c++11 } }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc
++++ b/src/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc
+@@ -1,5 +1,4 @@
+ // { dg-do compile { target c++11 } }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc
++++ b/src/libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc
+@@ -1,5 +1,4 @@
+ // { dg-do run { target c++11 } }
+-// { dg-require-atomic-builtins "" }
+
+ // 2008-05-25 Sebastian Redl <sebastian.redl at getdesigned.at>
+
+--- a/src/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc
++++ b/src/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc
+@@ -1,5 +1,4 @@
+ // { dg-do compile { target c++11 } }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2011-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/18_support/nested_exception/62154.cc
++++ b/src/libstdc++-v3/testsuite/18_support/nested_exception/62154.cc
+@@ -1,5 +1,4 @@
+ // { dg-do run { target c++11 } }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2014-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/18_support/nested_exception/68139.cc
++++ b/src/libstdc++-v3/testsuite/18_support/nested_exception/68139.cc
+@@ -1,5 +1,4 @@
+ // { dg-do compile { target c++11 } }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2015-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc
++++ b/src/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc
+@@ -1,5 +1,4 @@
+ // { dg-do run { target c++11 } }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc
++++ b/src/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc
+@@ -1,5 +1,4 @@
+ // { dg-do run { target c++11 } }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc
++++ b/src/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc
+@@ -1,5 +1,4 @@
+ // { dg-do run { target c++11 } }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc
++++ b/src/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc
+@@ -1,5 +1,4 @@
+ // { dg-do run { target c++11 } }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc
++++ b/src/libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc
+@@ -1,5 +1,4 @@
+ // { dg-do run { target c++11 } }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/async/42819.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/async/42819.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/async/49668.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/async/49668.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2011-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/async/54297.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/async/54297.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ // { dg-require-sleep "" }
+
+ // Copyright (C) 2012-2016 Free Software Foundation, Inc.
+--- a/src/libstdc++-v3/testsuite/30_threads/async/any.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/async/any.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/async/async.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/async/async.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/async/except.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/async/except.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2014-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/async/launch.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/async/launch.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2011-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/async/lwg2021.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/async/lwg2021.cc
+@@ -20,7 +20,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // LWG 2021. Further incorrect usages of result_of
+ // Arguments to result_of should use decay.
+--- a/src/libstdc++-v3/testsuite/30_threads/async/sync.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/async/sync.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc
+@@ -1,7 +1,6 @@
+ // { dg-do compile { target c++11 } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-fno-inline -g0" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ // { dg-final { scan-assembler-not "_ZNSt6futureIvEC2Ev" } }
+ // { dg-final { scan-assembler-not "_ZNSt6futureIiEC2Ev" } }
+
+--- a/src/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc
+@@ -1,7 +1,6 @@
+ // { dg-do compile { target c++11 } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/future/cons/default.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/future/cons/default.cc
+@@ -1,7 +1,6 @@
+ // { dg-do run { target c++11 } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/future/cons/move.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/future/cons/move.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc
+@@ -1,7 +1,6 @@
+ // { dg-do run { target c++11 } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/future/members/45133.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/future/members/45133.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/future/members/get.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/future/members/get.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/future/members/get2.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/future/members/get2.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/future/members/share.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/future/members/share.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2011-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/future/members/valid.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/future/members/valid.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/future/members/wait.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/future/members/wait.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc
+@@ -1,7 +1,6 @@
+ // { dg-do compile { target c++11 } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc
+@@ -1,7 +1,6 @@
+ // { dg-do compile { target c++11 } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2011-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2014-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2011-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2013-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc
+@@ -1,7 +1,6 @@
+ // { dg-do compile { target c++11 } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2011-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc
+@@ -1,7 +1,6 @@
+ // { dg-do compile { target c++11 } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2011-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc
+@@ -1,7 +1,6 @@
+ // { dg-do compile { target c++11 } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc
+@@ -1,7 +1,6 @@
+ // { dg-do compile { target c++11 } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/packaged_task/forced_unwind.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/packaged_task/forced_unwind.cc
+@@ -1,7 +1,6 @@
+ // { dg-do run { target *-*-linux* *-*-gnu* } }
+ // { dg-options "-pthread" { target *-*-linux* *-*-gnu* *-*-solaris* } }
+ // { dg-require-effective-target c++11 }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2014-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/at_thread_exit.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/at_thread_exit.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2014-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2011-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc
+@@ -1,7 +1,6 @@
+ // { dg-do compile { target c++11 } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc
+@@ -1,7 +1,6 @@
+ // { dg-do compile { target c++11 } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2011-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/promise/60966.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/promise/60966.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2014-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/promise/69106.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/promise/69106.cc
+@@ -18,7 +18,6 @@
+ // { dg-do compile { target c++11 } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ #include <future>
+
+--- a/src/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc
+@@ -1,7 +1,6 @@
+ // { dg-do compile { target c++11 } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2011-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc
+@@ -1,7 +1,6 @@
+ // { dg-do compile { target c++11 } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2011-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc
+@@ -1,7 +1,6 @@
+ // { dg-do compile { target c++11 } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc
+@@ -1,7 +1,6 @@
+ // { dg-do compile { target c++11 } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/promise/members/at_thread_exit.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/promise/members/at_thread_exit.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2014-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc
+@@ -1,7 +1,6 @@
+ // { dg-do compile { target c++11 } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc
+@@ -1,7 +1,6 @@
+ // { dg-do compile { target c++11 } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2011-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc
+@@ -1,7 +1,6 @@
+ // { dg-do run { target c++11 } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-fno-inline -g0" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ // { dg-final { scan-assembler-not "_ZNSt13shared_futureIvEC2Ev" } }
+ // { dg-final { scan-assembler-not "_ZNSt13shared_futureIiEC2Ev" } }
+
+--- a/src/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc
+@@ -1,7 +1,6 @@
+ // { dg-do compile { target c++11 } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc
+@@ -1,7 +1,6 @@
+ // { dg-do run { target c++11 } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc
+@@ -1,7 +1,6 @@
+ // { dg-do run { target c++11 } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc
+@@ -3,7 +3,6 @@
+ // { dg-require-effective-target c++11 }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+--- a/src/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc
++++ b/src/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc
+@@ -1,7 +1,6 @@
+ // { dg-do compile { target c++11 } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
diff --git a/debian/patches/r243346-revert.diff b/debian/patches/r243346-revert.diff
deleted file mode 100644
index 0d5596c..0000000
--- a/debian/patches/r243346-revert.diff
+++ /dev/null
@@ -1,115 +0,0 @@
-Index: b/src/gcc/ChangeLog
-===================================================================
---- a/src/gcc/ChangeLog
-+++ b/src/gcc/ChangeLog
-@@ -195,16 +195,6 @@
- * gcc/ira.c (ira_setup_eliminable_regset): Initialize crtl->is_leaf.
- (ira): Move initialization of crtl->is_leaf earlier.
-
--2016-12-07 Wilco Dijkstra <wdijkstr at arm.com>
--
-- * config/aarch64/aarch64.md (movti_aarch64): Change Ump to m.
-- (movtf_aarch64): Likewise.
-- * config/aarch64/aarch64.c (aarch64_classify_address):
-- Use correct intersection of offsets.
-- (aarch64_legitimize_address_displacement): Use 9-bit signed offsets.
-- (aarch64_legitimize_address): Use 9-bit signed offsets for TI/TF mode.
-- Use 7-bit signed scaled mode for modes > 16 bytes.
--
- 2016-12-07 James Greenhalgh <james.greenhalgh at arm.com>
-
- PR rtl-optimization/78561
-Index: b/src/gcc/config/aarch64/aarch64.md
-===================================================================
---- a/src/gcc/config/aarch64/aarch64.md
-+++ b/src/gcc/config/aarch64/aarch64.md
-@@ -1120,9 +1120,9 @@
-
- (define_insn "*movti_aarch64"
- [(set (match_operand:TI 0
-- "nonimmediate_operand" "=r, *w,r ,*w,r,m,m,*w,m")
-+ "nonimmediate_operand" "=r, *w,r ,*w,r ,Ump,Ump,*w,m")
- (match_operand:TI 1
-- "aarch64_movti_operand" " rn,r ,*w,*w,m,r,Z, m,*w"))]
-+ "aarch64_movti_operand" " rn,r ,*w,*w,Ump,r ,Z , m,*w"))]
- "(register_operand (operands[0], TImode)
- || aarch64_reg_or_zero (operands[1], TImode))"
- "@
-@@ -1237,9 +1237,9 @@
-
- (define_insn "*movtf_aarch64"
- [(set (match_operand:TF 0
-- "nonimmediate_operand" "=w,?&r,w ,?r,w,?w,w,m,?r,m ,m")
-+ "nonimmediate_operand" "=w,?&r,w ,?r,w,?w,w,m,?r ,Ump,Ump")
- (match_operand:TF 1
-- "general_operand" " w,?r, ?r,w ,Y,Y ,m,w,m ,?r,Y"))]
-+ "general_operand" " w,?r, ?r,w ,Y,Y ,m,w,Ump,?r ,Y"))]
- "TARGET_FLOAT && (register_operand (operands[0], TFmode)
- || aarch64_reg_or_fp_zero (operands[1], TFmode))"
- "@
-Index: b/src/gcc/config/aarch64/aarch64.c
-===================================================================
---- a/src/gcc/config/aarch64/aarch64.c
-+++ b/src/gcc/config/aarch64/aarch64.c
-@@ -4335,8 +4335,7 @@ aarch64_classify_address (struct aarch64
- instruction memory accesses. */
- if (mode == TImode || mode == TFmode)
- return (aarch64_offset_7bit_signed_scaled_p (DImode, offset)
-- && (offset_9bit_signed_unscaled_p (mode, offset)
-- || offset_12bit_unsigned_scaled_p (mode, offset)));
-+ && offset_9bit_signed_unscaled_p (mode, offset));
-
- /* A 7bit offset check because OImode will emit a ldp/stp
- instruction (only big endian will get here).
-@@ -4540,19 +4539,18 @@ aarch64_legitimate_address_p (machine_mo
- /* Split an out-of-range address displacement into a base and offset.
- Use 4KB range for 1- and 2-byte accesses and a 16KB range otherwise
- to increase opportunities for sharing the base address of different sizes.
-- For unaligned accesses and TI/TF mode use the signed 9-bit range. */
-+ For TI/TFmode and unaligned accesses use a 256-byte range. */
- static bool
- aarch64_legitimize_address_displacement (rtx *disp, rtx *off, machine_mode mode)
- {
-- HOST_WIDE_INT offset = INTVAL (*disp);
-- HOST_WIDE_INT base = offset & ~(GET_MODE_SIZE (mode) < 4 ? 0xfff : 0x3ffc);
-+ HOST_WIDE_INT mask = GET_MODE_SIZE (mode) < 4 ? 0xfff : 0x3fff;
-
-- if (mode == TImode || mode == TFmode
-- || (offset & (GET_MODE_SIZE (mode) - 1)) != 0)
-- base = (offset + 0x100) & ~0x1ff;
-+ if (mode == TImode || mode == TFmode ||
-+ (INTVAL (*disp) & (GET_MODE_SIZE (mode) - 1)) != 0)
-+ mask = 0xff;
-
-- *off = GEN_INT (base);
-- *disp = GEN_INT (offset - base);
-+ *off = GEN_INT (INTVAL (*disp) & ~mask);
-+ *disp = GEN_INT (INTVAL (*disp) & mask);
- return true;
- }
-
-@@ -5419,10 +5417,12 @@ aarch64_legitimize_address (rtx x, rtx /
- x = gen_rtx_PLUS (Pmode, base, offset_rtx);
- }
-
-- /* Does it look like we'll need a 16-byte load/store-pair operation? */
-+ /* Does it look like we'll need a load/store-pair operation? */
- HOST_WIDE_INT base_offset;
-- if (GET_MODE_SIZE (mode) > 16)
-- base_offset = (offset + 0x400) & ~0x7f0;
-+ if (GET_MODE_SIZE (mode) > 16
-+ || mode == TImode)
-+ base_offset = ((offset + 64 * GET_MODE_SIZE (mode))
-+ & ~((128 * GET_MODE_SIZE (mode)) - 1));
- /* For offsets aren't a multiple of the access size, the limit is
- -256...255. */
- else if (offset & (GET_MODE_SIZE (mode) - 1))
-@@ -5436,8 +5436,6 @@ aarch64_legitimize_address (rtx x, rtx /
- /* Small negative offsets are supported. */
- else if (IN_RANGE (offset, -256, 0))
- base_offset = 0;
-- else if (mode == TImode || mode == TFmode)
-- base_offset = (offset + 0x100) & ~0x1ff;
- /* Use 12-bit offset by access size. */
- else
- base_offset = offset & (~0xfff * GET_MODE_SIZE (mode));
diff --git a/debian/rules.patch b/debian/rules.patch
index 0900a06..a2cf09c 100644
--- a/debian/rules.patch
+++ b/debian/rules.patch
@@ -69,7 +69,6 @@ debian_patches += \
PR55947-revert \
libffi-pax \
libffi-race-condition \
- r243346-revert \
ifeq ($(libstdcxx_abi),new)
@@ -175,6 +174,10 @@ ifeq ($(DEB_TARGET_ARCH),alpha)
endif
endif
+ifeq ($(DEB_TARGET_ARCH),armel)
+ debian_patches += pr64735
+endif
+
ifeq ($(DEB_TARGET_ARCH),powerpcspe)
debian_patches += powerpc_remove_many
debian_patches += powerpc_nofprs
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/gcc-7.git
More information about the Reproducible-commits
mailing list