<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/2acb41277027af57d20bebf93d2ff7cc06737d05">https://github.com/macports/macports-ports/commit/2acb41277027af57d20bebf93d2ff7cc06737d05</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 2acb4127702 gcc12: migrate to 12.2.0
</span>2acb4127702 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 2acb41277027af57d20bebf93d2ff7cc06737d05
</span>Author: Chris Jones <jonesc@macports.org>
AuthorDate: Mon Aug 22 13:15:27 2022 +0100

<span style='display:block; white-space:pre;color:#404040;'>    gcc12: migrate to 12.2.0
</span>---
 lang/gcc12/Portfile                                |   12 +-
 ...cc-12.1.0.diff => patch-darwin-gcc-12.2.0.diff} | 1149 +++++++++++++-------
 2 files changed, 752 insertions(+), 409 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 f6c440d4cbb..3a7b8282558 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,13 +22,13 @@ description         The GNU compiler collection
</span> long_description    {*}${description}, including front ends for \
                     C, C++, Objective-C, Objective-C++ and Fortran.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             12.1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             12.2.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span> subport             libgcc12 { revision [ expr ${revision} + 0 ] }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  6cdb114103541230492bbc6093585cb10e5e5ea6 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  62fd634889f31c02b64af2c468f064b47ad1ca78411c45abe6ac4b5f8dd19c7b \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    82701928
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  76d30c411227d6c3e87dd4f0a8ea1ae5d8ab9ffd \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    84645292
</span> 
 # Primary releases
 master_sites        https://ftpmirror.gnu.org/gcc/gcc-${version}/ \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -157,7 +157,7 @@ configure.env-append \
</span> 
 if { ${os.platform} eq "darwin" } {
     # Patch generated from https://github.com/iains/gcc-12-branch
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # git diff --no-prefix releases/gcc-12.1.0 gcc-12.1-darwin-r1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # git diff --no-prefix releases/gcc-12.2.0 gcc-12.2-darwin-r0
</span>     patchfiles-append  patch-darwin-gcc-${version}.diff
 }
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc12/files/patch-darwin-gcc-12.1.0.diff b/lang/gcc12/files/patch-darwin-gcc-12.2.0.diff
</span>similarity index 95%
rename from lang/gcc12/files/patch-darwin-gcc-12.1.0.diff
rename to lang/gcc12/files/patch-darwin-gcc-12.2.0.diff
<span style='display:block; white-space:pre;color:#808080;'>index 92775f0f578..8159b1a08b3 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc12/files/patch-darwin-gcc-12.1.0.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc12/files/patch-darwin-gcc-12.2.0.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -141,10 +141,10 @@ 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..9c867cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 0000000..9fbe018
</span> --- /dev/null
 +++ README.md
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,36 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,44 @@
</span> +# This is a branch of GCC 12-1 with experimental support for AArch64 (Arm64) on Darwin.
 +
 +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 style='display:block; white-space:pre;background:#e0e0e0;'>@@ -160,7 +160,15 @@ index 0000000..9c867cc
</span> +**Please report issues for this branch to:
 +https://github.com/iains/gcc-12-branch/issues**
 +
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+**_The current release is GCC-12.1-darwin-r1. (June 2022)_**
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++**_The current release is GCC-12.2-darwin-r0. (August 2022)_**
</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.1.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Improves the build to omit runpaths from the runtime libraries.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * A fix for PR106435 which improves the handling of cross-TU global initializers for thread-local variables.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Fixes for builds and testing (include Ada) on Darwin8 (MacOSX 10.4, Tiger).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++**_GCC-12.1-darwin-r1. (June 2022)_**
</span> +
 +This release:
 + * Fixes a critical bug in the Arm64 port (related to Issue #3, which is unfixed in Xcode toolchains in common use).
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -355,6 +363,33 @@ index 8597748..72bd20f 100644
</span>  
  # By default, C and C++ are the only stage 1 languages.
  stage1_languages=,c,
<span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git contrib/compare-debug contrib/compare-debug
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index cf80ae3..678a897 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- contrib/compare-debug
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ contrib/compare-debug
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -60,9 +60,19 @@ trap 'rm -f "$1.$suf1" "$2.$suf2"' 0 1 2 15
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case `uname -s` in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Darwin)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   # The strip command on darwin does not remove all debug info.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  # Fortunately, we can use ld to do it instead.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  ld -S -r -no_uuid "$1" -o "$1.$suf1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  ld -S -r -no_uuid "$2" -o "$2.$suf2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  # Fortunately, we can use ld to do it instead, but even ld on earlier
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  # system versions can be fussy about what it finds - make sure we use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  # a ld that understands coalesced sections.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  case `uname -r` in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  8*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    ld64 -S -r -no_uuid "$1" -o "$1.$suf1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    ld64 -S -r -no_uuid "$2" -o "$2.$suf2"
</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;'>++    ld -S -r -no_uuid "$1" -o "$1.$suf1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    ld -S -r -no_uuid "$2" -o "$2.$suf2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  esac
</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;'>+   cp "$1" "$1.$suf1"
</span> diff --git fixincludes/configure fixincludes/configure
 index 6e2d67b..b3bca66 100755
 --- fixincludes/configure
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -495,28 +530,57 @@ index 6be36df..126e09b 100644
</span>  m4_include([../libtool.m4])
  m4_include([../ltoptions.m4])
  m4_include([../ltsugar.m4])
<span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/ada/Makefile.rtl gcc/ada/Makefile.rtl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index aaf853e..b202183 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/ada/Makefile.rtl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/ada/Makefile.rtl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2822,6 +2822,15 @@ ifeq ($(strip $(filter-out darwin%,$(target_os))),)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-darwin.adb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   EH_MECHANISM=-gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  # Darwin 8 does not support rpaths / @rpath.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  ifeq ($(strip $(filter-out darwin8%,$(target_os))),)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    GNATLIB_INSTALL_PREFIX = '$(ADA_RTL_DSO_DIR)'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    GNATLIB_ADD_RPATHS =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    GNATLIB_INSTALL_PREFIX = '@rpath'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    GNATLIB_ADD_RPATHS = -nodefaultrpaths -Wl,-rpath,@loader_path/,-rpath,@loader_path/.. \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          -Wl,-rpath,@loader_path/../../../../
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   GNATLIB_SHARED = gnatlib-shared-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   GMEM_LIB = gmemlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   LIBRARY_VERSION := $(LIB_VERSION)
</span> diff --git gcc/ada/gcc-interface/Makefile.in gcc/ada/gcc-interface/Makefile.in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 1e9801a..89c4207 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 1e9801a..0ab3960 100644
</span> --- gcc/ada/gcc-interface/Makefile.in
 +++ gcc/ada/gcc-interface/Makefile.in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -796,13 +796,16 @@ gnatlib-shared-darwin:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -795,14 +795,15 @@ gnatlib-shared-darwin:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
</span>           $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \
                $(SO_OPTS) \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                -Wl,-install_name,@rpath/libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          -Wl,-install_name,@rpath/libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
</span> -         $(MISCLIB)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+               -nodefaultrpaths -Wl,-rpath,@loader_path/,-rpath,@loader_path/.. \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+          -Wl,-rpath,@loader_path/../../../../ $(MISCLIB)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          -Wl,-install_name,$(GNATLIB_INSTALL_PREFIX)/libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          $(GNATLIB_ADD_RPATHS) $(MISCLIB)
</span>   cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \
                  | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -dynamiclib $(PICFLAG_FOR_TARGET) \
                -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
                $(GNATRTL_TASKING_OBJS) \
                $(SO_OPTS) \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                -Wl,-install_name,@rpath/libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+          -nodefaultrpaths -Wl,-rpath,@loader_path/,-rpath,@loader_path/.. \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+          -Wl,-rpath,@loader_path/../../../../ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          -Wl,-install_name,@rpath/libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          -Wl,-install_name,$(GNATLIB_INSTALL_PREFIX)/libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          $(GNATLIB_ADD_RPATHS) \
</span>           $(THREADSLIB) -Wl,libgnat$(hyphen)$(LIBRARY_VERSION)$(soext)
        cd $(RTSDIR); $(LN_S) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
                libgnat$(soext)
<span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -811,6 +812,7 @@ gnatlib-shared-darwin:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   cd $(RTSDIR); $(DSYMUTIL_FOR_TARGET) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   cd $(RTSDIR); $(DSYMUTIL_FOR_TARGET) libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext)
</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;'>+ gnatlib-shared:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   $(MAKE) $(FLAGS_TO_PASS) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+              GNATLIBFLAGS="$(GNATLIBFLAGS)" \
</span> diff --git gcc/builtins.def gcc/builtins.def
 index 005976f..e2cd65e 100644
 --- gcc/builtins.def
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -530,6 +594,19 @@ index 005976f..e2cd65e 100644
</span>  
  /* Implementing __builtin_setjmp.  */
  DEF_BUILTIN_STUB (BUILT_IN_SETJMP_SETUP, "__builtin_setjmp_setup")
<span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/c-family/c-opts.cc gcc/c-family/c-opts.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a341a06..b584a05 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/c-family/c-opts.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/c-family/c-opts.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1068,7 +1068,7 @@ c_common_post_options (const char **pfilename)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (flag_extern_tls_init)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      if (!TARGET_SUPPORTS_ALIASES || !SUPPORTS_WEAK)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      if (!SUPPORTS_WEAK)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     /* Lazy TLS initialization for a variable in another TU requires
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        alias and weak reference support.  */
</span> diff --git gcc/calls.cc gcc/calls.cc
 index 4d0bc45..208648a 100644
 --- gcc/calls.cc
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -757,13 +834,13 @@ 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 c21476d..8485cf0 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 1b0db67..549c9d2 100644
</span> --- gcc/config/aarch64/aarch64-builtins.cc
 +++ gcc/config/aarch64/aarch64-builtins.cc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -613,6 +613,10 @@ enum aarch64_builtins
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   AARCH64_LS64_BUILTIN_ST64B,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   AARCH64_LS64_BUILTIN_ST64BV,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   AARCH64_LS64_BUILTIN_ST64BV0,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -619,6 +619,10 @@ enum aarch64_builtins
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   AARCH64_RBIT,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   AARCH64_RBITL,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   AARCH64_RBITLL,
</span> +  /* OS-specific */
 +  AARCH64_BUILTIN_CFSTRING,
 +  AARCH64_BUILTIN_HUGE_VALQ,
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -771,7 +848,7 @@ index c21476d..8485cf0 100644
</span>    AARCH64_BUILTIN_MAX
  };
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -732,6 +736,9 @@ tree aarch64_fp16_ptr_type_node = NULL_TREE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -738,6 +742,9 @@ tree aarch64_fp16_ptr_type_node = NULL_TREE;
</span>  tree aarch64_bf16_type_node = NULL_TREE;
  tree aarch64_bf16_ptr_type_node = NULL_TREE;
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -781,7 +858,7 @@ index c21476d..8485cf0 100644
</span>  /* Wrapper around add_builtin_function.  NAME is the name of the built-in
     function, TYPE is the function type, CODE is the function subcode
     (relative to AARCH64_BUILTIN_GENERAL), and ATTRS is the function
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1474,6 +1481,40 @@ aarch64_init_bf16_types (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1480,6 +1487,40 @@ aarch64_init_bf16_types (void)
</span>    aarch64_bf16_ptr_type_node = build_pointer_type (aarch64_bf16_type_node);
  }
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -822,7 +899,7 @@ index c21476d..8485cf0 100644
</span>  /* Pointer authentication builtins that will become NOP on legacy platform.
     Currently, these builtins are for internal use only (libgcc EH unwinder).  */
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1731,8 +1772,9 @@ aarch64_general_init_builtins (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1767,8 +1808,9 @@ aarch64_general_init_builtins (void)
</span>    aarch64_init_fpsr_fpcr_builtins ();
  
    aarch64_init_fp16_types ();
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -833,7 +910,7 @@ index c21476d..8485cf0 100644
</span>  
    {
      aarch64_simd_switcher simd;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1765,6 +1807,14 @@ aarch64_general_init_builtins (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1802,6 +1844,14 @@ aarch64_general_init_builtins (void)
</span>      aarch64_init_memtag_builtins ();
  }
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -848,7 +925,7 @@ index c21476d..8485cf0 100644
</span>  /* Implement TARGET_BUILTIN_DECL for the AARCH64_BUILTIN_GENERAL group.  */
  tree
  aarch64_general_builtin_decl (unsigned code, bool)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2730,6 +2780,15 @@ aarch64_general_fold_builtin (unsigned int fcode, tree type,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2801,6 +2851,15 @@ aarch64_general_fold_builtin (unsigned int fcode, tree type,
</span>   if (aarch64_fold_builtin_lane_check (args[0], args[1], args[2]))
          return void_node;
        break;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -878,7 +955,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 2ac781d..dd03d90 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index df31181..b84bc8e 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;'>@@ -921,7 +998,7 @@ index 2ac781d..dd03d90 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 f650abb..5bbd138 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 5c9e779..91258c9 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;'>@@ -1786,7 +1863,7 @@ index f650abb..5bbd138 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;'>-@@ -18330,10 +18842,14 @@ initialize_aarch64_code_model (struct gcc_options *opts)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -18326,10 +18838,14 @@ initialize_aarch64_code_model (struct gcc_options *opts)
</span>   }
        break;
      case AARCH64_CMODEL_LARGE:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1803,7 +1880,7 @@ index f650abb..5bbd138 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;'>-@@ -19256,7 +19772,9 @@ aarch64_classify_symbol (rtx x, HOST_WIDE_INT offset)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19252,7 +19768,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;'>@@ -1814,7 +1891,7 @@ index f650abb..5bbd138 100644
</span>  
        default:
          gcc_unreachable ();
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19292,10 +19810,22 @@ aarch64_classify_symbol (rtx x, HOST_WIDE_INT offset)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19288,10 +19806,22 @@ aarch64_classify_symbol (rtx x, HOST_WIDE_INT offset)
</span>  
          return SYMBOL_TINY_ABSOLUTE;
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1838,7 +1915,7 @@ index f650abb..5bbd138 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;'>-@@ -19307,7 +19837,8 @@ aarch64_classify_symbol (rtx x, HOST_WIDE_INT offset)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19303,7 +19833,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;'>@@ -1848,7 +1925,7 @@ index f650abb..5bbd138 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;'>-@@ -19437,7 +19968,10 @@ static GTY(()) tree va_list_type;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19433,7 +19964,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;'>@@ -1860,7 +1937,7 @@ index f650abb..5bbd138 100644
</span>  
  static tree
  aarch64_build_builtin_va_list (void)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19445,6 +19979,13 @@ aarch64_build_builtin_va_list (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19441,6 +19975,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;'>@@ -1874,7 +1951,7 @@ index f650abb..5bbd138 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;'>-@@ -19516,6 +20057,13 @@ aarch64_expand_builtin_va_start (tree valist, rtx nextarg ATTRIBUTE_UNUSED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19512,6 +20053,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;'>@@ -1888,7 +1965,7 @@ index f650abb..5bbd138 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;'>-@@ -19606,6 +20154,9 @@ aarch64_gimplify_va_arg_expr (tree valist, tree type, gimple_seq *pre_p,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19602,6 +20150,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;'>@@ -1898,7 +1975,7 @@ index f650abb..5bbd138 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;'>-@@ -19790,8 +20341,18 @@ aarch64_gimplify_va_arg_expr (tree valist, tree type, gimple_seq *pre_p,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19786,8 +20337,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;'>@@ -1919,7 +1996,7 @@ index f650abb..5bbd138 100644
</span>     break;
        case E_HFmode:
          field_t = aarch64_fp16_type_node;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19862,6 +20423,9 @@ aarch64_setup_incoming_varargs (cumulative_args_t cum_v,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19858,6 +20419,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;'>@@ -1929,7 +2006,7 @@ index f650abb..5bbd138 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;'>-@@ -20689,6 +21253,12 @@ aarch64_autovectorize_vector_modes (vector_modes *modes, bool)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -20685,6 +21249,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;'>@@ -1942,7 +2019,7 @@ index f650abb..5bbd138 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;'>-@@ -20703,6 +21273,10 @@ aarch64_mangle_type (const_tree type)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -20699,6 +21269,10 @@ aarch64_mangle_type (const_tree type)
</span>   return "Dh";
      }
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1953,7 +2030,7 @@ index f650abb..5bbd138 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;'>-@@ -21393,7 +21967,8 @@ aarch64_mov_operand_p (rtx x, machine_mode mode)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -21389,7 +21963,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;'>@@ -1963,7 +2040,7 @@ index f650abb..5bbd138 100644
</span>      return true;
  
    if (SYMBOL_REF_P (x) && mode == DImode && CONSTANT_ADDRESS_P (x))
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -22553,7 +23128,9 @@ aarch64_declare_function_name (FILE *stream, const char* name,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -22549,7 +23124,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;'>@@ -1973,7 +2050,7 @@ index f650abb..5bbd138 100644
</span>    ASM_OUTPUT_LABEL (stream, name);
  
    cfun->machine->label_is_assembled = true;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -22588,12 +23165,17 @@ aarch64_print_patchable_function_entry (FILE *file,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -22584,12 +23161,17 @@ aarch64_print_patchable_function_entry (FILE *file,
</span>  /* Implement ASM_OUTPUT_DEF_FROM_DECLS.  Output .variant_pcs for aliases.  */
  
  void
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1992,7 +2069,7 @@ index f650abb..5bbd138 100644
</span>  }
  
  /* Implement ASM_OUTPUT_EXTERNAL.  Output .variant_pcs for undefined
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -23211,6 +23793,16 @@ aarch64_output_simd_mov_immediate (rtx const_vector, unsigned width,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -23213,6 +23795,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;'>@@ -2009,7 +2086,7 @@ index f650abb..5bbd138 100644
</span>  
    if (which == AARCH64_CHECK_MOV)
      {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -23219,16 +23811,16 @@ aarch64_output_simd_mov_immediate (rtx const_vector, unsigned width,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -23221,16 +23813,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;'>@@ -2029,7 +2106,7 @@ index f650abb..5bbd138 100644
</span>      }
    else
      {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -23237,12 +23829,12 @@ aarch64_output_simd_mov_immediate (rtx const_vector, unsigned width,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -23239,12 +23831,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;'>@@ -2044,7 +2121,7 @@ index f650abb..5bbd138 100644
</span>      }
    return templ;
  }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -26353,12 +26945,12 @@ aarch64_libgcc_floating_mode_supported_p (scalar_float_mode mode)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -26355,12 +26947,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;'>@@ -2059,7 +2136,7 @@ index f650abb..5bbd138 100644
</span>     ? true
          : default_scalar_mode_supported_p (mode));
  }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -27116,19 +27708,37 @@ aarch64_sls_emit_shared_blr_thunks (FILE *out_file)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -27118,19 +27710,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;'>@@ -2100,7 +2177,7 @@ index f650abb..5bbd138 100644
</span>      }
  }
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -27321,6 +27931,15 @@ aarch64_run_selftests (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -27323,6 +27933,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;'>@@ -2116,7 +2193,7 @@ index f650abb..5bbd138 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;'>-@@ -27407,6 +28026,12 @@ aarch64_run_selftests (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -27409,6 +28028,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;'>@@ -2129,7 +2206,7 @@ index f650abb..5bbd138 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;'>-@@ -27734,7 +28359,7 @@ aarch64_libgcc_floating_mode_supported_p
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -27736,7 +28361,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;'>@@ -2218,7 +2295,7 @@ 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 f5c6359..dc0ec3e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 34b8059..c356d30 100644
</span> --- gcc/config/aarch64/aarch64.md
 +++ gcc/config/aarch64/aarch64.md
 @@ -303,6 +303,7 @@
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2285,7 +2362,7 @@ index f5c6359..dc0ec3e 100644
</span>     adr\\t%x0, %c1
     adrp\\t%x0, %A1
     fmov\\t%d0, %x1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6850,7 +6882,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6857,7 +6889,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;'>@@ -3163,50 +3240,11 @@ index 0000000..a8bfcff
</span> +# FIXME - figure out what multilib provisions we should make for 
 +# a) arm64e
 +# b) arm64_32
<span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/darwin-c.cc gcc/config/darwin-c.cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 3770857..923434d 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/darwin-c.cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/darwin-c.cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -691,7 +691,8 @@ macosx_version_as_macro (void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if (!version_array)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     goto fail;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  if (version_array[MAJOR] < 10 || version_array[MAJOR] > 12)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  /* System tools accept up to 99 as a major version.  */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  if (version_array[MAJOR] < 10 || version_array[MAJOR] > 99)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     goto fail;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if (version_array[MAJOR] == 10 && version_array[MINOR] < 10)
</span> diff --git gcc/config/darwin-driver.cc gcc/config/darwin-driver.cc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 30e0e64..6df85f5 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 00287f3..6df85f5 100644
</span> --- gcc/config/darwin-driver.cc
 +++ gcc/config/darwin-driver.cc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -160,19 +160,13 @@ darwin_find_version_from_kernel (void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     goto parse_failed;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   /* Darwin20 sees a transition to macOS 11.  In this, it seems that the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--     mapping to macOS minor version is now shifted to the kernel minor
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--     version - 1 (at least for the initial releases).  */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     mapping to macOS minor version and patch level is now always 0, 0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     (at least for macOS 11 and 12).  */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if (major_vers >= 20)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      int minor_vers = *version_p++ - '0';
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      if (ISDIGIT (*version_p))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  minor_vers = minor_vers * 10 + (*version_p++ - '0');
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      if (*version_p++ != '.')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  goto parse_failed;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      if (minor_vers > 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  minor_vers -= 1; /* Kernel 20.3 => macOS 11.2.  */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      /* It's not yet clear whether patch level will be considered.  */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      asprintf (&new_flag, "%d.%02d.00", major_vers - 9, minor_vers);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      /* Apple clang doesn't include the minor version or the patch level
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   in the object file, nor does it pass it to ld  */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      asprintf (&new_flag, "%d.00.00", major_vers - 9);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   else if (major_vers - 4 <= 4)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     /* On 10.4 and earlier, the old linker is used which does not
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -274,14 +268,21 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -268,14 +268,21 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span>    bool seenX86_64 = false;
    bool seenPPC = false;
    bool seenPPC64 = false;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3228,7 +3266,7 @@ index 30e0e64..6df85f5 100644
</span>  
    for (i = 1; i < *decoded_options_count; i++)
      {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -302,6 +303,12 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -296,6 +303,12 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span>       seenPPC = true;
          else if (!strcmp ((*decoded_options)[i].arg, "ppc64"))
            seenPPC64 = true;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3241,7 +3279,7 @@ index 30e0e64..6df85f5 100644
</span>     else
            error ("this compiler does not support %qs",
                   (*decoded_options)[i].arg);
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -315,7 +322,7 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -309,7 +322,7 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span>     --i;
          --*decoded_options_count; 
          break;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3250,7 +3288,7 @@ index 30e0e64..6df85f5 100644
</span>   case OPT_m32:
          seenM32 = true;
          break;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -323,6 +330,7 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -317,6 +330,7 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span>   case OPT_m64:
          seenM64 = true;
          break;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3258,7 +3296,7 @@ index 30e0e64..6df85f5 100644
</span>  
        case OPT_mmacosx_version_min_:
          seen_version_min = true;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -355,8 +363,16 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -349,8 +363,16 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span>     gcc_checking_assert ((*decoded_options)[i].arg);
          if (startswith ((*decoded_options)[i].arg, "-exported_symbol"))
            noexport_p = false;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3275,7 +3313,7 @@ index 30e0e64..6df85f5 100644
</span>   default:
          break;
        }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -372,6 +388,9 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -366,6 +388,9 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span>    if (seenPPC || seenPPC64)
      warning (0, "this compiler does not support PowerPC"
                " (%<-arch%> option ignored)");
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3285,7 +3323,7 @@ index 30e0e64..6df85f5 100644
</span>    if (seenX86)
      {
        if (seenX86_64 || seenM64)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -395,6 +414,9 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -389,6 +414,9 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span>    if (seenX86 || seenX86_64)
      warning (0, "this compiler does not support x86"
                " (%<-arch%> option ignored)");
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3295,7 +3333,7 @@ index 30e0e64..6df85f5 100644
</span>    if (seenPPC)
      {
        if (seenPPC64 || seenM64)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -414,12 +436,20 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -408,12 +436,20 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span>        if (! seenM64) /* Add -m64 if the User didn't. */
        appendM64 = true;
      }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3316,7 +3354,7 @@ index 30e0e64..6df85f5 100644
</span>    if (appendM32 || appendM64)
      {
        ++*decoded_options_count;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -429,6 +459,7 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -423,6 +459,7 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span>        generate_option (appendM32 ? OPT_m32 : OPT_m64, NULL, 1, CL_DRIVER,
                       &(*decoded_options)[*decoded_options_count - 1]);
      }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3324,7 +3362,7 @@ index 30e0e64..6df85f5 100644
</span>  
    if (!seen_sysroot_p)
      {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -496,4 +527,16 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -490,4 +527,16 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span>        generate_option (OPT_nodefaultexport, NULL, 1, CL_DRIVER,
                       &(*decoded_options)[*decoded_options_count - 1]);
      }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3402,7 +3440,7 @@ index f065a13..7cd684c 100644
</span>      {
        /* These sections are only used for kernel code.  */
 diff --git gcc/config/darwin.h gcc/config/darwin.h
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 3682bd2..13ba6e6 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 51e257d..13ba6e6 100644
</span> --- gcc/config/darwin.h
 +++ gcc/config/darwin.h
 @@ -42,6 +42,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3413,35 +3451,7 @@ index 3682bd2..13ba6e6 100644
</span>  
  #define OBJECT_FORMAT_MACHO 1
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -143,10 +144,7 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    Right now there's no mechanism to split up the "variable portion" (%*) of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    the matched spec string, so where we have some driver specs that take 2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    or 3 arguments, these cannot be processed here, but are deferred until the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--   LINK_SPEC, where they are copied verbatim.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--   We have a "safe" version of the MacOS version string, that's been sanity-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--   checked and truncated to minor version.  If the 'tiny' (3rd) portion of the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--   value is not significant, it's better to use this in version-compare().  */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   LINK_SPEC, where they are copied verbatim.  */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef SUBTARGET_DRIVER_SELF_SPECS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define SUBTARGET_DRIVER_SELF_SPECS                                       \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -220,13 +218,8 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   "%{image_base*:-Xlinker -image_base -Xlinker %*} %<image_base*",   \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   "%{init*:-Xlinker -init -Xlinker %*} %<init*",                     \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   "%{multi_module:-Xlinker -multi_module} %<multi_module",           \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  "%{multiply_defined*:-Xlinker -multiply_defined -Xlinker %*; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--     :%{shared-libgcc: \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--       %:version-compare(< 10.5 asm_macosx_version_min= -Xlinker) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--       %:version-compare(< 10.5 asm_macosx_version_min= -multiply_defined) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--       %:version-compare(< 10.5 asm_macosx_version_min= -Xlinker) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--       %:version-compare(< 10.5 asm_macosx_version_min= suppress)}} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--     %<multiply_defined*",                                                \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  "%{multiply_defined*:-Xlinker -multiply_defined -Xlinker %*} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     %<multiply_defined* ",                                               \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   "%{multiplydefinedunused*:\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      -Xlinker -multiply_defined_unused -Xlinker %*} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      %<multiplydefinedunused* ",                                  \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -304,6 +297,31 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -296,6 +297,31 @@ extern GTY(()) int darwin_ms_struct;
</span>  #define DARWIN_CC1_SPEC                                                  \
    "%<dynamic %<dynamiclib %<force_cpusubtype_ALL "
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3473,7 +3483,7 @@ index 3682bd2..13ba6e6 100644
</span>  #define SUBSUBTARGET_OVERRIDE_OPTIONS                                    \
    do {                                                                        \
      darwin_override_options ();                                               \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -395,7 +413,9 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -387,7 +413,9 @@ extern GTY(()) int darwin_ms_struct;
</span>      DARWIN_NOPIE_SPEC \
      DARWIN_RDYNAMIC \
      DARWIN_NOCOMPACT_UNWIND \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3484,17 +3494,7 @@ index 3682bd2..13ba6e6 100644
</span>  
  /* Spec that controls whether the debug linker is run automatically for
     a link step.  This needs to be done if there is a source file on the
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -458,6 +478,9 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    %{!force_cpusubtype_ALL:-arch %(darwin_subarch)} "\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    LINK_SYSROOT_SPEC \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   "%{mmacosx-version-min=*:-macosx_version_min %*} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   %{!multiply_defined*:%{shared-libgcc: \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     %:version-compare(< 10.5 mmacosx-version-min= -multiply_defined) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     %:version-compare(< 10.5 mmacosx-version-min= suppress) }} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    %{sectalign*} %{sectcreate*} %{sectobjectsymbols*}  %{sectorder*} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    %{segaddr*} %{segcreate*} %{segprot*} "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -470,34 +493,19 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -465,34 +493,19 @@ extern GTY(()) int darwin_ms_struct;
</span>     This is because,in general, we need to unwind through system libraries that
     are linked with the shared unwinder in libunwind (or libgcc_s for 10.4/5).
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3535,7 +3535,7 @@ index 3682bd2..13ba6e6 100644
</span>     Otherwise, we just link the shared version of gcc_s.1.1 and pick up
     exceptions:
       * Prior to 10.3.9, then we have to link the static eh lib, since there
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -507,6 +515,10 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -502,6 +515,10 @@ extern GTY(()) int darwin_ms_struct;
</span>  
     In all cases, libgcc_s.1.1 will be installed with the compiler, or any app
     built using it, so we can link the builtins and emutls shared on all.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3546,7 +3546,7 @@ index 3682bd2..13ba6e6 100644
</span>  */
  #undef REAL_LIBGCC_SPEC
  #define REAL_LIBGCC_SPEC \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -514,8 +526,7 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -509,8 +526,7 @@ extern GTY(()) int darwin_ms_struct;
</span>      %:version-compare(!> 10.6 mmacosx-version-min= -lgcc_eh)            \
      %:version-compare(>= 10.6 mmacosx-version-min= -lemutls_w);              \
     shared-libgcc|fexceptions|fobjc-exceptions|fgnu-runtime:             \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3556,7 +3556,7 @@ index 3682bd2..13ba6e6 100644
</span>      %:version-compare(!> 10.3.9 mmacosx-version-min= -lgcc_eh)                  \
      %:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4)   \
      %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5);    \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -550,7 +561,8 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -545,7 +561,8 @@ extern GTY(()) int darwin_ms_struct;
</span>    { "darwin_crt2", DARWIN_CRT2_SPEC },                                 \
    { "darwin_crt3", DARWIN_CRT3_SPEC },                                      \
    { "darwin_dylib1", DARWIN_DYLIB1_SPEC },                          \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3566,7 +3566,7 @@ index 3682bd2..13ba6e6 100644
</span>  
  #define DARWIN_CRT1_SPEC                                              \
    "%:version-compare(!> 10.5 mmacosx-version-min= -lcrt1.o)           \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -576,6 +588,17 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -571,6 +588,17 @@ extern GTY(()) int darwin_ms_struct;
</span>  "%{!static:%:version-compare(< 10.6 mmacosx-version-min= -lbundle1.o)    \
           %{fgnu-tm: -lcrttms.o}}"
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3615,10 +3615,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 b16df5b..7e03559 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 9dd9fa6..5cd4b5c 100644
</span> --- gcc/config/i386/i386.cc
 +++ gcc/config/i386/i386.cc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -24726,7 +24726,7 @@ ix86_libgcc_floating_mode_supported_p
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -24698,7 +24698,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;'>@@ -3645,7 +3645,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..81b9abf 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 5ce0557..dbc127c 100755
</span> --- gcc/configure
 +++ gcc/configure
 @@ -634,6 +634,7 @@ LIBOBJS
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3710,7 +3710,36 @@ index 5ce0557..81b9abf 100755
</span>    --with-plugin-ld=[ARG]  specify the plugin linker
    --with-glibc-version=M.N
                            assume GCC used with glibc version M.N or later
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -17867,6 +17880,47 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3766,15 +3779,24 @@ if test x${gcc_gxx_libcxx_include_dir} != x; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $as_echo "#define ENABLE_STDLIB_OPTION 1" >>confdefs.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  $as_echo "#define ENABLE_STDLIB_OPTION 0" >>confdefs.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  case $target in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    *-darwin1[1-9]* | *-darwin2*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       # Default this on for Darwin versions which default to libcxx.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       $as_echo "#define ENABLE_STDLIB_OPTION 1" >>confdefs.h
</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;'>++       $as_echo "#define ENABLE_STDLIB_OPTION 0" >>confdefs.h
</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;'>++  esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# ??? This logic must match libstdc++-v3/acinclude.m4:GLIBCXX_EXPORT_INSTALL_INFO.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test x${gcc_gxx_libcxx_include_dir} = x; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  libcxx_incdir='include/c++/v1'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if test x${enable_version_specific_runtime_libs} = xyes; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    gcc_gxx_libcxx_include_dir='${libsubdir}/libc++_include/c++/v1'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    gcc_gxx_libcxx_include_dir='${libsubdir}/$libcxx_incdir'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    libcxx_incdir='libc++_include/c++/$(version)/v1'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if test x$host != x$target; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        libcxx_incdir="$target_alias/$libcxx_incdir"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -17867,6 +17889,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;'>@@ -3758,7 +3787,7 @@ index 5ce0557..81b9abf 100755
</span>    archive_cmds_need_lc=no
    hardcode_direct=no
    hardcode_automatic=yes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -17884,10 +17938,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -17884,10 +17947,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;'>@@ -3782,25 +3811,25 @@ index 5ce0557..81b9abf 100755
</span>  
    else
    ld_shlibs=no
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19673,7 +19736,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19673,7 +19745,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 19676 "configure"
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 19739 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 19748 "configure"
</span>  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19779,7 +19842,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19779,7 +19851,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 19782 "configure"
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 19845 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 19854 "configure"
</span>  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -20655,6 +20718,47 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -20655,6 +20727,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;'>@@ -3848,7 +3877,7 @@ index 5ce0557..81b9abf 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 +20776,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -20672,12 +20785,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;'>@@ -3879,7 +3908,7 @@ index 5ce0557..81b9abf 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 +23145,35 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -23028,6 +23154,35 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
</span>  
  
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3915,7 +3944,7 @@ index 5ce0557..81b9abf 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 +32575,22 @@ $as_echo "#define ENABLE_DEFAULT_PIE 1" >>confdefs.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -32429,6 +32584,22 @@ $as_echo "#define ENABLE_DEFAULT_PIE 1" >>confdefs.h
</span>  fi
  
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3938,7 +3967,7 @@ index 5ce0557..81b9abf 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 +33128,10 @@ LTLIBOBJS=$ac_ltlibobjs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -32966,6 +33137,10 @@ LTLIBOBJS=$ac_ltlibobjs
</span>  
  
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3950,10 +3979,37 @@ index 5ce0557..81b9abf 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..44f78a5 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 23bee70..2d91599 100644
</span> --- gcc/configure.ac
 +++ gcc/configure.ac
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2559,6 +2559,21 @@ AC_PROG_LIBTOOL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -249,14 +249,22 @@ if test x${gcc_gxx_libcxx_include_dir} != x; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   AC_DEFINE(ENABLE_STDLIB_OPTION, 1,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             [Define if the -stdlib= option should be enabled.])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  AC_DEFINE(ENABLE_STDLIB_OPTION, 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  case $target in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    *-darwin1[[1-9]]* | *-darwin2*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       # Default this on for Darwin versions which default to libcxx.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       AC_DEFINE(ENABLE_STDLIB_OPTION, 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;'>++       AC_DEFINE(ENABLE_STDLIB_OPTION, 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# ??? This logic must match libstdc++-v3/acinclude.m4:GLIBCXX_EXPORT_INSTALL_INFO.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test x${gcc_gxx_libcxx_include_dir} = x; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  libcxx_incdir='include/c++/v1'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if test x${enable_version_specific_runtime_libs} = xyes; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    gcc_gxx_libcxx_include_dir='${libsubdir}/libc++_include/c++/v1'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    gcc_gxx_libcxx_include_dir='${libsubdir}/$libcxx_incdir'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    libcxx_incdir='libc++_include/c++/$(version)/v1'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if test x$host != x$target; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        libcxx_incdir="$target_alias/$libcxx_incdir"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2559,6 +2567,21 @@ AC_PROG_LIBTOOL
</span>  AC_SUBST(objdir)
  AC_SUBST(enable_fast_install)
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3975,7 +4031,7 @@ index 23bee70..44f78a5 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 +7661,19 @@ if test x$enable_default_pie = xyes ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7646,6 +7669,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;'>@@ -3995,6 +4051,85 @@ index 23bee70..44f78a5 100644
</span>  # Check if -fno-PIE works.
  AC_CACHE_CHECK([for -fno-PIE option],
    [gcc_cv_c_no_fpie],
<span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/cp/decl2.cc gcc/cp/decl2.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d7e9980..ff2a1f6 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/cp/decl2.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/cp/decl2.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3653,9 +3653,8 @@ get_tls_init_fn (tree var)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (!flag_extern_tls_init && DECL_EXTERNAL (var))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return NULL_TREE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  /* If the variable is internal, or if we can't generate aliases,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     call the local init function directly.  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if (!TREE_PUBLIC (var) || !TARGET_SUPPORTS_ALIASES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  /* If the variable is internal call the local init function directly.  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (!TREE_PUBLIC (var))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return get_local_tls_init_fn (DECL_SOURCE_LOCATION (var));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   tree sname = mangle_tls_init_fn (var);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -4801,22 +4800,24 @@ handle_tls_init (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   finish_expr_stmt (cp_build_modify_expr (loc, guard, NOP_EXPR,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                     boolean_true_node,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                     tf_warning_or_error));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  auto_vec<tree> direct_calls;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   for (; vars; vars = TREE_CHAIN (vars))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       tree var = TREE_VALUE (vars);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       tree init = TREE_PURPOSE (vars);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       one_static_initialization_or_destruction (var, init, true);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      /* Output init aliases even with -fno-extern-tls-init.  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      if (TARGET_SUPPORTS_ALIASES && TREE_PUBLIC (var))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      /* Output inits even with -fno-extern-tls-init.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   We save the list here and output either an alias or a stub function
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   below.  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      if (TREE_PUBLIC (var))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          tree single_init_fn = get_tls_init_fn (var);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    tree single_init_fn = get_tls_init_fn (var);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (single_init_fn == NULL_TREE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       continue;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    cgraph_node *alias
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      = cgraph_node::get_create (fn)->create_same_body_alias
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          (single_init_fn, fn);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    gcc_assert (alias != NULL);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if (single_init_fn == fn)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      continue;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    direct_calls.safe_push (single_init_fn);
</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;'>+@@ -4824,6 +4825,30 @@ handle_tls_init (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   finish_if_stmt (if_stmt);
</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;'>++  /* For each TLS var that we have an init function, we either emit an alias
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     between that and the tls_init, or a stub function that just calls the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     tls_init.  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  while (!direct_calls.is_empty())
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      tree single_init_fn = direct_calls.pop ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      if (TARGET_SUPPORTS_ALIASES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    cgraph_node *alias
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       = cgraph_node::get_create (fn)->create_same_body_alias
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          (single_init_fn, fn);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    gcc_assert (alias != NULL);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    start_preparsed_function (single_init_fn, NULL_TREE, 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;'>++    tree r = build_call_expr (fn, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    finish_expr_stmt (r);
</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;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* We're at the end of compilation, so generate any mangling aliases that
</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;'>@@ -4039,7 +4174,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 07b4401..61f6108 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index ff6c338..55c8ba8 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;'>@@ -4347,10 +4482,18 @@ index 79e296d..a9caa04 100644
</span>  #endif
  } max_align_t;
 diff --git gcc/jit/Make-lang.in gcc/jit/Make-lang.in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 6e10abf..d177107 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6e10abf..5a39342 100644
</span> --- gcc/jit/Make-lang.in
 +++ gcc/jit/Make-lang.in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -59,7 +59,7 @@ LIBGCCJIT_AGE = 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -43,6 +43,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIBGCCJIT_VERSION_NUM = 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIBGCCJIT_MINOR_NUM = 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIBGCCJIT_RELEASE_NUM = 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++COMMA := ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ifneq (,$(findstring mingw,$(target)))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIBGCCJIT_FILENAME = libgccjit-$(LIBGCCJIT_VERSION_NUM).dll
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -59,22 +60,18 @@ LIBGCCJIT_AGE = 1
</span>  LIBGCCJIT_BASENAME = libgccjit
  
  LIBGCCJIT_SONAME = \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4359,6 +4502,36 @@ index 6e10abf..d177107 100644
</span>  LIBGCCJIT_FILENAME = $(LIBGCCJIT_BASENAME).$(LIBGCCJIT_VERSION_NUM).dylib
  LIBGCCJIT_LINKER_NAME = $(LIBGCCJIT_BASENAME).dylib
  
<span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Conditionalize the use of the LD_VERSION_SCRIPT_OPTION and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# LD_SONAME_OPTION depending if configure found them, using $(if)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# We have to define a COMMA here, otherwise the commas in the "true"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# result are treated as separators by the $(if).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-COMMA := ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-LIBGCCJIT_VERSION_SCRIPT_OPTION = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  $(if $(LD_VERSION_SCRIPT_OPTION),\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    -Wl$(COMMA)$(LD_VERSION_SCRIPT_OPTION)$(COMMA)$(srcdir)/jit/libgccjit.map)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# TODO: translate the libgccjit.map into a form usable by Darwin's linker and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# then check for linker support for -exported_symbols_list=.  Omitting this
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# means that all symbols in the libgccjit library will be visible.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++LIBGCCJIT_VERSION_SCRIPT_OPTION =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-LIBGCCJIT_SONAME_OPTION = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  $(if $(LD_SONAME_OPTION), \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-       -Wl$(COMMA)$(LD_SONAME_OPTION)$(COMMA)$(LIBGCCJIT_SONAME))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# This is a work-around fix for cross-compilation where the target linker
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# is ld and the host is ld64.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++LIBGCCJIT_SONAME_OPTION = -Wl,-install_name,$(LIBGCCJIT_SONAME)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIBGCCJIT_SONAME_SYMLINK = $(LIBGCCJIT_FILENAME)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIBGCCJIT_LINKER_NAME_SYMLINK = $(LIBGCCJIT_LINKER_NAME)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -98,7 +95,6 @@ LIBGCCJIT_SONAME_SYMLINK = $(LIBGCCJIT_SONAME)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # LD_SONAME_OPTION depending if configure found them, using $(if)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # We have to define a COMMA here, otherwise the commas in the "true"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # result are treated as separators by the $(if).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-COMMA := ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIBGCCJIT_VERSION_SCRIPT_OPTION = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   $(if $(LD_VERSION_SCRIPT_OPTION),\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     -Wl$(COMMA)$(LD_VERSION_SCRIPT_OPTION)$(COMMA)$(srcdir)/jit/libgccjit.map)
</span> diff --git gcc/objc/objc-next-runtime-abi-02.cc gcc/objc/objc-next-runtime-abi-02.cc
 index e50ca6e..9ea63b1 100644
 --- gcc/objc/objc-next-runtime-abi-02.cc
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4539,6 +4712,75 @@ index 4f6f3a4..ff9fd8b 100644
</span> +// { dg-final { scan-assembler "\n_Z1gSt9__va_listS_:" { target { ! *-*-darwin* } } } }
 +// { dg-final { scan-assembler "\n__Z1gPcS_:" { target *-*-darwin* } } }
  void g(va_list, va_list) {}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/g++.dg/cpp0x/pr106435-b.cc gcc/testsuite/g++.dg/cpp0x/pr106435-b.cc
</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..4f58169
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/g++.dg/cpp0x/pr106435-b.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,17 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// PR c++/106435
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "pr106435.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++//#include <iostream>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Foo::Foo() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  ++num_calls;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++//  std::cout << "Foo::Foo(this=" << this << ")\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;'>++int Foo::func() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++//  std::cout << "Foo::func(this=" << this << ")\n";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  return num_calls;
</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;'>++thread_local Foo Bar::foo;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++thread_local Foo Bar::baz;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/g++.dg/cpp0x/pr106435.C gcc/testsuite/g++.dg/cpp0x/pr106435.C
</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..d600976
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/g++.dg/cpp0x/pr106435.C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,20 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// PR c++/106435
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// { dg-do run { target c++11 } }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// { dg-additional-sources "pr106435-b.cc" }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "pr106435.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int num_calls = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++extern "C" __attribute__((__noreturn__)) void abort();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++thread_local Foo Bar::bat;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int main() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  int v = Bar::foo.func();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (v != 2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    abort();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  v = Bar::bat.func();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (v != 3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    abort();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/g++.dg/cpp0x/pr106435.h gcc/testsuite/g++.dg/cpp0x/pr106435.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..240de1e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/g++.dg/cpp0x/pr106435.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// PR c++/106435
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma once
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++extern int num_calls;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++struct Foo {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  Foo();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  int func();
</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;'>++struct Bar {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  thread_local static Foo foo;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  thread_local static Foo baz;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  thread_local static Foo bat;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++};
</span> diff --git gcc/testsuite/g++.dg/ext/arm-bf16/bf16-mangle-aarch64-1.C gcc/testsuite/g++.dg/ext/arm-bf16/bf16-mangle-aarch64-1.C
 index 5426a18..a017ce8 100644
 --- gcc/testsuite/g++.dg/ext/arm-bf16/bf16-mangle-aarch64-1.C
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -7558,10 +7800,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 2d5d053..c70feb8 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 244fe23..7558191 100644
</span> --- gcc/testsuite/lib/target-supports.exp
 +++ gcc/testsuite/lib/target-supports.exp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -8455,7 +8455,7 @@ proc check_effective_target_section_anchors { } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -8485,7 +8485,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;'>@@ -7570,7 +7812,7 @@ index 2d5d053..c70feb8 100644
</span>  }
  
  # Return 1 if the target supports atomic operations on "int_128" values.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11496,6 +11496,15 @@ proc check_effective_target_arm_thumb2_ok_no_arm_v8_1_lob { } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11526,6 +11526,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;'>@@ -7877,10 +8119,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 3c39be4..4b3d0e5 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 4cf3785..5cba2ab 100644
</span> --- gcc/tree.cc
 +++ gcc/tree.cc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9745,6 +9745,23 @@ build_common_builtin_nodes (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9766,6 +9766,23 @@ build_common_builtin_nodes (void)
</span>                   "__builtin_nonlocal_goto",
                        ECF_NORETURN | ECF_NOTHROW);
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -7919,15 +8161,16 @@ 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..f29890d 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d88515e..3c0b486 100644
</span> --- libatomic/Makefile.am
 +++ libatomic/Makefile.am
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -65,8 +65,12 @@ libatomic_version_script =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -65,8 +65,13 @@ libatomic_version_script =
</span>  libatomic_version_dep =
  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 = -nodefaultrpaths -Wl,-rpath,@loader_path/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libatomic_darwin_rpath = -Wc,-nodefaultexport,-nodefaultrpaths
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libatomic_darwin_rpath += -Wl,-rpath,@loader_path
</span> +endif
  
 -libatomic_la_LDFLAGS = $(libatomic_version_info) $(libatomic_version_script) $(lt_host_flags)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -7937,15 +8180,16 @@ index d88515e..f29890d 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..da4579d 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 80d2565..5a8dd01 100644
</span> --- libatomic/Makefile.in
 +++ libatomic/Makefile.in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -403,7 +403,10 @@ noinst_LTLIBRARIES = libatomic_convenience.la
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -403,7 +403,11 @@ 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 = -nodefaultrpaths -Wl,-rpath,@loader_path/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@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@     -Wl,-rpath,@loader_path
</span> +libatomic_la_LDFLAGS = $(libatomic_version_info) $(libatomic_version_script) \
 +      $(lt_host_flags) $(libatomic_darwin_rpath) 
 +
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8149,6 +8393,24 @@ index 08cdd21..8898251 100644
</span>  
  # Redistribution and use in source and binary forms, with or without
  # modification, are permitted provided that the following conditions are
<span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libbacktrace/backtrace.c libbacktrace/backtrace.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d28575e..cf64916 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libbacktrace/backtrace.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libbacktrace/backtrace.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -70,6 +70,13 @@ unwind (struct _Unwind_Context *context, void *vdata)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   uintptr_t pc;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   int ip_before_insn = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# undef HAVE_GETIPINFO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1050
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#  define HAVE_GETIPINFO 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef HAVE_GETIPINFO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   pc = _Unwind_GetIPInfo (context, &ip_before_insn);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span> diff --git libbacktrace/configure libbacktrace/configure
 index 17f470a..957095a 100755
 --- libbacktrace/configure
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8309,55 +8571,79 @@ index 597c970..7f89bf3 100644
</span>  AC_SYS_LARGEFILE
  
  backtrace_supported=yes
<span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libbacktrace/simple.c libbacktrace/simple.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6a1a1c9..811255a 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libbacktrace/simple.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libbacktrace/simple.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -65,6 +65,13 @@ simple_unwind (struct _Unwind_Context *context, void *vdata)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   uintptr_t pc;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   int ip_before_insn = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# undef HAVE_GETIPINFO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1050
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#  define HAVE_GETIPINFO 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef HAVE_GETIPINFO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   pc = _Unwind_GetIPInfo (context, &ip_before_insn);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span> diff --git libcc1/Makefile.am libcc1/Makefile.am
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 6e3a34f..7ca4739 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6e3a34f..5657b6e 100644
</span> --- libcc1/Makefile.am
 +++ libcc1/Makefile.am
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -55,6 +55,9 @@ marshall_c_source = marshall-c.hh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -55,6 +55,10 @@ marshall_c_source = marshall-c.hh
</span>  marshall_cxx_source = marshall-cp.hh
  
  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 += -nodefaultrpaths -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libcc1plugin_la_LDFLAGS += -Wc,-nodefaultrpaths,-nodefaultexport
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libcc1plugin_la_LDFLAGS += -Wl,-rpath,@loader_path
</span> +endif
  libcc1plugin_la_SOURCES = libcc1plugin.cc context.cc context.hh \
        $(shared_source) $(marshall_c_source)
  libcc1plugin.lo_CPPFLAGS = $(CPPFLAGS_FOR_C)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -65,6 +68,9 @@ libcc1plugin_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -65,6 +69,10 @@ libcc1plugin_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
</span>   $(CXXFLAGS) $(libcc1plugin_la_LDFLAGS) $(LTLDFLAGS) -o $@
  
  libcp1plugin_la_LDFLAGS = -module -export-symbols $(srcdir)/libcp1plugin.sym
 +if ENABLE_DARWIN_AT_RPATH
<span style='display:block; white-space:pre;background:#e0ffe0;'>++libcp1plugin_la_LDFLAGS += -Wc,-nodefaultrpaths,-nodefaultexport
</span> +libcp1plugin_la_LDFLAGS += -Wl,-rpath,@loader_path
 +endif
  libcp1plugin_la_SOURCES = libcp1plugin.cc context.cc context.hh \
        $(shared_source) $(marshall_cxx_source)
  libcp1plugin.lo_CPPFLAGS = $(CPPFLAGS_FOR_CXX)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -76,6 +82,9 @@ libcp1plugin_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -76,6 +84,10 @@ libcp1plugin_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
</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 += -nodefaultrpaths -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libcc1_la_LDFLAGS += -Wc,-nodefaultrpaths,-nodefaultexport
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libcc1_la_LDFLAGS += -Wl,-rpath,@loader_path
</span> +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..8f66638 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f8f590d..3ff2944 100644
</span> --- libcc1/Makefile.in
 +++ libcc1/Makefile.in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -90,6 +90,9 @@ build_triplet = @build@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -90,6 +90,12 @@ build_triplet = @build@
</span>  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 = -nodefaultrpaths -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@ENABLE_DARWIN_AT_RPATH_TRUE@am__append_3 = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@ENABLE_DARWIN_AT_RPATH_TRUE@am__append_4 = -nodefaultrpaths -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@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@     -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@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@     -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@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@     -Wl,-rpath,@loader_path
</span>  subdir = .
  ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
  am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -405,7 +408,8 @@ shared_source = callbacks.cc callbacks.hh connection.cc connection.hh \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -405,7 +411,8 @@ shared_source = callbacks.cc callbacks.hh connection.cc connection.hh \
</span>  
  marshall_c_source = marshall-c.hh
  marshall_cxx_source = marshall-cp.hh
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8367,7 +8653,7 @@ index f8f590d..8f66638 100644
</span>  libcc1plugin_la_SOURCES = libcc1plugin.cc context.cc context.hh \
        $(shared_source) $(marshall_c_source)
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -416,7 +420,8 @@ libcc1plugin_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -416,7 +423,8 @@ libcc1plugin_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
</span>   $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
        $(CXXFLAGS) $(libcc1plugin_la_LDFLAGS) $(LTLDFLAGS) -o $@
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8377,7 +8663,7 @@ index f8f590d..8f66638 100644
</span>  libcp1plugin_la_SOURCES = libcp1plugin.cc context.cc context.hh \
        $(shared_source) $(marshall_cxx_source)
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -428,7 +433,8 @@ libcp1plugin_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -428,7 +436,8 @@ libcp1plugin_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
</span>   $(CXXFLAGS) $(libcp1plugin_la_LDFLAGS) $(LTLDFLAGS) -o $@
  
  LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9207,7 +9493,7 @@ index 0000000..c8b8368
</span> +    }
 +}
 diff --git libgcc/config/aarch64/lse.S libgcc/config/aarch64/lse.S
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index c353ec2..4fb6309 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 9c29cf0..97b68c4 100644
</span> --- libgcc/config/aarch64/lse.S
 +++ libgcc/config/aarch64/lse.S
 @@ -58,7 +58,11 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9222,7 +9508,7 @@ index c353ec2..4fb6309 100644
</span>  
  /* Turn size and memory model defines into mnemonic fragments.  */
  #if SIZE == 1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -139,6 +143,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -164,6 +168,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
</span>  #define BTI_C    hint    34
  
  /* Start and end a function.  */
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9230,7 +9516,7 @@ index c353ec2..4fb6309 100644
</span>  .macro   STARTFN name
        .text
        .balign 16
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -162,6 +167,29 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -187,6 +192,29 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
</span>   cbz     w(tmp0), \label
  .endm
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9607,14 +9893,17 @@ index 0000000..9efc9dc
</span> +DARWIN_MIN_CRT_VERSION = -mmacosx-version-min=10.8
 diff --git libgcc/config/t-darwin-rpath libgcc/config/t-darwin-rpath
 new file mode 100644
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 0000000..e73d7f3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 0000000..951539d
</span> --- /dev/null
 +++ libgcc/config/t-darwin-rpath
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,2 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,5 @@
</span> +# Use @rpath and add a search path to exes and dylibs that depend on this.
 +SHLIB_RPATH = @rpath
<span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Enable the libgcc_s.1.dylib compatibility lib to find the dependent 1.1.dylib.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++SHLIB_LOADER_PATH = -Wl,-rpath,@loader_path
</span> diff --git libgcc/config/t-slibgcc-darwin libgcc/config/t-slibgcc-darwin
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index a8f6966..878b5c6 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a8f6966..ee449de 100644
</span> --- libgcc/config/t-slibgcc-darwin
 +++ libgcc/config/t-slibgcc-darwin
 @@ -1,4 +1,4 @@
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9631,7 +9920,7 @@ index a8f6966..878b5c6 100644
</span>  
  SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk
  SHLIB_MKMAP_OPTS = -v leading_underscore=1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -23,11 +22,16 @@ SHLIB_SONAME = @shlib_base_name@$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -23,11 +22,20 @@ SHLIB_SONAME = @shlib_base_name@$(SHLIB_EXT)
</span>  # subdir.  The code under MULTIBUILDTOP combines these into a single FAT
  # library, that is what we eventually install.
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9639,6 +9928,10 @@ index a8f6966..878b5c6 100644
</span> +# this and dylibs that depend on this.  So this def must come first and be
 +# overridden in a make fragment that depends on the rpath setting.
 +SHLIB_RPATH = $(slibdir)
<span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Likewise, we only want to add an @loader_path to the shared libs when
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# we have enable_darwin_at_rpath.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++SHLIB_LOADER_PATH =
</span> +
  SHLIB_LINK = $(CC) $(LIBGCC2_CFLAGS) $(LDFLAGS) -dynamiclib -nodefaultlibs \
 -      -install_name $(SHLIB_INSTALL_DIR)/$(SHLIB_INSTALL_NAME) \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9650,7 +9943,7 @@ index a8f6966..878b5c6 100644
</span>   @multilib_flags@ @shlib_objs@ $(SHLIB_LC)
  
  # we do our own thing
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -63,9 +67,9 @@ EHS_INSTNAME = libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -63,9 +71,9 @@ EHS_INSTNAME = libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span>  libgcc_ehs$(SHLIB_EXT): $(LIBEHSOBJS) $(extra-parts)
        mkdir -p $(MULTIDIR)
        $(CC) $(LIBGCC2_CFLAGS) $(LDFLAGS) -dynamiclib -nodefaultlibs \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9662,12 +9955,13 @@ index a8f6966..878b5c6 100644
</span>  
  all: libgcc_ehs$(SHLIB_EXT)
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -121,12 +125,12 @@ libgcc_s.1.dylib: all-multi libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -121,12 +129,13 @@ libgcc_s.1.dylib: all-multi libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT) \
</span>     cp ../$${mlib}/libgcc/$${mlib}/libgcc_ehs$(SHLIB_EXT)  \
            ./libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T_$${mlib} || exit 1 ; \
          arch=`$(LIPO) -info libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T_$${mlib} | sed -e 's/.*:\ //'` ; \
 -        $(CC) -arch $${arch} -nodefaultlibs -dynamiclib \
 +        $(CC) -arch $${arch} -nodefaultlibs -dynamiclib -nodefaultrpaths \
<span style='display:block; white-space:pre;background:#e0ffe0;'>++           $(SHLIB_LOADER_PATH) \
</span>       -o libgcc_s.1$(SHLIB_EXT)_T_$${mlib} \
            -Wl,-reexport_library,libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T_$${mlib} \
            -Wl,-reexport_library,libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T_$${mlib} \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9678,12 +9972,13 @@ index a8f6966..878b5c6 100644
</span>   done
        $(LIPO) -output libgcc_s.1$(SHLIB_EXT) -create libgcc_s.1$(SHLIB_EXT)_T*
        rm libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T*
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -140,13 +144,13 @@ libgcc_s.1.dylib: all-multi libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -140,13 +149,14 @@ libgcc_s.1.dylib: all-multi libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span>     cp ../$${mlib}/libgcc/$${mlib}/libgcc_s$(SHLIB_EXT)  \
            ./libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T_$${mlib} || exit 1 ; \
          arch=`$(LIPO) -info libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T_$${mlib} | sed -e 's/.*:\ //'` ; \
 -        $(CC) -arch $${arch} -nodefaultlibs -dynamiclib \
 +        $(CC) -arch $${arch} -nodefaultlibs -dynamiclib -nodefaultrpaths \
<span style='display:block; white-space:pre;background:#e0ffe0;'>++           $(SHLIB_LOADER_PATH) \
</span>       -o libgcc_s.1$(SHLIB_EXT)_T_$${mlib} \
            -Wl,-reexport_library,libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T_$${mlib} \
            -lSystem \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9871,39 +10166,48 @@ 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..cf2aac6 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 5ce0cd7..0b31cbf 100644
</span> --- libgfortran/Makefile.am
 +++ libgfortran/Makefile.am
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -37,6 +37,10 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -37,6 +37,11 @@ else
</span>  version_arg =
  version_dep =
  endif
<span style='display:block; white-space:pre;background:#e0ffe0;'>++extra_darwin_ldflags_libgfortran = @extra_ldflags_libgfortran@
</span> +if ENABLE_DARWIN_AT_RPATH
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+extra_ldflags_libgfortran += -nodefaultrpaths -nodefaultexports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+extra_ldflags_libgfortran += -Wl,-rpath,@loader_path/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++extra_darwin_ldflags_libgfortran += -Wc,-nodefaultexport,-nodefaultrpaths 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++extra_darwin_ldflags_libgfortran += -Wl,-rpath,@loader_path
</span> +endif
  
  gfor_c_HEADERS = ISO_Fortran_binding.h
  gfor_cdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
<span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -50,7 +55,7 @@ libgfortran_la_LINK = $(LINK) $(libgfortran_la_LDFLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   $(LTLDFLAGS) $(LIBQUADLIB) ../libbacktrace/libbacktrace.la \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   $(HWCAP_LDFLAGS) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  $(LIBM) $(extra_ldflags_libgfortran) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  $(LIBM) $(extra_darwin_ldflags_libgfortran) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   $(version_arg) -Wc,-shared-libgcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgfortran_la_DEPENDENCIES = $(version_dep) libgfortran.spec $(LIBQUADLIB_DEP)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span> diff --git libgfortran/Makefile.in libgfortran/Makefile.in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 7ac6bfb..2d2348a 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 7ac6bfb..6eff852 100644
</span> --- libgfortran/Makefile.in
 +++ libgfortran/Makefile.in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -91,8 +91,11 @@ POST_UNINSTALL = :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -91,8 +91,10 @@ POST_UNINSTALL = :
</span>  build_triplet = @build@
  host_triplet = @host@
  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 = -nodefaultrpaths \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@ENABLE_DARWIN_AT_RPATH_TRUE@     -nodefaultexports \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@ENABLE_DARWIN_AT_RPATH_TRUE@     -Wl,-rpath,@loader_path/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@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@     -Wl,-rpath,@loader_path
</span> +@LIBGFOR_MINIMAL_TRUE@am__append_2 = -DLIBGFOR_MINIMAL
 +@LIBGFOR_MINIMAL_FALSE@am__append_3 = \
  @LIBGFOR_MINIMAL_FALSE@io/close.c \
  @LIBGFOR_MINIMAL_FALSE@io/file_pos.c \
  @LIBGFOR_MINIMAL_FALSE@io/format.c \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -110,7 +113,7 @@ target_triplet = @target@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -110,7 +112,7 @@ target_triplet = @target@
</span>  @LIBGFOR_MINIMAL_FALSE@io/fbuf.c \
  @LIBGFOR_MINIMAL_FALSE@io/async.c
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9912,7 +10216,7 @@ index 7ac6bfb..2d2348a 100644
</span>  @LIBGFOR_MINIMAL_FALSE@intrinsics/access.c \
  @LIBGFOR_MINIMAL_FALSE@intrinsics/c99_functions.c \
  @LIBGFOR_MINIMAL_FALSE@intrinsics/chdir.c \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -143,9 +146,9 @@ target_triplet = @target@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -143,9 +145,9 @@ target_triplet = @target@
</span>  @LIBGFOR_MINIMAL_FALSE@intrinsics/umask.c \
  @LIBGFOR_MINIMAL_FALSE@intrinsics/unlink.c
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9925,7 +10229,7 @@ index 7ac6bfb..2d2348a 100644
</span>  @LIBGFOR_MINIMAL_FALSE@runtime/backtrace.c \
  @LIBGFOR_MINIMAL_FALSE@runtime/convert_char.c \
  @LIBGFOR_MINIMAL_FALSE@runtime/environ.c \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -157,7 +160,7 @@ target_triplet = @target@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -157,7 +159,7 @@ target_triplet = @target@
</span>  
  
  # dummy sources for libtool
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9934,7 +10238,7 @@ index 7ac6bfb..2d2348a 100644
</span>  subdir = .
  ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
  am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -589,7 +592,7 @@ AMTAR = @AMTAR@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -589,7 +591,7 @@ AMTAR = @AMTAR@
</span>  
  # Some targets require additional compiler options for IEEE compatibility.
  AM_CFLAGS = @AM_CFLAGS@ -fcx-fortran-rules $(SECTION_FLAGS) \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9943,16 +10247,24 @@ index 7ac6bfb..2d2348a 100644
</span>  AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
  AM_FCFLAGS = @AM_FCFLAGS@ $(IEEE_FLAGS)
  AR = @AR@
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -693,7 +696,8 @@ dvidir = @dvidir@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_shared = @enable_shared@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_static = @enable_static@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exec_prefix = @exec_prefix@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--extra_ldflags_libgfortran = @extra_ldflags_libgfortran@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+extra_ldflags_libgfortran = @extra_ldflags_libgfortran@ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -748,6 +750,8 @@ gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @LIBGFOR_USE_SYMVER_FALSE@version_dep = 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @LIBGFOR_USE_SYMVER_GNU_TRUE@@LIBGFOR_USE_SYMVER_TRUE@version_dep = gfortran.ver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @LIBGFOR_USE_SYMVER_SUN_TRUE@@LIBGFOR_USE_SYMVER_TRUE@version_dep = gfortran.ver-sun gfortran.ver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++extra_darwin_ldflags_libgfortran = @extra_ldflags_libgfortran@ \
</span> + $(am__append_1)
<span style='display:block; white-space:pre;background:#ffe0e0;'>- get_gcc_base_ver = @get_gcc_base_ver@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- host = @host@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- host_alias = @host_alias@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gfor_c_HEADERS = ISO_Fortran_binding.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gfor_cdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -759,7 +763,7 @@ libgfortran_la_LINK = $(LINK) $(libgfortran_la_LDFLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   $(LTLDFLAGS) $(LIBQUADLIB) ../libbacktrace/libbacktrace.la \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   $(HWCAP_LDFLAGS) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  $(LIBM) $(extra_ldflags_libgfortran) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  $(LIBM) $(extra_darwin_ldflags_libgfortran) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   $(version_arg) -Wc,-shared-libgcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgfortran_la_DEPENDENCIES = $(version_dep) libgfortran.spec $(LIBQUADLIB_DEP)
</span> @@ -780,7 +784,7 @@ AM_CPPFLAGS = -iquote$(srcdir)/io -I$(srcdir)/$(MULTISRCTOP)../gcc \
              -I$(MULTIBUILDTOP)../libbacktrace \
              -I../libbacktrace
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9992,7 +10304,7 @@ index 7ac6bfb..2d2348a 100644
</span>   $(gfor_helper_src) $(gfor_ieee_src) $(gfor_io_headers) $(gfor_specific_src)
  
 diff --git libgfortran/configure libgfortran/configure
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index ae64dca..56fda91 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index ae64dca..f288af8 100755
</span> --- libgfortran/configure
 +++ libgfortran/configure
 @@ -655,6 +655,8 @@ extra_ldflags_libgfortran
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10198,9 +10510,11 @@ index ae64dca..56fda91 100755
</span>  
    else
    ld_shlibs_FC=no
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -16191,8 +16304,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16190,9 +16303,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span>  
  # extra LD Flags which are required for targets
<span style='display:block; white-space:pre;background:#e0ffe0;'>++extra_ldflags_libgfortran=
</span>  case "${host}" in
 -  *-darwin*)
 -    # Darwin needs -single_module when linking libgfortran
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10209,7 +10523,7 @@ index ae64dca..56fda91 100755
</span>      extra_ldflags_libgfortran=-Wl,-single_module
      ;;
  esac
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -28519,6 +28632,10 @@ if test -z "${HAVE_HWCAP_TRUE}" && test -z "${HAVE_HWCAP_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -28519,6 +28633,10 @@ if test -z "${HAVE_HWCAP_TRUE}" && test -z "${HAVE_HWCAP_FALSE}"; then
</span>    as_fn_error $? "conditional \"HAVE_HWCAP\" was never defined.
  Usually this means the macro was only invoked conditionally." "$LINENO" 5
  fi
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10221,7 +10535,7 @@ index ae64dca..56fda91 100755
</span>    as_fn_error $? "conditional \"LIBGFOR_BUILD_QUAD\" was never defined.
  Usually this means the macro was only invoked conditionally." "$LINENO" 5
 diff --git libgfortran/configure.ac libgfortran/configure.ac
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 97cc490..d96a584 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 97cc490..a21f566 100644
</span> --- libgfortran/configure.ac
 +++ libgfortran/configure.ac
 @@ -282,6 +282,7 @@ LT_LIB_M
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10232,9 +10546,11 @@ index 97cc490..d96a584 100644
</span>  #AC_MSG_NOTICE([====== Finished libtool configuration]) ; sleep 10
  
  # We need gfortran to compile parts of the library
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -291,8 +292,8 @@ AC_PROG_FC(gfortran)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -290,9 +291,10 @@ FC="$GFORTRAN"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_PROG_FC(gfortran)
</span>  
  # extra LD Flags which are required for targets
<span style='display:block; white-space:pre;background:#e0ffe0;'>++extra_ldflags_libgfortran=
</span>  case "${host}" in
 -  *-darwin*)
 -    # Darwin needs -single_module when linking libgfortran
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10313,17 +10629,18 @@ 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..c88bcd0 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f8b2a06..7153818 100644
</span> --- libgomp/Makefile.am
 +++ libgomp/Makefile.am
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -53,9 +53,13 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -53,9 +53,14 @@ else
</span>  libgomp_version_script =
  libgomp_version_dep =
  endif
 +
  libgomp_version_info = -version-info $(libtool_VERSION)
 +if ENABLE_DARWIN_AT_RPATH
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+libgomp_darwin_rpath = -nodefaultrpaths -Wl,-rpath,@loader_path/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libgomp_darwin_rpath = -Wc,-nodefaultexport,-nodefaultrpaths
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libgomp_darwin_rpath += -Wl,-rpath,@loader_path
</span> +endif
  libgomp_la_LDFLAGS = $(libgomp_version_info) $(libgomp_version_script) \
 -        $(lt_host_flags)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10332,23 +10649,15 @@ index f8b2a06..c88bcd0 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 22cb213..14d1714 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6f0cb71..cf54dc9 100644
</span> --- libgomp/Makefile.in
 +++ libgomp/Makefile.in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -16,7 +16,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Plugins for offload execution, Makefile.am fragment.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# Copyright (C) 2014-2021 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Copyright (C) 2014-2022 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Contributed by Mentor Embedded.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -546,8 +546,9 @@ nodist_toolexeclib_HEADERS = libgomp.spec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -546,8 +546,10 @@ 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 = -nodefaultrpaths -Wl,-rpath,@loader_path/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@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@     -Wl,-rpath,@loader_path
</span>  libgomp_la_LDFLAGS = $(libgomp_version_info) $(libgomp_version_script) \
 -        $(lt_host_flags)
 +        $(lt_host_flags) $(libgomp_darwin_rpath)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10356,7 +10665,7 @@ index 22cb213..14d1714 100644
</span>  libgomp_la_DEPENDENCIES = $(libgomp_version_dep)
  libgomp_la_LINK = $(LINK) $(libgomp_la_LDFLAGS)
 diff --git libgomp/configure libgomp/configure
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 5ef071e..e724e9c 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 85fdb4d..71b5987 100755
</span> --- libgomp/configure
 +++ libgomp/configure
 @@ -692,6 +692,8 @@ FC
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10725,32 +11034,37 @@ 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..712aeec 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 3f31ad3..74b05b5 100644
</span> --- libitm/Makefile.am
 +++ libitm/Makefile.am
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -54,7 +54,10 @@ libitm_version_info = -version-info $(libtool_VERSION)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -54,7 +54,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)
 +if ENABLE_DARWIN_AT_RPATH
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+libitm_darwin_rpath = -nodefaultrpaths -Wl,-rpath,@loader_path/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libitm_darwin_rpath = -Wc,-nodefaultexport,-nodefaultrpaths
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libitm_darwin_rpath += -Wl,-rpath,@loader_path
</span> +endif
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+libitm_la_LDFLAGS = $(libitm_version_info) $(libitm_version_script) $(libitm_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libitm_la_LDFLAGS = $(libitm_version_info) $(libitm_version_script) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  $(libitm_darwin_rpath)
</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..53e1151 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 7f53ea9..c17a07c 100644
</span> --- libitm/Makefile.in
 +++ libitm/Makefile.in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -481,7 +481,8 @@ libitm_version_info = -version-info $(libtool_VERSION)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -481,7 +481,11 @@ 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 = -nodefaultrpaths -Wl,-rpath,@loader_path/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libitm_la_LDFLAGS = $(libitm_version_info) $(libitm_version_script) $(libitm_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@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@     -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libitm_la_LDFLAGS = $(libitm_version_info) $(libitm_version_script) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  $(libitm_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span>  libitm_la_SOURCES = aatree.cc alloc.cc alloc_c.cc alloc_cpp.cc \
        barrier.cc beginend.cc clone.cc eh_cpp.cc local.cc query.cc \
        retry.cc rwlock.cc useraction.cc util.cc sjlj.S tls.cc \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -11113,38 +11427,50 @@ index f92aa09..295c5bd 100644
</span>  }
  
  # All done.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libobjc/Makefile.in libobjc/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 0a8764c..8d96446 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libobjc/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libobjc/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -264,12 +264,14 @@ LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libobjc$(libsuffix).la: $(OBJS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   $(LIBTOOL_LINK) $(CC) -o $@ $(OBJS) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           -Wc,-shared-libgcc -rpath $(toolexeclibdir) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+           -nodefaultrpaths -Wl,-rpath,@loader_path/ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           -version-info $(LIBOBJC_VERSION) $(extra_ldflags_libobjc) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           $(LTLDFLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libobjc_gc$(libsuffix).la: $(OBJS_GC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   $(LIBTOOL_LINK) $(CC) -o $@ $(OBJS_GC) $(OBJC_BOEHM_GC_LIBS) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           -Wc,-shared-libgcc -rpath $(toolexeclibdir) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+          -nodefaultrpaths -Wl,-rpath,@loader_path/  \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           -version-info $(LIBOBJC_GC_VERSION) $(extra_ldflags_libobjc) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           $(LTLDFLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libobjc/aclocal.m4 libobjc/aclocal.m4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 9ac0f64..c1d5b6e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libobjc/aclocal.m4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libobjc/aclocal.m4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -145,13 +145,13 @@ AC_DEFUN([_AM_SUBST_NOTMAKE])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Public sister of _AM_SUBST_NOTMAKE.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-m4_include([../ltoptions.m4])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-m4_include([../ltsugar.m4])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-m4_include([../ltversion.m4])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-m4_include([../lt~obsolete.m4])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m4_include([../config/cet.m4])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m4_include([../config/lthostflags.m4])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m4_include([../config/multi.m4])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m4_include([../config/override.m4])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m4_include([../config/toolexeclibdir.m4])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++m4_include([../ltoptions.m4])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++m4_include([../ltsugar.m4])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++m4_include([../ltversion.m4])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++m4_include([../lt~obsolete.m4])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m4_include([acinclude.m4])
</span> diff --git libobjc/configure libobjc/configure
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 5d1b424..616ed94 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 5d1b424..a56c2b0 100755
</span> --- libobjc/configure
 +++ libobjc/configure
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -636,6 +636,8 @@ OBJC_BOEHM_GC_LIBS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -636,6 +636,9 @@ OBJC_BOEHM_GC_LIBS
</span>  OBJC_BOEHM_GC_INCLUDES
  OBJC_BOEHM_GC
  OBJC_GCFLAGS
<span style='display:block; white-space:pre;background:#e0ffe0;'>++extra_ldflags_libobjc
</span> +ENABLE_DARWIN_AT_RPATH_FALSE
 +ENABLE_DARWIN_AT_RPATH_TRUE
  SET_MAKE
  CPP
  OTOOL64
<span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -667,7 +670,6 @@ RANLIB
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ XCFLAGS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-extra_ldflags_libobjc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_host_flags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OBJEXT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ EXEEXT
</span> @@ -755,6 +757,7 @@ with_pic
  enable_fast_install
  with_gnu_ld
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -11162,30 +11488,25 @@ index 5d1b424..616ed94 100755
</span>    --enable-tls            Use thread-local storage [default=yes]
    --enable-objc-gc        enable use of Boehm's garbage collector with the GNU
                            Objective-C runtime
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3431,10 +3436,20 @@ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3430,17 +3435,6 @@ esac
</span>  
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>- case "${host}" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-case "${host}" in
</span> -  *-darwin*)
 -    # Darwin needs -single_module when linking libobjc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+  *-darwin[4567]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    # Earlier Darwin versions need -single_module when linking libobjc; they
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    # do not support @rpath.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     extra_ldflags_libobjc='$(lt_host_flags) -Wl,-single_module'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  *-darwin*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    # Otherwise, single_module is the default and multi-module is ignored and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    # obsolete.
</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;'>-+      extra_ldflags_libobjc='$(lt_host_flags) -Wl,-rpath,@loader_path'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      extra_ldflags_libobjc='$(lt_host_flags)'
</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;'>-   *-cygwin*|*-mingw*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     # Tell libtool to build DLLs on Windows
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     extra_ldflags_libobjc='$(lt_host_flags)'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3466,7 +3481,7 @@ case "$host" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    extra_ldflags_libobjc='$(lt_host_flags) -Wl,-single_module'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  *-cygwin*|*-mingw*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    # Tell libtool to build DLLs on Windows
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    extra_ldflags_libobjc='$(lt_host_flags)'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-esac
</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;'>+ # Add CET specific flags if CET is enabled
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3466,7 +3460,7 @@ case "$host" in
</span>      case "$enable_cet" in
        auto)
        # Check if target supports multi-byte NOPs
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -11194,7 +11515,7 @@ index 5d1b424..616ed94 100755
</span>   cet_save_CFLAGS="$CFLAGS"
        CFLAGS="$CFLAGS -fcf-protection"
        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -8944,6 +8959,47 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -8944,6 +8938,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;'>@@ -11242,7 +11563,7 @@ index 5d1b424..616ed94 100755
</span>    archive_cmds_need_lc=no
    hardcode_direct=no
    hardcode_automatic=yes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -8961,10 +9017,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -8961,10 +8996,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;'>@@ -11266,25 +11587,25 @@ index 5d1b424..616ed94 100755
</span>  
    else
    ld_shlibs=no
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10771,7 +10836,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10771,7 +10815,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 10784 "configure"
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 10839 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 10818 "configure"
</span>  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10877,7 +10942,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10877,7 +10921,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 10890 "configure"
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 10945 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 10924 "configure"
</span>  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11149,6 +11214,15 @@ $as_echo "no" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11149,6 +11193,39 @@ $as_echo "no" >&6; }
</span>  fi
  
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -11296,11 +11617,35 @@ index 5d1b424..616ed94 100755
</span> +  ENABLE_DARWIN_AT_RPATH_FALSE=
 +fi
 +
<span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Must come after libtool is initialized.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++case "${host}" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  *-darwin[4567]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # Earlier Darwin versions need -single_module when linking libobjc; they
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # do not support @rpath.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    extra_ldflags_libobjc='$(lt_host_flags) -Wl,-single_module'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  *-darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # Otherwise, single_module is the default and multi-module is ignored and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # obsolete.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    extra_ldflags_libobjc='$(lt_host_flags)'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      extra_ldflags_libobjc="${extra_ldflags_libobjc} -Wc,-nodefaultexport"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      extra_ldflags_libobjc="${extra_ldflags_libobjc} -Wc,-nodefaultrpaths"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      extra_ldflags_libobjc="${extra_ldflags_libobjc} -Wl,-rpath,@loader_path"
</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;'>++  *-cygwin*|*-mingw*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # Tell libtool to build DLLs on Windows
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    extra_ldflags_libobjc='$(lt_host_flags)'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span> +
  # -------
  # Headers
  # -------
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11890,6 +11964,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 +11967,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;'>@@ -11312,37 +11657,56 @@ index 5d1b424..616ed94 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..e37eb34 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f8f577c..f2bba23 100644
</span> --- libobjc/configure.ac
 +++ libobjc/configure.ac
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -148,10 +148,20 @@ m4_rename_force([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -147,17 +147,6 @@ m4_rename_force([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span>  # extra LD Flags which are required for targets
  ACX_LT_HOST_FLAGS
<span style='display:block; white-space:pre;background:#ffe0e0;'>- case "${host}" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-case "${host}" in
</span> -  *-darwin*)
 -    # Darwin needs -single_module when linking libobjc
<span style='display:block; white-space:pre;background:#e0ffe0;'>+-    extra_ldflags_libobjc='$(lt_host_flags) -Wl,-single_module'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  *-cygwin*|*-mingw*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    # Tell libtool to build DLLs on Windows
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    extra_ldflags_libobjc='$(lt_host_flags)'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-AC_SUBST(extra_ldflags_libobjc)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Add CET specific flags if CET is enabled
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GCC_CET_FLAGS(CET_FLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -182,6 +171,32 @@ AM_PROG_CC_C_O
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_PROG_MAKE_SET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++AM_CONDITIONAL([ENABLE_DARWIN_AT_RPATH], [test x$enable_darwin_at_rpath = xyes])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Must come after libtool is initialized.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++case "${host}" in
</span> +  *-darwin[[4567]]*)
 +    # Earlier Darwin versions need -single_module when linking libobjc; they
 +    # do not support @rpath.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-     extra_ldflags_libobjc='$(lt_host_flags) -Wl,-single_module'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    extra_ldflags_libobjc='$(lt_host_flags) -Wl,-single_module'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    ;;
</span> +  *-darwin*)
 +    # Otherwise, single_module is the default and multi-module is ignored and
 +    # obsolete.
<span style='display:block; white-space:pre;background:#e0ffe0;'>++    extra_ldflags_libobjc='$(lt_host_flags)'
</span> +    if test "x$enable_darwin_at_rpath" = "xyes"; then
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+      extra_ldflags_libobjc='$(lt_host_flags) -Wl,-rpath,@loader_path'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      extra_ldflags_libobjc='$(lt_host_flags)'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      extra_ldflags_libobjc="${extra_ldflags_libobjc} -Wc,-nodefaultexport"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      extra_ldflags_libobjc="${extra_ldflags_libobjc} -Wc,-nodefaultrpaths"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      extra_ldflags_libobjc="${extra_ldflags_libobjc} -Wl,-rpath,@loader_path"
</span> +    fi
 +    ;;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-   *-cygwin*|*-mingw*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     # Tell libtool to build DLLs on Windows
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     extra_ldflags_libobjc='$(lt_host_flags)'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -182,6 +192,8 @@ AM_PROG_CC_C_O
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AC_PROG_MAKE_SET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</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:#e0ffe0;'>++  *-cygwin*|*-mingw*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # Tell libtool to build DLLs on Windows
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    extra_ldflags_libobjc='$(lt_host_flags)'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++AC_SUBST(extra_ldflags_libobjc)
</span> +
  # -------
  # Headers
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -12284,16 +12648,17 @@ index 6f58fee..212ea24 100644
</span>  @ENABLE_LIBDRUNTIME_ONLY_FALSE@libgphobos_la_LIBADD = \
  @ENABLE_LIBDRUNTIME_ONLY_FALSE@    ../libdruntime/libgdruntime_convenience.la $(LIBZ)
 diff --git libquadmath/Makefile.am libquadmath/Makefile.am
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 35dffb4..42ba160 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 35dffb4..4dd27ed 100644
</span> --- libquadmath/Makefile.am
 +++ libquadmath/Makefile.am
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -36,8 +36,12 @@ endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -36,8 +36,13 @@ endif
</span>  
  toolexeclib_LTLIBRARIES = libquadmath.la
  libquadmath_la_LIBADD = 
 +
 +if ENABLE_DARWIN_AT_RPATH
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+libquadmath_darwin_rpath = -nodefaultrpaths -Wl,-rpath,@loader_path/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libquadmath_darwin_rpath = -Wc,-nodefaultexport,-nodefaultrpaths
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libquadmath_darwin_rpath += -Wl,-rpath,@loader_path
</span> +endif
  libquadmath_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
 -                       $(version_arg) $(lt_host_flags) -lm
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -12302,7 +12667,7 @@ index 35dffb4..42ba160 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..600cdcf 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 8c01121..fb8e399 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;'>@@ -12313,11 +12678,12 @@ index 8c01121..600cdcf 100644
</span>  LIBOBJS = @LIBOBJS@
  LIBS = @LIBS@
  LIBTOOL = @LIBTOOL@
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -463,8 +464,9 @@ AUTOMAKE_OPTIONS = foreign info-in-builddir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -463,8 +464,10 @@ AUTOMAKE_OPTIONS = foreign info-in-builddir
</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 = -nodefaultrpaths -Wl,-rpath,@loader_path/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@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@     -Wl,-rpath,@loader_path
</span>  @BUILD_LIBQUADMATH_TRUE@libquadmath_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
 -@BUILD_LIBQUADMATH_TRUE@                       $(version_arg) $(lt_host_flags) -lm
 +@BUILD_LIBQUADMATH_TRUE@      $(version_arg) $(lt_host_flags) $(LIBM) $(libquadmath_darwin_rpath) 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -12668,16 +13034,17 @@ 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..268fd7f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 4f802f7..0258e16 100644
</span> --- libsanitizer/asan/Makefile.am
 +++ libsanitizer/asan/Makefile.am
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -60,7 +60,11 @@ libasan_la_LIBADD += $(top_builddir)/libbacktrace/libsanitizer_libbacktrace.la
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -60,7 +60,12 @@ libasan_la_LIBADD += $(top_builddir)/libbacktrace/libsanitizer_libbacktrace.la
</span>  endif
  libasan_la_LIBADD += $(LIBSTDCXX_RAW_CXX_LDFLAGS)
  
 -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 = -nodefaultrpaths -Wl,-rpath,@loader_path/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libasan_darwin_rpath = -Wc,-nodefaultexport,-nodefaultrpaths
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libasan_darwin_rpath += -Wl,-rpath,@loader_path
</span> +endif
 +libasan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
 +      $(link_libasan) $(libasan_darwin_rpath)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -12685,7 +13052,7 @@ index 4f802f7..268fd7f 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..b78873f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 2476fbc..5925bee 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;'>@@ -12696,12 +13063,13 @@ index 2476fbc..b78873f 100644
</span>  sbindir = @sbindir@
  sharedstatedir = @sharedstatedir@
  srcdir = @srcdir@
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -466,7 +465,10 @@ libasan_la_LIBADD =  \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -466,7 +465,11 @@ 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 = -nodefaultrpaths -Wl,-rpath,@loader_path/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@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@     -Wl,-rpath,@loader_path
</span> +libasan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
 +      $(link_libasan) $(libasan_darwin_rpath)
 +
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13013,17 +13381,18 @@ 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..34a9f7b9 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6ff28ff..18e81f0 100644
</span> --- libsanitizer/lsan/Makefile.am
 +++ libsanitizer/lsan/Makefile.am
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -41,8 +41,11 @@ if LIBBACKTRACE_SUPPORTED
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -41,8 +41,12 @@ if LIBBACKTRACE_SUPPORTED
</span>  liblsan_la_LIBADD += $(top_builddir)/libbacktrace/libsanitizer_libbacktrace.la
  endif
  liblsan_la_LIBADD += $(LIBSTDCXX_RAW_CXX_LDFLAGS)
 -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 = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++liblsan_darwin_rpath = -Wc,-nodefaultexport,-nodefaultrpaths
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++liblsan_darwin_rpath += -Wl,-rpath,@loader_path
</span> +endif
 +liblsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
 +      $(link_liblsan) $(liblsan_darwin_rpath)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13031,7 +13400,7 @@ index 6ff28ff..34a9f7b9 100644
</span>   cp $< $@
  
 diff --git libsanitizer/lsan/Makefile.in libsanitizer/lsan/Makefile.in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 857f244..2572466 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 857f244..d7068fd 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;'>@@ -13042,19 +13411,20 @@ index 857f244..2572466 100644
</span>  sbindir = @sbindir@
  sharedstatedir = @sharedstatedir@
  srcdir = @srcdir@
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -414,7 +413,10 @@ liblsan_la_LIBADD =  \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -414,7 +413,11 @@ 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 = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@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@     -Wl,-rpath,@loader_path
</span> +liblsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
 +      $(link_liblsan) $(liblsan_darwin_rpath)
 +
  
  # 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 +791,6 @@ uninstall-am: uninstall-nodist_toolexeclibHEADERS \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -789,7 +792,6 @@ uninstall-am: uninstall-nodist_toolexeclibHEADERS \
</span>  
  .PRECIOUS: Makefile
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13116,16 +13486,17 @@ 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..75aceec 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d480f26..2de51e2 100644
</span> --- libsanitizer/ubsan/Makefile.am
 +++ libsanitizer/ubsan/Makefile.am
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -36,7 +36,11 @@ if LIBBACKTRACE_SUPPORTED
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -36,7 +36,12 @@ if LIBBACKTRACE_SUPPORTED
</span>  libubsan_la_LIBADD += $(top_builddir)/libbacktrace/libsanitizer_libbacktrace.la
  endif
  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 = -nodefaultrpaths -Wl,-rpath,@loader_path/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libubsan_darwin_rpath = -Wc,-nodefaultexport,-nodefaultrpaths
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libubsan_darwin_rpath += -Wl,-rpath,@loader_path
</span> +endif
 +libubsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
 +      $(link_libubsan) $(libubsan_darwin_rpath)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13133,7 +13504,7 @@ index d480f26..75aceec 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..1cc3b1b 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 497e033..7d20638 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;'>@@ -13144,12 +13515,13 @@ index 497e033..1cc3b1b 100644
</span>  sbindir = @sbindir@
  sharedstatedir = @sharedstatedir@
  srcdir = @srcdir@
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -401,7 +400,10 @@ libubsan_la_SOURCES = $(ubsan_files)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -401,7 +400,11 @@ 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 = -nodefaultrpaths -Wl,-rpath,@loader_path/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@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@     -Wl,-rpath,@loader_path
</span> +libubsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
 +      $(link_libubsan) $(libubsan_darwin_rpath)
 +
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13157,15 +13529,16 @@ index 497e033..1cc3b1b 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..0b99d97 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 945dc3c..3a686d7 100644
</span> --- libssp/Makefile.am
 +++ libssp/Makefile.am
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -49,8 +49,11 @@ libssp_la_SOURCES = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -49,8 +49,12 @@ libssp_la_SOURCES = \
</span>   vsnprintf-chk.c vsprintf-chk.c
  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 = -nodefaultrpaths -Wl,-rpath,@loader_path/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libssp_darwin_rpath = -Wc,-nodefaultexport,-nodefaultrpaths
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libssp_darwin_rpath += -Wl,-rpath,@loader_path
</span> +endif
  libssp_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
 -                  $(version_arg) $(lt_host_flags)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13174,14 +13547,15 @@ index 945dc3c..0b99d97 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..0732270 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index bc8a0dc..a116417 100644
</span> --- libssp/Makefile.in
 +++ libssp/Makefile.in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -376,8 +376,9 @@ libssp_la_SOURCES = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -376,8 +376,10 @@ 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 = -nodefaultrpaths -Wl,-rpath,@loader_path/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@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@     -Wl,-rpath,@loader_path
</span>  libssp_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
 -                  $(version_arg) $(lt_host_flags)
 +                  $(version_arg) $(lt_host_flags) $(libssp_darwin_rpath)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13358,7 +13732,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 9b94fd7..de17a66 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index eac6039..bdaa160 100755
</span> --- libstdc++-v3/configure
 +++ libstdc++-v3/configure
 @@ -786,6 +786,8 @@ GLIBCXX_HOSTED_TRUE
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13625,7 +13999,7 @@ index 9b94fd7..de17a66 100755
</span>  template<typename T1, typename T2>
    struct same
    { typedef T2 type; };
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -78983,6 +79100,10 @@ if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -79038,6 +79155,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;'>@@ -13648,65 +14022,33 @@ index e59bcdb..f3dda5a 100644
</span>  
  if test "$enable_vtable_verify" = yes; then
    predep_objects_CXX="${predep_objects_CXX} ${glibcxx_builddir}/../libgcc/vtv_start.o"
<span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libstdc++-v3/include/experimental/bits/fs_path.h libstdc++-v3/include/experimental/bits/fs_path.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index b0825ba..19d2461 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libstdc++-v3/include/experimental/bits/fs_path.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libstdc++-v3/include/experimental/bits/fs_path.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -140,10 +140,10 @@ namespace __detail
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     inline _Source
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     _S_range_begin(_Source __begin) { return __begin; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  struct __null_terminated { };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  struct __nul_terminated { };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   template<typename _Source>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    inline __null_terminated
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    inline __nul_terminated
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     _S_range_end(_Source) { return {}; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   template<typename _CharT, typename _Traits, typename _Alloc>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -459,11 +459,11 @@ namespace __detail
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       struct _Cvt;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     static string_type
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    _S_convert(value_type* __src, __detail::__null_terminated)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _S_convert(value_type* __src, __detail::__nul_terminated)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     { return string_type(__src); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     static string_type
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    _S_convert(const value_type* __src, __detail::__null_terminated)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _S_convert(const value_type* __src, __detail::__nul_terminated)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     { return string_type(__src); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     template<typename _Iter>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -477,7 +477,7 @@ namespace __detail
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     template<typename _InputIterator>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       static string_type
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      _S_convert(_InputIterator __src, __detail::__null_terminated)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      _S_convert(_InputIterator __src, __detail::__nul_terminated)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   auto __s = _S_string_from_iter(__src);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   return _S_convert(__s.c_str(), __s.c_str() + __s.size());
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -504,7 +504,7 @@ namespace __detail
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     template<typename _InputIterator>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       static string_type
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      _S_convert_loc(_InputIterator __src, __detail::__null_terminated,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      _S_convert_loc(_InputIterator __src, __detail::__nul_terminated,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                const std::locale& __loc)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   const std::string __s = _S_string_from_iter(__src);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libstdc++-v3/configure.host libstdc++-v3/configure.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index ec32980..da5b157 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libstdc++-v3/configure.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libstdc++-v3/configure.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -234,11 +234,6 @@ case "${host_os}" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   darwin8 | darwin8.* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # For 8+ compatibility is better if not -flat_namespace.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     OPT_LDFLAGS="${OPT_LDFLAGS} -Wl,-single_module"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    case "${host_cpu}" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      i[34567]86 | x86_64)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        OPTIMIZE_CXXFLAGS="${OPTIMIZE_CXXFLAGS} -fvisibility-inlines-hidden"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     os_include_dir="os/bsd/darwin"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   darwin*)
</span> diff --git libstdc++-v3/src/Makefile.am libstdc++-v3/src/Makefile.am
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 9c3f4ac..c695ee7 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 9c3f4ac..944ec06 100644
</span> --- libstdc++-v3/src/Makefile.am
 +++ libstdc++-v3/src/Makefile.am
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -133,8 +133,12 @@ libstdc___la_DEPENDENCIES = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -133,8 +133,13 @@ libstdc___la_DEPENDENCIES = \
</span>   $(top_builddir)/src/c++17/libc++17convenience.la \
        $(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 = -nodefaultrpaths -Wl,-rpath,@loader_path/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libstdc___darwin_rpath = -Wc,-nodefaultexport,-nodefaultrpaths
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libstdc___darwin_rpath += -Wl,-rpath,@loader_path
</span> +endif
 +
  libstdc___la_LDFLAGS = \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13716,14 +14058,15 @@ index 9c3f4ac..c695ee7 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..e3dfcde 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 4a06f6c..cc39ffa 100644
</span> --- libstdc++-v3/src/Makefile.in
 +++ libstdc++-v3/src/Makefile.in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -546,8 +546,9 @@ libstdc___la_DEPENDENCIES = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -546,8 +546,10 @@ 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 = -nodefaultrpaths -Wl,-rpath,@loader_path/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@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@     -Wl,-rpath,@loader_path
</span>  libstdc___la_LDFLAGS = \
 -      -version-info $(libtool_VERSION) ${version_arg} -lm
 +      -version-info $(libtool_VERSION) ${version_arg} -lm $(libstdc___darwin_rpath)
</pre><pre style='margin:0'>

</pre>