<pre style='margin:0'>
Chris Jones (cjones051073) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/fe84d24a2fd27db03d966c6bd85cfaf060f1b203">https://github.com/macports/macports-ports/commit/fe84d24a2fd27db03d966c6bd85cfaf060f1b203</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new fe84d24a2fd {lib}gcc12: update to 12.3.0
</span>fe84d24a2fd is described below

<span style='display:block; white-space:pre;color:#808000;'>commit fe84d24a2fd27db03d966c6bd85cfaf060f1b203
</span>Author: Chris Jones <jonesc@macports.org>
AuthorDate: Fri May 12 10:02:18 2023 +0100

<span style='display:block; white-space:pre;color:#404040;'>    {lib}gcc12: update to 12.3.0
</span>---
 lang/gcc12/Portfile                                |  12 +-
 ...cc-12.2.0.diff => patch-darwin-gcc-12.3.0.diff} | 919 ++++++++++++++-------
 2 files changed, 632 insertions(+), 299 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc12/Portfile b/lang/gcc12/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 4226982f2c0..200edb27c19 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc12/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc12/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -22,17 +22,17 @@ long_description    {*}${description}, including front ends for \
</span>                     C, C++, Objective-C, Objective-C++ and Fortran.
 
 # Remember to reset all revision increments below to 0 on new versions
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             12.2.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             12.3.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span> 
 set libgccname      lib${name}
 subport             ${libgccname} { revision [ expr ${revision} + 0 ] }
 
 set libcxxname      ${name}-libcxx
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  76d30c411227d6c3e87dd4f0a8ea1ae5d8ab9ffd \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    84645292
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  bcc2a72fbbee69d031e1ca31c7236c65352397d4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  949a5d4f99e786421a93b532b22ffab5578de7321369975b91aec97adfda8c3b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    85491976
</span> 
 # Primary releases
 master_sites        https://ftpmirror.gnu.org/gcc/gcc-${version}/ \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -199,7 +199,7 @@ subport ${libcxxname} {
</span>             default_variants-append +clang14
         }
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    revision                [ expr ${revision} + 4 ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision                [ expr ${revision} + 0 ]
</span>     description             libc++ header implementation to be used by ${name}
     long_description        {*}${description}
     homepage                https://llvm.org/
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc12/files/patch-darwin-gcc-12.2.0.diff b/lang/gcc12/files/patch-darwin-gcc-12.3.0.diff
</span>similarity index 96%
rename from lang/gcc12/files/patch-darwin-gcc-12.2.0.diff
rename to lang/gcc12/files/patch-darwin-gcc-12.3.0.diff
<span style='display:block; white-space:pre;color:#808080;'>index 8159b1a08b3..d19cb8007dd 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc12/files/patch-darwin-gcc-12.2.0.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc12/files/patch-darwin-gcc-12.3.0.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -141,25 +141,35 @@ index ef58fac..925da10 100644
</span>  # This is set by the configure script to the arguments to use when configuring
 diff --git README.md README.md
 new file mode 100644
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 0000000..9fbe018
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 0000000..843f75f
</span> --- /dev/null
 +++ README.md
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,44 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# This is a branch of GCC 12-1 with experimental support for AArch64 (Arm64) on Darwin.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,54 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# This is a branch of GCC 12-3 with experimental support for AArch64 (Arm64) on Darwin.
</span> +
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+The branch is recommended for (and has been tested on) powerpc, i686, x86_64 and aarch64 Darwin from Darwin9 (Mac OSX 10.5) through Darwin21 (macOS 12) (for architectures relevant to each version).  The branch has also been tested to build cross-compilers between x86_64 and aarch64 and on aarch64-linux-gnu without regressions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++The branch is recommended for (and has been tested on) powerpc, i686, x86_64 and aarch64 Darwin from Darwin9 (Mac OSX 10.5) through Darwin22 (macOS 13)
</span> +
 +The support for Aarch64 (Arm64) remains experimental but is adequate now for many programs (and self-bootstrap).
 +
 +Please see README for general information on the GCC sources.
 +
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+Please see the GCC 12.1 release documentation for the implementation status of core language features.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Please see the general GCC 12.3 release documentation for the implementation status of core language features.
</span> +
 +Please see gcc/config/aarch64/darwinpcs.md for a description of the macOS AArch64 (Arm64) ABI support.
 +
 +**Please report issues for this branch to:
 +https://github.com/iains/gcc-12-branch/issues**
 +
<span style='display:block; white-space:pre;background:#e0ffe0;'>++**_The current release is GCC-12.3-darwin-r0. (May 2023)_**
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++This release includes:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * All upstream fixes since 12.2.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * All fixes from GCC-12.1-darwin-r1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * A fix for handling non-bootstrap builds with clang (issue #18).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Some local fixes for building and testing D.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Some fixes for handling newer SDKs with unguarded blocks use and Apple-local deprecations of some Posix interfaces.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * libsanitizer is disabled on Darwin22+ pending a solution to locating dyld in the shared cache.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span> +**_The current release is GCC-12.2-darwin-r0. (August 2022)_**
 +
 +This release includes:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -391,7 +401,7 @@ index cf80ae3..678a897 100755
</span>  *)
    cp "$1" "$1.$suf1"
 diff --git fixincludes/configure fixincludes/configure
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 6e2d67b..b3bca66 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 0d5cd69..bdcc41f 100755
</span> --- fixincludes/configure
 +++ fixincludes/configure
 @@ -2644,7 +2644,7 @@ ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -403,6 +413,299 @@ index 6e2d67b..b3bca66 100755
</span>  
  
  # _LT_SYS_MODULE_PATH_AIX
<span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git fixincludes/fixincl.x fixincludes/fixincl.x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index bad4904..efaedff 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- fixincludes/fixincl.x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ fixincludes/fixincl.x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2,11 +2,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * DO NOT EDIT THIS FILE   (fixincl.x)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- * It has been AutoGen-ed  February 27, 2022 at 07:47:03 PM by AutoGen 5.18.16
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * It has been AutoGen-ed  May  6, 2023 at 09:12:07 AM by AutoGen 5.18.7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * From the definitions    inclhack.def
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * and the template file   fixincl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* DO NOT SVN-MERGE THIS FILE, EITHER Sun Feb 27 19:47:03 UTC 2022
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* DO NOT SVN-MERGE THIS FILE, EITHER Sat May  6 09:12:07 BST 2023
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * You must regenerate it.  Use the ./genfixes script.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15,7 +15,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * certain ANSI-incompatible system header files which are fixed to work
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * correctly with ANSI C and placed in a directory that GNU C will search.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- * This file contains 267 fixup descriptions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * This file contains 269 fixup descriptions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * See README for more information.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2610,6 +2610,46 @@ int vfscanf(FILE *, const char *, __builtin_va_list) __asm__ (_BSD_STRING(__USER
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* * * * * * * * * * * * * * * * * * * * * * * * * *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *  Description of Apple_Local_Stdio_Fn_Deprecation fix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++tSCC zApple_Local_Stdio_Fn_DeprecationName[] =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     "apple_local_stdio_fn_deprecation";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *  File name selection pattern
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++tSCC zApple_Local_Stdio_Fn_DeprecationList[] =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  "stdio.h\0";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *  Machine/OS name selection pattern
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++tSCC* apzApple_Local_Stdio_Fn_DeprecationMachs[] = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "*-*-*darwin2*",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        (const char*)NULL };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *  content selection pattern - do fix if pattern found
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++tSCC zApple_Local_Stdio_Fn_DeprecationSelect0[] =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       "__deprecated_msg([^\n\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++]*)$";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define    APPLE_LOCAL_STDIO_FN_DEPRECATION_TEST_CT  1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static tTestDesc aApple_Local_Stdio_Fn_DeprecationTests[] = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  { TT_EGREP,    zApple_Local_Stdio_Fn_DeprecationSelect0, (regex_t*)NULL }, };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *  Fix Command Arguments for Apple_Local_Stdio_Fn_Deprecation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static const char* apzApple_Local_Stdio_Fn_DeprecationPatch[] = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    "format",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    "#if defined(__APPLE_LOCAL_DEPRECATIONS)\n\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%0\n\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    (char*)NULL };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* * * * * * * * * * * * * * * * * * * * * * * * * *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  *  Description of Ctrl_Quotes_Def fix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tSCC zCtrl_Quotes_DefName[] =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3046,6 +3086,53 @@ static const char* apzDarwin_Os_Trace_2Patch[] = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* * * * * * * * * * * * * * * * * * * * * * * * * *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *  Description of Darwin_Objc_Runtime_1 fix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++tSCC zDarwin_Objc_Runtime_1Name[] =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     "darwin_objc_runtime_1";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *  File name selection pattern
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++tSCC zDarwin_Objc_Runtime_1List[] =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  "objc/runtime.h\0";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *  Machine/OS name selection pattern
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++tSCC* apzDarwin_Objc_Runtime_1Machs[] = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        "*-*-darwin2*",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        (const char*)NULL };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *  content selection pattern - do fix if pattern found
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++tSCC zDarwin_Objc_Runtime_1Select0[] =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       "OBJC_EXPORT void.*\n\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++objc_enumerateClasses.*\n\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.*\n\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.*\n\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.*\n\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.*void \\(\\^ _Nonnull block.*\n\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.*\n\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.*\n\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.*OBJC_REFINED_FOR_SWIFT.*";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define    DARWIN_OBJC_RUNTIME_1_TEST_CT  1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static tTestDesc aDarwin_Objc_Runtime_1Tests[] = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  { TT_EGREP,    zDarwin_Objc_Runtime_1Select0, (regex_t*)NULL }, };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *  Fix Command Arguments for Darwin_Objc_Runtime_1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static const char* apzDarwin_Objc_Runtime_1Patch[] = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    "format",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    "#if __BLOCKS__\n\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%0\n\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    (char*)NULL };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* * * * * * * * * * * * * * * * * * * * * * * * * *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  *  Description of Darwin_Os_Trace_3 fix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tSCC zDarwin_Os_Trace_3Name[] =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10872,9 +10959,9 @@ static const char* apzX11_SprintfPatch[] = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  *  List of all fixes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define REGEX_COUNT          305
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define REGEX_COUNT          307
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define MACH_LIST_SIZE_LIMIT 187
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define FIX_COUNT            267
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define FIX_COUNT            269
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  *  Enumerate the fixes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10941,6 +11028,7 @@ typedef enum {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     BROKEN_CABS_FIXIDX,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     BROKEN_NAN_FIXIDX,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     BSD_STDIO_ATTRS_CONFLICT_FIXIDX,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    APPLE_LOCAL_STDIO_FN_DEPRECATION_FIXIDX,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CTRL_QUOTES_DEF_FIXIDX,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CTRL_QUOTES_USE_FIXIDX,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CXX_UNREADY_FIXIDX,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10952,6 +11040,7 @@ typedef enum {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     DARWIN_LONGJMP_NORETURN_FIXIDX,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     DARWIN_OS_TRACE_1_FIXIDX,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     DARWIN_OS_TRACE_2_FIXIDX,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    DARWIN_OBJC_RUNTIME_1_FIXIDX,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     DARWIN_OS_TRACE_3_FIXIDX,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     DARWIN_OS_BASE_1_FIXIDX,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     DARWIN_DISPATCH_OBJECT_1_FIXIDX,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11455,6 +11544,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      BSD_STDIO_ATTRS_CONFLICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      aBsd_Stdio_Attrs_ConflictTests,   apzBsd_Stdio_Attrs_ConflictPatch, 0 },
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  {  zApple_Local_Stdio_Fn_DeprecationName,    zApple_Local_Stdio_Fn_DeprecationList,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     apzApple_Local_Stdio_Fn_DeprecationMachs,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     APPLE_LOCAL_STDIO_FN_DEPRECATION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     aApple_Local_Stdio_Fn_DeprecationTests,   apzApple_Local_Stdio_Fn_DeprecationPatch, 0 },
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   {  zCtrl_Quotes_DefName,    zCtrl_Quotes_DefList,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      apzCtrl_Quotes_DefMachs,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      CTRL_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11510,6 +11604,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      DARWIN_OS_TRACE_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      aDarwin_Os_Trace_2Tests,   apzDarwin_Os_Trace_2Patch, 0 },
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  {  zDarwin_Objc_Runtime_1Name,    zDarwin_Objc_Runtime_1List,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     apzDarwin_Objc_Runtime_1Machs,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     DARWIN_OBJC_RUNTIME_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     aDarwin_Objc_Runtime_1Tests,   apzDarwin_Objc_Runtime_1Patch, 0 },
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   {  zDarwin_Os_Trace_3Name,    zDarwin_Os_Trace_3List,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      apzDarwin_Os_Trace_3Machs,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      DARWIN_OS_TRACE_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git fixincludes/inclhack.def fixincludes/inclhack.def
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 7605ac8..96cfaa4 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- fixincludes/inclhack.def
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ fixincludes/inclhack.def
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1269,6 +1269,18 @@ fix = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     test_text = '#define  vfscanf __svfscanf';
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fix = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    hackname  = apple_local_stdio_fn_deprecation;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    mach      = "*-*-*darwin2*";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    files     = stdio.h;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    select    = "__deprecated_msg([^\n]*)$";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    c_fix     = format;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    c_fix_arg = "#if defined(__APPLE_LOCAL_DEPRECATIONS)\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                "%0\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                "#endif";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    test_text = '__deprecated_msg("This function is provided for compat...")';
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  *  Fix various macros used to define ioctl numbers.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  *  The traditional syntax was:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1480,6 +1492,41 @@ fix = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *  macOSX 13.0 SDK objc/runtime.h uses Apple Blocks extension without a guard.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fix = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  hackname  = darwin_objc_runtime_1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  mach      = "*-*-darwin2*";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  files     = objc/runtime.h;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  select    =   <<- _EOSelect_
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  OBJC_EXPORT void.*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  objc_enumerateClasses.*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  .*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  .*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  .*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  .*void \(\^ _Nonnull block.*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  .*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  .*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  .*OBJC_REFINED_FOR_SWIFT.*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  _EOSelect_;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  c_fix     = format;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  c_fix_arg = "#if __BLOCKS__\n%0\n#endif";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  test_text = <<- _OBJC_RUNTIME_1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++OBJC_EXPORT void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++objc_enumerateClasses(const void * _Nullable image,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                      const char * _Nullable namePrefix,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                      Protocol * _Nullable conformingTo,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                      Class _Nullable subclassing,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                      void (^ _Nonnull block)(Class _Nonnull aClass, BOOL * _Nonnull stop)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                      OBJC_NOESCAPE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++OBJC_AVAILABLE(13.0, 16.0, 16.0, 9.0, 7.0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++OBJC_REFINED_FOR_SWIFT;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++_OBJC_RUNTIME_1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  *  In Mac OS X 10.1[012] <os/trace.h>, need to guard users of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  *  os_trace_payload_t typedef, too.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git fixincludes/tests/base/objc/runtime.h fixincludes/tests/base/objc/runtime.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+new file mode 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 0000000..8b4855b
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ fixincludes/tests/base/objc/runtime.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,24 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*  DO NOT EDIT THIS FILE.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    It has been auto-edited by fixincludes from:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  "fixinc/tests/inc/objc/runtime.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    This had to be done to correct non-standard usages in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    original, manufacturer supplied header file.  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined( DARWIN_OBJC_RUNTIME_1_CHECK )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __BLOCKS__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++OBJC_EXPORT void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++objc_enumerateClasses(const void * _Nullable image,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                      const char * _Nullable namePrefix,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                      Protocol * _Nullable conformingTo,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                      Class _Nullable subclassing,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                      void (^ _Nonnull block)(Class _Nonnull aClass, BOOL * _Nonnull stop)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                      OBJC_NOESCAPE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++OBJC_AVAILABLE(13.0, 16.0, 16.0, 9.0, 7.0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++OBJC_REFINED_FOR_SWIFT;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif  /* DARWIN_OBJC_RUNTIME_1_CHECK */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git fixincludes/tests/base/stdio.h fixincludes/tests/base/stdio.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 491c75d..38381ba 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- fixincludes/tests/base/stdio.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ fixincludes/tests/base/stdio.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -41,6 +41,13 @@ int vfscanf(FILE *, const char *, __builtin_va_list) __asm__ (_BSD_STRING(__USER
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif  /* BSD_STDIO_ATTRS_CONFLICT_CHECK */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined( APPLE_LOCAL_STDIO_FN_DEPRECATION_CHECK )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__APPLE_LOCAL_DEPRECATIONS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++__deprecated_msg("This function is provided for compat...")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif  /* APPLE_LOCAL_STDIO_FN_DEPRECATION_CHECK */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if defined( HPUX10_STDIO_DECLARATIONS_CHECK )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  define _iob __iob
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span> diff --git gcc/Makefile.in gcc/Makefile.in
 index 31ff955..255a10c 100644
 --- gcc/Makefile.in
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -743,10 +1046,10 @@ index 8a0dafc..7feb463 100644
</span>  generate them instead of using descriptors.
  
 diff --git gcc/config.gcc gcc/config.gcc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index c5064dd..1562a7b 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 5c378c6..f4887bb 100644
</span> --- gcc/config.gcc
 +++ gcc/config.gcc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1086,6 +1086,23 @@ case ${target} in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1089,6 +1089,23 @@ case ${target} in
</span>    ;;
  esac
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -770,7 +1073,7 @@ index c5064dd..1562a7b 100644
</span>  case ${target} in
  aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*)
        tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h"
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1124,6 +1141,11 @@ aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1127,6 +1144,11 @@ aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*)
</span>   done
        TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
        ;;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -834,7 +1137,7 @@ index 64c27c9..5cd26ca 100644
</span>  #ifndef USED_FOR_TARGET
  #undef ICONV_CONST
 diff --git gcc/config/aarch64/aarch64-builtins.cc gcc/config/aarch64/aarch64-builtins.cc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 1b0db67..549c9d2 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 42276e7..8741d50 100644
</span> --- gcc/config/aarch64/aarch64-builtins.cc
 +++ gcc/config/aarch64/aarch64-builtins.cc
 @@ -619,6 +619,10 @@ enum aarch64_builtins
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -942,10 +1245,10 @@ index 1b0db67..549c9d2 100644
</span>   break;
      }
 diff --git gcc/config/aarch64/aarch64-c.cc gcc/config/aarch64/aarch64-c.cc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 767ee0c..55ffdbd 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a4c4077..85efdca 100644
</span> --- gcc/config/aarch64/aarch64-c.cc
 +++ gcc/config/aarch64/aarch64-c.cc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -369,4 +369,8 @@ aarch64_register_pragmas (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -370,4 +370,8 @@ aarch64_register_pragmas (void)
</span>    targetm.check_builtin_call = aarch64_check_builtin_call;
  
    c_register_pragma ("GCC", "aarch64", aarch64_pragma_aarch64);
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -955,7 +1258,7 @@ index 767ee0c..55ffdbd 100644
</span> +#endif
  }
 diff --git gcc/config/aarch64/aarch64-protos.h gcc/config/aarch64/aarch64-protos.h
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index df31181..b84bc8e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 475d174..7b1da1b 100644
</span> --- gcc/config/aarch64/aarch64-protos.h
 +++ gcc/config/aarch64/aarch64-protos.h
 @@ -108,6 +108,14 @@ enum aarch64_symbol_type
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -981,7 +1284,7 @@ index df31181..b84bc8e 100644
</span>  bool aarch64_bitmask_imm (HOST_WIDE_INT val, machine_mode);
  unsigned HOST_WIDE_INT aarch64_and_split_imm1 (HOST_WIDE_INT val_in);
  unsigned HOST_WIDE_INT aarch64_and_split_imm2 (HOST_WIDE_INT val_in);
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -914,6 +923,7 @@ void aarch64_expand_vector_init (rtx, rtx);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -915,6 +924,7 @@ void aarch64_expand_vector_init (rtx, rtx);
</span>  void aarch64_sve_expand_vector_init (rtx, rtx);
  void aarch64_init_cumulative_args (CUMULATIVE_ARGS *, const_tree, rtx,
                                   const_tree, unsigned, bool = false);
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -989,7 +1292,7 @@ index df31181..b84bc8e 100644
</span>  void aarch64_init_expanders (void);
  void aarch64_init_simd_builtins (void);
  void aarch64_emit_call_insn (rtx);
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -988,6 +998,7 @@ void aarch64_override_options_internal (struct gcc_options *);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -989,6 +999,7 @@ void aarch64_override_options_internal (struct gcc_options *);
</span>  
  const char *aarch64_general_mangle_builtin_type (const_tree);
  void aarch64_general_init_builtins (void);
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -998,7 +1301,7 @@ index df31181..b84bc8e 100644
</span>  gimple *aarch64_general_gimple_fold_builtin (unsigned int, gcall *,
                                             gimple_stmt_iterator *);
 diff --git gcc/config/aarch64/aarch64.cc gcc/config/aarch64/aarch64.cc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 5c9e779..91258c9 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 226dc9d..13bb3cf 100644
</span> --- gcc/config/aarch64/aarch64.cc
 +++ gcc/config/aarch64/aarch64.cc
 @@ -292,8 +292,10 @@ static bool aarch64_vfp_is_call_or_return_candidate (machine_mode,
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1012,7 +1315,7 @@ index 5c9e779..91258c9 100644
</span>  static void aarch64_override_options_after_change (void);
  static bool aarch64_vector_mode_supported_p (machine_mode);
  static int aarch64_address_cost (rtx, machine_mode, addr_space_t, bool);
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2757,6 +2759,9 @@ static const struct attribute_spec aarch64_attribute_table[] =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2794,6 +2796,9 @@ static const struct attribute_spec aarch64_attribute_table[] =
</span>    { "Advanced SIMD type", 1, 1, false, true,  false, true,  NULL, NULL },
    { "SVE type",               3, 3, false, true,  false, true,  NULL, NULL },
    { "SVE sizeless type",  0, 0, false, true,  false, true,  NULL, NULL },
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1022,7 +1325,7 @@ index 5c9e779..91258c9 100644
</span>    { NULL,                 0, 0, false, false, false, false, NULL, NULL }
  };
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3973,7 +3978,7 @@ aarch64_hard_regno_mode_ok (unsigned regno, machine_mode mode)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -4010,7 +4015,7 @@ aarch64_hard_regno_mode_ok (unsigned regno, machine_mode mode)
</span>        if (known_le (GET_MODE_SIZE (mode), 8))
        return true;
        if (known_le (GET_MODE_SIZE (mode), 16))
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1031,7 +1334,7 @@ index 5c9e779..91258c9 100644
</span>      }
    else if (FP_REGNUM_P (regno))
      {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -4019,8 +4024,10 @@ static bool
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -4056,8 +4061,10 @@ static bool
</span>  aarch64_takes_arguments_in_sve_regs_p (const_tree fntype)
  {
    CUMULATIVE_ARGS args_so_far_v;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1043,7 +1346,7 @@ index 5c9e779..91258c9 100644
</span>    cumulative_args_t args_so_far = pack_cumulative_args (&args_so_far_v);
  
    for (tree chain = TYPE_ARG_TYPES (fntype);
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -4505,6 +4512,7 @@ aarch64_load_symref_appropriately (rtx dest, rtx imm,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -4542,6 +4549,7 @@ aarch64_load_symref_appropriately (rtx dest, rtx imm,
</span>    switch (type)
      {
      case SYMBOL_SMALL_ABSOLUTE:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1051,7 +1354,7 @@ index 5c9e779..91258c9 100644
</span>        {
        /* In ILP32, the mode of dest can be either SImode or DImode.  */
        rtx tmp_reg = dest;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -4515,6 +4523,21 @@ aarch64_load_symref_appropriately (rtx dest, rtx imm,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -4552,6 +4560,21 @@ aarch64_load_symref_appropriately (rtx dest, rtx imm,
</span>   if (can_create_pseudo_p ())
          tmp_reg = gen_reg_rtx (mode);
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1073,7 +1376,7 @@ index 5c9e779..91258c9 100644
</span>   emit_move_insn (tmp_reg, gen_rtx_HIGH (mode, copy_rtx (imm)));
        emit_insn (gen_add_losym (dest, tmp_reg, imm));
        return;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -4598,6 +4621,7 @@ aarch64_load_symref_appropriately (rtx dest, rtx imm,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -4635,6 +4658,7 @@ aarch64_load_symref_appropriately (rtx dest, rtx imm,
</span>   return;
        }
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1081,7 +1384,7 @@ index 5c9e779..91258c9 100644
</span>      case SYMBOL_SMALL_GOT_4G:
        emit_insn (gen_rtx_SET (dest, imm));
        return;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6659,6 +6683,7 @@ aarch64_expand_mov_immediate (rtx dest, rtx imm)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6696,6 +6720,7 @@ aarch64_expand_mov_immediate (rtx dest, rtx imm)
</span>   case SYMBOL_SMALL_TLSIE:
        case SYMBOL_SMALL_GOT_28K:
        case SYMBOL_SMALL_GOT_4G:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1089,7 +1392,7 @@ index 5c9e779..91258c9 100644
</span>   case SYMBOL_TINY_GOT:
        case SYMBOL_TINY_TLSIE:
          if (const_offset != 0)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6672,6 +6697,7 @@ aarch64_expand_mov_immediate (rtx dest, rtx imm)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6709,6 +6734,7 @@ aarch64_expand_mov_immediate (rtx dest, rtx imm)
</span>     /* FALLTHRU */
  
        case SYMBOL_SMALL_ABSOLUTE:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1097,7 +1400,7 @@ index 5c9e779..91258c9 100644
</span>   case SYMBOL_TINY_ABSOLUTE:
        case SYMBOL_TLSLE12:
        case SYMBOL_TLSLE24:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -7251,6 +7277,7 @@ aarch64_return_in_memory (const_tree type, const_tree fndecl ATTRIBUTE_UNUSED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7288,6 +7314,7 @@ aarch64_return_in_memory (const_tree type, const_tree fndecl ATTRIBUTE_UNUSED)
</span>    gcc_unreachable ();
  }
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1105,7 +1408,7 @@ index 5c9e779..91258c9 100644
</span>  static bool
  aarch64_vfp_is_call_candidate (cumulative_args_t pcum_v, machine_mode mode,
                               const_tree type, int *nregs)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -7260,6 +7287,7 @@ aarch64_vfp_is_call_candidate (cumulative_args_t pcum_v, machine_mode mode,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7297,6 +7324,7 @@ aarch64_vfp_is_call_candidate (cumulative_args_t pcum_v, machine_mode mode,
</span>                                             &pcum->aapcs_vfp_rmode,
                                                  nregs, NULL, pcum->silent_p);
  }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1113,8 +1416,8 @@ index 5c9e779..91258c9 100644
</span>  
  /* Given MODE and TYPE of a function argument, return the alignment in
     bits.  The idea is to suppress any stronger alignment requested by
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -7343,6 +7371,13 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     return;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7402,6 +7430,13 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   gcc_assert (!alignment || abi_break < alignment);
</span>  
    pcum->aapcs_arg_processed = true;
 +  if (TARGET_MACHO)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1127,7 +1430,7 @@ index 5c9e779..91258c9 100644
</span>  
    pure_scalable_type_info pst_info;
    if (type && pst_info.analyze_registers (type))
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -7399,13 +7434,29 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7461,13 +7496,29 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span>      /* No frontends can create types with variable-sized modes, so we
         shouldn't be asked to pass or return them.  */
      size = GET_MODE_SIZE (mode).to_constant ();
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1157,7 +1460,7 @@ index 5c9e779..91258c9 100644
</span>    gcc_assert (!sve_p || !allocate_nvrn);
  
    /* allocate_ncrn may be false-positive, but allocate_nvrn is quite reliable.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -7420,7 +7471,13 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7484,7 +7535,13 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span>        if (!pcum->silent_p && !TARGET_FLOAT)
        aarch64_err_no_fpadvsimd (mode);
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1172,7 +1475,7 @@ index 5c9e779..91258c9 100644
</span>   {
          pcum->aapcs_nextnvrn = nvrn + nregs;
          if (!aarch64_composite_type_p (type, mode))
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -7450,6 +7507,7 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7514,6 +7571,7 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span>           }
              pcum->aapcs_reg = par;
            }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1180,7 +1483,7 @@ index 5c9e779..91258c9 100644
</span>     return;
        }
        else
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -7466,10 +7524,18 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7530,10 +7588,18 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span>    /* C6 - C9.  though the sign and zero extension semantics are
       handled elsewhere.  This is the case where the argument fits
       entirely general registers.  */
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1199,7 +1502,7 @@ index 5c9e779..91258c9 100644
</span>        /* C.8 if the argument has an alignment of 16 then the NGRN is
         rounded up to the next even number.  */
        if (nregs == 2
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -7479,7 +7545,9 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7543,7 +7609,9 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span>        alignment nregs should be > 2 and therefore it should be
             passed by reference rather than value.  */
          && (aarch64_function_arg_alignment (mode, type, &abi_break)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1208,9 +1511,9 @@ index 5c9e779..91258c9 100644
</span> +   /* Darwin PCS deletes rule C.8.  */
 +        && !TARGET_MACHO)
        {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-          if (abi_break && warn_psabi && currently_expanding_gimple_stmt)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (warn_pcs_change && abi_break)
</span>       inform (input_location, "parameter passing for argument of type "
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -7525,8 +7593,8 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7589,8 +7657,8 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span>       }
          pcum->aapcs_reg = par;
        }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1220,7 +1523,7 @@ index 5c9e779..91258c9 100644
</span>        return;
      }
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -7536,10 +7604,87 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7600,10 +7668,87 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span>    /* The argument is passed on stack; record the needed number of words for
       this argument and align the total size if necessary.  */
  on_stack:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1311,7 +1614,7 @@ index 5c9e779..91258c9 100644
</span>      {
        int new_size = ROUND_UP (pcum->aapcs_stack_size, 16 / UNITS_PER_WORD);
        if (pcum->aapcs_stack_size != new_size)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -7592,7 +7737,28 @@ aarch64_init_cumulative_args (CUMULATIVE_ARGS *pcum,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7656,7 +7801,28 @@ aarch64_init_cumulative_args (CUMULATIVE_ARGS *pcum,
</span>    pcum->aapcs_arg_processed = false;
    pcum->aapcs_stack_words = 0;
    pcum->aapcs_stack_size = 0;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1340,7 +1643,7 @@ index 5c9e779..91258c9 100644
</span>  
    if (!silent_p
        && !TARGET_FLOAT
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -7631,8 +7797,10 @@ aarch64_function_arg_advance (cumulative_args_t pcum_v,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7695,8 +7861,10 @@ aarch64_function_arg_advance (cumulative_args_t pcum_v,
</span>        || pcum->pcs_variant == ARM_PCS_SVE)
      {
        aarch64_layout_arg (pcum_v, arg);
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1353,7 +1656,7 @@ index 5c9e779..91258c9 100644
</span>        pcum->aapcs_arg_processed = false;
        pcum->aapcs_ncrn = pcum->aapcs_nextncrn;
        pcum->aapcs_nvrn = pcum->aapcs_nextnvrn;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -7640,6 +7808,12 @@ aarch64_function_arg_advance (cumulative_args_t pcum_v,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7704,6 +7872,12 @@ aarch64_function_arg_advance (cumulative_args_t pcum_v,
</span>        pcum->aapcs_stack_size += pcum->aapcs_stack_words;
        pcum->aapcs_stack_words = 0;
        pcum->aapcs_reg = NULL_RTX;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1366,7 +1669,7 @@ index 5c9e779..91258c9 100644
</span>      }
  }
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -7650,12 +7824,15 @@ aarch64_function_arg_regno_p (unsigned regno)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7714,12 +7888,15 @@ aarch64_function_arg_regno_p (unsigned regno)
</span>     || (FP_REGNUM_P (regno) && regno < V0_REGNUM + NUM_FP_ARG_REGS));
  }
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1388,7 +1691,7 @@ index 5c9e779..91258c9 100644
</span>  
  static unsigned int
  aarch64_function_arg_boundary (machine_mode mode, const_tree type)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -7663,6 +7840,71 @@ aarch64_function_arg_boundary (machine_mode mode, const_tree type)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7727,15 +7904,118 @@ aarch64_function_arg_boundary (machine_mode mode, const_tree type)
</span>    unsigned int abi_break;
    unsigned int alignment = aarch64_function_arg_alignment (mode, type,
                                                           &abi_break);
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1406,10 +1709,10 @@ index 5c9e779..91258c9 100644
</span> +    return MIN (MAX (alignment, PARM_BOUNDARY), STACK_BOUNDARY);
 +  return MIN (alignment, STACK_BOUNDARY);
 +#else
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+  alignment = MIN (MAX (alignment, PARM_BOUNDARY), STACK_BOUNDARY);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  if (abi_break & warn_psabi)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      abi_break = MIN (MAX (abi_break, PARM_BOUNDARY), STACK_BOUNDARY);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   alignment = MIN (MAX (alignment, PARM_BOUNDARY), STACK_BOUNDARY);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (abi_break && warn_psabi)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       abi_break = MIN (MAX (abi_break, PARM_BOUNDARY), STACK_BOUNDARY);
</span> +      if (alignment != abi_break && !TARGET_MACHO)
 +      inform (input_location, "parameter passing for argument of type "
 +              "%qT changed in GCC 9.1", type);
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1457,12 +1760,14 @@ index 5c9e779..91258c9 100644
</span> +  return MIN (alignment, STACK_BOUNDARY);
 +
 +#else
<span style='display:block; white-space:pre;background:#ffe0e0;'>-   alignment = MIN (MAX (alignment, PARM_BOUNDARY), STACK_BOUNDARY);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if (abi_break & warn_psabi)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -7673,6 +7915,44 @@ aarch64_function_arg_boundary (machine_mode mode, const_tree type)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  alignment = MIN (MAX (alignment, PARM_BOUNDARY), STACK_BOUNDARY);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (abi_break & warn_psabi)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      abi_break = MIN (MAX (abi_break, PARM_BOUNDARY), STACK_BOUNDARY);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       if (alignment != abi_break)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   inform (input_location, "parameter passing for argument of type "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           "%qT changed in GCC 9.1", type);
</span>      }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span>    return alignment;
 +#endif
 +}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1505,7 +1810,7 @@ index 5c9e779..91258c9 100644
</span>  }
  
  /* Implement TARGET_GET_RAW_RESULT_MODE and TARGET_GET_RAW_ARG_MODE.  */
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10848,6 +11128,7 @@ aarch64_classify_address (struct aarch64_address_info *info,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10911,6 +11191,7 @@ aarch64_classify_address (struct aarch64_address_info *info,
</span>        /* load literal: pc-relative constant pool entry.  Only supported
           for SI mode or larger.  */
        info->type = ADDRESS_SYMBOLIC;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1513,7 +1818,7 @@ index 5c9e779..91258c9 100644
</span>  
        if (!load_store_pair_p
          && GET_MODE_SIZE (mode).is_constant (&const_size)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10855,6 +11136,7 @@ aarch64_classify_address (struct aarch64_address_info *info,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10918,6 +11199,7 @@ aarch64_classify_address (struct aarch64_address_info *info,
</span>   {
          poly_int64 offset;
          rtx sym = strip_offset_and_salt (x, &offset);
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1521,7 +1826,7 @@ index 5c9e779..91258c9 100644
</span>     return ((LABEL_REF_P (sym)
                   || (SYMBOL_REF_P (sym)
                       && CONSTANT_POOL_ADDRESS_P (sym)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10872,10 +11154,13 @@ aarch64_classify_address (struct aarch64_address_info *info,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10935,10 +11217,13 @@ aarch64_classify_address (struct aarch64_address_info *info,
</span>     poly_int64 offset;
          HOST_WIDE_INT const_offset;
          rtx sym = strip_offset_and_salt (info->offset, &offset);
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1536,7 +1841,7 @@ index 5c9e779..91258c9 100644
</span>       {
              /* The symbol and offset must be aligned to the access size.  */
              unsigned int align;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10925,6 +11210,55 @@ aarch64_address_valid_for_prefetch_p (rtx x, bool strict_p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10988,6 +11273,55 @@ aarch64_address_valid_for_prefetch_p (rtx x, bool strict_p)
</span>    if (!res)
      return false;
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1592,7 +1897,7 @@ index 5c9e779..91258c9 100644
</span>    /* ... except writeback forms.  */
    return addr.type != ADDRESS_REG_WB;
  }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11609,6 +11943,144 @@ sizetochar (int size)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11672,6 +12006,144 @@ sizetochar (int size)
</span>      }
  }
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1737,7 +2042,7 @@ index 5c9e779..91258c9 100644
</span>  /* Print operand X to file F in a target specific manner according to CODE.
     The acceptable formatting commands given by CODE are:
       'c':             An integer or symbol address without a preceding #
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11677,6 +12149,12 @@ aarch64_print_operand (FILE *f, rtx x, int code)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11740,6 +12212,12 @@ aarch64_print_operand (FILE *f, rtx x, int code)
</span>   }
        break;
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1750,7 +2055,7 @@ index 5c9e779..91258c9 100644
</span>      case 'e':
        {
        x = unwrap_const_vec_duplicate (x);
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12000,7 +12478,7 @@ aarch64_print_operand (FILE *f, rtx x, int code)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12063,7 +12541,7 @@ aarch64_print_operand (FILE *f, rtx x, int code)
</span>      case 'A':
        if (GET_CODE (x) == HIGH)
        x = XEXP (x, 0);
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1759,7 +2064,7 @@ index 5c9e779..91258c9 100644
</span>        switch (aarch64_classify_symbolic_expression (x))
        {
        case SYMBOL_SMALL_GOT_4G:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12031,9 +12509,29 @@ aarch64_print_operand (FILE *f, rtx x, int code)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12094,9 +12572,29 @@ aarch64_print_operand (FILE *f, rtx x, int code)
</span>     break;
        }
        output_addr_const (asm_out_file, x);
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1789,7 +2094,7 @@ index 5c9e779..91258c9 100644
</span>        switch (aarch64_classify_symbolic_expression (x))
        {
        case SYMBOL_SMALL_GOT_4G:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12071,10 +12569,12 @@ aarch64_print_operand (FILE *f, rtx x, int code)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12134,10 +12632,12 @@ aarch64_print_operand (FILE *f, rtx x, int code)
</span>   default:
          break;
        }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1802,7 +2107,7 @@ index 5c9e779..91258c9 100644
</span>        switch (aarch64_classify_symbolic_expression (x))
        {
        case SYMBOL_TLSLE24:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12083,6 +12583,7 @@ aarch64_print_operand (FILE *f, rtx x, int code)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12146,6 +12646,7 @@ aarch64_print_operand (FILE *f, rtx x, int code)
</span>   default:
          break;
        }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1810,7 +2115,7 @@ index 5c9e779..91258c9 100644
</span>        output_addr_const (asm_out_file, x);
        break;
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12232,8 +12733,14 @@ aarch64_print_address_internal (FILE *f, machine_mode mode, rtx x,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12295,8 +12796,14 @@ aarch64_print_address_internal (FILE *f, machine_mode mode, rtx x,
</span>   break;
  
        case ADDRESS_LO_SUM:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1825,7 +2130,7 @@ index 5c9e779..91258c9 100644
</span>   asm_fprintf (f, "]");
        return true;
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12703,6 +13210,8 @@ aarch64_asm_output_labelref (FILE* f, const char *name)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12766,6 +13273,8 @@ aarch64_asm_output_labelref (FILE* f, const char *name)
</span>    asm_fprintf (f, "%U%s", name);
  }
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1834,7 +2139,7 @@ index 5c9e779..91258c9 100644
</span>  static void
  aarch64_elf_asm_constructor (rtx symbol, int priority)
  {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12742,6 +13251,7 @@ aarch64_elf_asm_destructor (rtx symbol, int priority)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12805,6 +13314,7 @@ aarch64_elf_asm_destructor (rtx symbol, int priority)
</span>        assemble_aligned_integer (POINTER_BYTES, symbol);
      }
  }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1842,7 +2147,7 @@ index 5c9e779..91258c9 100644
</span>  
  const char*
  aarch64_output_casesi (rtx *operands)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -15048,15 +15558,17 @@ aarch64_init_builtins ()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15111,15 +15621,17 @@ aarch64_init_builtins ()
</span>  {
    aarch64_general_init_builtins ();
    aarch64_sve::init_builtins ();
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1863,7 +2168,7 @@ index 5c9e779..91258c9 100644
</span>    unsigned int code = DECL_MD_FUNCTION_CODE (fndecl);
    unsigned int subcode = code >> AARCH64_BUILTIN_SHIFT;
    tree type = TREE_TYPE (TREE_TYPE (fndecl));
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -18326,10 +18838,14 @@ initialize_aarch64_code_model (struct gcc_options *opts)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -18452,10 +18964,14 @@ initialize_aarch64_code_model (struct gcc_options *opts)
</span>   }
        break;
      case AARCH64_CMODEL_LARGE:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1880,7 +2185,7 @@ index 5c9e779..91258c9 100644
</span>   sorry ("code model %qs not supported in ilp32 mode", "large");
        break;
      case AARCH64_CMODEL_TINY_PIC:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19252,7 +19768,9 @@ aarch64_classify_symbol (rtx x, HOST_WIDE_INT offset)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19378,7 +19894,9 @@ aarch64_classify_symbol (rtx x, HOST_WIDE_INT offset)
</span>   case AARCH64_CMODEL_SMALL_SPIC:
        case AARCH64_CMODEL_SMALL_PIC:
        case AARCH64_CMODEL_SMALL:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1891,7 +2196,7 @@ index 5c9e779..91258c9 100644
</span>  
        default:
          gcc_unreachable ();
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19288,10 +19806,22 @@ aarch64_classify_symbol (rtx x, HOST_WIDE_INT offset)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19414,10 +19932,22 @@ aarch64_classify_symbol (rtx x, HOST_WIDE_INT offset)
</span>  
          return SYMBOL_TINY_ABSOLUTE;
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1915,7 +2220,7 @@ index 5c9e779..91258c9 100644
</span>     if ((flag_pic || SYMBOL_REF_WEAK (x))
              && !aarch64_symbol_binds_local_p (x))
            return aarch64_cmodel == AARCH64_CMODEL_SMALL_SPIC
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19303,7 +19833,8 @@ aarch64_classify_symbol (rtx x, HOST_WIDE_INT offset)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19429,7 +19959,8 @@ aarch64_classify_symbol (rtx x, HOST_WIDE_INT offset)
</span>           || offset_within_block_p (x, offset)))
            return SYMBOL_FORCE_TO_MEM;
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1925,7 +2230,7 @@ index 5c9e779..91258c9 100644
</span>  
        case AARCH64_CMODEL_LARGE:
          /* This is alright even in PIC code as the constant
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19433,7 +19964,10 @@ static GTY(()) tree va_list_type;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19559,7 +20090,10 @@ static GTY(()) tree va_list_type;
</span>       void *__vr_top;
       int   __gr_offs;
       int   __vr_offs;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1937,7 +2242,7 @@ index 5c9e779..91258c9 100644
</span>  
  static tree
  aarch64_build_builtin_va_list (void)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19441,6 +19975,13 @@ aarch64_build_builtin_va_list (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19567,6 +20101,13 @@ aarch64_build_builtin_va_list (void)
</span>    tree va_list_name;
    tree f_stack, f_grtop, f_vrtop, f_groff, f_vroff;
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1951,7 +2256,7 @@ index 5c9e779..91258c9 100644
</span>    /* Create the type.  */
    va_list_type = lang_hooks.types.make_type (RECORD_TYPE);
    /* Give it the required name.  */
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19512,6 +20053,13 @@ aarch64_expand_builtin_va_start (tree valist, rtx nextarg ATTRIBUTE_UNUSED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19638,6 +20179,13 @@ aarch64_expand_builtin_va_start (tree valist, rtx nextarg ATTRIBUTE_UNUSED)
</span>    int vr_save_area_size = cfun->va_list_fpr_size;
    int vr_offset;
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1965,7 +2270,7 @@ index 5c9e779..91258c9 100644
</span>    cum = &crtl->args.info;
    if (cfun->va_list_gpr_size)
      gr_save_area_size = MIN ((NUM_ARG_REGS - cum->aapcs_ncrn) * UNITS_PER_WORD,
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19602,6 +20150,9 @@ aarch64_gimplify_va_arg_expr (tree valist, tree type, gimple_seq *pre_p,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19728,6 +20276,9 @@ aarch64_gimplify_va_arg_expr (tree valist, tree type, gimple_seq *pre_p,
</span>    HOST_WIDE_INT size, rsize, adjust, align;
    tree t, u, cond1, cond2;
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1975,7 +2280,7 @@ index 5c9e779..91258c9 100644
</span>    indirect_p = pass_va_arg_by_reference (type);
    if (indirect_p)
      type = build_pointer_type (type);
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19786,8 +20337,18 @@ aarch64_gimplify_va_arg_expr (tree valist, tree type, gimple_seq *pre_p,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19912,8 +20463,18 @@ aarch64_gimplify_va_arg_expr (tree valist, tree type, gimple_seq *pre_p,
</span>     field_ptr_t = double_ptr_type_node;
          break;
        case E_TFmode:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1996,7 +2301,7 @@ index 5c9e779..91258c9 100644
</span>     break;
        case E_HFmode:
          field_t = aarch64_fp16_type_node;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19858,6 +20419,9 @@ aarch64_setup_incoming_varargs (cumulative_args_t cum_v,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19984,6 +20545,9 @@ aarch64_setup_incoming_varargs (cumulative_args_t cum_v,
</span>    int gr_saved = cfun->va_list_gpr_size;
    int vr_saved = cfun->va_list_fpr_size;
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2006,7 +2311,7 @@ index 5c9e779..91258c9 100644
</span>    /* The caller has advanced CUM up to, but not beyond, the last named
       argument.  Advance a local copy of CUM past the last "real" named
       argument, to find out how many registers are left over.  */
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -20685,6 +21249,12 @@ aarch64_autovectorize_vector_modes (vector_modes *modes, bool)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -20811,6 +21375,12 @@ aarch64_autovectorize_vector_modes (vector_modes *modes, bool)
</span>  static const char *
  aarch64_mangle_type (const_tree type)
  {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2019,7 +2324,7 @@ index 5c9e779..91258c9 100644
</span>    /* The AArch64 ABI documents say that "__va_list" has to be
       mangled as if it is in the "std" namespace.  */
    if (lang_hooks.types_compatible_p (CONST_CAST_TREE (type), va_list_type))
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -20699,6 +21269,10 @@ aarch64_mangle_type (const_tree type)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -20825,6 +21395,10 @@ aarch64_mangle_type (const_tree type)
</span>   return "Dh";
      }
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2030,7 +2335,7 @@ index 5c9e779..91258c9 100644
</span>    /* Mangle AArch64-specific internal types.  TYPE_NAME is non-NULL_TREE for
       builtin types.  */
    if (TYPE_NAME (type) != NULL)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -21389,7 +21963,8 @@ aarch64_mov_operand_p (rtx x, machine_mode mode)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -21515,7 +22089,8 @@ aarch64_mov_operand_p (rtx x, machine_mode mode)
</span>  
    /* GOT accesses are valid moves.  */
    if (SYMBOL_REF_P (x)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2040,7 +2345,7 @@ index 5c9e779..91258c9 100644
</span>      return true;
  
    if (SYMBOL_REF_P (x) && mode == DImode && CONSTANT_ADDRESS_P (x))
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -22549,7 +23124,9 @@ aarch64_declare_function_name (FILE *stream, const char* name,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -22675,7 +23250,9 @@ aarch64_declare_function_name (FILE *stream, const char* name,
</span>    aarch64_asm_output_variant_pcs (stream, fndecl, name);
  
    /* Don't forget the type directive for ELF.  */
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2050,7 +2355,7 @@ index 5c9e779..91258c9 100644
</span>    ASM_OUTPUT_LABEL (stream, name);
  
    cfun->machine->label_is_assembled = true;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -22584,12 +23161,17 @@ aarch64_print_patchable_function_entry (FILE *file,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -22736,12 +23313,17 @@ aarch64_output_patchable_area (unsigned int patch_area_size, bool record_p)
</span>  /* Implement ASM_OUTPUT_DEF_FROM_DECLS.  Output .variant_pcs for aliases.  */
  
  void
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2069,7 +2374,7 @@ index 5c9e779..91258c9 100644
</span>  }
  
  /* Implement ASM_OUTPUT_EXTERNAL.  Output .variant_pcs for undefined
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -23213,6 +23795,16 @@ aarch64_output_simd_mov_immediate (rtx const_vector, unsigned width,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -23365,6 +23947,16 @@ aarch64_output_simd_mov_immediate (rtx const_vector, unsigned width,
</span>      }
  
    gcc_assert (CONST_INT_P (info.u.mov.value));
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2086,7 +2391,7 @@ index 5c9e779..91258c9 100644
</span>  
    if (which == AARCH64_CHECK_MOV)
      {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -23221,16 +23813,16 @@ aarch64_output_simd_mov_immediate (rtx const_vector, unsigned width,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -23373,16 +23965,16 @@ aarch64_output_simd_mov_immediate (rtx const_vector, unsigned width,
</span>             ? "msl" : "lsl");
        if (lane_count == 1)
        snprintf (templ, sizeof (templ), "%s\t%%d0, " HOST_WIDE_INT_PRINT_HEX,
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2106,7 +2411,7 @@ index 5c9e779..91258c9 100644
</span>      }
    else
      {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -23239,12 +23831,12 @@ aarch64_output_simd_mov_immediate (rtx const_vector, unsigned width,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -23391,12 +23983,12 @@ aarch64_output_simd_mov_immediate (rtx const_vector, unsigned width,
</span>        if (info.u.mov.shift)
        snprintf (templ, sizeof (templ), "%s\t%%0.%d%c, #"
                  HOST_WIDE_INT_PRINT_DEC ", %s #%d", mnemonic, lane_count,
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2121,7 +2426,7 @@ index 5c9e779..91258c9 100644
</span>      }
    return templ;
  }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -26355,12 +26947,12 @@ aarch64_libgcc_floating_mode_supported_p (scalar_float_mode mode)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -26541,12 +27133,12 @@ aarch64_libgcc_floating_mode_supported_p (scalar_float_mode mode)
</span>  }
  
  /* Implement TARGET_SCALAR_MODE_SUPPORTED_P - return TRUE
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2136,7 +2441,7 @@ index 5c9e779..91258c9 100644
</span>     ? true
          : default_scalar_mode_supported_p (mode));
  }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -27118,19 +27710,37 @@ aarch64_sls_emit_shared_blr_thunks (FILE *out_file)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -27304,19 +27896,37 @@ aarch64_sls_emit_shared_blr_thunks (FILE *out_file)
</span>   continue;
  
        const char *name = indirect_symbol_names[regnum];
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2177,7 +2482,7 @@ index 5c9e779..91258c9 100644
</span>      }
  }
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -27323,6 +27933,15 @@ aarch64_run_selftests (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -27509,6 +28119,15 @@ aarch64_run_selftests (void)
</span>  #undef TARGET_ASM_ALIGNED_SI_OP
  #define TARGET_ASM_ALIGNED_SI_OP "\t.word\t"
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2193,7 +2498,7 @@ index 5c9e779..91258c9 100644
</span>  #undef TARGET_ASM_CAN_OUTPUT_MI_THUNK
  #define TARGET_ASM_CAN_OUTPUT_MI_THUNK \
    hook_bool_const_tree_hwi_hwi_const_tree_true
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -27409,6 +28028,12 @@ aarch64_run_selftests (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -27595,6 +28214,12 @@ aarch64_run_selftests (void)
</span>  #undef TARGET_FUNCTION_ARG_BOUNDARY
  #define TARGET_FUNCTION_ARG_BOUNDARY aarch64_function_arg_boundary
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2206,7 +2511,7 @@ index 5c9e779..91258c9 100644
</span>  #undef TARGET_FUNCTION_ARG_PADDING
  #define TARGET_FUNCTION_ARG_PADDING aarch64_function_arg_padding
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -27736,7 +28361,7 @@ aarch64_libgcc_floating_mode_supported_p
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -27922,7 +28547,7 @@ aarch64_libgcc_floating_mode_supported_p
</span>  
  /* The architecture reserves bits 0 and 1 so use bit 2 for descriptors.  */
  #undef TARGET_CUSTOM_FUNCTION_DESCRIPTORS
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2216,10 +2521,10 @@ index 5c9e779..91258c9 100644
</span>  #undef TARGET_HARD_REGNO_NREGS
  #define TARGET_HARD_REGNO_NREGS aarch64_hard_regno_nregs
 diff --git gcc/config/aarch64/aarch64.h gcc/config/aarch64/aarch64.h
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 359b6e85..db5fe44 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6834c3e..4b2ccb6 100644
</span> --- gcc/config/aarch64/aarch64.h
 +++ gcc/config/aarch64/aarch64.h
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -58,6 +58,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -54,6 +54,10 @@
</span>  #define TARGET_SIMD (!TARGET_GENERAL_REGS_ONLY && AARCH64_ISA_SIMD)
  #define TARGET_FLOAT (!TARGET_GENERAL_REGS_ONLY && AARCH64_ISA_FP)
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2230,7 +2535,7 @@ index 359b6e85..db5fe44 100644
</span>  #define UNITS_PER_WORD           8
  
  #define UNITS_PER_VREG                16
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -135,6 +139,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -131,6 +135,12 @@
</span>  /* Heap alignment (same as BIGGEST_ALIGNMENT and STACK_BOUNDARY).  */
  #define MALLOC_ABI_ALIGNMENT  128
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2243,7 +2548,7 @@ index 359b6e85..db5fe44 100644
</span>  /* Defined by the ABI */
  #define WCHAR_TYPE "unsigned int"
  #define WCHAR_TYPE_SIZE                       32
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1025,6 +1035,24 @@ typedef struct
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1028,6 +1038,24 @@ typedef struct
</span>                              aapcs_reg == NULL_RTX.  */
    int aapcs_stack_size;               /* The total size (in words, per 8 byte) of the
                                   stack arg area so far.  */
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2268,7 +2573,7 @@ index 359b6e85..db5fe44 100644
</span>    bool silent_p;         /* True if we should act silently, rather than
                                   raise an error for invalid calls.  */
  } CUMULATIVE_ARGS;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1309,8 +1337,13 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1312,8 +1340,13 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
</span>  #define ASM_CPU_SPEC \
     MCPU_TO_MARCH_SPEC
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2283,7 +2588,7 @@ index 359b6e85..db5fe44 100644
</span>  
  #define ASM_OUTPUT_POOL_EPILOGUE  aarch64_asm_output_pool_epilogue
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1324,6 +1357,10 @@ extern GTY(()) tree aarch64_fp16_ptr_type_node;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1327,6 +1360,10 @@ extern GTY(()) tree aarch64_fp16_ptr_type_node;
</span>  extern GTY(()) tree aarch64_bf16_type_node;
  extern GTY(()) tree aarch64_bf16_ptr_type_node;
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2295,18 +2600,18 @@ index 359b6e85..db5fe44 100644
</span>     So in order to unwind a function using a frame pointer, the very first
     function that is unwound must save the frame pointer.  That way the frame
 diff --git gcc/config/aarch64/aarch64.md gcc/config/aarch64/aarch64.md
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 34b8059..c356d30 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d24c8af..cecef27 100644
</span> --- gcc/config/aarch64/aarch64.md
 +++ gcc/config/aarch64/aarch64.md
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -303,6 +303,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     UNSPEC_TAG_SPACE              ; Translate address to MTE tag address space.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -304,6 +304,7 @@
</span>      UNSPEC_LD1RO
      UNSPEC_SALT_ADDR
<span style='display:block; white-space:pre;background:#e0ffe0;'>+     UNSPECV_PATCHABLE_AREA
</span> +    UNSPEC_MACHOPIC_OFFSET
  ])
  
  (define_c_enum "unspecv" [
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -849,6 +850,37 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -850,6 +851,37 @@
</span>    [(set_attr "type" "load_4")]
  )
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2344,7 +2649,7 @@ index 34b8059..c356d30 100644
</span>  (define_insn "trap"
    [(trap_if (const_int 1) (const_int 8))]
    ""
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1286,7 +1318,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1287,7 +1319,7 @@
</span>     ldr\\t%s0, %1
     str\\t%w1, %0
     str\\t%s1, %0
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2353,7 +2658,7 @@ index 34b8059..c356d30 100644
</span>     adr\\t%x0, %c1
     adrp\\t%x0, %A1
     fmov\\t%s0, %w1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1325,7 +1357,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1326,7 +1358,7 @@
</span>     ldr\\t%d0, %1
     str\\t%x1, %0
     str\\t%d1, %0
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2362,7 +2667,7 @@ index 34b8059..c356d30 100644
</span>     adr\\t%x0, %c1
     adrp\\t%x0, %A1
     fmov\\t%d0, %x1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6857,7 +6889,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6863,7 +6895,10 @@
</span>   (lo_sum:P (match_operand:P 1 "register_operand" "r")
                  (match_operand 2 "aarch64_valid_symref" "S")))]
    ""
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3615,10 +3920,10 @@ index a55f6b2..36a3286 100644
</span> +  (!flag_off_stack_trampolines && !flag_trampolines) ? 1 : 0
 +
 diff --git gcc/config/i386/i386.cc gcc/config/i386/i386.cc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 9dd9fa6..5cd4b5c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 9a9ff3b..42dd2d4 100644
</span> --- gcc/config/i386/i386.cc
 +++ gcc/config/i386/i386.cc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -24698,7 +24698,7 @@ ix86_libgcc_floating_mode_supported_p
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -24735,7 +24735,7 @@ ix86_libgcc_floating_mode_supported_p
</span>  #define TARGET_HARD_REGNO_SCRATCH_OK ix86_hard_regno_scratch_ok
  
  #undef TARGET_CUSTOM_FUNCTION_DESCRIPTORS
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3628,10 +3933,10 @@ index 9dd9fa6..5cd4b5c 100644
</span>  #undef TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID
  #define TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID ix86_addr_space_zero_address_valid
 diff --git gcc/config/i386/i386.h gcc/config/i386/i386.h
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 363082b..5f56d7a 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index fce0b35..f909fa7 100644
</span> --- gcc/config/i386/i386.h
 +++ gcc/config/i386/i386.h
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -746,6 +746,12 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -749,6 +749,12 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
</span>  /* Minimum allocation boundary for the code of a function.  */
  #define FUNCTION_BOUNDARY 8
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3645,7 +3950,7 @@ index 363082b..5f56d7a 100644
</span>  #define TARGET_PTRMEMFUNC_VBIT_LOCATION ptrmemfunc_vbit_in_pfn
  
 diff --git gcc/configure gcc/configure
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 5ce0557..dbc127c 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index c749ace..dfbe287 100755
</span> --- gcc/configure
 +++ gcc/configure
 @@ -634,6 +634,7 @@ LIBOBJS
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3739,7 +4044,7 @@ index 5ce0557..dbc127c 100755
</span>      if test x$host != x$target; then
         libcxx_incdir="$target_alias/$libcxx_incdir"
      fi
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -17867,6 +17889,47 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -17862,6 +17884,47 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span>      darwin* | rhapsody*)
  
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3787,7 +4092,7 @@ index 5ce0557..dbc127c 100755
</span>    archive_cmds_need_lc=no
    hardcode_direct=no
    hardcode_automatic=yes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -17884,10 +17947,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -17879,10 +17942,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span>    esac
    if test "$_lt_dar_can_shared" = "yes"; then
      output_verbose_link_cmd=func_echo_all
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3811,25 +4116,25 @@ index 5ce0557..dbc127c 100755
</span>  
    else
    ld_shlibs=no
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19673,7 +19745,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19668,7 +19740,7 @@ else
</span>    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
<span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 19676 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 19748 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 19671 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 19743 "configure"
</span>  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19779,7 +19851,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19774,7 +19846,7 @@ else
</span>    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
<span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 19782 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 19854 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 19777 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 19849 "configure"
</span>  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -20655,6 +20727,47 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -20650,6 +20722,47 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span>        darwin* | rhapsody*)
  
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3877,7 +4182,7 @@ index 5ce0557..dbc127c 100755
</span>    archive_cmds_need_lc_CXX=no
    hardcode_direct_CXX=no
    hardcode_automatic_CXX=yes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -20672,12 +20785,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -20667,12 +20780,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span>    esac
    if test "$_lt_dar_can_shared" = "yes"; then
      output_verbose_link_cmd=func_echo_all
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3908,7 +4213,7 @@ index 5ce0557..dbc127c 100755
</span>        archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
      fi
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -23028,6 +23154,35 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -23023,6 +23149,35 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
</span>  
  
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3944,7 +4249,7 @@ index 5ce0557..dbc127c 100755
</span>  # Identify the assembler which will work hand-in-glove with the newly
  # built GCC, so that we can examine its features.  This is the assembler
  # which will be driven by the driver program.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -32429,6 +32584,22 @@ $as_echo "#define ENABLE_DEFAULT_PIE 1" >>confdefs.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -32424,6 +32579,22 @@ $as_echo "#define ENABLE_DEFAULT_PIE 1" >>confdefs.h
</span>  fi
  
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3967,7 +4272,7 @@ index 5ce0557..dbc127c 100755
</span>  # Check if -fno-PIE works.
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fno-PIE option" >&5
  $as_echo_n "checking for -fno-PIE option... " >&6; }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -32966,6 +33137,10 @@ LTLIBOBJS=$ac_ltlibobjs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -32961,6 +33132,10 @@ LTLIBOBJS=$ac_ltlibobjs
</span>  
  
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3979,7 +4284,7 @@ index 5ce0557..dbc127c 100755
</span>  : "${CONFIG_STATUS=./config.status}"
  ac_write_fail=0
 diff --git gcc/configure.ac gcc/configure.ac
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 23bee70..2d91599 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 992a50e..8ec519a 100644
</span> --- gcc/configure.ac
 +++ gcc/configure.ac
 @@ -249,14 +249,22 @@ if test x${gcc_gxx_libcxx_include_dir} != x; then
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4009,7 +4314,7 @@ index 23bee70..2d91599 100644
</span>      if test x$host != x$target; then
         libcxx_incdir="$target_alias/$libcxx_incdir"
      fi
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2559,6 +2567,21 @@ AC_PROG_LIBTOOL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2554,6 +2562,21 @@ AC_PROG_LIBTOOL
</span>  AC_SUBST(objdir)
  AC_SUBST(enable_fast_install)
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4031,7 +4336,7 @@ index 23bee70..2d91599 100644
</span>  # Identify the assembler which will work hand-in-glove with the newly
  # built GCC, so that we can examine its features.  This is the assembler
  # which will be driven by the driver program.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -7646,6 +7669,19 @@ if test x$enable_default_pie = xyes ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7641,6 +7664,19 @@ if test x$enable_default_pie = xyes ; then
</span>  fi
  AC_SUBST([enable_default_pie])
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4052,10 +4357,10 @@ index 23bee70..2d91599 100644
</span>  AC_CACHE_CHECK([for -fno-PIE option],
    [gcc_cv_c_no_fpie],
 diff --git gcc/cp/decl2.cc gcc/cp/decl2.cc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index d7e9980..ff2a1f6 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index c5e5fbf..5fc6f7b 100644
</span> --- gcc/cp/decl2.cc
 +++ gcc/cp/decl2.cc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3653,9 +3653,8 @@ get_tls_init_fn (tree var)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3674,9 +3674,8 @@ get_tls_init_fn (tree var)
</span>    if (!flag_extern_tls_init && DECL_EXTERNAL (var))
      return NULL_TREE;
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4067,7 +4372,33 @@ index d7e9980..ff2a1f6 100644
</span>      return get_local_tls_init_fn (DECL_SOURCE_LOCATION (var));
  
    tree sname = mangle_tls_init_fn (var);
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -4801,22 +4800,24 @@ handle_tls_init (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3839,6 +3838,25 @@ generate_tls_wrapper (tree fn)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   expand_or_defer_fn (finish_function (/*inline_p=*/false));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* A dummy init function to act as a weak placeholder for a (possibly non-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   existent) dynamic init.  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++generate_tls_dummy_init (tree fn)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  tree var = DECL_BEFRIENDING_CLASSES (fn);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  tree init_fn = get_tls_init_fn (var);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  /* If have no init fn, or it is non-weak, then we do not need to make a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     dummy.  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (!init_fn || !lookup_attribute ("weak", DECL_ATTRIBUTES (init_fn)))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  start_preparsed_function (init_fn, NULL_TREE, SF_DEFAULT | SF_PRE_PARSED);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  tree body = begin_function_body ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  declare_weak (init_fn);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  finish_return_stmt (NULL_TREE);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  finish_function_body (body);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  expand_or_defer_fn (finish_function (/*inline_p=*/false));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Start the process of running a particular set of global constructors
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    or destructors.  Subroutine of do_[cd]tors.  Also called from
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    vtv_start_verification_constructor_init_function.  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -4822,22 +4840,24 @@ handle_tls_init (void)
</span>    finish_expr_stmt (cp_build_modify_expr (loc, guard, NOP_EXPR,
                                          boolean_true_node,
                                          tf_warning_or_error));
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4099,7 +4430,7 @@ index d7e9980..ff2a1f6 100644
</span>   }
      }
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -4824,6 +4825,30 @@ handle_tls_init (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -4845,6 +4865,30 @@ handle_tls_init (void)
</span>    finish_if_stmt (if_stmt);
    finish_function_body (body);
    expand_or_defer_fn (finish_function (/*inline_p=*/false));
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4130,6 +4461,22 @@ index d7e9980..ff2a1f6 100644
</span>  }
  
  /* We're at the end of compilation, so generate any mangling aliases that
<span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5273,7 +5317,14 @@ c_parse_final_cleanups (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (!DECL_INITIAL (decl) && decl_tls_wrapper_p (decl))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      generate_tls_wrapper (decl);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        generate_tls_wrapper (decl);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        /* The wrapper might have a weak reference to an init, we provide
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++           a dummy function to satisfy that here.  The linker/dynamic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++           loader will override this with the actual init, if one is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++           required.  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        generate_tls_dummy_init (decl);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (!DECL_SAVED_TREE (decl))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       continue;
</span> diff --git gcc/cp/g++spec.cc gcc/cp/g++spec.cc
 index 8174d65..2e1e06e 100644
 --- gcc/cp/g++spec.cc
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4174,7 +4521,7 @@ index 0000000..b60928e
</span> +
 +#endif /* GCC_CUMULATIVE_ARGS_H */
 diff --git gcc/doc/invoke.texi gcc/doc/invoke.texi
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index ff6c338..55c8ba8 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index cb83dd8..122f46e 100644
</span> --- gcc/doc/invoke.texi
 +++ gcc/doc/invoke.texi
 @@ -670,6 +670,7 @@ Objective-C and Objective-C++ Dialects}.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4193,7 +4540,7 @@ index ff6c338..55c8ba8 100644
</span>  -ftrampolines  -ftrapv  -fwrapv @gol
  -fvisibility=@r{[}default@r{|}internal@r{|}hidden@r{|}protected@r{]} @gol
  -fstrict-volatile-bitfields  -fsync-libcalls}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -17071,6 +17073,17 @@ the behavior of older compilers in which temporaries' stack space is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -17078,6 +17080,17 @@ the behavior of older compilers in which temporaries' stack space is
</span>  not reused, the aggressive stack reuse can lead to runtime errors. This
  option is used to control the temporary stack reuse optimization.
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4211,7 +4558,7 @@ index ff6c338..55c8ba8 100644
</span>  @item -ftrapv
  @opindex ftrapv
  This option generates traps for signed overflow on addition, subtraction,
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -17129,6 +17142,19 @@ instructions.  It does not allow exceptions to be thrown from
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -17136,6 +17149,19 @@ instructions.  It does not allow exceptions to be thrown from
</span>  arbitrary signal handlers such as @code{SIGALRM}.  This enables
  @option{-fexceptions}.
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4287,7 +4634,7 @@ index f869ddd..2c9f0f0 100644
</span>  A C expression that is nonzero if @var{regno} is the number of a hard
  register in which function arguments are sometimes passed.  This does
 diff --git gcc/function.cc gcc/function.cc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index ad0096a..e5044a6 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d84a324..7304b17 100644
</span> --- gcc/function.cc
 +++ gcc/function.cc
 @@ -2445,7 +2445,10 @@ assign_parm_find_data_types (struct assign_parm_data_all *all, tree parm,
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4367,7 +4714,7 @@ index ad0096a..e5044a6 100644
</span>  
    /* Alignment can't exceed MAX_SUPPORTED_STACK_ALIGNMENT.  */
 diff --git gcc/function.h gcc/function.h
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 0986137..009a9dc 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a53fb24..4dc16c6 100644
</span> --- gcc/function.h
 +++ gcc/function.h
 @@ -20,6 +20,7 @@ along with GCC; see the file COPYING3.  If not see
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4387,10 +4734,10 @@ index 0986137..009a9dc 100644
</span>                            struct locate_and_pad_arg_data *);
  extern void generate_setjmp_warnings (void);
 diff --git gcc/gcc.cc gcc/gcc.cc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index bb07cc2..a16c1e4 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index fbcc9d0..bd2b90c 100644
</span> --- gcc/gcc.cc
 +++ gcc/gcc.cc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -572,6 +572,7 @@ or with constant text in a single argument.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -574,6 +574,7 @@ or with constant text in a single argument.
</span>   %l     process LINK_SPEC as a spec.
   %L     process LIB_SPEC as a spec.
   %M     Output multilib_os_dir.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4398,7 +4745,7 @@ index bb07cc2..a16c1e4 100644
</span>   %G     process LIBGCC_SPEC as a spec.
   %R     Output the concatenation of target_system_root and
          target_sysroot_suffix.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1191,6 +1192,10 @@ proper position among the other output files.  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1193,6 +1194,10 @@ proper position among the other output files.  */
</span>  # define SYSROOT_HEADERS_SUFFIX_SPEC ""
  #endif
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4409,7 +4756,7 @@ index bb07cc2..a16c1e4 100644
</span>  static const char *asm_debug = ASM_DEBUG_SPEC;
  static const char *asm_debug_option = ASM_DEBUG_OPTION_SPEC;
  static const char *cpp_spec = CPP_SPEC;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -5895,6 +5900,7 @@ struct spec_path_info {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5897,6 +5902,7 @@ struct spec_path_info {
</span>    size_t append_len;
    bool omit_relative;
    bool separate_options;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4417,7 +4764,7 @@ index bb07cc2..a16c1e4 100644
</span>  };
  
  static void *
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -5904,6 +5910,16 @@ spec_path (char *path, void *data)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5906,6 +5912,16 @@ spec_path (char *path, void *data)
</span>    size_t len = 0;
    char save = 0;
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4434,7 +4781,7 @@ index bb07cc2..a16c1e4 100644
</span>    if (info->omit_relative && !IS_ABSOLUTE_PATH (path))
      return NULL;
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6135,6 +6151,22 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6137,6 +6153,22 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part)
</span>         info.omit_relative = false;
  #endif
              info.separate_options = false;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4457,7 +4804,7 @@ index bb07cc2..a16c1e4 100644
</span>  
              for_each_path (&startfile_prefixes, true, 0, spec_path, &info);
            }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6461,6 +6493,7 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6463,6 +6495,7 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part)
</span>         info.append_len = strlen (info.append);
              info.omit_relative = false;
              info.separate_options = true;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -7800,10 +8147,10 @@ index d09cd51..280ce39 100644
</span>    verbose -log "LD_RUN_PATH=[getenv LD_RUN_PATH]"
    verbose -log "SHLIB_PATH=[getenv SHLIB_PATH]"
 diff --git gcc/testsuite/lib/target-supports.exp gcc/testsuite/lib/target-supports.exp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 244fe23..7558191 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index c858bd9..9ad5bf6 100644
</span> --- gcc/testsuite/lib/target-supports.exp
 +++ gcc/testsuite/lib/target-supports.exp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -8485,7 +8485,7 @@ proc check_effective_target_section_anchors { } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -8521,7 +8521,7 @@ proc check_effective_target_section_anchors { } {
</span>      return [check_cached_effective_target section_anchors {
        expr { [istarget powerpc*-*-*]
             || [istarget arm*-*-*]
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -7812,7 +8159,7 @@ index 244fe23..7558191 100644
</span>  }
  
  # Return 1 if the target supports atomic operations on "int_128" values.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11526,6 +11526,15 @@ proc check_effective_target_arm_thumb2_ok_no_arm_v8_1_lob { } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11562,6 +11562,15 @@ proc check_effective_target_arm_thumb2_ok_no_arm_v8_1_lob { } {
</span>      return 0
  }
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -7957,7 +8304,7 @@ index 966ea5e..d3d2916 100644
</span> -/* { dg-final { scan-assembler ".quad\t_OBJC_CLASS_._NSConstantString\n\t.quad\t.*\n\t.long\t5\n\t.space" { target { *-*-darwin* && { lp64 } } } } } */
 +/* { dg-final { scan-assembler {.(quad|xword)\t_OBJC_CLASS_._NSConstantString\n\t.(quad|xword)\t.*\n\t.(long|word)\t5\n\t.space} { target { *-*-darwin* && { lp64 } } } } } */
 diff --git gcc/tree-nested.cc gcc/tree-nested.cc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 078ceab..0308f55 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 3956e49..9e1f4bf 100644
</span> --- gcc/tree-nested.cc
 +++ gcc/tree-nested.cc
 @@ -611,6 +611,14 @@ get_trampoline_type (struct nesting_info *info)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8119,10 +8466,10 @@ index 078ceab..0308f55 100644
</span>  
    /* If a chain_decl was created, then it needs to be registered with
 diff --git gcc/tree.cc gcc/tree.cc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 4cf3785..5cba2ab 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index e6593de..0a81ce7 100644
</span> --- gcc/tree.cc
 +++ gcc/tree.cc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9766,6 +9766,23 @@ build_common_builtin_nodes (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9795,6 +9795,23 @@ build_common_builtin_nodes (void)
</span>                   "__builtin_nonlocal_goto",
                        ECF_NORETURN | ECF_NOTHROW);
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8161,7 +8508,7 @@ index 162d973..9c8b133 100755
</span>   # PIC is the default.
        ;;
 diff --git libatomic/Makefile.am libatomic/Makefile.am
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index d88515e..3c0b486 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d88515e..3c921f4 100644
</span> --- libatomic/Makefile.am
 +++ libatomic/Makefile.am
 @@ -65,8 +65,13 @@ libatomic_version_script =
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8169,7 +8516,7 @@ index d88515e..3c0b486 100644
</span>  endif
  libatomic_version_info = -version-info $(libtool_VERSION)
 +if ENABLE_DARWIN_AT_RPATH
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+libatomic_darwin_rpath = -Wc,-nodefaultexport,-nodefaultrpaths
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libatomic_darwin_rpath = -Wc,-nodefaultrpaths
</span> +libatomic_darwin_rpath += -Wl,-rpath,@loader_path
 +endif
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8180,15 +8527,16 @@ index d88515e..3c0b486 100644
</span>   fenv.c fence.c flag.c
  
 diff --git libatomic/Makefile.in libatomic/Makefile.in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 80d2565..5a8dd01 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 80d2565..179f921 100644
</span> --- libatomic/Makefile.in
 +++ libatomic/Makefile.in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -403,7 +403,11 @@ noinst_LTLIBRARIES = libatomic_convenience.la
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -403,7 +403,12 @@ noinst_LTLIBRARIES = libatomic_convenience.la
</span>  @LIBAT_BUILD_VERSIONED_SHLIB_GNU_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@libatomic_version_dep = $(top_srcdir)/libatomic.map
  @LIBAT_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@libatomic_version_dep = libatomic.map-sun
  libatomic_version_info = -version-info $(libtool_VERSION)
 -libatomic_la_LDFLAGS = $(libatomic_version_info) $(libatomic_version_script) $(lt_host_flags)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+@ENABLE_DARWIN_AT_RPATH_TRUE@libatomic_darwin_rpath = -Wc,-nodefaultexport,-nodefaultrpaths \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@libatomic_darwin_rpath =  \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@     -Wc,-nodefaultrpaths \
</span> +@ENABLE_DARWIN_AT_RPATH_TRUE@    -Wl,-rpath,@loader_path
 +libatomic_la_LDFLAGS = $(libatomic_version_info) $(libatomic_version_script) \
 +      $(lt_host_flags) $(libatomic_darwin_rpath) 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8590,7 +8938,7 @@ index 6a1a1c9..811255a 100644
</span>    pc = _Unwind_GetIPInfo (context, &ip_before_insn);
  #else
 diff --git libcc1/Makefile.am libcc1/Makefile.am
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 6e3a34f..5657b6e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6e3a34f..44d282c 100644
</span> --- libcc1/Makefile.am
 +++ libcc1/Makefile.am
 @@ -55,6 +55,10 @@ marshall_c_source = marshall-c.hh
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8598,7 +8946,7 @@ index 6e3a34f..5657b6e 100644
</span>  
  libcc1plugin_la_LDFLAGS = -module -export-symbols $(srcdir)/libcc1plugin.sym
 +if ENABLE_DARWIN_AT_RPATH
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+libcc1plugin_la_LDFLAGS += -Wc,-nodefaultrpaths,-nodefaultexport
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libcc1plugin_la_LDFLAGS += -Wc,-nodefaultrpaths
</span> +libcc1plugin_la_LDFLAGS += -Wl,-rpath,@loader_path
 +endif
  libcc1plugin_la_SOURCES = libcc1plugin.cc context.cc context.hh \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8609,7 +8957,7 @@ index 6e3a34f..5657b6e 100644
</span>  
  libcp1plugin_la_LDFLAGS = -module -export-symbols $(srcdir)/libcp1plugin.sym
 +if ENABLE_DARWIN_AT_RPATH
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+libcp1plugin_la_LDFLAGS += -Wc,-nodefaultrpaths,-nodefaultexport
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libcp1plugin_la_LDFLAGS += -Wc,-nodefaultrpaths
</span> +libcp1plugin_la_LDFLAGS += -Wl,-rpath,@loader_path
 +endif
  libcp1plugin_la_SOURCES = libcp1plugin.cc context.cc context.hh \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8620,25 +8968,25 @@ index 6e3a34f..5657b6e 100644
</span>  LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
  libcc1_la_LDFLAGS = -module -export-symbols $(srcdir)/libcc1.sym
 +if ENABLE_DARWIN_AT_RPATH
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+libcc1_la_LDFLAGS += -Wc,-nodefaultrpaths,-nodefaultexport
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libcc1_la_LDFLAGS += -Wc,-nodefaultrpaths
</span> +libcc1_la_LDFLAGS += -Wl,-rpath,@loader_path
 +endif
  libcc1_la_SOURCES = findcomp.cc libcc1.cc libcp1.cc \
                compiler.cc compiler.hh names.cc names.hh $(shared_source) \
                $(marshall_c_source) $(marshall_cxx_source)
 diff --git libcc1/Makefile.in libcc1/Makefile.in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index f8f590d..3ff2944 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f8f590d..440567a 100644
</span> --- libcc1/Makefile.in
 +++ libcc1/Makefile.in
 @@ -90,6 +90,12 @@ build_triplet = @build@
  host_triplet = @host@
  target_triplet = @target@
  @DARWIN_DYNAMIC_LOOKUP_TRUE@am__append_1 = -Wl,-undefined,dynamic_lookup
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+@ENABLE_DARWIN_AT_RPATH_TRUE@am__append_2 = -Wc,-nodefaultrpaths,-nodefaultexport \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@am__append_2 = -Wc,-nodefaultrpaths \
</span> +@ENABLE_DARWIN_AT_RPATH_TRUE@    -Wl,-rpath,@loader_path
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+@ENABLE_DARWIN_AT_RPATH_TRUE@am__append_3 = -Wc,-nodefaultrpaths,-nodefaultexport \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@am__append_3 = -Wc,-nodefaultrpaths \
</span> +@ENABLE_DARWIN_AT_RPATH_TRUE@    -Wl,-rpath,@loader_path
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+@ENABLE_DARWIN_AT_RPATH_TRUE@am__append_4 = -Wc,-nodefaultrpaths,-nodefaultexport \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@am__append_4 = -Wc,-nodefaultrpaths \
</span> +@ENABLE_DARWIN_AT_RPATH_TRUE@    -Wl,-rpath,@loader_path
  subdir = .
  ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8674,19 +9022,10 @@ index f8f590d..3ff2944 100644
</span>           compiler.cc compiler.hh names.cc names.hh $(shared_source) \
                $(marshall_c_source) $(marshall_cxx_source)
 diff --git libcc1/configure libcc1/configure
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 01cfb28..42fb85a 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 01cfb28..85d29f1 100755
</span> --- libcc1/configure
 +++ libcc1/configure
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -646,6 +646,8 @@ gcc_version
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- get_gcc_base_ver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CET_HOST_FLAGS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- visibility
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CXXCPP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- am__fastdepCXX_FALSE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- am__fastdepCXX_TRUE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -787,6 +789,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -787,6 +787,7 @@ with_pic
</span>  enable_fast_install
  with_gnu_ld
  enable_libtool_lock
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8694,7 +9033,7 @@ index 01cfb28..42fb85a 100755
</span>  enable_cet
  with_gcc_major_version_only
  enable_werror_always
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1439,6 +1442,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1439,6 +1440,8 @@ Optional Features:
</span>    --enable-fast-install[=PKGS]
                            optimize for fast installation [default=yes]
    --disable-libtool-lock  avoid locking (might break parallel builds)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8703,7 +9042,7 @@ index 01cfb28..42fb85a 100755
</span>    --enable-cet            enable Intel CET in host libraries [default=auto]
    --enable-werror-always  enable -Werror despite compiler version
    --enable-plugin         enable plugin support
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -8971,6 +8976,47 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -8971,6 +8974,47 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span>      darwin* | rhapsody*)
  
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8751,7 +9090,7 @@ index 01cfb28..42fb85a 100755
</span>    archive_cmds_need_lc=no
    hardcode_direct=no
    hardcode_automatic=yes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -8988,10 +9034,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -8988,10 +9032,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span>    esac
    if test "$_lt_dar_can_shared" = "yes"; then
      output_verbose_link_cmd=func_echo_all
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8775,25 +9114,25 @@ index 01cfb28..42fb85a 100755
</span>  
    else
    ld_shlibs=no
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10777,7 +10832,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10777,7 +10830,7 @@ else
</span>    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
 -#line 10780 "configure"
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 10835 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 10833 "configure"
</span>  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10883,7 +10938,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10883,7 +10936,7 @@ else
</span>    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
 -#line 10886 "configure"
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 10941 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 10939 "configure"
</span>  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12165,6 +12220,47 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12165,6 +12218,47 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span>        darwin* | rhapsody*)
  
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8841,7 +9180,7 @@ index 01cfb28..42fb85a 100755
</span>    archive_cmds_need_lc_CXX=no
    hardcode_direct_CXX=no
    hardcode_automatic_CXX=yes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12182,12 +12278,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12182,12 +12276,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span>    esac
    if test "$_lt_dar_can_shared" = "yes"; then
      output_verbose_link_cmd=func_echo_all
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8872,44 +9211,6 @@ index 01cfb28..42fb85a 100755
</span>        archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
      fi
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -14518,6 +14627,14 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ac_compiler_gnu=$ac_cv_c_compiler_gnu
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test x$enable_darwin_at_rpath = xyes; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- visibility=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$GXX" = yes; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -15369,6 +15486,10 @@ if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test -z "${DARWIN_DYNAMIC_LOOKUP_TRUE}" && test -z "${DARWIN_DYNAMIC_LOOKUP_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   as_fn_error $? "conditional \"DARWIN_DYNAMIC_LOOKUP\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libcc1/configure.ac libcc1/configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 36f5a7e..e8d068e 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libcc1/configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libcc1/configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -38,6 +38,7 @@ AM_MAINTAINER_MODE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LT_INIT([disable-static])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AM_PROG_LIBTOOL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AC_PROG_CXX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+AM_CONDITIONAL([ENABLE_DARWIN_AT_RPATH], [test x$enable_darwin_at_rpath = xyes])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- visibility=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$GXX" = yes; then
</span> diff --git libffi/Makefile.am libffi/Makefile.am
 index c6d6f84..d2ae0c0 100644
 --- libffi/Makefile.am
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10166,7 +10467,7 @@ index fc24ac3..536e517 100644
</span>  extern void __clear_cache (void *, void *);
  extern void __eprintf (const char *, const char *, unsigned int, const char *)
 diff --git libgfortran/Makefile.am libgfortran/Makefile.am
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 5ce0cd7..0b31cbf 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 5ce0cd7..2073bf6 100644
</span> --- libgfortran/Makefile.am
 +++ libgfortran/Makefile.am
 @@ -37,6 +37,11 @@ else
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10175,7 +10476,7 @@ index 5ce0cd7..0b31cbf 100644
</span>  endif
 +extra_darwin_ldflags_libgfortran = @extra_ldflags_libgfortran@
 +if ENABLE_DARWIN_AT_RPATH
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+extra_darwin_ldflags_libgfortran += -Wc,-nodefaultexport,-nodefaultrpaths 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++extra_darwin_ldflags_libgfortran += -Wc,-nodefaultrpaths 
</span> +extra_darwin_ldflags_libgfortran += -Wl,-rpath,@loader_path
 +endif
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10191,7 +10492,7 @@ index 5ce0cd7..0b31cbf 100644
</span>  libgfortran_la_DEPENDENCIES = $(version_dep) libgfortran.spec $(LIBQUADLIB_DEP)
  
 diff --git libgfortran/Makefile.in libgfortran/Makefile.in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 7ac6bfb..6eff852 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 7ac6bfb..52dd5f1 100644
</span> --- libgfortran/Makefile.in
 +++ libgfortran/Makefile.in
 @@ -91,8 +91,10 @@ POST_UNINSTALL = :
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10200,7 +10501,7 @@ index 7ac6bfb..6eff852 100644
</span>  target_triplet = @target@
 -@LIBGFOR_MINIMAL_TRUE@am__append_1 = -DLIBGFOR_MINIMAL
 -@LIBGFOR_MINIMAL_FALSE@am__append_2 = \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+@ENABLE_DARWIN_AT_RPATH_TRUE@am__append_1 = -Wc,-nodefaultexport,-nodefaultrpaths \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@am__append_1 = -Wc,-nodefaultrpaths \
</span> +@ENABLE_DARWIN_AT_RPATH_TRUE@    -Wl,-rpath,@loader_path
 +@LIBGFOR_MINIMAL_TRUE@am__append_2 = -DLIBGFOR_MINIMAL
 +@LIBGFOR_MINIMAL_FALSE@am__append_3 = \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10629,7 +10930,7 @@ index 7e2b98b..7b0222b 100644
</span>  CC_FOR_BUILD=${CC_FOR_BUILD:-gcc}
  AC_SUBST(CC_FOR_BUILD)
 diff --git libgomp/Makefile.am libgomp/Makefile.am
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index f8b2a06..7153818 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f8b2a06..81ba6c6 100644
</span> --- libgomp/Makefile.am
 +++ libgomp/Makefile.am
 @@ -53,9 +53,14 @@ else
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10639,7 +10940,7 @@ index f8b2a06..7153818 100644
</span> +
  libgomp_version_info = -version-info $(libtool_VERSION)
 +if ENABLE_DARWIN_AT_RPATH
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+libgomp_darwin_rpath = -Wc,-nodefaultexport,-nodefaultrpaths
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libgomp_darwin_rpath = -Wc,-nodefaultrpaths
</span> +libgomp_darwin_rpath += -Wl,-rpath,@loader_path
 +endif
  libgomp_la_LDFLAGS = $(libgomp_version_info) $(libgomp_version_script) \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10649,14 +10950,15 @@ index f8b2a06..7153818 100644
</span>  libgomp_la_LINK = $(LINK) $(libgomp_la_LDFLAGS)
  
 diff --git libgomp/Makefile.in libgomp/Makefile.in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 6f0cb71..cf54dc9 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6f0cb71..5cfb149 100644
</span> --- libgomp/Makefile.in
 +++ libgomp/Makefile.in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -546,8 +546,10 @@ nodist_toolexeclib_HEADERS = libgomp.spec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -546,8 +546,11 @@ nodist_toolexeclib_HEADERS = libgomp.spec
</span>  @LIBGOMP_BUILD_VERSIONED_SHLIB_GNU_TRUE@@LIBGOMP_BUILD_VERSIONED_SHLIB_TRUE@libgomp_version_dep = libgomp.ver
  @LIBGOMP_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBGOMP_BUILD_VERSIONED_SHLIB_TRUE@libgomp_version_dep = libgomp.ver-sun
  libgomp_version_info = -version-info $(libtool_VERSION)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+@ENABLE_DARWIN_AT_RPATH_TRUE@libgomp_darwin_rpath = -Wc,-nodefaultexport,-nodefaultrpaths \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@libgomp_darwin_rpath =  \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@     -Wc,-nodefaultrpaths \
</span> +@ENABLE_DARWIN_AT_RPATH_TRUE@    -Wl,-rpath,@loader_path
  libgomp_la_LDFLAGS = $(libgomp_version_info) $(libgomp_version_script) \
 -        $(lt_host_flags)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10961,7 +11263,7 @@ index 3378316..1a00b77 100644
</span>  m4_include([../config/warnings.m4])
  m4_include([acinclude.m4])
 diff --git libiberty/configure libiberty/configure
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 0a79725..a346be4 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index ca83f89..bdcdd31 100755
</span> --- libiberty/configure
 +++ libiberty/configure
 @@ -632,6 +632,8 @@ PICFLAG
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -11009,7 +11311,7 @@ index 0a79725..a346be4 100755
</span>      mips-sgi-irix6*)
        # PIC is the default.
        ;;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -7837,6 +7854,10 @@ LTLIBOBJS=$ac_ltlibobjs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7845,6 +7862,10 @@ LTLIBOBJS=$ac_ltlibobjs
</span>  
  
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -11034,7 +11336,7 @@ index 84a7b37..4dad84e 100644
</span>  dnl AM_CONFIG_HEADER(config.h:config.in)
  AC_CONFIG_HEADER(config.h:config.in)
 diff --git libitm/Makefile.am libitm/Makefile.am
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 3f31ad3..74b05b5 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 3f31ad3..a25317b 100644
</span> --- libitm/Makefile.am
 +++ libitm/Makefile.am
 @@ -54,7 +54,12 @@ libitm_version_info = -version-info $(libtool_VERSION)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -11043,7 +11345,7 @@ index 3f31ad3..74b05b5 100644
</span>  libitm_la_LINK = $(LINK) $(libitm_la_LDFLAGS)
 -libitm_la_LDFLAGS = $(libitm_version_info) $(libitm_version_script)
 +if ENABLE_DARWIN_AT_RPATH
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+libitm_darwin_rpath = -Wc,-nodefaultexport,-nodefaultrpaths
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libitm_darwin_rpath = -Wc,-nodefaultrpaths
</span> +libitm_darwin_rpath += -Wl,-rpath,@loader_path
 +endif
 +libitm_la_LDFLAGS = $(libitm_version_info) $(libitm_version_script) \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -11052,15 +11354,16 @@ index 3f31ad3..74b05b5 100644
</span>  libitm_la_SOURCES = \
        aatree.cc alloc.cc alloc_c.cc alloc_cpp.cc barrier.cc beginend.cc \
 diff --git libitm/Makefile.in libitm/Makefile.in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 7f53ea9..c17a07c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 7f53ea9..ed28db4 100644
</span> --- libitm/Makefile.in
 +++ libitm/Makefile.in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -481,7 +481,11 @@ libitm_version_info = -version-info $(libtool_VERSION)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -481,7 +481,12 @@ libitm_version_info = -version-info $(libtool_VERSION)
</span>  # want or need libstdc++.
  libitm_la_DEPENDENCIES = $(libitm_version_dep)
  libitm_la_LINK = $(LINK) $(libitm_la_LDFLAGS)
 -libitm_la_LDFLAGS = $(libitm_version_info) $(libitm_version_script)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+@ENABLE_DARWIN_AT_RPATH_TRUE@libitm_darwin_rpath = -Wc,-nodefaultexport,-nodefaultrpaths \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@libitm_darwin_rpath =  \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@     -Wc,-nodefaultrpaths \
</span> +@ENABLE_DARWIN_AT_RPATH_TRUE@    -Wl,-rpath,@loader_path
 +libitm_la_LDFLAGS = $(libitm_version_info) $(libitm_version_script) \
 +  $(libitm_darwin_rpath)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -11427,30 +11730,8 @@ index f92aa09..295c5bd 100644
</span>  }
  
  # All done.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libobjc/aclocal.m4 libobjc/aclocal.m4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 9ac0f64..c1d5b6e 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libobjc/aclocal.m4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libobjc/aclocal.m4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -145,13 +145,13 @@ AC_DEFUN([_AM_SUBST_NOTMAKE])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Public sister of _AM_SUBST_NOTMAKE.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--m4_include([../ltoptions.m4])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--m4_include([../ltsugar.m4])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--m4_include([../ltversion.m4])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--m4_include([../lt~obsolete.m4])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- m4_include([../config/cet.m4])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- m4_include([../config/lthostflags.m4])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- m4_include([../config/multi.m4])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- m4_include([../config/override.m4])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- m4_include([../config/toolexeclibdir.m4])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+m4_include([../ltoptions.m4])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+m4_include([../ltsugar.m4])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+m4_include([../ltversion.m4])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+m4_include([../lt~obsolete.m4])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- m4_include([acinclude.m4])
</span> diff --git libobjc/configure libobjc/configure
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 5d1b424..a56c2b0 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 5d1b424..21ac187 100755
</span> --- libobjc/configure
 +++ libobjc/configure
 @@ -636,6 +636,9 @@ OBJC_BOEHM_GC_LIBS
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -11605,7 +11886,7 @@ index 5d1b424..a56c2b0 100755
</span>  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11149,6 +11193,39 @@ $as_echo "no" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11149,6 +11193,38 @@ $as_echo "no" >&6; }
</span>  fi
  
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -11630,7 +11911,6 @@ index 5d1b424..a56c2b0 100755
</span> +    # obsolete.
 +    extra_ldflags_libobjc='$(lt_host_flags)'
 +    if test "x$enable_darwin_at_rpath" = "xyes"; then
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+      extra_ldflags_libobjc="${extra_ldflags_libobjc} -Wc,-nodefaultexport"
</span> +      extra_ldflags_libobjc="${extra_ldflags_libobjc} -Wc,-nodefaultrpaths"
 +      extra_ldflags_libobjc="${extra_ldflags_libobjc} -Wl,-rpath,@loader_path"
 +    fi
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -11645,7 +11925,7 @@ index 5d1b424..a56c2b0 100755
</span>  # -------
  # Headers
  # -------
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11890,6 +11967,10 @@ if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11890,6 +11966,10 @@ if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
</span>    as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
  Usually this means the macro was only invoked conditionally." "$LINENO" 5
  fi
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -11657,7 +11937,7 @@ index 5d1b424..a56c2b0 100755
</span>  : "${CONFIG_STATUS=./config.status}"
  ac_write_fail=0
 diff --git libobjc/configure.ac libobjc/configure.ac
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index f8f577c..f2bba23 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f8f577c..2a9bf1f 100644
</span> --- libobjc/configure.ac
 +++ libobjc/configure.ac
 @@ -147,17 +147,6 @@ m4_rename_force([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -11678,7 +11958,7 @@ index f8f577c..f2bba23 100644
</span>  
  # Add CET specific flags if CET is enabled
  GCC_CET_FLAGS(CET_FLAGS)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -182,6 +171,32 @@ AM_PROG_CC_C_O
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -182,6 +171,31 @@ AM_PROG_CC_C_O
</span>  
  AC_PROG_MAKE_SET
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -11696,7 +11976,6 @@ index f8f577c..f2bba23 100644
</span> +    # obsolete.
 +    extra_ldflags_libobjc='$(lt_host_flags)'
 +    if test "x$enable_darwin_at_rpath" = "xyes"; then
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+      extra_ldflags_libobjc="${extra_ldflags_libobjc} -Wc,-nodefaultexport"
</span> +      extra_ldflags_libobjc="${extra_ldflags_libobjc} -Wc,-nodefaultrpaths"
 +      extra_ldflags_libobjc="${extra_ldflags_libobjc} -Wl,-rpath,@loader_path"
 +    fi
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -12615,6 +12894,33 @@ index f7f78d7..9f3361c 100644
</span>  
  libgdruntime_la_LIBADD = $(LIBATOMIC) $(LIBBACKTRACE)
  libgdruntime_la_DEPENDENCIES = $(DRTSTUFF)
<span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libphobos/libdruntime/core/internal/gc/impl/conservative/gc.d libphobos/libdruntime/core/internal/gc/impl/conservative/gc.d
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index e29e426..be1043e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libphobos/libdruntime/core/internal/gc/impl/conservative/gc.d
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libphobos/libdruntime/core/internal/gc/impl/conservative/gc.d
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -96,7 +96,7 @@ private
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         version (COLLECT_FORK)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             version (OSX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                pid_t __fork() nothrow;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                pid_t fork() nothrow;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     enum
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2928,11 +2928,8 @@ struct Gcx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             fflush(null); // avoid duplicated FILE* output
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        version (OSX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            auto pid = __fork(); // avoids calling handlers (from libc source code)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        else version (linux)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        version (linux)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             // clone() fits better as we don't want to do anything but scanning in the child process.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             // no fork-handlers are called, so we can avoid deadlocks due to malloc locks. Probably related:
</span> diff --git libphobos/src/Makefile.am libphobos/src/Makefile.am
 index da7a200..a47d985 100644
 --- libphobos/src/Makefile.am
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -12647,8 +12953,17 @@ index 6f58fee..212ea24 100644
</span>  
  @ENABLE_LIBDRUNTIME_ONLY_FALSE@libgphobos_la_LIBADD = \
  @ENABLE_LIBDRUNTIME_ONLY_FALSE@    ../libdruntime/libgdruntime_convenience.la $(LIBZ)
<span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libphobos/testsuite/libphobos.gc/forkgc2.d libphobos/testsuite/libphobos.gc/forkgc2.d
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index de7796c..de4baaf 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libphobos/testsuite/libphobos.gc/forkgc2.d
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libphobos/testsuite/libphobos.gc/forkgc2.d
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,3 +1,4 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// { dg-skip-if "test hangs the testsuite" { *-*-darwin* } }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import core.stdc.stdlib : exit;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import core.sys.posix.sys.wait : waitpid;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import core.sys.posix.unistd : fork;
</span> diff --git libquadmath/Makefile.am libquadmath/Makefile.am
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 35dffb4..4dd27ed 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 35dffb4..4bf4bf6 100644
</span> --- libquadmath/Makefile.am
 +++ libquadmath/Makefile.am
 @@ -36,8 +36,13 @@ endif
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -12657,7 +12972,7 @@ index 35dffb4..4dd27ed 100644
</span>  libquadmath_la_LIBADD = 
 +
 +if ENABLE_DARWIN_AT_RPATH
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+libquadmath_darwin_rpath = -Wc,-nodefaultexport,-nodefaultrpaths
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libquadmath_darwin_rpath = -Wc,-nodefaultrpaths
</span> +libquadmath_darwin_rpath += -Wl,-rpath,@loader_path
 +endif
  libquadmath_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -12667,7 +12982,7 @@ index 35dffb4..4dd27ed 100644
</span>  
  nodist_libsubinclude_HEADERS = quadmath.h quadmath_weak.h
 diff --git libquadmath/Makefile.in libquadmath/Makefile.in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 8c01121..fb8e399 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 8c01121..b59aac7 100644
</span> --- libquadmath/Makefile.in
 +++ libquadmath/Makefile.in
 @@ -355,6 +355,7 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -12682,7 +12997,7 @@ index 8c01121..fb8e399 100644
</span>  @BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@version_dep = quadmath.map-sun
  @BUILD_LIBQUADMATH_TRUE@toolexeclib_LTLIBRARIES = libquadmath.la
  @BUILD_LIBQUADMATH_TRUE@libquadmath_la_LIBADD = 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+@BUILD_LIBQUADMATH_TRUE@@ENABLE_DARWIN_AT_RPATH_TRUE@libquadmath_darwin_rpath = -Wc,-nodefaultexport,-nodefaultrpaths \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@BUILD_LIBQUADMATH_TRUE@@ENABLE_DARWIN_AT_RPATH_TRUE@libquadmath_darwin_rpath = -Wc,-nodefaultrpaths \
</span> +@BUILD_LIBQUADMATH_TRUE@@ENABLE_DARWIN_AT_RPATH_TRUE@    -Wl,-rpath,@loader_path
  @BUILD_LIBQUADMATH_TRUE@libquadmath_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
 -@BUILD_LIBQUADMATH_TRUE@                       $(version_arg) $(lt_host_flags) -lm
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13034,7 +13349,7 @@ index aab88de..65e7f2e 100644
</span>  sharedstatedir = @sharedstatedir@
  srcdir = @srcdir@
 diff --git libsanitizer/asan/Makefile.am libsanitizer/asan/Makefile.am
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 4f802f7..0258e16 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 4f802f7..223d3e0 100644
</span> --- libsanitizer/asan/Makefile.am
 +++ libsanitizer/asan/Makefile.am
 @@ -60,7 +60,12 @@ libasan_la_LIBADD += $(top_builddir)/libbacktrace/libsanitizer_libbacktrace.la
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13043,7 +13358,7 @@ index 4f802f7..0258e16 100644
</span>  
 -libasan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(link_libasan)
 +if ENABLE_DARWIN_AT_RPATH
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+libasan_darwin_rpath = -Wc,-nodefaultexport,-nodefaultrpaths
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libasan_darwin_rpath = -Wc,-nodefaultrpaths
</span> +libasan_darwin_rpath += -Wl,-rpath,@loader_path
 +endif
 +libasan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13052,7 +13367,7 @@ index 4f802f7..0258e16 100644
</span>  libasan_preinit.o: asan_preinit.o
        cp $< $@
 diff --git libsanitizer/asan/Makefile.in libsanitizer/asan/Makefile.in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 2476fbc..5925bee 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 2476fbc..e88e5e0 100644
</span> --- libsanitizer/asan/Makefile.in
 +++ libsanitizer/asan/Makefile.in
 @@ -399,7 +399,6 @@ pdfdir = @pdfdir@
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13063,12 +13378,13 @@ index 2476fbc..5925bee 100644
</span>  sbindir = @sbindir@
  sharedstatedir = @sharedstatedir@
  srcdir = @srcdir@
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -466,7 +465,11 @@ libasan_la_LIBADD =  \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -466,7 +465,12 @@ libasan_la_LIBADD =  \
</span>   $(top_builddir)/sanitizer_common/libsanitizer_common.la \
        $(top_builddir)/lsan/libsanitizer_lsan.la $(am__append_2) \
        $(am__append_3) $(LIBSTDCXX_RAW_CXX_LDFLAGS)
 -libasan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(link_libasan)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+@ENABLE_DARWIN_AT_RPATH_TRUE@libasan_darwin_rpath = -Wc,-nodefaultexport,-nodefaultrpaths \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@libasan_darwin_rpath =  \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@     -Wc,-nodefaultrpaths \
</span> +@ENABLE_DARWIN_AT_RPATH_TRUE@    -Wl,-rpath,@loader_path
 +libasan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
 +      $(link_libasan) $(libasan_darwin_rpath)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13077,7 +13393,7 @@ index 2476fbc..5925bee 100644
</span>  # Work around what appears to be a GNU make bug handling MAKEFLAGS
  # values defined in terms of make variables, as is the case for CC and
 diff --git libsanitizer/configure libsanitizer/configure
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 771b135..dfd99e3 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index ae8c1bd..209582f 100755
</span> --- libsanitizer/configure
 +++ libsanitizer/configure
 @@ -666,6 +666,8 @@ LSAN_SUPPORTED_FALSE
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13291,7 +13607,7 @@ index 771b135..dfd99e3 100755
</span>  # The cast to long int works around a bug in the HP C Compiler
  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -17152,6 +17270,10 @@ if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -17153,6 +17271,10 @@ if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
</span>    as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
  Usually this means the macro was only invoked conditionally." "$LINENO" 5
  fi
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13303,7 +13619,7 @@ index 771b135..dfd99e3 100755
</span>    as_fn_error $? "conditional \"TSAN_SUPPORTED\" was never defined.
  Usually this means the macro was only invoked conditionally." "$LINENO" 5
 diff --git libsanitizer/configure.ac libsanitizer/configure.ac
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 7f1ef39..3549b90 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index ad49f29..7115c78 100644
</span> --- libsanitizer/configure.ac
 +++ libsanitizer/configure.ac
 @@ -85,6 +85,8 @@ esac
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13315,6 +13631,19 @@ index 7f1ef39..3549b90 100644
</span>  AC_CHECK_SIZEOF([void *])
  
  if test "${multilib}" = "yes"; then
<span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libsanitizer/configure.tgt libsanitizer/configure.tgt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index fb89df4..bc169c3 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libsanitizer/configure.tgt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libsanitizer/configure.tgt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -64,7 +64,7 @@ case "${target}" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           HWASAN_SUPPORTED=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  x86_64-*-darwin2* | x86_64-*-darwin1[2-9]* | i?86-*-darwin1[2-9]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  x86_64-*-darwin2[01]* | x86_64-*-darwin1[2-9]* | i?86-*-darwin1[2-9]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   TSAN_SUPPORTED=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   EXTRA_CXXFLAGS="${EXTRA_CXXFLAGS} -Wl,-undefined,dynamic_lookup"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ;;
</span> diff --git libsanitizer/hwasan/Makefile.am libsanitizer/hwasan/Makefile.am
 index e12c0a0..4061078 100644
 --- libsanitizer/hwasan/Makefile.am
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13381,7 +13710,7 @@ index ece4f11..c0243fa 100644
</span>  sharedstatedir = @sharedstatedir@
  srcdir = @srcdir@
 diff --git libsanitizer/lsan/Makefile.am libsanitizer/lsan/Makefile.am
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 6ff28ff..18e81f0 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6ff28ff..7701b0e 100644
</span> --- libsanitizer/lsan/Makefile.am
 +++ libsanitizer/lsan/Makefile.am
 @@ -41,8 +41,12 @@ if LIBBACKTRACE_SUPPORTED
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13391,7 +13720,7 @@ index 6ff28ff..18e81f0 100644
</span> -liblsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(link_liblsan)
 -
 +if ENABLE_DARWIN_AT_RPATH
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+liblsan_darwin_rpath = -Wc,-nodefaultexport,-nodefaultrpaths
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++liblsan_darwin_rpath = -Wc,-nodefaultrpaths
</span> +liblsan_darwin_rpath += -Wl,-rpath,@loader_path
 +endif
 +liblsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13400,7 +13729,7 @@ index 6ff28ff..18e81f0 100644
</span>   cp $< $@
  
 diff --git libsanitizer/lsan/Makefile.in libsanitizer/lsan/Makefile.in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 857f244..d7068fd 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 857f244..078edf0 100644
</span> --- libsanitizer/lsan/Makefile.in
 +++ libsanitizer/lsan/Makefile.in
 @@ -362,7 +362,6 @@ pdfdir = @pdfdir@
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13411,12 +13740,13 @@ index 857f244..d7068fd 100644
</span>  sbindir = @sbindir@
  sharedstatedir = @sharedstatedir@
  srcdir = @srcdir@
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -414,7 +413,11 @@ liblsan_la_LIBADD =  \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -414,7 +413,12 @@ liblsan_la_LIBADD =  \
</span>   $(top_builddir)/sanitizer_common/libsanitizer_common.la \
        $(top_builddir)/interception/libinterception.la \
        $(am__append_1) $(LIBSTDCXX_RAW_CXX_LDFLAGS)
 -liblsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(link_liblsan)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+@ENABLE_DARWIN_AT_RPATH_TRUE@liblsan_darwin_rpath = -Wc,-nodefaultexport,-nodefaultrpaths \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@liblsan_darwin_rpath =  \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@     -Wc,-nodefaultrpaths \
</span> +@ENABLE_DARWIN_AT_RPATH_TRUE@    -Wl,-rpath,@loader_path
 +liblsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
 +      $(link_liblsan) $(liblsan_darwin_rpath)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13424,7 +13754,7 @@ index 857f244..d7068fd 100644
</span>  
  # Work around what appears to be a GNU make bug handling MAKEFLAGS
  # values defined in terms of make variables, as is the case for CC and
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -789,7 +792,6 @@ uninstall-am: uninstall-nodist_toolexeclibHEADERS \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -789,7 +793,6 @@ uninstall-am: uninstall-nodist_toolexeclibHEADERS \
</span>  
  .PRECIOUS: Makefile
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13486,7 +13816,7 @@ index 538d2e8..d6efff7 100644
</span>  # Work around what appears to be a GNU make bug handling MAKEFLAGS
  # values defined in terms of make variables, as is the case for CC and
 diff --git libsanitizer/ubsan/Makefile.am libsanitizer/ubsan/Makefile.am
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index d480f26..2de51e2 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d480f26..7769b34 100644
</span> --- libsanitizer/ubsan/Makefile.am
 +++ libsanitizer/ubsan/Makefile.am
 @@ -36,7 +36,12 @@ if LIBBACKTRACE_SUPPORTED
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13495,7 +13825,7 @@ index d480f26..2de51e2 100644
</span>  libubsan_la_LIBADD += $(LIBSTDCXX_RAW_CXX_LDFLAGS)
 -libubsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(link_libubsan)
 +if ENABLE_DARWIN_AT_RPATH
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+libubsan_darwin_rpath = -Wc,-nodefaultexport,-nodefaultrpaths
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libubsan_darwin_rpath = -Wc,-nodefaultrpaths
</span> +libubsan_darwin_rpath += -Wl,-rpath,@loader_path
 +endif
 +libubsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13504,7 +13834,7 @@ index d480f26..2de51e2 100644
</span>  # Use special rules for files that require RTTI support.
  ubsan_handlers_cxx.% ubsan_type_hash.% ubsan_type_hash_itanium.% : AM_CXXFLAGS += -frtti
 diff --git libsanitizer/ubsan/Makefile.in libsanitizer/ubsan/Makefile.in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 497e033..7d20638 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 497e033..7e51480 100644
</span> --- libsanitizer/ubsan/Makefile.in
 +++ libsanitizer/ubsan/Makefile.in
 @@ -356,7 +356,6 @@ pdfdir = @pdfdir@
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13515,12 +13845,13 @@ index 497e033..7d20638 100644
</span>  sbindir = @sbindir@
  sharedstatedir = @sharedstatedir@
  srcdir = @srcdir@
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -401,7 +400,11 @@ libubsan_la_SOURCES = $(ubsan_files)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -401,7 +400,12 @@ libubsan_la_SOURCES = $(ubsan_files)
</span>  libubsan_la_LIBADD =  \
        $(top_builddir)/sanitizer_common/libsanitizer_common.la \
        $(am__append_1) $(am__append_2) $(LIBSTDCXX_RAW_CXX_LDFLAGS)
 -libubsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(link_libubsan)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+@ENABLE_DARWIN_AT_RPATH_TRUE@libubsan_darwin_rpath = -Wc,-nodefaultexport,-nodefaultrpaths \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@libubsan_darwin_rpath =  \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@     -Wc,-nodefaultrpaths \
</span> +@ENABLE_DARWIN_AT_RPATH_TRUE@    -Wl,-rpath,@loader_path
 +libubsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
 +      $(link_libubsan) $(libubsan_darwin_rpath)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13529,7 +13860,7 @@ index 497e033..7d20638 100644
</span>  # Work around what appears to be a GNU make bug handling MAKEFLAGS
  # values defined in terms of make variables, as is the case for CC and
 diff --git libssp/Makefile.am libssp/Makefile.am
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 945dc3c..3a686d7 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 945dc3c..d2a92b3 100644
</span> --- libssp/Makefile.am
 +++ libssp/Makefile.am
 @@ -49,8 +49,12 @@ libssp_la_SOURCES = \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13537,7 +13868,7 @@ index 945dc3c..3a686d7 100644
</span>  libssp_la_LIBADD = 
  libssp_la_DEPENDENCIES = $(version_dep) $(libssp_la_LIBADD)
 +if ENABLE_DARWIN_AT_RPATH
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+libssp_darwin_rpath = -Wc,-nodefaultexport,-nodefaultrpaths
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libssp_darwin_rpath = -Wc,-nodefaultrpaths
</span> +libssp_darwin_rpath += -Wl,-rpath,@loader_path
 +endif
  libssp_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13547,14 +13878,15 @@ index 945dc3c..3a686d7 100644
</span>  libssp_nonshared_la_SOURCES = \
        ssp-local.c
 diff --git libssp/Makefile.in libssp/Makefile.in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index bc8a0dc..a116417 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index bc8a0dc..1cf8636 100644
</span> --- libssp/Makefile.in
 +++ libssp/Makefile.in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -376,8 +376,10 @@ libssp_la_SOURCES = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -376,8 +376,11 @@ libssp_la_SOURCES = \
</span>  
  libssp_la_LIBADD = 
  libssp_la_DEPENDENCIES = $(version_dep) $(libssp_la_LIBADD)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+@ENABLE_DARWIN_AT_RPATH_TRUE@libssp_darwin_rpath = -Wc,-nodefaultexport,-nodefaultrpaths \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@libssp_darwin_rpath =  \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@     -Wc,-nodefaultrpaths \
</span> +@ENABLE_DARWIN_AT_RPATH_TRUE@    -Wl,-rpath,@loader_path
  libssp_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
 -                  $(version_arg) $(lt_host_flags)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13732,7 +14064,7 @@ index f30f81c..90778e2 100644
</span>  # Also toolexecdir, though it's only used in toolexeclibdir
  case ${version_specific_libs} in
 diff --git libstdc++-v3/configure libstdc++-v3/configure
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index eac6039..bdaa160 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index c07e275..6d2edbc 100755
</span> --- libstdc++-v3/configure
 +++ libstdc++-v3/configure
 @@ -786,6 +786,8 @@ GLIBCXX_HOSTED_TRUE
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -14039,7 +14371,7 @@ index ec32980..da5b157 100644
</span>      ;;
    darwin*)
 diff --git libstdc++-v3/src/Makefile.am libstdc++-v3/src/Makefile.am
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 9c3f4ac..944ec06 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 9c3f4ac..016d68e 100644
</span> --- libstdc++-v3/src/Makefile.am
 +++ libstdc++-v3/src/Makefile.am
 @@ -133,8 +133,13 @@ libstdc___la_DEPENDENCIES = \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -14047,7 +14379,7 @@ index 9c3f4ac..944ec06 100644
</span>   $(top_builddir)/src/c++20/libc++20convenience.la
  
 +if ENABLE_DARWIN_AT_RPATH
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+libstdc___darwin_rpath = -Wc,-nodefaultexport,-nodefaultrpaths
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libstdc___darwin_rpath = -Wc,-nodefaultrpaths
</span> +libstdc___darwin_rpath += -Wl,-rpath,@loader_path
 +endif
 +
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -14058,14 +14390,15 @@ index 9c3f4ac..944ec06 100644
</span>  libstdc___la_LINK = $(CXXLINK) $(libstdc___la_LDFLAGS) $(lt_host_flags)
  
 diff --git libstdc++-v3/src/Makefile.in libstdc++-v3/src/Makefile.in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 4a06f6c..cc39ffa 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 4a06f6c..0dc6c96 100644
</span> --- libstdc++-v3/src/Makefile.in
 +++ libstdc++-v3/src/Makefile.in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -546,8 +546,10 @@ libstdc___la_DEPENDENCIES = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -546,8 +546,11 @@ libstdc___la_DEPENDENCIES = \
</span>   $(top_builddir)/src/c++17/libc++17convenience.la \
        $(top_builddir)/src/c++20/libc++20convenience.la
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+@ENABLE_DARWIN_AT_RPATH_TRUE@libstdc___darwin_rpath = -Wc,-nodefaultexport,-nodefaultrpaths \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@libstdc___darwin_rpath =  \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@     -Wc,-nodefaultrpaths \
</span> +@ENABLE_DARWIN_AT_RPATH_TRUE@    -Wl,-rpath,@loader_path
  libstdc___la_LDFLAGS = \
 -      -version-info $(libtool_VERSION) ${version_arg} -lm
</pre><pre style='margin:0'>

</pre>