<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>