<pre style='margin:0'>
Ken (kencu) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/9edac727d6e952f454f82cee011d81d1a488be12">https://github.com/macports/macports-ports/commit/9edac727d6e952f454f82cee011d81d1a488be12</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 9edac727d6e gcc10-bootstrap: split patches into dedicated files
</span>9edac727d6e is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 9edac727d6e952f454f82cee011d81d1a488be12
</span>Author: Kirill A. Korinsky <kirill@korins.ky>
AuthorDate: Wed May 3 01:19:43 2023 +0200
<span style='display:block; white-space:pre;color:#404040;'> gcc10-bootstrap: split patches into dedicated files
</span>---
lang/gcc10-bootstrap/Portfile | 108 +-
...igury-Allow-for-specification-and-detecti.patch | 1301 ++
...ide-a-spec-to-insert-rpaths-for-compiler-.patch | 126 +
...n-Handle-rpaths-given-on-the-command-line.patch | 133 +
...w-for-configuring-Darwin-to-use-embedded-.patch | 5997 ++++++
...in-Ada-Add-loader-path-as-a-default-rpath.patch | 32 +
...arwin-Adjust-RPATH_ENVVAR-for-embedded-ru.patch | 75 +
...arwin-Fix-simple-object-LTO-table-for-cro.patch | 38 +
...rk-handling-for-unwinder-code-in-libgcc_s.patch | 1254 ++
...-the-mod-init-term-section-starts-with-a-.patch | 109 +
...a-reserved-name-for-the-exception-tables-.patch | 28 +
...g-Add-a-hook-to-allow-target-specific-Per.patch | 169 +
...Fix-LEB128-support-for-non-GNU-assemblers.patch | 161 +
.../files/0013-C-Add-the-stdlib-option.patch | 523 +
...cc-Adjust-min-version-supported-for-the-O.patch | 154 +
...15-aarch64-Remove-redundant-mult-patterns.patch | 442 +
...on-t-emit-invalid-zero-sign-extend-syntax.patch | 354 +
...ortran-caf_fail_image-expects-no-argument.patch | 48 +
...-Fix-function-arg-types-for-class-objects.patch | 30 +
...ix-arg-types-of-_gfortran_is_extension_of.patch | 34 +
...-argument-types-in-derived-types-procedur.patch | 30 +
...b-config.guess-Import-upstream-2020-11-07.patch | 2165 +++
...k-rotate-immediates-with-as-per-DDI0487iF.patch | 47 +
...-Make-trampoline-templates-linker-visible.patch | 38 +
...4-Cast-print-value-per-format-description.patch | 28 +
...4-Truncate-char-immediates-in-vector-init.patch | 77 +
...4-Proof-of-principle-hack-Fortran-to-use-.patch | 141 +
...rwin-Arm64-Top-level-boiler-plate-changes.patch | 61 +
...4-Base-build-changes-to-Darwin-common-cod.patch | 192 +
...in-Arm64-Initial-definitions-for-the-port.patch | 936 +
...win-Arm64-Disable-section-anchors-for-now.patch | 53 +
...64-Assign-a-register-for-the-static-chain.patch | 49 +
...Arm64-Initial-libgcc-boiler-plate-changes.patch | 113 +
...4-Darwin-should-use-an-OS-call-to-clear-c.patch | 43 +
...4-Initial-support-for-the-self-host-drive.patch | 91 +
...5-Darwin-Arm64-Ada-fixes-for-hosted-tools.patch | 81 +
...36-Darwin-Arm64-Initial-changes-to-libitm.patch | 103 +
...-Add-IEEE-code-for-Aarch64-in-libgfortran.patch | 380 +
...rm64-Additional-change-for-darwincpcs-D.4.patch | 29 +
...0039-Darwin-Arm64-Implement-darwinpcs-D.2.patch | 196 +
...4-Implement-darwinpcs-mangling-for-va_lis.patch | 33 +
...4-Initial-stab-at-darwinpcs-variadic-func.patch | 101 +
...a-hack-to-allow-different-passing-organis.patch | 151 +
...4-Adjust-cases-where-stack-spills-pack-di.patch | 127 +
...win-Arm64-Reimplement-the-base-CC-variant.patch | 131 +
...4-Account-for-stack-addresses-less-aligne.patch | 40 +
...0046-Generic-More-mega-hack-for-va-normal.patch | 189 +
...4-Temporary-proof-of-principle-for-relocs.patch | 242 +
...4-Make-code-label-references-use-PAGE-rel.patch | 38 +
...m64-Avoid-negative-offsets-in-PAGE-relocs.patch | 85 +
...4-Make-more-Objective-C-metadata-linker-v.patch | 86 +
...arwin-Arm64-Darwin-does-not-support-sve-a.patch | 201 +
...arwin-Arm64-We-don-t-support-PCH-yet-disa.patch | 67 +
...arwin-Arm64-Fixup-tests-where-the-output-.patch | 48 +
...arwin-Arm64-Fix-up-CFString-tests-for-arm.patch | 64 +
...testsuite-Darwin-Arm64-Amend-segaddr-test.patch | 29 +
...arwin-Arm64-Adjust-pubtypes-lengths-for-A.patch | 59 +
...arwin-Arm64-Adjust-for-revised-section-sp.patch | 28 +
...te-Darwin-Arm64-Disable-the-AAPCS64-tests.patch | 35 +
...arwin-Arm64-Add-U_L_P-to-bf16-mangling-te.patch | 39 +
...arwin-Arm64-Amend-scan-asms-for-arm-synta.patch | 47 +
...arwin-Arm64-Skip-tests-with-an-unsupporte.patch | 42 +
...arwin-Arm64-Skip-tests-with-an-unsupporte.patch | 42 +
...bjective-C-Darwin-Arm64-adjust-scan-asms-.patch | 48 +
...e-Darwin-Arm64-Skip-two-unsupported-tests.patch | 44 +
...arwin-Arm64-Skip-more-tests-using-check-f.patch | 293 +
...arwin-Arm64-Allow-m64-on-the-command-line.patch | 32 +
...-aarch64-Darwin-Restrict-offsets-for-prfm.patch | 67 +
...-Darwin-Match-conditions-for-a-PRFUM-insn.patch | 146 +
...-Build-Darwin10-unwinder-shim-as-a-librar.patch | 77 +
.../files/0070-Darwin-PPC-Fix-R13-for-PPC64.patch | 49 +
.../files/0071-collect2-Fix-missing-cleanups.patch | 44 +
...-a-mechanism-to-register-static-DTORs-via.patch | 390 +
...ls-Allow-building-weak-definitions-of-the.patch | 94 +
.../0074-Darwin-crts-Fix-a-build-warning.patch | 35 +
...d-pie-options-when-linking-mdynamic-no-pi.patch | 50 +
...in-Build-a-libgcc_s.1-for-backwards-compa.patch | 385 +
...in-Update-darwin10-unwinder-shim-dependen.patch | 36 +
...gcc-Darwin-Add-missing-build-dependencies.patch | 113 +
...arwin-config-Amend-for-Darwin-21-macOS-12.patch | 95 +
.../files/0080-Force-to-use-C-11-on-macOS-11.patch | 65 +
...win-Allow-to-using-rpaths-after-darwin20.patch} | 201 +-
...82-Darwin-libgcc-include-support-macOS-12.patch | 32 +
...arwin-Amend-lo_sum-use-for-forced-consta.patch} | 2 +-
...Darwin-config-Revise-host-config-fragment.patch | 138 +
...void-unnecessary-constraints-on-executabl.patch | 155 +
...c1-Handle-hosts-with-mdynamic-no-pic-supp.patch | 49 +
...-config-Adjust-as-command-lines-PR100340.patch} | 2 +-
...bgcc-Fix-build-errors-on-powerpc-darwin8.patch} | 40 +-
...9-Darwin-Future-proof-mmacosx-version-min.patch | 54 +
...ame-__null_terminated-to-avoid-collision-.patch | 134 +
...e-proof-and-homogeneize-detection-of-dar.patch} | 194 +-
lang/gcc10-bootstrap/files/patch-build-i686.diff | 345 -
.../files/patch-iains-apple-si.diff | 18493 -------------------
lang/gcc10-bootstrap/files/patch-iains-ppc.diff | 1284 --
95 files changed, 20537 insertions(+), 20542 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/Portfile b/lang/gcc10-bootstrap/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 8ad4de374d6..806f80733a0 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc10-bootstrap/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -85,33 +85,119 @@ post-extract {
</span> ln -s ${workpath}/${ISL} ${worksrcpath}/isl
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles patch-dynamic-lookup-11.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# This is patch applies to gmp, isl, mpc and mpfr
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles patch-dynamic-lookup-11.diff
</span>
# Branches from the Darwin maintainer of GCC
# https://github.com/iains/gcc-10-branch/tree/gcc-10-3-apple-si
# Thus, it includes https://github.com/iains/gcc-10-branch/tree/gcc-10-3-darwin
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append patch-iains-apple-si.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://github.com/iains/gcc-10-branch/tree/gcc-10-3-ppc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append patch-iains-ppc.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=4c3792d448964f7bd99e7eac2c29c9eb7c2bfb84
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append patch-extra-ppc.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append 0001-Darwin-configury-Allow-for-specification-and-detecti.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0002-Driver-Provide-a-spec-to-insert-rpaths-for-compiler-.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0003-Darwin-Handle-rpaths-given-on-the-command-line.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0004-Darwin-Allow-for-configuring-Darwin-to-use-embedded-.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0005-Darwin-Ada-Add-loader-path-as-a-default-rpath.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0006-configure-Darwin-Adjust-RPATH_ENVVAR-for-embedded-ru.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0007-libiberty-Darwin-Fix-simple-object-LTO-table-for-cro.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0008-Darwin-Rework-handling-for-unwinder-code-in-libgcc_s.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0009-Darwin-Mark-the-mod-init-term-section-starts-with-a-.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0010-Darwin-Use-a-reserved-name-for-the-exception-tables-.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0011-CFI-handling-Add-a-hook-to-allow-target-specific-Per.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0012-configury-Fix-LEB128-support-for-non-GNU-assemblers.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0013-C-Add-the-stdlib-option.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0014-Darwin-libgcc-Adjust-min-version-supported-for-the-O.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0015-aarch64-Remove-redundant-mult-patterns.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0016-aarch64-Don-t-emit-invalid-zero-sign-extend-syntax.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0017-fortran-caf_fail_image-expects-no-argument.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0018-fortran-Fix-function-arg-types-for-class-objects.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0019-fortran-Fix-arg-types-of-_gfortran_is_extension_of.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0020-fortran-Fix-argument-types-in-derived-types-procedur.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0021-config.sub-config.guess-Import-upstream-2020-11-07.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0022-aarch64-Mark-rotate-immediates-with-as-per-DDI0487iF.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0023-Darwin-Make-trampoline-templates-linker-visible.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0024-aarch64-Cast-print-value-per-format-description.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0025-Darwin-Arm64-Truncate-char-immediates-in-vector-init.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0026-Darwin-Arm64-Proof-of-principle-hack-Fortran-to-use-.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0027-Darwin-Arm64-Top-level-boiler-plate-changes.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0028-Darwin-Arm64-Base-build-changes-to-Darwin-common-cod.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0029-Darwin-Arm64-Initial-definitions-for-the-port.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0030-Darwin-Arm64-Disable-section-anchors-for-now.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0031-Darwin-Arm64-Assign-a-register-for-the-static-chain.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0032-Darwin-Arm64-Initial-libgcc-boiler-plate-changes.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0033-Darwin-Arm64-Darwin-should-use-an-OS-call-to-clear-c.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0034-Darwin-Arm64-Initial-support-for-the-self-host-drive.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0035-Darwin-Arm64-Ada-fixes-for-hosted-tools.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0036-Darwin-Arm64-Initial-changes-to-libitm.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0037-Add-IEEE-code-for-Aarch64-in-libgfortran.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0038-Darwin-Arm64-Additional-change-for-darwincpcs-D.4.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0039-Darwin-Arm64-Implement-darwinpcs-D.2.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0040-Darwin-Arm64-Implement-darwinpcs-mangling-for-va_lis.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0041-Darwin-Arm64-Initial-stab-at-darwinpcs-variadic-func.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0042-Generic-Mega-hack-to-allow-different-passing-organis.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0043-Darwin-Arm64-Adjust-cases-where-stack-spills-pack-di.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0044-Darwin-Arm64-Reimplement-the-base-CC-variant.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0045-Darwin-Arm64-Account-for-stack-addresses-less-aligne.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0046-Generic-More-mega-hack-for-va-normal.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0047-Darwin-Arm64-Temporary-proof-of-principle-for-relocs.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0048-Darwin-Arm64-Make-code-label-references-use-PAGE-rel.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0049-Darwin-Arm64-Avoid-negative-offsets-in-PAGE-relocs.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0050-Darwin-Arm64-Make-more-Objective-C-metadata-linker-v.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0051-testsuite-Darwin-Arm64-Darwin-does-not-support-sve-a.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0052-testsuite-Darwin-Arm64-We-don-t-support-PCH-yet-disa.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0053-testsuite-Darwin-Arm64-Fixup-tests-where-the-output-.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0054-testsuite-Darwin-Arm64-Fix-up-CFString-tests-for-arm.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0055-testsuite-Darwin-Arm64-Amend-segaddr-test.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0056-testsuite-Darwin-Arm64-Adjust-pubtypes-lengths-for-A.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0057-testsuite-Darwin-Arm64-Adjust-for-revised-section-sp.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0058-testsuite-Darwin-Arm64-Disable-the-AAPCS64-tests.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0059-testsuite-Darwin-Arm64-Add-U_L_P-to-bf16-mangling-te.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0060-testsuite-Darwin-Arm64-Amend-scan-asms-for-arm-synta.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0061-testsuite-Darwin-Arm64-Skip-tests-with-an-unsupporte.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0062-testsuite-Darwin-Arm64-Skip-tests-with-an-unsupporte.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0063-testsuite-Objective-C-Darwin-Arm64-adjust-scan-asms-.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0064-testsuite-Darwin-Arm64-Skip-two-unsupported-tests.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0065-testsuite-Darwin-Arm64-Skip-more-tests-using-check-f.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0066-Darwin-Arm64-Allow-m64-on-the-command-line.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0067-aarch64-Darwin-Restrict-offsets-for-prfm.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0068-aarch64-Darwin-Match-conditions-for-a-PRFUM-insn.patch
</span>
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://github.com/iains/gcc-10-branch/tree/gcc-10-3-ppc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append 0069-Darwin-crts-Build-Darwin10-unwinder-shim-as-a-librar.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0070-Darwin-PPC-Fix-R13-for-PPC64.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0071-collect2-Fix-missing-cleanups.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0072-IPA-Provide-a-mechanism-to-register-static-DTORs-via.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0073-libgcc-emutls-Allow-building-weak-definitions-of-the.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0074-Darwin-crts-Fix-a-build-warning.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0075-Darwin-Amend-pie-options-when-linking-mdynamic-no-pi.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0076-libgcc-Darwin-Build-a-libgcc_s.1-for-backwards-compa.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0077-libgcc-Darwin-Update-darwin10-unwinder-shim-dependen.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0078-libgcc-Darwin-Add-missing-build-dependencies.patch
</span>
# Backport preliminary Darwin 21 support to GCC 10 from GCC11
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append patch-darwin21.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append 0079-Darwin-config-Amend-for-Darwin-21-macOS-12.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0080-Force-to-use-C-11-on-macOS-11.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0081-Darwin-Allow-to-using-rpaths-after-darwin20.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0082-Darwin-libgcc-include-support-macOS-12.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=4c3792d448964f7bd99e7eac2c29c9eb7c2bfb84
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append 0083-LRA-rs6000-Darwin-Amend-lo_sum-use-for-forced-consta.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # backport fix no-pie clang bug bootstrapping gcc on i386
# https://trac.macports.org/ticket/63161
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append patch-build-i686.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append 0084-Darwin-config-Revise-host-config-fragment.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0085-configure-Avoid-unnecessary-constraints-on-executabl.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0086-Darwin-libcc1-Handle-hosts-with-mdynamic-no-pic-supp.patch
</span>
# Bootstrap fails with Clang 12.0.5 (XCode 12.5)
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100340
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append patch-xcode12-fix.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append 0087-Darwin-X86-config-Adjust-as-command-lines-PR100340.patch
</span>
# Backport additional patches for support darwin8
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append patch-darwin8.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append 0088-Darwin-libgcc-Fix-build-errors-on-powerpc-darwin8.patch
</span>
# Backport preliminary Darwin 22 support to GCC 10
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append patch-darwin22.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append 0089-Darwin-Future-proof-mmacosx-version-min.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0090-libstdc-Rename-__null_terminated-to-avoid-collision-.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0091-Darwin-Future-proof-and-homogeneize-detection-of-dar.patch
</span>
# Skip bootstrap comparison entirely
post-patch {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0001-Darwin-configury-Allow-for-specification-and-detecti.patch b/lang/gcc10-bootstrap/files/0001-Darwin-configury-Allow-for-specification-and-detecti.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..7117ecfc390
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0001-Darwin-configury-Allow-for-specification-and-detecti.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,1301 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 2c2c083bb012a58dd5506de0136ffc66156fb84d Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 13 Dec 2020 17:21:16 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, configury : Allow for specification and detection of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dsymutil.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+In order to enable DWARF versions > 2 we need a sufficiently modern
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version of dsymutil (in addition to the assembler / linker). This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+allows the user to configure a different path from the installed one.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+In addition, there are several sources of dsymutil so we differentiate
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+these in order to be get accurate version information.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure.ac: Handle --with-dsymutil in the same way as we
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ do for the assembler and linker. (DEFAULT_DSYMUTIL): New.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Extract the type and version for the dsymutil configured or
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ found by the default searches.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config.in: Regenerated.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure: Regenerated.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * collect2.c (do_dsymutil): Handle locating dsymutil in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ same way as for the assembler and linker.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/darwin.h (DSYMUTIL): Delete.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * gcc.c: Report a configured dsymutil correctly.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Makefile.def: Add dsymutil defs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Makefile.in: Regenerated.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Makefile.tpl: Add dsymutil to flags.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure: Regenerated.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure.ac: Add dsymutil to target and build recipes.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Makefile.def | 1 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Makefile.in | 10 ++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Makefile.tpl | 9 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure | 413 ++++++++++++++++++++++++++++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.ac | 6 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/collect2.c | 41 ++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config.in | 12 ++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/darwin.h | 2 -
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/configure | 166 +++++++++++++++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/configure.ac | 96 +++++++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/exec-tool.in | 8 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/gcc.c | 5 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 12 files changed, 758 insertions(+), 11 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git Makefile.def Makefile.def
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 36fd26b0367..3fa425905fc 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Makefile.def
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Makefile.def
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -283,6 +283,7 @@ flags_to_pass = { flag= CFLAGS_FOR_TARGET ; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ flags_to_pass = { flag= CPPFLAGS_FOR_TARGET ; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ flags_to_pass = { flag= CXXFLAGS_FOR_TARGET ; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ flags_to_pass = { flag= DLLTOOL_FOR_TARGET ; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++flags_to_pass = { flag= DSYMUTIL_FOR_TARGET ; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ flags_to_pass = { flag= FLAGS_FOR_TARGET ; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ flags_to_pass = { flag= GFORTRAN_FOR_TARGET ; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ flags_to_pass = { flag= GOC_FOR_TARGET ; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git Makefile.in Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 36e369df6e7..5610c3355e8 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -159,6 +159,7 @@ BUILD_EXPORTS = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GDC="$(GDC_FOR_BUILD)"; export GDC; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GDCFLAGS="$(GDCFLAGS_FOR_BUILD)"; export GDCFLAGS; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DLLTOOL="$(DLLTOOL_FOR_BUILD)"; export DLLTOOL; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DSYMUTIL="$(DSYMUTIL_FOR_BUILD)"; export DSYMUTIL; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LD="$(LD_FOR_BUILD)"; export LD; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LDFLAGS="$(LDFLAGS_FOR_BUILD)"; export LDFLAGS; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NM="$(NM_FOR_BUILD)"; export NM; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -200,6 +201,7 @@ HOST_EXPORTS = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CXX_FOR_BUILD="$(CXX_FOR_BUILD)"; export CXX_FOR_BUILD; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DSYMUTIL="$(DSYMUTIL)"; export DSYMUTIL; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LD="$(LD)"; export LD; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LDFLAGS="$(STAGE1_LDFLAGS) $(LDFLAGS)"; export LDFLAGS; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NM="$(NM)"; export NM; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -212,6 +214,7 @@ HOST_EXPORTS = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ READELF="$(READELF)"; export READELF; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AR_FOR_TARGET="$(AR_FOR_TARGET)"; export AR_FOR_TARGET; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AS_FOR_TARGET="$(AS_FOR_TARGET)"; export AS_FOR_TARGET; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DSYMUTIL_FOR_TARGET="$(DSYMUTIL_FOR_TARGET)"; export DSYMUTIL_FOR_TARGET; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GCC_FOR_TARGET="$(GCC_FOR_TARGET)"; export GCC_FOR_TARGET; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LD_FOR_TARGET="$(LD_FOR_TARGET)"; export LD_FOR_TARGET; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NM_FOR_TARGET="$(NM_FOR_TARGET)"; export NM_FOR_TARGET; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -294,6 +297,7 @@ BASE_TARGET_EXPORTS = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GOC="$(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GOC; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GDC="$(GDC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GDC; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DSYMUTIL="$(DSYMUTIL_FOR_TARGET)"; export DSYMUTIL; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LD="$(COMPILER_LD_FOR_TARGET)"; export LD; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO="$(LIPO_FOR_TARGET)"; export LIPO; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -356,6 +360,7 @@ CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CXXFLAGS_FOR_BUILD = @CXXFLAGS_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CXX_FOR_BUILD = @CXX_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++DSYMUTIL_FOR_BUILD = @DSYMUTIL_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GFORTRAN_FOR_BUILD = @GFORTRAN_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GOC_FOR_BUILD = @GOC_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GDC_FOR_BUILD = @GDC_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -406,6 +411,7 @@ AR_FLAGS = rc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CC = @CC@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CXX = @CXX@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DLLTOOL = @DLLTOOL@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++DSYMUTIL = @DSYMUTIL@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LD = @LD@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO = @LIPO@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NM = @NM@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -596,6 +602,7 @@ GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GOC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GOC_FOR_TARGET@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GDC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GDC_FOR_TARGET@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++DSYMUTIL_FOR_TARGET=@DSYMUTIL_FOR_TARGET@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LD_FOR_TARGET=@LD_FOR_TARGET@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO_FOR_TARGET=@LIPO_FOR_TARGET@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -814,6 +821,7 @@ BASE_FLAGS_TO_PASS = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "CPPFLAGS_FOR_TARGET=$(CPPFLAGS_FOR_TARGET)" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "CXXFLAGS_FOR_TARGET=$(CXXFLAGS_FOR_TARGET)" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "DLLTOOL_FOR_TARGET=$(DLLTOOL_FOR_TARGET)" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "DSYMUTIL_FOR_TARGET=$(DSYMUTIL_FOR_TARGET)" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "FLAGS_FOR_TARGET=$(FLAGS_FOR_TARGET)" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "GFORTRAN_FOR_TARGET=$(GFORTRAN_FOR_TARGET)" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "GOC_FOR_TARGET=$(GOC_FOR_TARGET)" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -889,6 +897,7 @@ EXTRA_HOST_FLAGS = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'CC=$(CC)' \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'CXX=$(CXX)' \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'DLLTOOL=$(DLLTOOL)' \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ 'DSYMUTIL=$(DSYMUTIL)' \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'GFORTRAN=$(GFORTRAN)' \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'GOC=$(GOC)' \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'GDC=$(GDC)' \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -947,6 +956,7 @@ EXTRA_TARGET_FLAGS = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ 'DSYMUTIL=$$(DSYMUTIL_FOR_TARGET)' \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'GFORTRAN=$$(GFORTRAN_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'GOC=$$(GOC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'GOCFLAGS=$$(GOCFLAGS_FOR_TARGET)' \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git Makefile.tpl Makefile.tpl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index efed1511750..751aacb45b9 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Makefile.tpl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Makefile.tpl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -162,6 +162,7 @@ BUILD_EXPORTS = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GDC="$(GDC_FOR_BUILD)"; export GDC; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GDCFLAGS="$(GDCFLAGS_FOR_BUILD)"; export GDCFLAGS; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DLLTOOL="$(DLLTOOL_FOR_BUILD)"; export DLLTOOL; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DSYMUTIL="$(DSYMUTIL_FOR_BUILD)"; export DSYMUTIL; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LD="$(LD_FOR_BUILD)"; export LD; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LDFLAGS="$(LDFLAGS_FOR_BUILD)"; export LDFLAGS; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NM="$(NM_FOR_BUILD)"; export NM; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -203,6 +204,7 @@ HOST_EXPORTS = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CXX_FOR_BUILD="$(CXX_FOR_BUILD)"; export CXX_FOR_BUILD; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DSYMUTIL="$(DSYMUTIL)"; export DSYMUTIL; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LD="$(LD)"; export LD; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LDFLAGS="$(STAGE1_LDFLAGS) $(LDFLAGS)"; export LDFLAGS; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NM="$(NM)"; export NM; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -215,6 +217,7 @@ HOST_EXPORTS = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ READELF="$(READELF)"; export READELF; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AR_FOR_TARGET="$(AR_FOR_TARGET)"; export AR_FOR_TARGET; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AS_FOR_TARGET="$(AS_FOR_TARGET)"; export AS_FOR_TARGET; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DSYMUTIL_FOR_TARGET="$(DSYMUTIL_FOR_TARGET)"; export DSYMUTIL_FOR_TARGET; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GCC_FOR_TARGET="$(GCC_FOR_TARGET)"; export GCC_FOR_TARGET; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LD_FOR_TARGET="$(LD_FOR_TARGET)"; export LD_FOR_TARGET; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NM_FOR_TARGET="$(NM_FOR_TARGET)"; export NM_FOR_TARGET; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -297,6 +300,7 @@ BASE_TARGET_EXPORTS = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GOC="$(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GOC; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GDC="$(GDC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GDC; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DSYMUTIL="$(DSYMUTIL_FOR_TARGET)"; export DSYMUTIL; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LD="$(COMPILER_LD_FOR_TARGET)"; export LD; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO="$(LIPO_FOR_TARGET)"; export LIPO; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -359,6 +363,7 @@ CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CXXFLAGS_FOR_BUILD = @CXXFLAGS_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CXX_FOR_BUILD = @CXX_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++DSYMUTIL_FOR_BUILD = @DSYMUTIL_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GFORTRAN_FOR_BUILD = @GFORTRAN_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GOC_FOR_BUILD = @GOC_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GDC_FOR_BUILD = @GDC_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -409,6 +414,7 @@ AR_FLAGS = rc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CC = @CC@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CXX = @CXX@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DLLTOOL = @DLLTOOL@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++DSYMUTIL = @DSYMUTIL@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LD = @LD@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO = @LIPO@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NM = @NM@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -519,6 +525,7 @@ GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GOC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GOC_FOR_TARGET@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GDC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GDC_FOR_TARGET@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++DSYMUTIL_FOR_TARGET=@DSYMUTIL_FOR_TARGET@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LD_FOR_TARGET=@LD_FOR_TARGET@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO_FOR_TARGET=@LIPO_FOR_TARGET@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -644,6 +651,7 @@ EXTRA_HOST_FLAGS = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'CC=$(CC)' \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'CXX=$(CXX)' \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'DLLTOOL=$(DLLTOOL)' \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ 'DSYMUTIL=$(DSYMUTIL)' \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'GFORTRAN=$(GFORTRAN)' \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'GOC=$(GOC)' \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'GDC=$(GDC)' \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -702,6 +710,7 @@ EXTRA_TARGET_FLAGS = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ 'DSYMUTIL=$$(DSYMUTIL_FOR_TARGET)' \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'GFORTRAN=$$(GFORTRAN_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'GOC=$$(GOC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'GOCFLAGS=$$(GOCFLAGS_FOR_TARGET)' \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git configure configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f2ec106a86e..7b6ca31f5ed 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -609,6 +609,7 @@ OBJCOPY_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NM_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LD_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++DSYMUTIL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DLLTOOL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AS_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AR_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -629,6 +630,7 @@ RANLIB
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NM
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++DSYMUTIL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DLLTOOL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -649,6 +651,7 @@ LDFLAGS_FOR_BUILD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GDC_FOR_BUILD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GOC_FOR_BUILD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GFORTRAN_FOR_BUILD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++DSYMUTIL_FOR_BUILD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DLLTOOL_FOR_BUILD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CXX_FOR_BUILD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CXXFLAGS_FOR_BUILD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -851,6 +854,7 @@ target_configargs
</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;'>+ DLLTOOL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++DSYMUTIL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NM
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -871,6 +875,7 @@ GDC_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AR_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AS_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DLLTOOL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++DSYMUTIL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LD_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NM_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1634,6 +1639,7 @@ Some influential environment variables:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AR AR for the host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AS AS for the host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DLLTOOL DLLTOOL for the host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DSYMUTIL DSYMUTIL for the host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LD LD for the host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO LIPO for the host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NM NM for the host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1663,6 +1669,8 @@ Some influential environment variables:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AS for the target
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DLLTOOL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DLLTOOL for the target
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DSYMUTIL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DSYMUTIL for the target
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LD_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LD for the target
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -4094,6 +4102,7 @@ if test "${build}" != "${host}" ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AS_FOR_BUILD=${AS_FOR_BUILD-as}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CXX_FOR_BUILD=${CXX_FOR_BUILD-g++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DSYMUTIL_FOR_BUILD=${DSYMUTIL_FOR_BUILD-dsymutil}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GOC_FOR_BUILD=${GOC_FOR_BUILD-gccgo}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GDC_FOR_BUILD=${GDC_FOR_BUILD-gdc}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -4108,6 +4117,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AS_FOR_BUILD="\$(AS)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CC_FOR_BUILD="\$(CC)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CXX_FOR_BUILD="\$(CXX)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DSYMUTIL_FOR_BUILD="\$(DSYMUTIL)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GFORTRAN_FOR_BUILD="\$(GFORTRAN)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GOC_FOR_BUILD="\$(GOC)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GDC_FOR_BUILD="\$(GDC)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7883,6 +7893,7 @@ done
</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;'>+ # Generate default definitions for YACC, M4, LEX and other programs that run
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # on the build machine. These are used if the Makefile can't locate these
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # programs in objdir.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -8715,6 +8726,147 @@ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -n "$DSYMUTIL"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_cv_prog_DSYMUTIL=$DSYMUTIL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++elif test -n "$ac_cv_prog_DSYMUTIL"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DSYMUTIL=$ac_cv_prog_DSYMUTIL
</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;'>++if test -n "$ac_cv_prog_DSYMUTIL"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for ncn_progname in dsymutil; do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set dummy ${ncn_progname}; ac_word=$2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo_n "checking for $ac_word... " >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ${ac_cv_prog_DSYMUTIL+:} false; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $as_echo_n "(cached) " >&6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test -n "$DSYMUTIL"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++for as_dir in $PATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ IFS=$as_save_IFS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ test -z "$as_dir" && as_dir=.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for ac_exec_ext in '' $ac_executable_extensions; do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_cv_prog_DSYMUTIL="${ncn_progname}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++IFS=$as_save_IFS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++DSYMUTIL=$ac_cv_prog_DSYMUTIL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -n "$DSYMUTIL"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "$DSYMUTIL" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "no" >&6; }
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ done
</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;'>++for ncn_progname in dsymutil; do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test -n "$ncn_tool_prefix"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo_n "checking for $ac_word... " >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ${ac_cv_prog_DSYMUTIL+:} false; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $as_echo_n "(cached) " >&6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test -n "$DSYMUTIL"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++for as_dir in $PATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ IFS=$as_save_IFS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ test -z "$as_dir" && as_dir=.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for ac_exec_ext in '' $ac_executable_extensions; do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_cv_prog_DSYMUTIL="${ncn_tool_prefix}${ncn_progname}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++IFS=$as_save_IFS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++DSYMUTIL=$ac_cv_prog_DSYMUTIL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -n "$DSYMUTIL"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "$DSYMUTIL" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "no" >&6; }
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test -z "$ac_cv_prog_DSYMUTIL" && test $build = $host ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set dummy ${ncn_progname}; ac_word=$2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo_n "checking for $ac_word... " >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ${ac_cv_prog_DSYMUTIL+:} false; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $as_echo_n "(cached) " >&6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test -n "$DSYMUTIL"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++for as_dir in $PATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ IFS=$as_save_IFS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ test -z "$as_dir" && as_dir=.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for ac_exec_ext in '' $ac_executable_extensions; do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_cv_prog_DSYMUTIL="${ncn_progname}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++IFS=$as_save_IFS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++DSYMUTIL=$ac_cv_prog_DSYMUTIL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -n "$DSYMUTIL"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "$DSYMUTIL" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "no" >&6; }
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ test -n "$ac_cv_prog_DSYMUTIL" && break
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "$ac_cv_prog_DSYMUTIL" ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set dummy dsymutil
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test $build = $host ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DSYMUTIL="$2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DSYMUTIL="${ncn_tool_prefix}$2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test -n "$LD"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ac_cv_prog_LD=$LD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ elif test -n "$ac_cv_prog_LD"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11945,6 +12097,236 @@ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "$ac_cv_path_DSYMUTIL_FOR_TARGET" ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test -n "$with_build_time_tools"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dsymutil in $with_build_time_tools" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo_n "checking for dsymutil in $with_build_time_tools... " >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test -x $with_build_time_tools/dsymutil; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DSYMUTIL_FOR_TARGET=`cd $with_build_time_tools && pwd`/dsymutil
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_cv_path_DSYMUTIL_FOR_TARGET=$DSYMUTIL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_DSYMUTIL_FOR_TARGET" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "$ac_cv_path_DSYMUTIL_FOR_TARGET" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "no" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ elif test $build != $host && test $have_gcc_for_target = yes; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DSYMUTIL_FOR_TARGET=`$GCC_FOR_TARGET --print-prog-name=dsymutil`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ test $DSYMUTIL_FOR_TARGET = dsymutil && DSYMUTIL_FOR_TARGET=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ test -n "$DSYMUTIL_FOR_TARGET" && ac_cv_path_DSYMUTIL_FOR_TARGET=$DSYMUTIL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "$ac_cv_path_DSYMUTIL_FOR_TARGET" && test -n "$gcc_cv_tool_dirs"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Extract the first word of "dsymutil", so it can be a program name with args.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set dummy dsymutil; ac_word=$2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo_n "checking for $ac_word... " >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ${ac_cv_path_DSYMUTIL_FOR_TARGET+:} false; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $as_echo_n "(cached) " >&6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case $DSYMUTIL_FOR_TARGET in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ [\\/]* | ?:[\\/]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_cv_path_DSYMUTIL_FOR_TARGET="$DSYMUTIL_FOR_TARGET" # Let the user override the test with a path.
</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_save_IFS=$IFS; IFS=$PATH_SEPARATOR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++for as_dir in $gcc_cv_tool_dirs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ IFS=$as_save_IFS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ test -z "$as_dir" && as_dir=.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for ac_exec_ext in '' $ac_executable_extensions; do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_cv_path_DSYMUTIL_FOR_TARGET="$as_dir/$ac_word$ac_exec_ext"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++IFS=$as_save_IFS
</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;'>++DSYMUTIL_FOR_TARGET=$ac_cv_path_DSYMUTIL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -n "$DSYMUTIL_FOR_TARGET"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL_FOR_TARGET" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "$DSYMUTIL_FOR_TARGET" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "no" >&6; }
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "$ac_cv_path_DSYMUTIL_FOR_TARGET" ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -n "$DSYMUTIL_FOR_TARGET"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_cv_prog_DSYMUTIL_FOR_TARGET=$DSYMUTIL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++elif test -n "$ac_cv_prog_DSYMUTIL_FOR_TARGET"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DSYMUTIL_FOR_TARGET=$ac_cv_prog_DSYMUTIL_FOR_TARGET
</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;'>++if test -n "$ac_cv_prog_DSYMUTIL_FOR_TARGET"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for ncn_progname in dsymutil; do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set dummy ${ncn_progname}; ac_word=$2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo_n "checking for $ac_word... " >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ${ac_cv_prog_DSYMUTIL_FOR_TARGET+:} false; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $as_echo_n "(cached) " >&6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test -n "$DSYMUTIL_FOR_TARGET"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_cv_prog_DSYMUTIL_FOR_TARGET="$DSYMUTIL_FOR_TARGET" # Let the user override the test.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++for as_dir in $PATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ IFS=$as_save_IFS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ test -z "$as_dir" && as_dir=.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for ac_exec_ext in '' $ac_executable_extensions; do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_cv_prog_DSYMUTIL_FOR_TARGET="${ncn_progname}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++IFS=$as_save_IFS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++DSYMUTIL_FOR_TARGET=$ac_cv_prog_DSYMUTIL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -n "$DSYMUTIL_FOR_TARGET"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL_FOR_TARGET" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "$DSYMUTIL_FOR_TARGET" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "no" >&6; }
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ done
</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;'>++if test -z "$ac_cv_prog_DSYMUTIL_FOR_TARGET" && test -n "$with_build_time_tools"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for ncn_progname in dsymutil; do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ncn_progname} in $with_build_time_tools" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo_n "checking for ${ncn_progname} in $with_build_time_tools... " >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test -x $with_build_time_tools/${ncn_progname}; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_cv_prog_DSYMUTIL_FOR_TARGET=$with_build_time_tools/${ncn_progname}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "yes" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "no" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ done
</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;'>++if test -z "$ac_cv_prog_DSYMUTIL_FOR_TARGET"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for ncn_progname in dsymutil; do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test -n "$ncn_target_tool_prefix"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo_n "checking for $ac_word... " >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ${ac_cv_prog_DSYMUTIL_FOR_TARGET+:} false; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $as_echo_n "(cached) " >&6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test -n "$DSYMUTIL_FOR_TARGET"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_cv_prog_DSYMUTIL_FOR_TARGET="$DSYMUTIL_FOR_TARGET" # Let the user override the test.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++for as_dir in $PATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ IFS=$as_save_IFS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ test -z "$as_dir" && as_dir=.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for ac_exec_ext in '' $ac_executable_extensions; do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_cv_prog_DSYMUTIL_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++IFS=$as_save_IFS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++DSYMUTIL_FOR_TARGET=$ac_cv_prog_DSYMUTIL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -n "$DSYMUTIL_FOR_TARGET"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL_FOR_TARGET" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "$DSYMUTIL_FOR_TARGET" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "no" >&6; }
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test -z "$ac_cv_prog_DSYMUTIL_FOR_TARGET" && test $build = $target ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set dummy ${ncn_progname}; ac_word=$2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo_n "checking for $ac_word... " >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ${ac_cv_prog_DSYMUTIL_FOR_TARGET+:} false; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $as_echo_n "(cached) " >&6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test -n "$DSYMUTIL_FOR_TARGET"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_cv_prog_DSYMUTIL_FOR_TARGET="$DSYMUTIL_FOR_TARGET" # Let the user override the test.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++for as_dir in $PATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ IFS=$as_save_IFS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ test -z "$as_dir" && as_dir=.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for ac_exec_ext in '' $ac_executable_extensions; do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_cv_prog_DSYMUTIL_FOR_TARGET="${ncn_progname}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++IFS=$as_save_IFS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++DSYMUTIL_FOR_TARGET=$ac_cv_prog_DSYMUTIL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -n "$DSYMUTIL_FOR_TARGET"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL_FOR_TARGET" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "$DSYMUTIL_FOR_TARGET" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "no" >&6; }
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ test -n "$ac_cv_prog_DSYMUTIL_FOR_TARGET" && break
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ done
</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;'>++if test -z "$ac_cv_prog_DSYMUTIL_FOR_TARGET" ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set dummy dsymutil
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test $build = $target ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DSYMUTIL_FOR_TARGET="$2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DSYMUTIL_FOR_TARGET="${ncn_target_tool_prefix}$2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DSYMUTIL_FOR_TARGET="$ac_cv_prog_DSYMUTIL_FOR_TARGET"
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DSYMUTIL_FOR_TARGET=$ac_cv_path_DSYMUTIL_FOR_TARGET
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test -z "$ac_cv_path_LD_FOR_TARGET" ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test -n "$with_build_time_tools"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld in $with_build_time_tools" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -14733,6 +15115,37 @@ $as_echo "pre-installed" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</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;'>++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the target dsymutil" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo_n "checking where to find the target dsymutil... " >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "x${build}" != "x${host}" ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if expr "x$DSYMUTIL_FOR_TARGET" : "x/" > /dev/null; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # We already found the complete path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_dir=`dirname $DSYMUTIL_FOR_TARGET`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed in $ac_dir" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "pre-installed in $ac_dir" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Canadian cross, just use what we found
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "pre-installed" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if expr "x$DSYMUTIL_FOR_TARGET" : "x/" > /dev/null; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # We already found the complete path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_dir=`dirname $DSYMUTIL_FOR_TARGET`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed in $ac_dir" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "pre-installed in $ac_dir" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ elif test "x$target" = "x$host"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # We can use an host tool
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DSYMUTIL_FOR_TARGET='$(DSYMUTIL)'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: host tool" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "host tool" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # We need a cross tool
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "pre-installed" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</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;'>+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the target gcc" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $as_echo_n "checking where to find the target gcc... " >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "x${build}" != "x${host}" ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git configure.ac configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 115db3f402a..a67a2c63cea 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1350,6 +1350,7 @@ if test "${build}" != "${host}" ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AS_FOR_BUILD=${AS_FOR_BUILD-as}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CXX_FOR_BUILD=${CXX_FOR_BUILD-g++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DSYMUTIL_FOR_BUILD=${DSYMUTIL_FOR_BUILD-dsymutil}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GOC_FOR_BUILD=${GOC_FOR_BUILD-gccgo}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GDC_FOR_BUILD=${GDC_FOR_BUILD-gdc}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1364,6 +1365,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AS_FOR_BUILD="\$(AS)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CC_FOR_BUILD="\$(CC)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CXX_FOR_BUILD="\$(CXX)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DSYMUTIL_FOR_BUILD="\$(DSYMUTIL)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GFORTRAN_FOR_BUILD="\$(GFORTRAN)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GOC_FOR_BUILD="\$(GOC)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GDC_FOR_BUILD="\$(GDC)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3378,6 +3380,7 @@ AC_SUBST(CFLAGS_FOR_BUILD)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_SUBST(CXXFLAGS_FOR_BUILD)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_SUBST(CXX_FOR_BUILD)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_SUBST(DLLTOOL_FOR_BUILD)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++AC_SUBST(DSYMUTIL_FOR_BUILD)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_SUBST(GFORTRAN_FOR_BUILD)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_SUBST(GOC_FOR_BUILD)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_SUBST(GDC_FOR_BUILD)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3457,6 +3460,7 @@ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NCN_STRICT_CHECK_TOOLS(AR, ar)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NCN_STRICT_CHECK_TOOLS(AS, as)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NCN_STRICT_CHECK_TOOLS(DLLTOOL, dlltool)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++NCN_STRICT_CHECK_TOOLS(DSYMUTIL, dsymutil)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NCN_STRICT_CHECK_TOOLS(LD, ld)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NCN_STRICT_CHECK_TOOLS(LIPO, lipo)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NCN_STRICT_CHECK_TOOLS(NM, nm)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3496,6 +3500,7 @@ NCN_STRICT_CHECK_TARGET_TOOLS(GDC_FOR_TARGET, gdc)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ACX_CHECK_INSTALLED_TARGET_TOOL(AR_FOR_TARGET, ar)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ACX_CHECK_INSTALLED_TARGET_TOOL(AS_FOR_TARGET, as)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ACX_CHECK_INSTALLED_TARGET_TOOL(DLLTOOL_FOR_TARGET, dlltool)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ACX_CHECK_INSTALLED_TARGET_TOOL(DSYMUTIL_FOR_TARGET, dsymutil)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ACX_CHECK_INSTALLED_TARGET_TOOL(LD_FOR_TARGET, ld)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ACX_CHECK_INSTALLED_TARGET_TOOL(LIPO_FOR_TARGET, lipo)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ACX_CHECK_INSTALLED_TARGET_TOOL(NM_FOR_TARGET, nm)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3521,6 +3526,7 @@ GCC_TARGET_TOOL(c++ for libstdc++, RAW_CXX_FOR_TARGET, CXX,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [gcc/xgcc -shared-libgcc -B$$r/$(HOST_SUBDIR)/gcc -nostdinc++ -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ c++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GCC_TARGET_TOOL(dlltool, DLLTOOL_FOR_TARGET, DLLTOOL, [binutils/dlltool])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++GCC_TARGET_TOOL(dsymutil, DSYMUTIL_FOR_TARGET, DSYMUTIL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GCC_TARGET_TOOL(gcc, GCC_FOR_TARGET, , [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GCC_TARGET_TOOL(gfortran, GFORTRAN_FOR_TARGET, GFORTRAN,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc/], fortran)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/collect2.c gcc/collect2.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f8a5ce45994..8260863c04e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/collect2.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/collect2.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3005,15 +3005,50 @@ process_args (int *argcp, char **argv) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ do_dsymutil (const char *output_file) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- const char *dsymutil = DSYMUTIL + 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ const char *dsymutil = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct pex_obj *pex;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- char **real_argv = XCNEWVEC (char *, 3);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ char **real_argv = XCNEWVEC (char *, verbose ? 4 : 3);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const char ** argv = CONST_CAST2 (const char **, char **,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ real_argv);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* For cross-builds search the PATH using target-qualified name if we
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ have not already found a suitable dsymutil. In practice, all modern
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ versions of dsymutil handle all supported archs, however the approach
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ here is consistent with the way other installations work (and one can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ always symlink a multitarget dsymutil with a target-specific name). */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ const char *dsname = "dsymutil";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef CROSS_DIRECTORY_STRUCTURE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ const char *qname = concat (target_machine, "-", dsname, NULL);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ const char *qname = dsname;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef DEFAULT_DSYMUTIL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Configured default takes priority. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (dsymutil == 0 && access (DEFAULT_DSYMUTIL, X_OK) == 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil = DEFAULT_DSYMUTIL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (dsymutil == 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef DSYMUTIL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Followed by one supplied in the target header, somewhat like the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ REAL_XX_NAME used elsewhere. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil = find_a_file (&cpath, DSYMUTIL, X_OK);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (dsymutil == 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil = find_a_file (&path, DSYMUTIL, X_OK);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (dsymutil == 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil = find_a_file (&cpath, dsname, X_OK);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (dsymutil == 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil = find_a_file (&path, qname, X_OK);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ argv[0] = dsymutil;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ argv[1] = output_file;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- argv[2] = (char *) 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (verbose)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ argv[2] = "-v";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ argv[3] = (char *) 0;
</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;'>++ argv[2] = (char *) 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pex = collect_execute (dsymutil, real_argv, NULL, NULL,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PEX_LAST | PEX_SEARCH, false);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config.in gcc/config.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 364eba47737..758eff4f709 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -55,6 +55,12 @@
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Define to enable the use of a default debug linker. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef DEFAULT_DSYMUTIL
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to enable the use of a default linker. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef DEFAULT_LINKER
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -94,6 +100,12 @@
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Define to the dsymutil version. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef DSYMUTIL_VERSION
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define 0/1 if static analyzer feature is enabled. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef ENABLE_ANALYZER
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/darwin.h gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 02b04c8457b..4153bbee1aa 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -240,8 +240,6 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DARWIN_NOCOMPACT_UNWIND \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "}}}}}}} %<pie %<no-pie %<rdynamic "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define DSYMUTIL "\ndsymutil"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Spec that controls whether the debug linker is run automatically for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ a link step. This needs to be done if there is a source file on the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ command line which will result in a temporary object (and debug is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/configure gcc/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 8fe9c91fd7c..347ea8aee8c 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -719,6 +719,8 @@ thin_archive_support
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ld_soname_option
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ld_version_script_option
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc_visibility
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ORIGINAL_DSYMUTIL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++gcc_cv_dsymutil
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc_cv_otool
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc_cv_readelf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc_cv_objdump
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -938,6 +940,7 @@ enable_generated_files_in_srcdir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_gnu_ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_demangler_in_ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++with_dsymutil
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_gnu_as
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_as
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_largefile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1791,6 +1794,8 @@ Optional Packages:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --with-gnu-ld arrange to work with GNU ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --with-ld arrange to use the specified ld (full pathname)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --with-demangler-in-ld try to use demangler in GNU ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ --with-dsymutil arrange to use the specified dsymutil (full
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pathname)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --with-gnu-as arrange to work with GNU as
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --with-as arrange to use the specified as (full pathname)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --with-stabs arrange to use stabs instead of host debug format
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3765,8 +3770,14 @@ fi
</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;'>+ case $target in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- *darwin*) ld64_flag=yes;; # Darwin can only use a ld64-compatible linker.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- *) ld64_flag=no;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ld64_flag=yes # Darwin can only use a ld64-compatible linker.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_flag=yes # Darwin uses dsymutil to link debug.
</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;'>++ ld64_flag=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_flag=no
</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;'>+ # With pre-defined ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3816,6 +3827,40 @@ else
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Allow the user to specify a dsymutil executable (used on Darwin only, so far)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Check whether --with-dsymutil was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${with_dsymutil+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ withval=$with_dsymutil; DEFAULT_DSYMUTIL="$with_dsymutil"
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++dsymutil_vers=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test x"${DEFAULT_DSYMUTIL+set}" = x"set"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test ! -x "$DEFAULT_DSYMUTIL"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "cannot execute: $DEFAULT_DSYMUTIL: check --with-dsymutil or env. var. DEFAULT_DSYMUTIL" "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if dsymutil_vers=`$DEFAULT_DSYMUTIL -v /dev/null 2>&1`; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_flag=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</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;'>++cat >>confdefs.h <<_ACEOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define DEFAULT_DSYMUTIL "$DEFAULT_DSYMUTIL"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++_ACEOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</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;'>++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a default dsymutil was specified" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo_n "checking whether a default dsymutil was specified... " >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test x"${DEFAULT_DSYMUTIL+set}" = x"set"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes ($DEFAULT_DSYMUTIL)" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "yes ($DEFAULT_DSYMUTIL)" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "no" >&6; }
</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;'>+ # ----------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Find default assembler
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # ----------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19022,7 +19067,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 19025 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 19070 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19128,7 +19173,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 19131 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 19176 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -23036,6 +23081,71 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $as_echo "$gcc_cv_otool" >&6; }
</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;'>++# Figure out the dsymutil we will use.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ${gcc_cv_dsymutil+:} false; then :
</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;'>++if test -x "$DEFAULT_DSYMUTIL"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gcc_cv_dsymutil="$DEFAULT_DSYMUTIL"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++elif test -x dsymutil$build_exeext; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gcc_cv_dsymutil=./dsymutil$build_exeext
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++elif ( set dummy $DSYMUTIL_FOR_TARGET; test -x $2 ); then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gcc_cv_dsymutil=$DSYMUTIL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++elif ( set dummy $DSYMUTIL; test -x $2 ); then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gcc_cv_dsymutil=$DSYMUTIL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Extract the first word of "$DSYMUTIL_FOR_TARGET", so it can be a program name with args.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set dummy $DSYMUTIL_FOR_TARGET; ac_word=$2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo_n "checking for $ac_word... " >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ${ac_cv_path_gcc_cv_dsymutil+:} false; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $as_echo_n "(cached) " >&6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case $gcc_cv_dsymutil in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ [\\/]* | ?:[\\/]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_cv_path_gcc_cv_dsymutil="$gcc_cv_dsymutil" # Let the user override the test with a path.
</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_save_IFS=$IFS; IFS=$PATH_SEPARATOR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++for as_dir in $PATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ IFS=$as_save_IFS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ test -z "$as_dir" && as_dir=.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for ac_exec_ext in '' $ac_executable_extensions; do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_cv_path_gcc_cv_dsymutil="$as_dir/$ac_word$ac_exec_ext"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++IFS=$as_save_IFS
</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;'>++gcc_cv_dsymutil=$ac_cv_path_gcc_cv_dsymutil
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -n "$gcc_cv_dsymutil"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_dsymutil" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "$gcc_cv_dsymutil" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "no" >&6; }
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</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;'>++ORIGINAL_DSYMUTIL_FOR_TARGET=$gcc_cv_dsymutil
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++case "$ORIGINAL_DSYMUTIL_FOR_TARGET" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ./dsymutil | ./dsymutil$build_exeext) ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *) ac_config_files="$ac_config_files dsymutil:exec-tool.in"
</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;'>+ # Figure out what assembler alignment features are present.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler flags" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $as_echo_n "checking assembler flags... " >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -29241,6 +29351,52 @@ _ACEOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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;'>++if test x"$dsymutil_flag" = x"yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # If the user specified a dsymutil path, then we will already have the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # version string, otherwise, pick it up.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test x"$gcc_cv_dsymutil" = x; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: dsymutil is a required tool for this system, but not found" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "$as_me: WARNING: dsymutil is a required tool for this system, but not found" >&2;}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_vers="tool unspecified"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ elif test x"$dsymutil_vers" = x; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_vers=`$gcc_cv_dsymutil -v /dev/null 2>&1`
</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;'>++ dsymutil_temp=`echo $dsymutil_vers | sed 1q`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking dsymutil version \"$dsymutil_temp\"" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo_n "checking dsymutil version \"$dsymutil_temp\"... " >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if echo $dsymutil_temp | grep dwarfutils- > /dev/null; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_kind=DWARFUTILS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_vers=`echo $dsymutil_temp | sed 's/.*dwarfutils-\([0-9\.]*\).*/\1/'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ elif echo $dsymutil_temp | grep clang- > /dev/null; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_kind=CLANG
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_vers=`echo $dsymutil_temp | sed 's/.*clang-\([0-9\.]*\).*/\1/'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ elif echo $dsymutil_temp | grep 'LLVM version ' > /dev/null; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_kind=LLVM
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_vers=`echo $dsymutil_temp | sed 's/.*LLVM\ version\ \([0-9\.]*\).*/\1/'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_kind=UNKNOWN
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_vers="0.0"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_major=`expr "$dsymutil_vers" : '\([0-9]*\)'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_minor=`expr "$dsymutil_vers" : '[0-9]*\.\([0-9]*\)'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_tiny=`expr "$dsymutil_vers" : '[0-9]*\.[0-9]*\.\([0-9]*\)'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test x"${dsymutil_minor}" = x; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_minor=0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test x"${dsymutil_tiny}" = x; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_tiny=0
</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;'>++cat >>confdefs.h <<_ACEOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define DSYMUTIL_VERSION $dsymutil_kind,${dsymutil_major},${dsymutil_minor},${dsymutil_tiny}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++_ACEOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dsymutil_vers : $dsymutil_kind ${dsymutil_major} ${dsymutil_minor} ${dsymutil_tiny} " >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "$dsymutil_vers : $dsymutil_kind ${dsymutil_major} ${dsymutil_minor} ${dsymutil_tiny} " >&6; }
</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;'>+ # --------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # UNSORTED
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # --------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -31541,6 +31697,7 @@ do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "as") CONFIG_FILES="$CONFIG_FILES as:exec-tool.in" ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "collect-ld") CONFIG_FILES="$CONFIG_FILES collect-ld:exec-tool.in" ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "nm") CONFIG_FILES="$CONFIG_FILES nm:exec-tool.in" ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "dsymutil") CONFIG_FILES="$CONFIG_FILES dsymutil:exec-tool.in" ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "clearcap.map") CONFIG_LINKS="$CONFIG_LINKS clearcap.map:${srcdir}/config/$clearcap_map" ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "$all_outputs") CONFIG_FILES="$CONFIG_FILES $all_outputs" ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -32175,6 +32332,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "as":F) chmod +x as ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "collect-ld":F) chmod +x collect-ld ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "nm":F) chmod +x nm ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "dsymutil":F) chmod +x dsymutil ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "default":C)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case ${CONFIG_HEADERS} in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *auto-host.h:config.in*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/configure.ac gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 84dceb8074a..b1487895f18 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -274,8 +274,14 @@ gnu_ld_flag="$with_gnu_ld",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gnu_ld_flag=no)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case $target in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- *darwin*) ld64_flag=yes;; # Darwin can only use a ld64-compatible linker.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- *) ld64_flag=no;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ld64_flag=yes # Darwin can only use a ld64-compatible linker.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_flag=yes # Darwin uses dsymutil to link debug.
</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;'>++ ld64_flag=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_flag=no
</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;'>+ # With pre-defined ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -311,6 +317,31 @@ AC_ARG_WITH(demangler-in-ld,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ demangler_in_ld="$with_demangler_in_ld",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ demangler_in_ld=yes)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Allow the user to specify a dsymutil executable (used on Darwin only, so far)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++AC_ARG_WITH(dsymutil,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++[AS_HELP_STRING([--with-dsymutil], [arrange to use the specified dsymutil (full pathname)])],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++DEFAULT_DSYMUTIL="$with_dsymutil")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++dsymutil_vers=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test x"${DEFAULT_DSYMUTIL+set}" = x"set"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test ! -x "$DEFAULT_DSYMUTIL"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ AC_MSG_ERROR([cannot execute: $DEFAULT_DSYMUTIL: check --with-dsymutil or env. var. DEFAULT_DSYMUTIL])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if dsymutil_vers=`$DEFAULT_DSYMUTIL -v /dev/null 2>&1`; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_flag=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ AC_DEFINE_UNQUOTED(DEFAULT_DSYMUTIL,"$DEFAULT_DSYMUTIL",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ [Define to enable the use of a default debug linker.])
</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;'>++AC_MSG_CHECKING([whether a default dsymutil was specified])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test x"${DEFAULT_DSYMUTIL+set}" = x"set"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ AC_MSG_RESULT([yes ($DEFAULT_DSYMUTIL)])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ AC_MSG_RESULT(no)
</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;'>+ # ----------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Find default assembler
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # ----------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2714,6 +2745,27 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_MSG_RESULT($gcc_cv_otool)
</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;'>++# Figure out the dsymutil we will use.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++AS_VAR_SET_IF(gcc_cv_dsymutil,, [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -x "$DEFAULT_DSYMUTIL"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gcc_cv_dsymutil="$DEFAULT_DSYMUTIL"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++elif test -x dsymutil$build_exeext; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gcc_cv_dsymutil=./dsymutil$build_exeext
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++elif ( set dummy $DSYMUTIL_FOR_TARGET; test -x $[2] ); then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gcc_cv_dsymutil=$DSYMUTIL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++elif ( set dummy $DSYMUTIL; test -x $[2] ); then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gcc_cv_dsymutil=$DSYMUTIL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ AC_PATH_PROG(gcc_cv_dsymutil, $DSYMUTIL_FOR_TARGET)
</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;'>++ORIGINAL_DSYMUTIL_FOR_TARGET=$gcc_cv_dsymutil
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++AC_SUBST(ORIGINAL_DSYMUTIL_FOR_TARGET)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++case "$ORIGINAL_DSYMUTIL_FOR_TARGET" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ./dsymutil | ./dsymutil$build_exeext) ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *) AC_CONFIG_FILES(dsymutil:exec-tool.in, [chmod +x dsymutil]) ;;
</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;'>+ # Figure out what assembler alignment features are present.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc_GAS_CHECK_FEATURE([.balign and .p2align], gcc_cv_as_balign_and_p2align,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [2,6,0],,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5740,6 +5792,46 @@ if test x"$ld64_flag" = x"yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [Define to 1 if ld64 supports '-export_dynamic'.])
</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;'>++if test x"$dsymutil_flag" = x"yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # If the user specified a dsymutil path, then we will already have the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # version string, otherwise, pick it up.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test x"$gcc_cv_dsymutil" = x; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ AC_MSG_WARN([dsymutil is a required tool for this system, but not found])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_vers="tool unspecified"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ elif test x"$dsymutil_vers" = x; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_vers=`$gcc_cv_dsymutil -v /dev/null 2>&1`
</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;'>++ dsymutil_temp=`echo $dsymutil_vers | sed 1q`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ AC_MSG_CHECKING(dsymutil version "$dsymutil_temp")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if echo $dsymutil_temp | grep dwarfutils- > /dev/null; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_kind=DWARFUTILS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_vers=`echo $dsymutil_temp | sed 's/.*dwarfutils-\([[0-9\.]]*\).*/\1/'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ elif echo $dsymutil_temp | grep clang- > /dev/null; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_kind=CLANG
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_vers=`echo $dsymutil_temp | sed 's/.*clang-\([[0-9\.]]*\).*/\1/'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ elif echo $dsymutil_temp | grep 'LLVM version ' > /dev/null; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_kind=LLVM
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_vers=`echo $dsymutil_temp | sed 's/.*LLVM\ version\ \([[0-9\.]]*\).*/\1/'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_kind=UNKNOWN
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_vers="0.0"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_major=`expr "$dsymutil_vers" : '\([[0-9]]*\)'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_minor=`expr "$dsymutil_vers" : '[[0-9]]*\.\([[0-9]]*\)'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_tiny=`expr "$dsymutil_vers" : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test x"${dsymutil_minor}" = x; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_minor=0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test x"${dsymutil_tiny}" = x; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil_tiny=0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ AC_DEFINE_UNQUOTED(DSYMUTIL_VERSION, [$dsymutil_kind,${dsymutil_major},${dsymutil_minor},${dsymutil_tiny}],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ [Define to the dsymutil version.])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ AC_MSG_RESULT($dsymutil_vers : $dsymutil_kind ${dsymutil_major} ${dsymutil_minor} ${dsymutil_tiny} )
</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;'>+ # --------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # UNSORTED
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # --------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/exec-tool.in gcc/exec-tool.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 45530848296..2c04269bf67 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/exec-tool.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/exec-tool.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -25,6 +25,7 @@ ORIGINAL_LD_BFD_FOR_TARGET="@ORIGINAL_LD_BFD_FOR_TARGET@"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ORIGINAL_LD_GOLD_FOR_TARGET="@ORIGINAL_LD_GOLD_FOR_TARGET@"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ORIGINAL_PLUGIN_LD_FOR_TARGET="@ORIGINAL_PLUGIN_LD_FOR_TARGET@"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ORIGINAL_NM_FOR_TARGET="@ORIGINAL_NM_FOR_TARGET@"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ORIGINAL_DSYMUTIL_FOR_TARGET="@ORIGINAL_DSYMUTIL_FOR_TARGET@"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exeext=@host_exeext@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fast_install=@enable_fast_install@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ objdir=@objdir@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -71,6 +72,13 @@ case "$invoked" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ prog=nm-new$exeext
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dir=binutils
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dsymutil)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ original=$ORIGINAL_DSYMUTIL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # We do not build this in tree - but still want to be able to execute
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # a configured version from the build dir.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ prog=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dir=
</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;'>+ case "$original" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/gcc.c gcc/gcc.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 9f790db0daf..6d0f8570ab5 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/gcc.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/gcc.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2864,6 +2864,11 @@ find_a_file (const struct path_prefix *pprefix, const char *name, int mode,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return xstrdup (DEFAULT_LINKER);
</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 DEFAULT_DSYMUTIL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (! strcmp (name, "dsymutil") && access (DEFAULT_DSYMUTIL, mode) == 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return xstrdup (DEFAULT_DSYMUTIL);
</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;'>+ /* Determine the filename to execute (special case for absolute paths). */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (IS_ABSOLUTE_PATH (name))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0002-Driver-Provide-a-spec-to-insert-rpaths-for-compiler-.patch b/lang/gcc10-bootstrap/files/0002-Driver-Provide-a-spec-to-insert-rpaths-for-compiler-.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..9ab72fa5f7a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0002-Driver-Provide-a-spec-to-insert-rpaths-for-compiler-.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,126 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 7a2b9a12bafb2dbf5701d34a7d5b4dfdd70cec20 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@codesourcery.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Thu, 20 Dec 2018 09:00:38 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Driver: Provide a spec to insert rpaths for compiler lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dirs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This provides a spec to insert "-rpath DDD" for each DDD corresponding
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+to a compiler startfile directory. This allows a target to use @rpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+as the install path for libraries, and have the compiler provide the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+necessary rpath to handle this.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/darwin.h (LINK_COMMAND_SPEC_A): Add handling for rpath.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (DARWIN_RPATH_SPEC): New.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * gcc.c (do_spec_1): Provide '%P' as a spec to insert rpaths for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ each compiler startfile path.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/darwin.h | 19 +++++++++++++++----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/gcc.c | 18 ++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 33 insertions(+), 4 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/darwin.h gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 4153bbee1aa..a2220dc77bb 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -238,6 +238,7 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DARWIN_NOPIE_SPEC \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DARWIN_RDYNAMIC \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DARWIN_NOCOMPACT_UNWIND \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "%{!r:%{!nostdlib:%{!rpath:%(darwin_rpaths)}}}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "}}}}}}} %<pie %<no-pie %<rdynamic "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Spec that controls whether the debug linker is run automatically for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -305,7 +306,7 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %{Zbundle_loader*:-bundle_loader %*} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %{client_name*} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %{compatibility_version*:%e-compatibility_version only allowed with -dynamiclib\
</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;'>+ %{current_version*:%e-current_version only allowed with -dynamiclib} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %{Zforce_flat_namespace:-force_flat_namespace} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %{Zinstall_name*:%e-install_name only allowed with -dynamiclib} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -368,7 +369,6 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %{whatsloaded} %{dylinker_install_name*} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %{dylinker} "
</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;'>+ /* Machine dependent libraries. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define LIB_SPEC "%{!static:-lSystem}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -416,7 +416,7 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %{!object:%{preload:-lgcrt0.o} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %{!preload:-lgcrt1.o \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %:version-compare(>= 10.8 mmacosx-version-min= -no_new_main) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %(darwin_crt2)}}}} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ %(darwin_crt2)}}}} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %{!pg:%{static:-lcrt0.o} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %{!static:%{object:-lcrt0.o} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %{!object:%{preload:-lcrt0.o} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -426,6 +426,7 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* We want a destructor last in the list. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TM_DESTRUCTOR "%{fgnu-tm: -lcrttme.o}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define ENDFILE_SPEC TM_DESTRUCTOR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define DARWIN_EXTRA_SPECS \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -433,7 +434,8 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { "darwin_crt2", DARWIN_CRT2_SPEC }, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { "darwin_crt3", DARWIN_CRT3_SPEC }, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { "darwin_dylib1", DARWIN_DYLIB1_SPEC }, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- { "darwin_bundle1", DARWIN_BUNDLE1_SPEC },
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { "darwin_bundle1", DARWIN_BUNDLE1_SPEC }, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { "darwin_rpaths", DARWIN_RPATH_SPEC },
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define DARWIN_CRT1_SPEC \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "%:version-compare(!> 10.5 mmacosx-version-min= -lcrt1.o) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -459,6 +461,15 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "%{!static:%:version-compare(< 10.6 mmacosx-version-min= -lbundle1.o) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %{fgnu-tm: -lcrttms.o}}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* FIXME: it would be great to have a version-compare that accepts multiple
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ arguments. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define DARWIN_RPATH_SPEC \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "%:version-compare(>= 10.5 mmacosx-version-min= -rpath) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ %:version-compare(>= 10.5 mmacosx-version-min= @loader_path/.) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ %:version-compare(>= 10.5 mmacosx-version-min= -rpath) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ %:version-compare(>= 10.5 mmacosx-version-min= @loader_path/../lib) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ %P "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef HAVE_AS_MMACOSX_VERSION_MIN_OPTION
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Emit macosx version (but only major). */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define ASM_MMACOSX_VERSION_MIN_SPEC \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/gcc.c gcc/gcc.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6d0f8570ab5..bb68eb97603 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/gcc.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/gcc.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5414,6 +5414,24 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case 'P':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ struct spec_path_info info;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ info.option = "-rpath";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ info.append_len = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef RELATIVE_PREFIX_NOT_LINKDIR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* See comment above. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ info.omit_relative = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ info.omit_relative = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ info.separate_options = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for_each_path (&startfile_prefixes, true, 0, spec_path, &info);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case 'e':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* %efoo means report an error with `foo' as error message
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ and don't execute any more commands for this file. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0003-Darwin-Handle-rpaths-given-on-the-command-line.patch b/lang/gcc10-bootstrap/files/0003-Darwin-Handle-rpaths-given-on-the-command-line.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..f3130d13e66
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0003-Darwin-Handle-rpaths-given-on-the-command-line.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,133 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 1659e66540a3d967502d0eebcec6dcd97970c852 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 28 Mar 2021 14:48:17 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin : Handle rpaths given on the command line.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+We want to produce a situation where a default rpath can be added
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+to each executable (or dylib), but that can be overridden by any
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+specific rpath provided by the user.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config.gcc: Include rpath.opt/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/darwin-driver.c (darwin_driver_init): Detect cases
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ where the user has added rpaths via a -Wl or -Xlinker command
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ and suppress default rpaths in that case.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/darwin.h (DRIVER_SELF_SPECS): Handle -rpath.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (DARWIN_RPATH_SPEC): Adjust.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/darwin.opt: Add nodefaultrpath option.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config.gcc | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/darwin-driver.c | 18 ++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/darwin.h | 11 +++++------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/darwin.opt | 4 ++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 4 files changed, 28 insertions(+), 7 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config.gcc gcc/config.gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6fcdd771d4c..081aba3bf06 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config.gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config.gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -722,7 +722,7 @@ case ${target} in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tm_file="${tm_file} ${cpu_type}/darwin.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tm_p_file="${tm_p_file} darwin-protos.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ target_gtfiles="$target_gtfiles \$(srcdir)/config/darwin.c"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- extra_options="${extra_options} darwin.opt"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ extra_options="${extra_options} rpath.opt darwin.opt"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ c_target_objs="${c_target_objs} darwin-c.o"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cxx_target_objs="${cxx_target_objs} darwin-c.o"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fortran_target_objs="darwin-f.o"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/darwin-driver.c gcc/config/darwin-driver.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f00d5a02d1d..4698a845da5 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/darwin-driver.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/darwin-driver.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -284,6 +284,7 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const char *vers_string = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool seen_version_min = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool seen_sysroot_p = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ bool seen_rpath_p = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for (i = 1; i < *decoded_options_count; i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -369,6 +370,13 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ seen_sysroot_p = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case OPT_Xlinker:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case OPT_Wl_:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gcc_checking_assert ((*decoded_options)[i].arg);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (strncmp ((*decoded_options)[i].arg, "-rpath", 6) == 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ seen_rpath_p = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ default:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -486,4 +494,14 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ &(*decoded_options)[*decoded_options_count - 1]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (seen_rpath_p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ++*decoded_options_count;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *decoded_options = XRESIZEVEC (struct cl_decoded_option,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *decoded_options,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *decoded_options_count);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ generate_option (OPT_nodefaultrpath, NULL, 1, CL_DRIVER,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ &(*decoded_options)[*decoded_options_count - 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;'>+diff --git gcc/config/darwin.h gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a2220dc77bb..2128554eaa3 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -132,6 +132,7 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "%{gsplit-dwarf:%ngsplit-dwarf is not supported on this platform} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %<gsplit-dwarf", \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "%{gused:-g -feliminate-unused-debug-symbols} %<gused", \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"%{rpath*: -Xlinker -rpath -Xlinker %*}", \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "%{shared:-Zdynamiclib} %<shared", \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "%{static:%{Zdynamic:%e conflicting code gen style switches are used}}",\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "%{y*:%nthe y option is obsolete and ignored} %<y*", \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -238,8 +239,8 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DARWIN_NOPIE_SPEC \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DARWIN_RDYNAMIC \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DARWIN_NOCOMPACT_UNWIND \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "%{!r:%{!nostdlib:%{!rpath:%(darwin_rpaths)}}}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "}}}}}}} %<pie %<no-pie %<rdynamic "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "%{!r:%{!nostdlib:%{!rpath:%{!nodefaultrpath:%(darwin_rpaths)}}}} " \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "}}}}}}} %<pie %<no-pie %<rdynamic %<rpath "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Spec that controls whether the debug linker is run automatically for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ a link step. This needs to be done if there is a source file on the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -464,10 +465,8 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* FIXME: it would be great to have a version-compare that accepts multiple
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ arguments. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define DARWIN_RPATH_SPEC \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "%:version-compare(>= 10.5 mmacosx-version-min= -rpath) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(>= 10.5 mmacosx-version-min= @loader_path/.) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(>= 10.5 mmacosx-version-min= -rpath) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(>= 10.5 mmacosx-version-min= @loader_path/../lib) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "%:version-compare(>= 10.5 mmacosx-version-min= -rpath) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ %:version-compare(>= 10.5 mmacosx-version-min= @loader_path) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %P "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef HAVE_AS_MMACOSX_VERSION_MIN_OPTION
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/darwin.opt gcc/config/darwin.opt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 5b75536378d..07981053f54 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/darwin.opt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/darwin.opt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -232,6 +232,10 @@ no_dead_strip_inits_and_terms
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Driver RejectNegative Alias(Zno_dead_strip_inits_and_terms)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (Obsolete) Current linkers never dead-strip these items, so the option is not needed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++nodefaultrpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Driver RejectNegative
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Do not add a default rpath to executables, modules or dynamic libraries.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ nofixprebinding
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Driver RejectNegative
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (Obsolete after 10.3.9) Set MH_NOPREFIXBINDING, in an executable.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0004-Darwin-Allow-for-configuring-Darwin-to-use-embedded-.patch b/lang/gcc10-bootstrap/files/0004-Darwin-Allow-for-configuring-Darwin-to-use-embedded-.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..8202ac6b00f
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0004-Darwin-Allow-for-configuring-Darwin-to-use-embedded-.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,5997 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From ad7d5054efc357e3d8d090a2e490dd7c7ad8b07e Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@codesourcery.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Tue, 18 Dec 2018 13:00:04 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin : Allow for configuring Darwin to use embedded
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ runpath.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Recent Darwin versions place contraints on the use of run paths
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+specified in environment variables. This breaks some assumptions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+in the GCC build.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This change allows the user to configure a Darwin build to use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+'@rpath/libraryname.dylib' in library names and then to add an
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+embedded runpath to executables (and libraries with dependents).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The embedded runpath is added by default unless:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+1. the user adds an explicit -rpath / -Wl,-rpath,....
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2. the user adds '-nodefaultrpath'.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+For an installed compiler, it means that any executable built with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+that compiler will reference the runtimes installed with the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler (equivalent to hard-coding the library path into the name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+of the library).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+During build-time configurations any "-B" entries will be added to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the runpath thus the newly-built libraries will be found by exes.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Since the install name is set in libtool, that decision needs to be
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+available here (but might also cause dependent ones in Makefiles,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+so we need to export a conditional).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This facility is not available for Darwin 8 or earlier, however the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+existing environment variable runpath does work there.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+We default this on for systems where the external DYLD_LIBRARY_PATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+does not work and off for Darwin 8 or earlier. For systems that can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use either method, if the value is unset, we use the default (which
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+is currently DYLD_LIBRARY_PATH).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure.ac: Do not add default runpaths to GCC exes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ when we are building -static-libstdc++/-static-libgcc (the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ default).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * libtool.m4: Add 'enable-darwin-at-runpath'. Act on the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable flag to alter Darwin libraries to use @rpath names.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure.ac: Append a define to tm_defines if we should
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ allow for rpaths in the linker command lines.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/darwin.h: Conditionalise the addition of default
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rpaths.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * aclocal.m4: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libatomic/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * testsuite/Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libcc1/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libffi/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libgcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/t-slibgcc-darwin: Generate libgcc_s
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with an @rpath name.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libgfortran/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure.ac: Handle Darwin rpaths
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libgomp/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libhsail-rt/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libitm/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libobjc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure.ac: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+liboffloadmic/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * plugin/Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * plugin/aclocal.m4: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * plugin/configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libphobos/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * libdruntime/Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * libdruntime/Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * src/Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * src/Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libquadmath/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure.ac: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libsanitizer/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * asan/Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * asan/Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * hwasan/Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * hwasan/Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * lsan/Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * lsan/Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * tsan/Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * tsan/Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * ubsan/Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * ubsan/Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libssp/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libstdc++-v3/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * src/Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * src/Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Darwin, libtool : Provide a mechanism to enable embedded rpaths.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+We need to be able to build libraries with install names that begin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+with @rpath so that we can use rpaths in DSOs that depend on
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+them. Since the install name is set in libtool, that decision needs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+to be available here (but might also cause dependent ones in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Makefiles, so we need to export a conditional).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure | 5 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.ac | 5 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fixincludes/config.h.in | 204 ---------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fixincludes/configure | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/aclocal.m4 | 50 +++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/darwin.h | 27 +++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/configure | 178 ++++++++++++++++++++++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/configure.ac | 21 +++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libatomic/Makefile.am | 6 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libatomic/Makefile.in | 5 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libatomic/configure | 80 ++++++++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libbacktrace/configure | 80 ++++++++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libcc1/Makefile.am | 9 ++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libcc1/Makefile.in | 12 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libcc1/configure | 157 +++++++++++++++++++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libffi/Makefile.am | 7 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libffi/Makefile.in | 6 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libffi/configure | 157 +++++++++++++++++++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config.host | 22 ++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/t-darwin-rpath | 5 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/t-slibgcc-darwin | 29 +---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgfortran/Makefile.am | 3 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgfortran/Makefile.in | 30 ++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgfortran/configure | 155 +++++++++++++++++++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgfortran/configure.ac | 4 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgomp/Makefile.am | 6 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgomp/Makefile.in | 3 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgomp/configure | 151 ++++++++++++++++++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libhsail-rt/configure | 157 +++++++++++++++++++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libitm/Makefile.am | 5 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libitm/Makefile.in | 3 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libitm/configure | 157 +++++++++++++++++++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libobjc/configure | 94 +++++++++++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libobjc/configure.ac | 14 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ liboffloadmic/configure | 187 +++++++++++++++++++++----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ liboffloadmic/plugin/Makefile.in | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ liboffloadmic/plugin/aclocal.m4 | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ liboffloadmic/plugin/configure | 187 +++++++++++++++++++++----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libphobos/configure | 151 ++++++++++++++++++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libphobos/libdruntime/Makefile.am | 5 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libphobos/libdruntime/Makefile.in | 3 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libphobos/src/Makefile.am | 5 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libphobos/src/Makefile.in | 3 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libquadmath/Makefile.am | 6 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libquadmath/Makefile.in | 4 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libquadmath/configure | 223 +++++++++++++++++++++++++++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libquadmath/configure.ac | 2 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libsanitizer/asan/Makefile.am | 6 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libsanitizer/asan/Makefile.in | 5 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libsanitizer/configure | 157 +++++++++++++++++++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libsanitizer/lsan/Makefile.am | 7 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libsanitizer/lsan/Makefile.in | 6 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libsanitizer/tsan/Makefile.am | 6 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libsanitizer/tsan/Makefile.in | 5 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libsanitizer/ubsan/Makefile.am | 6 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libsanitizer/ubsan/Makefile.in | 5 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libssp/Makefile.am | 5 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libssp/Makefile.in | 3 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libssp/configure | 80 ++++++++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libstdc++-v3/configure | 171 ++++++++++++++++++++---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libstdc++-v3/src/Makefile.am | 7 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libstdc++-v3/src/Makefile.in | 4 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libtool.m4 | 64 ++++++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libvtv/configure | 157 +++++++++++++++++++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ zlib/configure | 80 ++++++++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 65 files changed, 2897 insertions(+), 506 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create mode 100644 libgcc/config/t-darwin-rpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git configure configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 7b6ca31f5ed..750bc3f9967 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6043,6 +6043,11 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</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;'>++if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$host_shared" != "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ poststage1_ldflags="$poststage1_ldflags -nodefaultrpath"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # GCC GRAPHITE dependency isl.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git configure.ac configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a67a2c63cea..1ca98001081 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1776,6 +1776,11 @@ AC_ARG_WITH(boot-ldflags,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$poststage1_libs" = ""; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ poststage1_ldflags="-static-libstdc++ -static-libgcc"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi])
</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;'>++ if test "x$host_shared" != "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ poststage1_ldflags="$poststage1_ldflags -nodefaultrpath"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_SUBST(poststage1_ldflags)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # GCC GRAPHITE dependency isl.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git fixincludes/config.h.in fixincludes/config.h.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 3f6cf1e574e..69a67f5f116 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- fixincludes/config.h.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ fixincludes/config.h.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,397 +1,211 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* config.h.in. Generated from configure.ac by autoheader. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Defined to the executable file extension on the host system */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef EXE_EXT
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the `clearerr_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_CLEARERR_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the declaration of `abort', and to 0 if you don't.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_DECL_ABORT
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the declaration of `asprintf', and to 0 if you
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ don't. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_DECL_ASPRINTF
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the declaration of `basename(char *)', and to 0 if
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ you don't. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_DECL_BASENAME
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ you don't. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_DECL_CLEARERR_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the declaration of `errno', and to 0 if you don't.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_DECL_ERRNO
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ don't. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_DECL_FEOF_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ you don't. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_DECL_FERROR_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ you don't. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_DECL_FFLUSH_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the declaration of `fgetc_unlocked', and to 0 if
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ you don't. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_DECL_FGETC_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ you don't. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_DECL_FGETS_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the declaration of `fileno_unlocked', and to 0 if
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ you don't. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_DECL_FILENO_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the declaration of `fprintf_unlocked', and to 0 if
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ you don't. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_DECL_FPRINTF_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ you don't. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_DECL_FPUTC_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ you don't. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_DECL_FPUTS_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ you don't. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_DECL_FREAD_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ you don't. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_DECL_FWRITE_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ you don't. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_DECL_GETCHAR_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ don't. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_DECL_GETC_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ you don't. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_DECL_PUTCHAR_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ don't. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_DECL_PUTC_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the declaration of `vasprintf', and to 0 if you
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ don't. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_DECL_VASPRINTF
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the <fcntl.h> header file. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_FCNTL_H
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the `feof_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_FEOF_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the `ferror_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_FERROR_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the `fflush_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_FFLUSH_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the `fgetc_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_FGETC_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the `fgets_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_FGETS_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the `fileno_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_FILENO_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the `fprintf_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_FPRINTF_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the `fputc_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_FPUTC_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the `fputs_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_FPUTS_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the `fread_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_FREAD_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the `fwrite_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_FWRITE_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the `getchar_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_GETCHAR_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the `getc_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_GETC_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the <inttypes.h> header file. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_INTTYPES_H
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the <memory.h> header file. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_MEMORY_H
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define if mmap with MAP_ANON(YMOUS) works. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_MMAP_ANON
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define if mmap of /dev/zero works. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_MMAP_DEV_ZERO
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define if read-only mmap of a plain file works. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_MMAP_FILE
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the `putchar_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_PUTCHAR_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the `putc_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_PUTC_UNLOCKED
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the <stddef.h> header file. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_STDDEF_H
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the <stdint.h> header file. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_STDINT_H
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the <stdlib.h> header file. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_STDLIB_H
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the <strings.h> header file. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_STRINGS_H
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the <string.h> header file. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_STRING_H
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the <sys/file.h> header file. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_SYS_FILE_H
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the <sys/stat.h> header file. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_SYS_STAT_H
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the <sys/types.h> header file. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_SYS_TYPES_H
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the <unistd.h> header file. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_UNISTD_H
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to the address where bug reports for this package should be sent. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef PACKAGE_BUGREPORT
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to the full name of this package. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef PACKAGE_NAME
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to the full name and version of this package. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef PACKAGE_STRING
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to the one symbol short name of this package. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef PACKAGE_TARNAME
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to the home page for this package. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef PACKAGE_URL
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to the version of this package. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef PACKAGE_VERSION
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Defined to the best working sed program on the host system */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef SED_PROGRAM
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define if testing and fixing are done by separate process */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef SEPARATE_FIX_PROC
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the ANSI C header files. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef STDC_HEADERS
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Enable extensions on AIX 3, Interix. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifndef _ALL_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -416,38 +230,20 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if on MINIX. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef _MINIX
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 2 if the system does not provide POSIX.1 features except with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ this defined. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef _POSIX_1_SOURCE
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you need to in order for `stat' and other things to work. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef _POSIX_SOURCE
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to xatexit if the host system does not support atexit */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef atexit
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to empty if `const' does not conform to ANSI C. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef const
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to xexit if the host system does not support atexit */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef exit
</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;'>+diff --git fixincludes/configure fixincludes/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6e2d67b655b..b3bca666a4d 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- fixincludes/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ fixincludes/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2644,7 +2644,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # _LT_DARWIN_LINKER_FEATURES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # --------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Checks for linker and compiler features on darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Checks for linker and compiler features on Darwin / macOS / iOS
</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;'>+ # _LT_SYS_MODULE_PATH_AIX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/aclocal.m4 gcc/aclocal.m4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index e208071d236..404ceb976bc 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/aclocal.m4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/aclocal.m4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12,6 +12,56 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # PARTICULAR PURPOSE.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# AM_CONDITIONAL -*- Autoconf -*-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Copyright (C) 1997-2017 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# This file is free software; the Free Software Foundation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# gives unlimited permission to copy and/or distribute it,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# with or without modifications, as long as this notice is preserved.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# AM_CONDITIONAL(NAME, SHELL-CONDITION)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# -------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Define a conditional.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++AC_DEFUN([AM_CONDITIONAL],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++[AC_PREREQ([2.52])dnl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++AC_SUBST([$1_TRUE])dnl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++AC_SUBST([$1_FALSE])dnl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++_AM_SUBST_NOTMAKE([$1_TRUE])dnl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++_AM_SUBST_NOTMAKE([$1_FALSE])dnl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++m4_define([_AM_COND_VALUE_$1], [$2])dnl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if $2; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $1_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $1_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $1_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $1_FALSE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++AC_CONFIG_COMMANDS_PRE(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ AC_MSG_ERROR([[conditional "$1" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally.]])
</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;'>++# Copyright (C) 2006-2017 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# This file is free software; the Free Software Foundation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# gives unlimited permission to copy and/or distribute it,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# with or without modifications, as long as this notice is preserved.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# _AM_SUBST_NOTMAKE(VARIABLE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# ---------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# This macro is traced by Automake.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++AC_DEFUN([_AM_SUBST_NOTMAKE])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# AM_SUBST_NOTMAKE(VARIABLE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# --------------------------
</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([../libtool.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;'>+diff --git gcc/config/darwin.h gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 2128554eaa3..fec8dba7f0a 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -196,6 +196,14 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define DARWIN_NOCOMPACT_UNWIND \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ " %:version-compare(>= 10.6 mmacosx-version-min= -no_compact_unwind) "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* If we enabled default embedded rpaths, then add them. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef USE_DEFAULT_RPATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define DARWIN_DEFAULT_RPATH \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"%{!r:%{!nostdlib:%{!rpath:%{!nodefaultrpath:%(darwin_rpaths)}}}} "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define DARWIN_DEFAULT_RPATH "%<nodefaultrpath "
</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;'>+ /* In Darwin linker specs we can put -lcrt0.o and ld will search the library
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ path for crt0.o or -lcrtx.a and it will search for for libcrtx.a. As for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ other ports, we can also put xxx.{o,a}%s and get the appropriate complete
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -239,7 +247,7 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DARWIN_NOPIE_SPEC \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DARWIN_RDYNAMIC \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DARWIN_NOCOMPACT_UNWIND \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "%{!r:%{!nostdlib:%{!rpath:%{!nodefaultrpath:%(darwin_rpaths)}}}} " \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DARWIN_DEFAULT_RPATH \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "}}}}}}} %<pie %<no-pie %<rdynamic %<rpath "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Spec that controls whether the debug linker is run automatically for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -462,12 +470,15 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "%{!static:%:version-compare(< 10.6 mmacosx-version-min= -lbundle1.o) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %{fgnu-tm: -lcrttms.o}}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* FIXME: it would be great to have a version-compare that accepts multiple
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- arguments. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef USE_DEFAULT_RPATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Find dylibs in the same dir as the exe and in the compiler's lib dirs. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define DARWIN_RPATH_SPEC \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "%:version-compare(>= 10.5 mmacosx-version-min= -rpath) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %:version-compare(>= 10.5 mmacosx-version-min= @loader_path) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %P "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define DARWIN_RPATH_SPEC ""
</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_AS_MMACOSX_VERSION_MIN_OPTION
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Emit macosx version (but only major). */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1110,10 +1121,14 @@ extern void darwin_driver_init (unsigned int *,struct cl_decoded_option **);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ needed, and there is no need for the compiler to emit them. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define MIN_LD64_OMIT_STUBS "62.1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* If we have no definition for the linker version, pick the minimum version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ that will bootstrap the compiler. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifndef LD64_VERSION
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define LD64_VERSION "62.1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define DEF_LD64 LD64_VERSION
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# ifndef DEF_LD64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# define LD64_VERSION "85.2.1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# define LD64_VERSION DEF_LD64
</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;'>+ #endif /* CONFIG_DARWIN_H */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/configure gcc/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 347ea8aee8c..0b9a572bbd2 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -735,6 +735,8 @@ ORIGINAL_AS_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc_cv_as
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_fast_install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ objdir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -991,6 +993,7 @@ enable_static
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_pic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_fast_install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_gold
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_plugin_ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1721,6 +1724,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-ld[=ARG] build ld [ARG={default,yes,no}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-gold[=ARG] build gold [ARG={default,yes,no}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-gnu-indirect-function
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -17251,6 +17256,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -17268,10 +17323,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19067,7 +19131,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 19070 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 19134 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19173,7 +19237,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 19176 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 19240 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -20049,6 +20113,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc_CXX=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct_CXX=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic_CXX=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -20066,12 +20180,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds_CXX="\$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_dsymutil}"
</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;'>++ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 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}"
</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;'>+@@ -29351,6 +29478,27 @@ _ACEOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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;'>++# We cannot test this in config.gcc because that is included before
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# AC_PROG_LIBTOOL. Match the default from libtool but for the target in this
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# case, (we need the macro for tm.h)
</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;'>++ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case "$target" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # It is valid for targets from Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-darwin20* | *-darwin1[0-9]* | *-darwin9*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tm_defines="$tm_defines USE_DEFAULT_RPATH "
</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;'>++elif test "x$enable_darwin_at_rpath" = "x"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Match the default from libtool (we need the macro for tm.h)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case "$target" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # It is default for targets from Darwin15.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-darwin20* | *-darwin1[5-9]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tm_defines="$tm_defines USE_DEFAULT_RPATH "
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test x"$dsymutil_flag" = x"yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # If the user specified a dsymutil path, then we will already have the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -31095,6 +31243,14 @@ LTLIBOBJS=$ac_ltlibobjs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</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;'>+ : "${CONFIG_STATUS=./config.status}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ac_write_fail=0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/configure.ac gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index b1487895f18..38551dabb62 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5792,6 +5792,27 @@ if test x"$ld64_flag" = x"yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [Define to 1 if ld64 supports '-export_dynamic'.])
</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;'>++# We cannot test this in config.gcc because that is included before
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# AC_PROG_LIBTOOL. Match the default from libtool but for the target in this
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# case, (we need the macro for tm.h)
</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;'>++ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case "$target" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # It is valid for targets from Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-darwin20* | *-darwin1[[0-9]]* | *-darwin9*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tm_defines="$tm_defines USE_DEFAULT_RPATH "
</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;'>++elif test "x$enable_darwin_at_rpath" = "x"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Match the default from libtool (we need the macro for tm.h)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case "$target" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # It is default for targets from Darwin15.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-darwin20* | *-darwin1[[5-9]]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tm_defines="$tm_defines USE_DEFAULT_RPATH "
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test x"$dsymutil_flag" = x"yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # If the user specified a dsymutil path, then we will already have the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libatomic/Makefile.am libatomic/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 133fbbca77e..e80d93aa7ca 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libatomic/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libatomic/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -65,8 +65,12 @@ libatomic_version_script =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libatomic_version_dep =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libatomic_version_info = -version-info $(libtool_VERSION)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libatomic_darwin_rpath = -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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-libatomic_la_LDFLAGS = $(libatomic_version_info) $(libatomic_version_script) $(lt_host_flags)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libatomic_la_LDFLAGS = $(libatomic_version_info) $(libatomic_version_script) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(lt_host_flags) $(libatomic_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libatomic_la_SOURCES = gload.c gstore.c gcas.c gexch.c glfree.c lock.c init.c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fenv.c fence.c flag.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libatomic/Makefile.in libatomic/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a51807e95c9..1208f8c568e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libatomic/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libatomic/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -400,7 +400,10 @@ noinst_LTLIBRARIES = libatomic_convenience.la
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @LIBAT_BUILD_VERSIONED_SHLIB_GNU_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@libatomic_version_dep = $(top_srcdir)/libatomic.map
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @LIBAT_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@libatomic_version_dep = libatomic.map-sun
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libatomic_version_info = -version-info $(libtool_VERSION)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-libatomic_la_LDFLAGS = $(libatomic_version_info) $(libatomic_version_script) $(lt_host_flags)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@libatomic_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libatomic_la_LDFLAGS = $(libatomic_version_info) $(libatomic_version_script) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(lt_host_flags) $(libatomic_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libatomic_la_SOURCES = gload.c gstore.c gcas.c gexch.c glfree.c lock.c init.c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fenv.c fence.c flag.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libatomic/configure libatomic/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6e706e90636..d9d4da230a8 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libatomic/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libatomic/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -664,6 +664,8 @@ enable_static
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_shared
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_host_flags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CPP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -802,6 +804,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_fast_install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_gnu_ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_maintainer_mode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_symvers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_cet
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1450,6 +1453,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-maintainer-mode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable make rules and dependencies not useful (and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sometimes confusing) to the casual installer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9573,6 +9578,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9590,10 +9645,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11389,7 +11453,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 11392 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 11456 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11495,7 +11559,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 11498 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 11562 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15873,6 +15937,10 @@ if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libbacktrace/configure libbacktrace/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6a0dd7602fe..3bb2ac002e3 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libbacktrace/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libbacktrace/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -662,6 +662,8 @@ PIC_FLAG
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ WARN_FLAGS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ EXTRA_FLAGS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ BACKTRACE_FILE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -786,6 +788,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_fast_install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_gnu_ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_largefile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_cet
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_system_libunwind
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1431,6 +1434,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-largefile omit support for large files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-cet enable Intel CET in target libraries [default=no]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-host-shared build host code as shared libraries
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9685,6 +9690,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9702,10 +9757,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11501,7 +11565,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 11504 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 11568 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11607,7 +11671,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 11610 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 11674 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -13699,6 +13763,10 @@ if test -z "${HAVE_DWZ_TRUE}" && test -z "${HAVE_DWZ_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"HAVE_DWZ\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test -z "${HAVE_ELF_TRUE}" && test -z "${HAVE_ELF_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"HAVE_ELF\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcc1/Makefile.am libcc1/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index fe7b64cbc6f..393d3273235 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libcc1/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcc1/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -55,6 +55,9 @@ marshall_c_source = marshall-c.hh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ marshall_cxx_source = marshall-cp.hh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libcc1plugin_la_LDFLAGS = -module -export-symbols $(srcdir)/libcc1plugin.sym
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libcc1plugin_la_LDFLAGS += -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;'>+ libcc1plugin_la_SOURCES = libcc1plugin.cc $(shared_source) $(marshall_c_source)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libcc1plugin.lo_CPPFLAGS = $(CPPFLAGS_FOR_C)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libcc1plugin_la_LIBADD = $(libiberty)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -64,6 +67,9 @@ libcc1plugin_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(CXXFLAGS) $(libcc1plugin_la_LDFLAGS) $(LTLDFLAGS) -o $@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libcp1plugin_la_LDFLAGS = -module -export-symbols $(srcdir)/libcp1plugin.sym
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libcp1plugin_la_LDFLAGS += -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;'>+ libcp1plugin_la_SOURCES = libcp1plugin.cc $(shared_source) $(marshall_cxx_source)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libcp1plugin.lo_CPPFLAGS = $(CPPFLAGS_FOR_CXX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libcp1plugin_la_LIBADD = $(libiberty)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -74,6 +80,9 @@ libcp1plugin_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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;'>+ libcc1_la_LDFLAGS = -module -export-symbols $(srcdir)/libcc1.sym
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libcc1_la_LDFLAGS += -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;'>+ libcc1_la_SOURCES = findcomp.cc libcc1.cc libcp1.cc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ names.cc names.hh $(shared_source) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(marshall_c_source) $(marshall_cxx_source)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcc1/Makefile.in libcc1/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 2def836cb06..2be35afedd5 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libcc1/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcc1/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -90,6 +90,9 @@ build_triplet = @build@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ host_triplet = @host@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ target_triplet = @target@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @DARWIN_DYNAMIC_LOOKUP_TRUE@am__append_1 = -Wl,-undefined,dynamic_lookup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@am__append_2 = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@am__append_3 = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@am__append_4 = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ subdir = .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -403,7 +406,8 @@ shared_source = callbacks.cc callbacks.hh connection.cc connection.hh \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ marshall_c_source = marshall-c.hh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ marshall_cxx_source = marshall-cp.hh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-libcc1plugin_la_LDFLAGS = -module -export-symbols $(srcdir)/libcc1plugin.sym
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libcc1plugin_la_LDFLAGS = -module -export-symbols \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(srcdir)/libcc1plugin.sym $(am__append_2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libcc1plugin_la_SOURCES = libcc1plugin.cc $(shared_source) $(marshall_c_source)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libcc1plugin.lo_CPPFLAGS = $(CPPFLAGS_FOR_C)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libcc1plugin_la_LIBADD = $(libiberty)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -412,7 +416,8 @@ libcc1plugin_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(CXXFLAGS) $(libcc1plugin_la_LDFLAGS) $(LTLDFLAGS) -o $@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-libcp1plugin_la_LDFLAGS = -module -export-symbols $(srcdir)/libcp1plugin.sym
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libcp1plugin_la_LDFLAGS = -module -export-symbols \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(srcdir)/libcp1plugin.sym $(am__append_3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libcp1plugin_la_SOURCES = libcp1plugin.cc $(shared_source) $(marshall_cxx_source)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libcp1plugin.lo_CPPFLAGS = $(CPPFLAGS_FOR_CXX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libcp1plugin_la_LIBADD = $(libiberty)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -422,7 +427,8 @@ libcp1plugin_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(CXXFLAGS) $(libcp1plugin_la_LDFLAGS) $(LTLDFLAGS) -o $@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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;'>+-libcc1_la_LDFLAGS = -module -export-symbols $(srcdir)/libcc1.sym
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libcc1_la_LDFLAGS = -module -export-symbols $(srcdir)/libcc1.sym \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(am__append_4)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libcc1_la_SOURCES = findcomp.cc libcc1.cc libcp1.cc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ names.cc names.hh $(shared_source) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(marshall_c_source) $(marshall_cxx_source)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcc1/configure libcc1/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f1c64d86b52..b3312070ca5 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libcc1/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcc1/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -652,6 +652,8 @@ CXXDEPMODE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ac_ct_CXX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CXXFLAGS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CXX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -786,6 +788,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_fast_install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_gnu_ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_gcc_major_version_only
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_werror_always
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_plugin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1437,6 +1440,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-werror-always enable -Werror despite compiler version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-plugin enable plugin support
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -8968,6 +8973,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -8985,10 +9040,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10784,7 +10848,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 10787 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 10851 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10890,7 +10954,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 10893 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 10957 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12172,6 +12236,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc_CXX=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct_CXX=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic_CXX=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12189,12 +12303,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds_CXX="\$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_dsymutil}"
</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;'>++ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 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}"
</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;'>+@@ -15162,10 +15289,18 @@ if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test -z "${DARWIN_DYNAMIC_LOOKUP_TRUE}" && test -z "${DARWIN_DYNAMIC_LOOKUP_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"DARWIN_DYNAMIC_LOOKUP\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libffi/Makefile.am libffi/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 203b7d10a42..46fa6dce919 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libffi/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libffi/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -233,7 +233,12 @@ libffi_version_info = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libffi.map: $(top_srcdir)/libffi.map.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(COMPILE) -D$(TARGET) -E -x assembler-with-cpp -o $@ $<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-libffi_la_LDFLAGS = -no-undefined $(libffi_version_info) $(libffi_version_script) $(LTLDFLAGS) $(AM_LTLDFLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libffi_darwin_rpath = -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;'>++libffi_la_LDFLAGS = -no-undefined $(libffi_version_info) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(libffi_version_script) $(LTLDFLAGS) $(AM_LTLDFLAGS) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(libffi_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libffi_la_DEPENDENCIES = $(libffi_la_LIBADD) $(libffi_version_dep)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libffi/Makefile.in libffi/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 745bdd80777..11ff229e561 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libffi/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libffi/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -612,7 +612,11 @@ AM_CFLAGS = -Wall -g -fexceptions $(am__append_2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @LIBAT_BUILD_VERSIONED_SHLIB_GNU_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@libffi_version_dep = libffi.map
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @LIBAT_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@libffi_version_dep = libffi.map-sun
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libffi_version_info = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-libffi_la_LDFLAGS = -no-undefined $(libffi_version_info) $(libffi_version_script) $(LTLDFLAGS) $(AM_LTLDFLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@libffi_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libffi_la_LDFLAGS = -no-undefined $(libffi_version_info) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(libffi_version_script) $(LTLDFLAGS) $(AM_LTLDFLAGS) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(libffi_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libffi_la_DEPENDENCIES = $(libffi_la_LIBADD) $(libffi_version_dep)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AM_CCASFLAGS = $(AM_CPPFLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libffi/configure libffi/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index b32e109f030..4d432635a30 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libffi/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libffi/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -666,6 +666,8 @@ MAINTAINER_MODE_FALSE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ MAINTAINER_MODE_TRUE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CXXCPP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CPP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -807,6 +809,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_fast_install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_gnu_ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_maintainer_mode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_pax_emutramp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_debug
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1460,6 +1463,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-maintainer-mode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable make rules and dependencies not useful (and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sometimes confusing) to the casual installer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9747,6 +9752,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9764,10 +9819,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11563,7 +11627,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 11566 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 11630 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11669,7 +11733,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 11672 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 11736 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12545,6 +12609,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc_CXX=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct_CXX=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic_CXX=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12562,12 +12676,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds_CXX="\$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_dsymutil}"
</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;'>++ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 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}"
</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;'>+@@ -16821,6 +16948,14 @@ if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config.host libgcc/config.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index c529cc40f0c..a1bdc29b5de 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -217,7 +217,27 @@ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case ${host} in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *-*-darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ asm_hidden_op=.private_extern
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- tmake_file="$tmake_file t-darwin ${cpu_type}/t-darwin t-libgcc-pic t-slibgcc-darwin"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tmake_file="$tmake_file t-darwin ${cpu_type}/t-darwin "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tmake_file="$tmake_file t-libgcc-pic t-slibgcc-darwin "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # We are not using libtool to build the libs here, so we need to replicate
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # a little of the logic around setting Darwin rpaths. Setting an explicit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # yes or no is honoured, otherwise we choose a suitable default.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Sadly, this has to be kept in line with the rules in libtool.m4.
</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;'>++ tmake_file="$tmake_file t-darwin-rpath "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ elif test "x$enable_darwin_at_rpath" = "x"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "enable_darwin_at_rpath is unset" 1>&2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${host} in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-darwin[45678]*) ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-darwin9* | *-darwin1[01234]*) ;; # We might default these on later.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "but is needed after macOS 10.11 (setting it on)" 1>&2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tmake_file="$tmake_file t-darwin-rpath "
</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;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "enable_darwin_at_rpath is '$enable_darwin_at_rpath'" 1>&2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extra_parts="crt3.o d10-uwfef.o crttms.o crttme.o"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *-*-dragonfly*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/t-darwin-rpath libgcc/config/t-darwin-rpath
</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 00000000000..7cf63d9cb6b
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config/t-darwin-rpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,5 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Use @rpath and add a search path to exes and dylibs that depend on this.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++SHLIB_RPATH = @rpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Which does not work for Darwin < 9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++HOST_LIBGCC2_CFLAGS += -mmacosx-version-min=10.5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/t-slibgcc-darwin libgcc/config/t-slibgcc-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 9970d003436..537944ad6b5 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config/t-slibgcc-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config/t-slibgcc-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10,17 +10,16 @@ SHLIB_OBJS = @shlib_objs@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SHLIB_DIR = @multilib_dir@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SHLIB_LC = -lc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Darwin only searches in /usr/lib for shared libraries, not in subdirectories,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# so the libgcc variants have different names not different locations.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Note that this version is used for the loader, not the linker; the linker
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# uses the stub versions named by the versioned members of $(INSTALL_FILES).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Instead of using @shlib_slibdir@, use @rpath and add a search path to exes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# and dylibs that depend on this.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++SHLIB_RPATH = @shlib_slibdir@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SHLIB_LINK = $(CC) $(LIBGCC2_CFLAGS) -dynamiclib -nodefaultlibs \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- -install_name @shlib_slibdir@/$(SHLIB_INSTALL_NAME) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -install_name $(SHLIB_RPATH)/$(SHLIB_INSTALL_NAME) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -single_module -o $(SHLIB_DIR)/$(SHLIB_SONAME) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -Wl,-exported_symbols_list,$(SHLIB_MAP) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $(SHLIB_VERSTRING) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- @multilib_flags@ $(SHLIB_OBJS) $(SHLIB_LC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(SHLIB_VERSTRING) -nodefaultrpath \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ @multilib_flags@ @shlib_objs@ $(SHLIB_LC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SHLIB_MKMAP_OPTS = -v leading_underscore=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -97,13 +96,6 @@ install-darwin-libgcc-stubs :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if [ -f $(DESTDIR)$(slibdir)/libgcc_s_ppc64.1.dylib ]; then \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rm -f $(DESTDIR)$(slibdir)/libgcc_s_ppc64.1.dylib; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else true; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $(LN_S) libgcc_s.1.dylib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $(DESTDIR)$(slibdir)/libgcc_s_ppc64.1.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if [ -f $(DESTDIR)$(slibdir)/libgcc_s_x86_64.1.dylib ]; then \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- rm -f $(DESTDIR)$(slibdir)/libgcc_s_x86_64.1.dylib; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- else true; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $(LN_S) libgcc_s.1.dylib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $(DESTDIR)$(slibdir)/libgcc_s_x86_64.1.dylib
</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;'>+@@ -122,13 +114,4 @@ install-darwin-libgcc-links:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rm -f $(gcc_objdir)$(MULTISUBDIR)/$$file; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(LN_S) ../$$file $(gcc_objdir)$(MULTISUBDIR)/; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- rm -f $(gcc_objdir)$(MULTISUBDIR)/libgcc_s_x86_64.1.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $(LN_S) libgcc_s.1.dylib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $(gcc_objdir)$(MULTISUBDIR)/libgcc_s_x86_64.1.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- rm -f $(gcc_objdir)$(MULTISUBDIR)/libgcc_s_ppc64.1.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $(LN_S) libgcc_s.1.dylib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $(gcc_objdir)$(MULTISUBDIR)/libgcc_s_ppc64.1.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgfortran/Makefile.am libgfortran/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a8a2191acc3..a268d43e599 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgfortran/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgfortran/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -29,6 +29,9 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ version_arg =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ version_dep =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++extra_ldflags_libgfortran += -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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gfor_c_HEADERS = $(srcdir)/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;'>+diff --git libgfortran/Makefile.in libgfortran/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 312a682b45d..f24af57bacf 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgfortran/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgfortran/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -91,8 +91,9 @@ POST_UNINSTALL = :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build_triplet = @build@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ host_triplet = @host@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ target_triplet = @target@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-@LIBGFOR_MINIMAL_TRUE@am__append_1 = -DLIBGFOR_MINIMAL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-@LIBGFOR_MINIMAL_FALSE@am__append_2 = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@am__append_1 = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@LIBGFOR_MINIMAL_TRUE@am__append_2 = -DLIBGFOR_MINIMAL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@LIBGFOR_MINIMAL_FALSE@am__append_3 = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @LIBGFOR_MINIMAL_FALSE@io/close.c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @LIBGFOR_MINIMAL_FALSE@io/file_pos.c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @LIBGFOR_MINIMAL_FALSE@io/format.c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -110,7 +111,7 @@ target_triplet = @target@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @LIBGFOR_MINIMAL_FALSE@io/fbuf.c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @LIBGFOR_MINIMAL_FALSE@io/async.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-@LIBGFOR_MINIMAL_FALSE@am__append_3 = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@LIBGFOR_MINIMAL_FALSE@am__append_4 = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @LIBGFOR_MINIMAL_FALSE@intrinsics/access.c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @LIBGFOR_MINIMAL_FALSE@intrinsics/c99_functions.c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @LIBGFOR_MINIMAL_FALSE@intrinsics/chdir.c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -143,9 +144,9 @@ target_triplet = @target@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @LIBGFOR_MINIMAL_FALSE@intrinsics/umask.c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @LIBGFOR_MINIMAL_FALSE@intrinsics/unlink.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-@IEEE_SUPPORT_TRUE@am__append_4 = ieee/ieee_helper.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-@LIBGFOR_MINIMAL_TRUE@am__append_5 = runtime/minimal.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-@LIBGFOR_MINIMAL_FALSE@am__append_6 = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@IEEE_SUPPORT_TRUE@am__append_5 = ieee/ieee_helper.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@LIBGFOR_MINIMAL_TRUE@am__append_6 = runtime/minimal.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@LIBGFOR_MINIMAL_FALSE@am__append_7 = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @LIBGFOR_MINIMAL_FALSE@runtime/backtrace.c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @LIBGFOR_MINIMAL_FALSE@runtime/convert_char.c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @LIBGFOR_MINIMAL_FALSE@runtime/environ.c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -157,7 +158,7 @@ target_triplet = @target@
</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;'>+ # dummy sources for libtool
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-@onestep_TRUE@am__append_7 = libgfortran_c.c libgfortran_f.f90
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@onestep_TRUE@am__append_8 = libgfortran_c.c libgfortran_f.f90
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ subdir = .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -569,7 +570,7 @@ AMTAR = @AMTAR@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Some targets require additional compiler options for IEEE compatibility.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AM_CFLAGS = @AM_CFLAGS@ -fcx-fortran-rules $(SECTION_FLAGS) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $(IEEE_FLAGS) $(am__append_1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(IEEE_FLAGS) $(am__append_2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AM_FCFLAGS = @AM_FCFLAGS@ $(IEEE_FLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AR = @AR@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -670,7 +671,8 @@ dvidir = @dvidir@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_shared = @enable_shared@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_static = @enable_static@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exec_prefix = @exec_prefix@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-extra_ldflags_libgfortran = @extra_ldflags_libgfortran@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++extra_ldflags_libgfortran = @extra_ldflags_libgfortran@ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(am__append_1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ get_gcc_base_ver = @get_gcc_base_ver@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ host = @host@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ host_alias = @host_alias@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -752,7 +754,7 @@ AM_CPPFLAGS = -iquote$(srcdir)/io -I$(srcdir)/$(MULTISRCTOP)../gcc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -I$(MULTIBUILDTOP)../libbacktrace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -I../libbacktrace
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-gfor_io_src = io/size_from_kind.c $(am__append_2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++gfor_io_src = io/size_from_kind.c $(am__append_3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gfor_io_headers = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ io/io.h \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ io/fbuf.h \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -774,7 +776,7 @@ gfor_helper_src = intrinsics/associated.c intrinsics/abort.c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ intrinsics/selected_int_kind.f90 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ intrinsics/selected_real_kind.f90 intrinsics/trigd.c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ intrinsics/unpack_generic.c runtime/in_pack_generic.c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- runtime/in_unpack_generic.c $(am__append_3) $(am__append_4)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ runtime/in_unpack_generic.c $(am__append_4) $(am__append_5)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @IEEE_SUPPORT_FALSE@gfor_ieee_src =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @IEEE_SUPPORT_TRUE@gfor_ieee_src = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @IEEE_SUPPORT_TRUE@ieee/ieee_arithmetic.F90 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -782,8 +784,8 @@ gfor_helper_src = intrinsics/associated.c intrinsics/abort.c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @IEEE_SUPPORT_TRUE@ieee/ieee_features.F90
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gfor_src = runtime/bounds.c runtime/compile_options.c runtime/memory.c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- runtime/string.c runtime/select.c $(am__append_5) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $(am__append_6)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ runtime/string.c runtime/select.c $(am__append_6) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(am__append_7)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ i_all_c = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(srcdir)/generated/all_l1.c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(srcdir)/generated/all_l2.c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1537,7 +1539,7 @@ intrinsics/random_init.f90
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ BUILT_SOURCES = $(gfor_built_src) $(gfor_built_specific_src) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(gfor_built_specific2_src) $(gfor_misc_specifics) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $(am__append_7)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(am__append_8)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ prereq_SRC = $(gfor_src) $(gfor_built_src) $(gfor_io_src) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(gfor_helper_src) $(gfor_ieee_src) $(gfor_io_headers) $(gfor_specific_src)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgfortran/configure libgfortran/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 1b4a8b10609..c6da3450947 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgfortran/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgfortran/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -657,6 +657,8 @@ FC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_static
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_shared
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_host_flags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -818,6 +820,7 @@ enable_static
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_pic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_fast_install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_largefile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_libquadmath_support
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_gcc_major_version_only
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1473,6 +1476,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-largefile omit support for large files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libquadmath-support
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ disable libquadmath support for Fortran
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10884,6 +10889,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10901,10 +10956,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12721,7 +12785,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 12724 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 12788 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12827,7 +12891,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 12830 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 12894 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -14731,6 +14795,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc_FC=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct_FC=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic_FC=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -14748,10 +14862,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds_FC="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds_FC="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds_FC="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds_FC="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_FC="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds_FC="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds_FC="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds_FC="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_FC="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds_FC="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds_FC="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds_FC="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ld_shlibs_FC=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16015,8 +16138,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # extra LD Flags which are required for targets
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case "${host}" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- *-darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # Darwin needs -single_module when linking libgfortran
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-*-darwin[4567]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Earlier Darwin needs -single_module when linking libgfortran
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extra_ldflags_libgfortran=-Wl,-single_module
</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;'>+@@ -27392,6 +27515,14 @@ if test -z "${HAVE_HWCAP_TRUE}" && test -z "${HAVE_HWCAP_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"HAVE_HWCAP\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test -z "${LIBGFOR_BUILD_QUAD_TRUE}" && test -z "${LIBGFOR_BUILD_QUAD_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"LIBGFOR_BUILD_QUAD\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgfortran/configure.ac libgfortran/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 711dc60ff78..fa6935e3f60 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgfortran/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgfortran/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -263,8 +263,8 @@ AC_PROG_FC(gfortran)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # extra LD Flags which are required for targets
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case "${host}" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- *-darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # Darwin needs -single_module when linking libgfortran
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-*-darwin[[4567]]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Earlier Darwin needs -single_module when linking libgfortran
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extra_ldflags_libgfortran=-Wl,-single_module
</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;'>+diff --git libgomp/Makefile.am libgomp/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 669b9e4defd..b57c90f1a10 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgomp/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgomp/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -53,9 +53,13 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgomp_version_script =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgomp_version_dep =
</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;'>+ libgomp_version_info = -version-info $(libtool_VERSION)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libgomp_darwin_rpath = -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;'>+ libgomp_la_LDFLAGS = $(libgomp_version_info) $(libgomp_version_script) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $(lt_host_flags)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(lt_host_flags) $(libgomp_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgomp_la_DEPENDENCIES = $(libgomp_version_dep)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgomp_la_LINK = $(LINK) $(libgomp_la_LDFLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgomp/Makefile.in libgomp/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index ae5d9d54705..ffe8d6481a9 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgomp/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgomp/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -560,8 +560,9 @@ nodist_toolexeclib_HEADERS = libgomp.spec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @LIBGOMP_BUILD_VERSIONED_SHLIB_GNU_TRUE@@LIBGOMP_BUILD_VERSIONED_SHLIB_TRUE@libgomp_version_dep = libgomp.ver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @LIBGOMP_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBGOMP_BUILD_VERSIONED_SHLIB_TRUE@libgomp_version_dep = libgomp.ver-sun
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgomp_version_info = -version-info $(libtool_VERSION)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@libgomp_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgomp_la_LDFLAGS = $(libgomp_version_info) $(libgomp_version_script) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $(lt_host_flags)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(lt_host_flags) $(libgomp_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgomp_la_DEPENDENCIES = $(libgomp_version_dep)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgomp_la_LINK = $(LINK) $(libgomp_la_LDFLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgomp/configure libgomp/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 5240f7e9d39..3a939e6c1b3 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgomp/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgomp/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -699,6 +699,8 @@ enable_static
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_shared
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_host_flags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CPP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -834,6 +836,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_fast_install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_gnu_ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_maintainer_mode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_cuda_driver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_cuda_driver_include
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1494,6 +1497,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-maintainer-mode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable make rules and dependencies not useful (and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sometimes confusing) to the casual installer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9618,6 +9623,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9635,10 +9690,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11434,7 +11498,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 11437 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 11501 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11540,7 +11604,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 11543 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 11607 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -13476,6 +13540,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc_FC=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct_FC=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic_FC=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -13493,10 +13607,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds_FC="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds_FC="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds_FC="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds_FC="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_FC="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds_FC="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds_FC="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds_FC="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_FC="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds_FC="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds_FC="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds_FC="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ld_shlibs_FC=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -17199,10 +17322,18 @@ if test -z "${BUILD_INFO_TRUE}" && test -z "${BUILD_INFO_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"BUILD_INFO\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test -z "${PLUGIN_NVPTX_TRUE}" && test -z "${PLUGIN_NVPTX_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"PLUGIN_NVPTX\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libhsail-rt/configure libhsail-rt/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 33e61484333..22a5060284c 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libhsail-rt/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libhsail-rt/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -640,6 +640,8 @@ toolexeclibdir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ toolexecdir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CXXCPP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CPP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -780,6 +782,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_fast_install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_gnu_ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_gcc_major_version_only
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ '
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ac_precious_vars='build_alias
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1432,6 +1435,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Optional Packages:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9425,6 +9430,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9442,10 +9497,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11241,7 +11305,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 11244 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 11308 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11347,7 +11411,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 11350 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 11414 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12223,6 +12287,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc_CXX=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct_CXX=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic_CXX=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12240,12 +12354,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds_CXX="\$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_dsymutil}"
</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;'>++ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 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}"
</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;'>+@@ -14843,6 +14970,14 @@ if test -z "${MAC_LINKER_SCRIPT_TRUE}" && test -z "${MAC_LINKER_SCRIPT_FALSE}";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"MAC_LINKER_SCRIPT\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</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;'>+ : "${CONFIG_STATUS=./config.status}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ac_write_fail=0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libitm/Makefile.am libitm/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 3f31ad30556..053a54fb093 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libitm/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libitm/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -54,7 +54,10 @@ libitm_version_info = -version-info $(libtool_VERSION)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # want or need libstdc++.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libitm_la_DEPENDENCIES = $(libitm_version_dep)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libitm_la_LINK = $(LINK) $(libitm_la_LDFLAGS)
</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;'>++if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libitm_darwin_rpath = -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;'>++libitm_la_LDFLAGS = $(libitm_version_info) $(libitm_version_script) $(libitm_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libitm_la_SOURCES = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aatree.cc alloc.cc alloc_c.cc alloc_cpp.cc barrier.cc beginend.cc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libitm/Makefile.in libitm/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 7f53ea9b9db..c7a8b437427 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libitm/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libitm/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -481,7 +481,8 @@ libitm_version_info = -version-info $(libtool_VERSION)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # want or need libstdc++.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libitm_la_DEPENDENCIES = $(libitm_version_dep)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libitm_la_LINK = $(LINK) $(libitm_la_LDFLAGS)
</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;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@libitm_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libitm_la_LDFLAGS = $(libitm_version_info) $(libitm_version_script) $(libitm_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libitm_la_SOURCES = aatree.cc alloc.cc alloc_c.cc alloc_cpp.cc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ barrier.cc beginend.cc clone.cc eh_cpp.cc local.cc query.cc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ retry.cc rwlock.cc useraction.cc util.cc sjlj.S tls.cc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libitm/configure libitm/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index ea31a1d5cdd..7736f8c5647 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libitm/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libitm/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -664,6 +664,8 @@ enable_static
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_shared
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CXXCPP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CPP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -810,6 +812,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_fast_install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_gnu_ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_maintainer_mode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_linux_futex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_tls
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1461,6 +1464,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-maintainer-mode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable make rules and dependencies not useful (and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sometimes confusing) to the casual installer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10250,6 +10255,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10267,10 +10322,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12066,7 +12130,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 12069 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 12133 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12172,7 +12236,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 12175 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 12239 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -13048,6 +13112,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc_CXX=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct_CXX=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic_CXX=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -13065,12 +13179,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds_CXX="\$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_dsymutil}"
</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;'>++ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 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}"
</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;'>+@@ -18173,6 +18300,14 @@ if test -z "${BUILD_INFO_TRUE}" && test -z "${BUILD_INFO_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"BUILD_INFO\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libobjc/configure libobjc/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 32c389f1385..2f8c7ec71c2 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libobjc/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libobjc/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -638,6 +638,8 @@ OBJC_BOEHM_GC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OBJC_GCFLAGS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SET_MAKE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CPP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -755,6 +757,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_fast_install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_gnu_ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_tls
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_objc_gc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_target_bdw_gc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1392,6 +1395,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-tls Use thread-local storage [default=yes]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-objc-gc enable use of Boehm's garbage collector with the GNU
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Objective-C runtime
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3431,10 +3436,20 @@ 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;'>+ case "${host}" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- *-darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # Darwin needs -single_module when linking libobjc
</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;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ extra_ldflags_libobjc='$(lt_host_flags) -Wl,-rpath,@loader_path'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</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;'>++ 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;'>+@@ -8940,6 +8955,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -8957,10 +9022,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10777,7 +10851,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 10780 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 10854 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10883,7 +10957,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 10886 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 10960 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11896,6 +11970,10 @@ if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</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;'>+ : "${CONFIG_STATUS=./config.status}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ac_write_fail=0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libobjc/configure.ac libobjc/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 9c8aa829cd7..6cbf90e0f01 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libobjc/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libobjc/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -148,10 +148,20 @@ m4_rename_force([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # extra LD Flags which are required for targets
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ACX_LT_HOST_FLAGS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case "${host}" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- *-darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # Darwin needs -single_module when linking libobjc
</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;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ extra_ldflags_libobjc='$(lt_host_flags) -Wl,-rpath,@loader_path'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</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;'>++ 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;'>+diff --git liboffloadmic/configure liboffloadmic/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index cd011799a6c..881ad0ed968 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- liboffloadmic/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ liboffloadmic/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -640,6 +640,8 @@ lt_cv_dlopen_libs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ toolexeclibdir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ toolexecdir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CXXCPP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -782,6 +784,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_fast_install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_gnu_ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_gcc_major_version_only
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ '
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ac_precious_vars='build_alias
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1434,6 +1437,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Optional Packages:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7900,23 +7905,25 @@ _LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $as_echo "$lt_cv_ld_force_load" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- case $host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- rhapsody* | darwin1.[012])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Allow for Darwin 4-7 (macOS 10.0-10.3) although these are not expect to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # build without first building modern cctools / linker.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case $host_cpu-$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-rhapsody* | *-darwin1.[012])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- darwin1.*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-darwin1.*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- darwin*) # darwin 5.x on
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # if running on 10.5 or later, the deployment target defaults
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # to the OS version, if on x86, and 10.4, the deployment
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # target defaults to 10.4. Don't you love it?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # darwin 5.x (macOS 10.1) onwards we only need to adjust when the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # deployment target is forced to an earlier version.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,*-darwin[89]*|UNSET,*-darwin[12][0123456789]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 10.[012][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- 10.*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
</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;'>++ esac
</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;'>+ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9614,6 +9621,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9631,10 +9688,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11430,7 +11496,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 11433 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 11499 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11536,7 +11602,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 11539 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 11605 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12412,6 +12478,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc_CXX=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct_CXX=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic_CXX=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12429,12 +12545,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds_CXX="\$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_dsymutil}"
</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;'>++ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 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}"
</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;'>+@@ -15009,6 +15138,14 @@ if test -z "${LIBOFFLOADMIC_HOST_TRUE}" && test -z "${LIBOFFLOADMIC_HOST_FALSE}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"LIBOFFLOADMIC_HOST\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</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;'>+ : "${CONFIG_STATUS=./config.status}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ac_write_fail=0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git liboffloadmic/plugin/Makefile.in liboffloadmic/plugin/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 8d5ad0025c2..c53f2d32b3b 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- liboffloadmic/plugin/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ liboffloadmic/plugin/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -123,10 +123,10 @@ subdir = .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ am__aclocal_m4_deps = $(top_srcdir)/../../config/acx.m4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(top_srcdir)/../../config/depstand.m4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $(top_srcdir)/../../config/toolexeclibdir.m4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(top_srcdir)/../../config/lead-dot.m4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(top_srcdir)/../../config/multi.m4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(top_srcdir)/../../config/override.m4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(top_srcdir)/../../config/toolexeclibdir.m4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(top_srcdir)/../../libtool.m4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(top_srcdir)/../../ltoptions.m4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(top_srcdir)/../../ltsugar.m4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git liboffloadmic/plugin/aclocal.m4 liboffloadmic/plugin/aclocal.m4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 9fa1d1216c1..1bb91402f66 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- liboffloadmic/plugin/aclocal.m4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ liboffloadmic/plugin/aclocal.m4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1169,10 +1169,10 @@ AC_SUBST([am__untar])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m4_include([../../config/acx.m4])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m4_include([../../config/depstand.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([../../config/lead-dot.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([../../libtool.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;'>+diff --git liboffloadmic/plugin/configure liboffloadmic/plugin/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index cf485223f41..4afa3abc6e3 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- liboffloadmic/plugin/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ liboffloadmic/plugin/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -637,6 +637,8 @@ toolexeclibdir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ toolexecdir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CXXCPP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CPP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -778,6 +780,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_fast_install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_gnu_ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_gcc_major_version_only
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ '
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ac_precious_vars='build_alias
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1431,6 +1434,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Optional Packages:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7280,23 +7285,25 @@ _LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $as_echo "$lt_cv_ld_force_load" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- case $host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- rhapsody* | darwin1.[012])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Allow for Darwin 4-7 (macOS 10.0-10.3) although these are not expect to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # build without first building modern cctools / linker.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case $host_cpu-$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-rhapsody* | *-darwin1.[012])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- darwin1.*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-darwin1.*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- darwin*) # darwin 5.x on
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # if running on 10.5 or later, the deployment target defaults
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # to the OS version, if on x86, and 10.4, the deployment
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # target defaults to 10.4. Don't you love it?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # darwin 5.x (macOS 10.1) onwards we only need to adjust when the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # deployment target is forced to an earlier version.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,*-darwin[89]*|UNSET,*-darwin[12][0123456789]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 10.[012][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- 10.*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
</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;'>++ esac
</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;'>+ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9261,6 +9268,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9278,10 +9335,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11077,7 +11143,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 11080 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 11146 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11183,7 +11249,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 11186 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 11252 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12059,6 +12125,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc_CXX=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct_CXX=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic_CXX=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12076,12 +12192,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds_CXX="\$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_dsymutil}"
</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;'>++ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 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}"
</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;'>+@@ -14644,6 +14773,14 @@ if test -z "${PLUGIN_HOST_TRUE}" && test -z "${PLUGIN_HOST_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"PLUGIN_HOST\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</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;'>+ : "${CONFIG_STATUS=./config.status}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ac_write_fail=0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libphobos/configure libphobos/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 29595b938f6..60cb59ed94f 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libphobos/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libphobos/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -705,6 +705,8 @@ libphobos_builddir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ get_gcc_base_ver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ phobos_compiler_shared_flag
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ phobos_compiler_pic_flag
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -830,6 +832,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_fast_install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_gnu_ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_gcc_major_version_only
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_werror
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_libatomic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1481,6 +1484,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-werror turns on -Werror [default=no]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-version-specific-runtime-libs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Specify that runtime libraries should be installed
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9833,6 +9838,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9850,10 +9905,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11649,7 +11713,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 11652 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 11716 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11755,7 +11819,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 11758 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 11822 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -13280,6 +13344,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc_D=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct_D=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic_D=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -13297,10 +13411,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds_D="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds_D="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds_D="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds_D="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_D="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds_D="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds_D="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds_D="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_D="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds_D="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds_D="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds_D="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ld_shlibs_D=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15578,6 +15701,14 @@ if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test -z "${DRUNTIME_CPU_AARCH64_TRUE}" && test -z "${DRUNTIME_CPU_AARCH64_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"DRUNTIME_CPU_AARCH64\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libphobos/libdruntime/Makefile.am libphobos/libdruntime/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 1d340a0041c..740a8f2cb47 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libphobos/libdruntime/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libphobos/libdruntime/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -121,8 +121,11 @@ ALL_DRUNTIME_SOURCES = $(DRUNTIME_DSOURCES) $(DRUNTIME_CSOURCES) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ toolexeclib_LTLIBRARIES = libgdruntime.la
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgdruntime_la_SOURCES = $(ALL_DRUNTIME_SOURCES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgdruntime_la_LIBTOOLFLAGS =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libgdruntime_darwin_rpath = -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;'>+ libgdruntime_la_LDFLAGS = -Wc,-nophoboslib,-dstartfiles,-B../src,-Bgcc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- -version-info $(libtool_VERSION)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -version-info $(libtool_VERSION) $(libgdruntime_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgdruntime_la_LIBADD = $(LIBATOMIC) $(LIBBACKTRACE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgdruntime_la_DEPENDENCIES = $(DRTSTUFF)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Also override library link commands: This is not strictly
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libphobos/libdruntime/Makefile.in libphobos/libdruntime/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 3fddbc340de..f441ce46b3d 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libphobos/libdruntime/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libphobos/libdruntime/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -753,8 +753,9 @@ ALL_DRUNTIME_SOURCES = $(DRUNTIME_DSOURCES) $(DRUNTIME_CSOURCES) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ toolexeclib_LTLIBRARIES = libgdruntime.la
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgdruntime_la_SOURCES = $(ALL_DRUNTIME_SOURCES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgdruntime_la_LIBTOOLFLAGS =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@libgdruntime_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgdruntime_la_LDFLAGS = -Wc,-nophoboslib,-dstartfiles,-B../src,-Bgcc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- -version-info $(libtool_VERSION)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -version-info $(libtool_VERSION) $(libgdruntime_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgdruntime_la_LIBADD = $(LIBATOMIC) $(LIBBACKTRACE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgdruntime_la_DEPENDENCIES = $(DRTSTUFF)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libphobos/src/Makefile.am libphobos/src/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 9fb416ecc32..4efa69f62a2 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libphobos/src/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libphobos/src/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -40,8 +40,11 @@ toolexeclib_DATA = libgphobos.spec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ toolexeclib_LTLIBRARIES = libgphobos.la
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgphobos_la_SOURCES = $(ALL_PHOBOS_SOURCES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgphobos_la_LIBTOOLFLAGS =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libgphobos_darwin_rpath = -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;'>+ libgphobos_la_LDFLAGS = -Wc,-nophoboslib,-dstartfiles,-B../libdruntime/gcc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- -version-info $(libtool_VERSION)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -version-info $(libtool_VERSION) $(libgphobos_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgphobos_la_LIBADD = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ../libdruntime/libgdruntime_convenience.la $(LIBZ)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgphobos_la_DEPENDENCIES = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libphobos/src/Makefile.in libphobos/src/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 4b1ae863a3f..4da0021f958 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libphobos/src/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libphobos/src/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -488,8 +488,9 @@ toolexeclib_DATA = libgphobos.spec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ toolexeclib_LTLIBRARIES = libgphobos.la
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgphobos_la_SOURCES = $(ALL_PHOBOS_SOURCES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgphobos_la_LIBTOOLFLAGS =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@libgphobos_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgphobos_la_LDFLAGS = -Wc,-nophoboslib,-dstartfiles,-B../libdruntime/gcc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- -version-info $(libtool_VERSION)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -version-info $(libtool_VERSION) $(libgphobos_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgphobos_la_LIBADD = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ../libdruntime/libgdruntime_convenience.la $(LIBZ)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libquadmath/Makefile.am libquadmath/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 35dffb46f6e..ca79ab7cbb8 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libquadmath/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libquadmath/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -36,8 +36,12 @@ endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ toolexeclib_LTLIBRARIES = libquadmath.la
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libquadmath_la_LIBADD =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libquadmath_darwin_rpath = -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;'>+ libquadmath_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $(version_arg) $(lt_host_flags) -lm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(version_arg) $(lt_host_flags) $(LIBM) $(libquadmath_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libquadmath_la_DEPENDENCIES = $(version_dep) $(libquadmath_la_LIBADD)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ nodist_libsubinclude_HEADERS = quadmath.h quadmath_weak.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libquadmath/Makefile.in libquadmath/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 8c011212258..cb26674e9ea 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libquadmath/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libquadmath/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -355,6 +355,7 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LD = @LD@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LDFLAGS = @LDFLAGS@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++LIBM = @LIBM@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIBOBJS = @LIBOBJS@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIBS = @LIBS@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIBTOOL = @LIBTOOL@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -463,8 +464,9 @@ AUTOMAKE_OPTIONS = foreign info-in-builddir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@version_dep = quadmath.map-sun
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @BUILD_LIBQUADMATH_TRUE@toolexeclib_LTLIBRARIES = libquadmath.la
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @BUILD_LIBQUADMATH_TRUE@libquadmath_la_LIBADD =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@BUILD_LIBQUADMATH_TRUE@@ENABLE_DARWIN_AT_RPATH_TRUE@libquadmath_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @BUILD_LIBQUADMATH_TRUE@libquadmath_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-@BUILD_LIBQUADMATH_TRUE@ $(version_arg) $(lt_host_flags) -lm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@BUILD_LIBQUADMATH_TRUE@ $(version_arg) $(lt_host_flags) $(LIBM) $(libquadmath_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @BUILD_LIBQUADMATH_TRUE@libquadmath_la_DEPENDENCIES = $(version_dep) $(libquadmath_la_LIBADD)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @BUILD_LIBQUADMATH_TRUE@nodist_libsubinclude_HEADERS = quadmath.h quadmath_weak.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libquadmath/configure libquadmath/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index b5b212c0639..d9790a25cd9 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libquadmath/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libquadmath/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -644,6 +644,7 @@ LIBQUAD_USE_SYMVER_GNU_FALSE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIBQUAD_USE_SYMVER_GNU_TRUE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIBQUAD_USE_SYMVER_FALSE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIBQUAD_USE_SYMVER_TRUE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++LIBM
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ toolexeclibdir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ toolexecdir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ MAINT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -652,6 +653,8 @@ MAINTAINER_MODE_TRUE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_static
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_shared
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_host_flags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -785,6 +788,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_fast_install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_gnu_ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_maintainer_mode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_toolexeclibdir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_symvers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1435,6 +1439,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-maintainer-mode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable make rules and dependencies not useful (and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sometimes confusing) to the casual installer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -8979,6 +8985,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -8996,10 +9052,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10816,7 +10881,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 10819 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 10884 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10922,7 +10987,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 10925 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 10990 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12147,6 +12212,148 @@ 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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++LIBM=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++case $host in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # These system don't have libm, or don't need it
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++*-ncr-sysv4.3*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _mwvalidcheckl in -lmw" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo_n "checking for _mwvalidcheckl in -lmw... " >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ${ac_cv_lib_mw__mwvalidcheckl+:} false; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $as_echo_n "(cached) " >&6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_check_lib_save_LIBS=$LIBS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++LIBS="-lmw $LIBS"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test x$gcc_no_link = xyes; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* end confdefs.h. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Override any GCC internal prototype to avoid an error.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Use char because int might match the return type of a GCC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ builtin and then its argument prototype would still apply. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef __cplusplus
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++extern "C"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++char _mwvalidcheckl ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++main ()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++return _mwvalidcheckl ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++_ACEOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ac_fn_c_try_link "$LINENO"; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_cv_lib_mw__mwvalidcheckl=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_cv_lib_mw__mwvalidcheckl=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++rm -f core conftest.err conftest.$ac_objext \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ conftest$ac_exeext conftest.$ac_ext
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++LIBS=$ac_check_lib_save_LIBS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mw__mwvalidcheckl" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "$ac_cv_lib_mw__mwvalidcheckl" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "x$ac_cv_lib_mw__mwvalidcheckl" = xyes; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ LIBM="-lmw"
</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;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cos in -lm" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo_n "checking for cos in -lm... " >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ${ac_cv_lib_m_cos+:} false; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $as_echo_n "(cached) " >&6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_check_lib_save_LIBS=$LIBS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++LIBS="-lm $LIBS"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test x$gcc_no_link = xyes; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* end confdefs.h. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Override any GCC internal prototype to avoid an error.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Use char because int might match the return type of a GCC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ builtin and then its argument prototype would still apply. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef __cplusplus
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++extern "C"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++char cos ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++main ()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++return cos ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++_ACEOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ac_fn_c_try_link "$LINENO"; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_cv_lib_m_cos=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_cv_lib_m_cos=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++rm -f core conftest.err conftest.$ac_objext \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ conftest$ac_exeext conftest.$ac_ext
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++LIBS=$ac_check_lib_save_LIBS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_cos" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "$ac_cv_lib_m_cos" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "x$ac_cv_lib_m_cos" = xyes; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ LIBM="$LIBM -lm"
</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;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cos in -lm" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo_n "checking for cos in -lm... " >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ${ac_cv_lib_m_cos+:} false; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $as_echo_n "(cached) " >&6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_check_lib_save_LIBS=$LIBS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++LIBS="-lm $LIBS"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test x$gcc_no_link = xyes; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* end confdefs.h. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Override any GCC internal prototype to avoid an error.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Use char because int might match the return type of a GCC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ builtin and then its argument prototype would still apply. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef __cplusplus
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++extern "C"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++char cos ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++main ()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++return cos ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++_ACEOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ac_fn_c_try_link "$LINENO"; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_cv_lib_m_cos=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ac_cv_lib_m_cos=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++rm -f core conftest.err conftest.$ac_objext \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ conftest$ac_exeext conftest.$ac_ext
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++LIBS=$ac_check_lib_save_LIBS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_cos" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "$ac_cv_lib_m_cos" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "x$ac_cv_lib_m_cos" = xyes; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ LIBM="-lm"
</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;'>++ ;;
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for ac_header in fenv.h langinfo.h locale.h wchar.h wctype.h limits.h ctype.h printf.h errno.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ do :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -13379,6 +13586,10 @@ if test -z "${BUILD_INFO_TRUE}" && test -z "${BUILD_INFO_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"BUILD_INFO\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libquadmath/configure.ac libquadmath/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f9d745e60ca..7b4b9e8d140 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libquadmath/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libquadmath/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -121,6 +121,8 @@ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_SUBST(toolexecdir)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_SUBST(toolexeclibdir)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++AC_CHECK_LIBM
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_CHECK_HEADERS(fenv.h langinfo.h locale.h wchar.h wctype.h limits.h ctype.h printf.h errno.h)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIBQUAD_CHECK_MATH_H_SIGNGAM
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libsanitizer/asan/Makefile.am libsanitizer/asan/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 7bba555b171..db26df6cd13 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libsanitizer/asan/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libsanitizer/asan/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -60,7 +60,11 @@ libasan_la_LIBADD += $(top_builddir)/libbacktrace/libsanitizer_libbacktrace.la
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libasan_la_LIBADD += $(LIBSTDCXX_RAW_CXX_LDFLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-libasan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(link_libasan)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libasan_darwin_rpath = -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;'>++libasan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(link_libasan) $(libasan_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libasan_preinit.o: asan_preinit.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cp $< $@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libsanitizer/asan/Makefile.in libsanitizer/asan/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index bad15b7984f..d67b9ae1a60 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libsanitizer/asan/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libsanitizer/asan/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -462,7 +462,10 @@ libasan_la_LIBADD = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(top_builddir)/sanitizer_common/libsanitizer_common.la \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(top_builddir)/lsan/libsanitizer_lsan.la $(am__append_2) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(am__append_3) $(LIBSTDCXX_RAW_CXX_LDFLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-libasan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(link_libasan)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@libasan_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libasan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(link_libasan) $(libasan_darwin_rpath)
</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;'>+ # Work around what appears to be a GNU make bug handling MAKEFLAGS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # values defined in terms of make variables, as is the case for CC and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libsanitizer/configure libsanitizer/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index ed0c15e37fc..ed3f2645a7b 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libsanitizer/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libsanitizer/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -665,6 +665,8 @@ TSAN_SUPPORTED_TRUE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_static
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_shared
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CXXCPP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -813,6 +815,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_fast_install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_gnu_ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_gcc_major_version_only
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_cet
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ '
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1466,6 +1469,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-cet enable Intel CET in target libraries [default=no]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Optional Packages:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10547,6 +10552,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10564,10 +10619,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12363,7 +12427,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 12366 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 12430 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12469,7 +12533,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 12472 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 12536 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -13345,6 +13409,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc_CXX=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct_CXX=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic_CXX=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -13362,12 +13476,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds_CXX="\$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_dsymutil}"
</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;'>++ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 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}"
</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;'>+@@ -17075,6 +17202,14 @@ if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test -z "${TSAN_SUPPORTED_TRUE}" && test -z "${TSAN_SUPPORTED_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"TSAN_SUPPORTED\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libsanitizer/lsan/Makefile.am libsanitizer/lsan/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 62ea17dccec..7b695e0e94d 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libsanitizer/lsan/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libsanitizer/lsan/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -39,8 +39,11 @@ if LIBBACKTRACE_SUPPORTED
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ liblsan_la_LIBADD += $(top_builddir)/libbacktrace/libsanitizer_libbacktrace.la
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ liblsan_la_LIBADD += $(LIBSTDCXX_RAW_CXX_LDFLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-liblsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(link_liblsan)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++liblsan_darwin_rpath = -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;'>++liblsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(link_liblsan) $(liblsan_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ liblsan_preinit.o: lsan_preinit.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cp $< $@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libsanitizer/lsan/Makefile.in libsanitizer/lsan/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index acc76ca1342..d9ab004b715 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libsanitizer/lsan/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libsanitizer/lsan/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -408,7 +408,10 @@ liblsan_la_LIBADD = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(top_builddir)/sanitizer_common/libsanitizer_common.la \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(top_builddir)/interception/libinterception.la \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(am__append_1) $(LIBSTDCXX_RAW_CXX_LDFLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-liblsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(link_liblsan)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@liblsan_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++liblsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(link_liblsan) $(liblsan_darwin_rpath)
</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;'>+ # Work around what appears to be a GNU make bug handling MAKEFLAGS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # values defined in terms of make variables, as is the case for CC and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -782,7 +785,6 @@ uninstall-am: uninstall-nodist_toolexeclibHEADERS \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .PRECIOUS: Makefile
</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;'>+ liblsan_preinit.o: lsan_preinit.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cp $< $@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libsanitizer/tsan/Makefile.am libsanitizer/tsan/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 5d37abd20de..9506ae24a9b 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libsanitizer/tsan/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libsanitizer/tsan/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -57,7 +57,11 @@ libtsan_la_LIBADD += $(top_builddir)/libbacktrace/libsanitizer_libbacktrace.la
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libtsan_la_DEPENDENCIES +=$(top_builddir)/libbacktrace/libsanitizer_libbacktrace.la
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libtsan_la_LIBADD += $(LIBSTDCXX_RAW_CXX_LDFLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-libtsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(link_libtsan)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libtsan_darwin_rpath = -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;'>++libtsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(link_libtsan) $(libtsan_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libtsan_preinit.o: tsan_preinit.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cp $< $@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libsanitizer/tsan/Makefile.in libsanitizer/tsan/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 74896427edf..584886c198e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libsanitizer/tsan/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libsanitizer/tsan/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -461,7 +461,10 @@ libtsan_la_DEPENDENCIES = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(top_builddir)/sanitizer_common/libsanitizer_common.la \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(top_builddir)/interception/libinterception.la \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(TSAN_TARGET_DEPENDENT_OBJECTS) $(am__append_2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-libtsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(link_libtsan)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@libtsan_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libtsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(link_libtsan) $(libtsan_darwin_rpath)
</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;'>+ # Work around what appears to be a GNU make bug handling MAKEFLAGS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # values defined in terms of make variables, as is the case for CC and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libsanitizer/ubsan/Makefile.am libsanitizer/ubsan/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 46021d6c8fa..c93926a6078 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libsanitizer/ubsan/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libsanitizer/ubsan/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -35,7 +35,11 @@ if LIBBACKTRACE_SUPPORTED
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libubsan_la_LIBADD += $(top_builddir)/libbacktrace/libsanitizer_libbacktrace.la
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libubsan_la_LIBADD += $(LIBSTDCXX_RAW_CXX_LDFLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-libubsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(link_libubsan)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libubsan_darwin_rpath = -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;'>++libubsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(link_libubsan) $(libubsan_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Use special rules for files that require RTTI support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ubsan_handlers_cxx.% ubsan_type_hash.% ubsan_type_hash_itanium.% : AM_CXXFLAGS += -frtti
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libsanitizer/ubsan/Makefile.in libsanitizer/ubsan/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 654cb648540..3a94c187b69 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libsanitizer/ubsan/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libsanitizer/ubsan/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -396,7 +396,10 @@ libubsan_la_SOURCES = $(ubsan_files)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libubsan_la_LIBADD = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(top_builddir)/sanitizer_common/libsanitizer_common.la \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(am__append_1) $(am__append_2) $(LIBSTDCXX_RAW_CXX_LDFLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-libubsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(link_libubsan)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@libubsan_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libubsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(link_libubsan) $(libubsan_darwin_rpath)
</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;'>+ # Work around what appears to be a GNU make bug handling MAKEFLAGS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # values defined in terms of make variables, as is the case for CC and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libssp/Makefile.am libssp/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 45fee02da4f..e332c9c9245 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libssp/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libssp/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -49,8 +49,11 @@ libssp_la_SOURCES = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vsnprintf-chk.c vsprintf-chk.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libssp_la_LIBADD =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libssp_la_DEPENDENCIES = $(version_dep) $(libssp_la_LIBADD)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libssp_darwin_rpath = -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;'>+ libssp_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $(version_arg) $(lt_host_flags)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(version_arg) $(lt_host_flags) $(libssp_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libssp_nonshared_la_SOURCES = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ssp-local.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libssp/Makefile.in libssp/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index bc8a0dc2b28..9b6411cc32d 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libssp/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libssp/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -376,8 +376,9 @@ libssp_la_SOURCES = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libssp_la_LIBADD =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libssp_la_DEPENDENCIES = $(version_dep) $(libssp_la_LIBADD)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@libssp_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libssp_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $(version_arg) $(lt_host_flags)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(version_arg) $(lt_host_flags) $(libssp_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libssp_nonshared_la_SOURCES = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ssp-local.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libssp/configure libssp/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index db527f47519..5c02b4945a2 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libssp/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libssp/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -639,6 +639,8 @@ toolexecdir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_static
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_shared
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_host_flags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -781,6 +783,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_fast_install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_gnu_ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_toolexeclibdir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_gcc_major_version_only
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ '
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1426,6 +1429,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Optional Packages:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9161,6 +9166,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9178,10 +9233,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10998,7 +11062,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 11001 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 11065 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11104,7 +11168,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 11107 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 11171 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11591,6 +11655,10 @@ if test -z "${LIBSSP_USE_SYMVER_SUN_TRUE}" && test -z "${LIBSSP_USE_SYMVER_SUN_F
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"LIBSSP_USE_SYMVER_SUN\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</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;'>+ : "${CONFIG_STATUS=./config.status}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ac_write_fail=0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libstdc++-v3/configure libstdc++-v3/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 766a0a8d504..94bd3590e92 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libstdc++-v3/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libstdc++-v3/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -775,6 +775,8 @@ enable_static
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_shared
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_host_flags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CXXCPP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -906,6 +908,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_fast_install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_gnu_ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_hosted_libstdcxx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_libstdcxx_verbose
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_libstdcxx_pch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1591,6 +1594,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-hosted-libstdcxx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ only build freestanding C++ runtime support
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libstdcxx-verbose
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10224,6 +10229,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10241,10 +10296,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12061,7 +12125,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 12064 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 12128 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12167,7 +12231,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 12170 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 12234 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -13049,6 +13113,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc_CXX=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct_CXX=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic_CXX=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -13066,12 +13180,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds_CXX="\$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_dsymutil}"
</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;'>++ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 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}"
</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;'>+@@ -15859,7 +15986,7 @@ $as_echo "$glibcxx_cv_atomic_long_long" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Fake what AC_TRY_COMPILE does.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext << EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 15862 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 15989 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int main()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ typedef bool atomic_type;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15894,7 +16021,7 @@ $as_echo "$glibcxx_cv_atomic_bool" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rm -f conftest*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext << EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 15897 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 16024 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int main()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ typedef short atomic_type;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15929,7 +16056,7 @@ $as_echo "$glibcxx_cv_atomic_short" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rm -f conftest*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext << EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 15932 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 16059 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int main()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // NB: _Atomic_word not necessarily int.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15965,7 +16092,7 @@ $as_echo "$glibcxx_cv_atomic_int" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rm -f conftest*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext << EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 15968 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 16095 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int main()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ typedef long long atomic_type;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16118,7 +16245,7 @@ $as_echo "mutex" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # unnecessary for this test.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext << EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 16121 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 16248 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int main()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ _Decimal32 d1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16160,7 +16287,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # unnecessary for this test.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext << EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 16163 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 16290 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<typename T1, typename T2>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct same
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { typedef T2 type; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16194,7 +16321,7 @@ $as_echo "$enable_int128" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rm -f conftest*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext << EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 16197 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 16324 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<typename T1, typename T2>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct same
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { typedef T2 type; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -77540,6 +77667,14 @@ if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test -z "${GLIBCXX_HOSTED_TRUE}" && test -z "${GLIBCXX_HOSTED_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"GLIBCXX_HOSTED\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libstdc++-v3/src/Makefile.am libstdc++-v3/src/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a139adc81b3..b0fc1a1afbf 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libstdc++-v3/src/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libstdc++-v3/src/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -104,8 +104,13 @@ libstdc___la_DEPENDENCIES = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(top_builddir)/src/c++11/libc++11convenience.la \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(top_builddir)/src/c++17/libc++17convenience.la
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libstdc___darwin_rpath = -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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libstdc___la_LDFLAGS = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- -version-info $(libtool_VERSION) ${version_arg} -lm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -version-info $(libtool_VERSION) ${version_arg} -lm \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(libstdc___darwin_rpath)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libstdc___la_LINK = $(CXXLINK) $(libstdc___la_LDFLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libstdc++-v3/src/Makefile.in libstdc++-v3/src/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index ea37a962a9a..9dfd2f0e3d0 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libstdc++-v3/src/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libstdc++-v3/src/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -513,8 +513,10 @@ libstdc___la_DEPENDENCIES = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(top_builddir)/src/c++11/libc++11convenience.la \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(top_builddir)/src/c++17/libc++17convenience.la
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@ENABLE_DARWIN_AT_RPATH_TRUE@libstdc___darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libstdc___la_LDFLAGS = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- -version-info $(libtool_VERSION) ${version_arg} -lm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -version-info $(libtool_VERSION) ${version_arg} -lm \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(libstdc___darwin_rpath)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libstdc___la_LINK = $(CXXLINK) $(libstdc___la_LDFLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libtool.m4 libtool.m4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 00206549f54..2d247273b0a 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libtool.m4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libtool.m4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1039,6 +1039,47 @@ _LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m4_defun([_LT_DARWIN_LINKER_FEATURES],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m4_require([_LT_REQUIRED_DARWIN_CHECKS])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ AC_ARG_ENABLE([darwin-at-rpath],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ AS_HELP_STRING([--enable-darwin-at-path],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ [install libraries with @rpath/library-name, requires rpaths to be added to executables]),
</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;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[[45678]]*|UNSET,rhapsody*|10.[[01234]][[,.]]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&AS_MESSAGE_LOG_FD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++ [case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[[45678]]*|UNSET,rhapsody*|10.[[01234]][[,.]]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[[56789]]*|UNSET,darwin20*|10.1[[123456789]][[,.]]*|11.*[[,.]]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&AS_MESSAGE_LOG_FD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++ 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;'>+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ _LT_TAGVAR(hardcode_direct, $1)=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ _LT_TAGVAR(hardcode_automatic, $1)=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1056,13 +1097,26 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&AS_MESSAGE_LOG_FD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&AS_MESSAGE_LOG_FD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m4_if([$1], [CXX],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- _LT_TAGVAR(archive_cmds, $1)="\$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_dsymutil}"
</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;'>++ _LT_TAGVAR(archive_cmds, $1)="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ _LT_TAGVAR(archive_cmds, $1)="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ _LT_TAGVAR(archive_expsym_cmds, $1)="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}"
</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;'>+diff --git libvtv/configure libvtv/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 4de60cf5e50..43f8e09b562 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libvtv/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libvtv/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -644,6 +644,8 @@ enable_static
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_shared
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_host_flags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CXXCPP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -797,6 +799,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_fast_install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_gnu_ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_cet
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_gcc_major_version_only
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ '
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1446,6 +1449,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-cet enable Intel CET in target libraries [default=no]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Optional Packages:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10448,6 +10453,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10465,10 +10520,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12264,7 +12328,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 12267 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 12331 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12370,7 +12434,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 12373 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 12437 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -13246,6 +13310,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc_CXX=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct_CXX=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic_CXX=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -13263,12 +13377,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds_CXX="\$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_dsymutil}"
</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;'>++ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 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}"
</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;'>+@@ -15993,6 +16120,14 @@ if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test -z "${VTV_CYGMIN_TRUE}" && test -z "${VTV_CYGMIN_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"VTV_CYGMIN\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git zlib/configure zlib/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 46a35918ddb..fdd8e89973e 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- zlib/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ zlib/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -640,6 +640,8 @@ TARGET_LIBRARY_TRUE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ toolexeclibdir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ toolexecdir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CPP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OTOOL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIPO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -774,6 +776,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_fast_install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_gnu_ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_toolexeclibdir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_host_shared
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ '
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1416,6 +1419,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-host-shared build host code as shared libraries
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Optional Packages:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -8817,6 +8822,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin* | rhapsody*)
</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;'>++ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # needs access.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=no
</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 cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</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;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ENABLE_DARWIN_AT_RPATH_FALSE=
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -8834,10 +8889,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>++ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10654,7 +10718,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 10657 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 10721 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10760,7 +10824,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 10763 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 10827 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11627,6 +11691,10 @@ if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test -z "${TARGET_LIBRARY_TRUE}" && test -z "${TARGET_LIBRARY_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_fn_error $? "conditional \"TARGET_LIBRARY\" was never defined.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0005-Darwin-Ada-Add-loader-path-as-a-default-rpath.patch b/lang/gcc10-bootstrap/files/0005-Darwin-Ada-Add-loader-path-as-a-default-rpath.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..8e1f0bf2952
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0005-Darwin-Ada-Add-loader-path-as-a-default-rpath.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,32 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 541ac5f5f65ffe7acd53a108f6f08097973c98e5 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 29 Mar 2021 08:53:09 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, Ada : Add loader path as a default rpath.
</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;'>+ gcc/ada/gcc-interface/Makefile.in | 2 ++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 2 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/ada/gcc-interface/Makefile.in gcc/ada/gcc-interface/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 3342e33b4b1..c4622ed542e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/ada/gcc-interface/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/ada/gcc-interface/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -780,6 +780,7 @@ gnatlib-shared-darwin:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(SO_OPTS) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -Wl,-install_name,@rpath/libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -Wl,-rpath,@loader_path \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(MISCLIB)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -dynamiclib $(PICFLAG_FOR_TARGET) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -787,6 +788,7 @@ gnatlib-shared-darwin:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(GNATRTL_TASKING_OBJS) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(SO_OPTS) \
</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,-rpath,@loader_path \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(THREADSLIB) -Wl,libgnat$(hyphen)$(LIBRARY_VERSION)$(soext)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cd $(RTSDIR); $(LN_S) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgnat$(soext)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0006-configure-Darwin-Adjust-RPATH_ENVVAR-for-embedded-ru.patch b/lang/gcc10-bootstrap/files/0006-configure-Darwin-Adjust-RPATH_ENVVAR-for-embedded-ru.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..59a5dbf7205
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0006-configure-Darwin-Adjust-RPATH_ENVVAR-for-embedded-ru.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,75 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 0b8867f9640eb79c92ccfb7cd677dd5096d12026 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sat, 10 Apr 2021 14:10:45 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] configure, Darwin : Adjust RPATH_ENVVAR for embedded
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ run-paths.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Darwin versions later than Darwin14 cannot use DYLD_LIBRARY_PATH to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+provide the run-path for stage 1 target and stage 2+ configure, since
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+system tools like /bin/sh remove the environment variable. If we want
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+to access this info we will have to do so explicitly; so provide a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+separate (non DYLD_) environment variable for this. We default to an
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+embedded run-path for these OS versions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Embedded run-paths are optional (but recommended) on Darwin9 to 14.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure | 16 +++++++++++++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.ac | 16 +++++++++++++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 30 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git configure configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 750bc3f9967..a9b41249686 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7218,7 +7218,21 @@ rm -f conftest*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Decide which environment variable is used to find dynamic libraries.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case "${host}" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- *-*-darwin*) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-*-darwin[45678]*) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-*-darwin*)
</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;'>++ RPATH_ENVVAR=DYLD_LIBRARY_PATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Darwin versions later than Darwin14 cannot use DYLD_LIBRARY_PATH to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # provide the run-path for stage 1 target and stage 2+ configure, since
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system tools like /bin/sh remove the environment variable. If we want
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # to access this info we will have to do so explicitly; so provide a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # separate (non DYLD_) environment variable for this. We default to an
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # embedded run-path for these OS versions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Embedded run-paths are optional (but recommended) on Darwin9 to 14.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ RPATH_ENVVAR=GCC_HOST_LIBRARY_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;'>+ *-*-mingw* | *-*-cygwin ) RPATH_ENVVAR=PATH ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git configure.ac configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 1ca98001081..38b61964f0f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2720,7 +2720,21 @@ rm -f conftest*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Decide which environment variable is used to find dynamic libraries.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case "${host}" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- *-*-darwin*) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-*-darwin[[45678]]*) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-*-darwin*)
</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;'>++ RPATH_ENVVAR=DYLD_LIBRARY_PATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Darwin versions later than Darwin14 cannot use DYLD_LIBRARY_PATH to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # provide the run-path for stage 1 target and stage 2+ configure, since
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # system tools like /bin/sh remove the environment variable. If we want
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # to access this info we will have to do so explicitly; so provide a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # separate (non DYLD_) environment variable for this. We default to an
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # embedded run-path for these OS versions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Embedded run-paths are optional (but recommended) on Darwin9 to 14.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ RPATH_ENVVAR=GCC_HOST_LIBRARY_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;'>+ *-*-mingw* | *-*-cygwin ) RPATH_ENVVAR=PATH ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
</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;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0007-libiberty-Darwin-Fix-simple-object-LTO-table-for-cro.patch b/lang/gcc10-bootstrap/files/0007-libiberty-Darwin-Fix-simple-object-LTO-table-for-cro.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..a570b556d5b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0007-libiberty-Darwin-Fix-simple-object-LTO-table-for-cro.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,38 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 04daaf6bbdf630f19344667482ba6a01b1cdd570 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri, 9 Apr 2021 13:40:11 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] libiberty, Darwin : Fix simple-object LTO table for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cross-endian case.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+We encapsulate streamed IR in three special sections with a table
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+that describes their entries. The table is expected to be written
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+with native endianness for the target, but for cross-endian cross-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compilation the swapping was omitted. Fixed thus.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libiberty/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * simple-object-mach-o.c (simple_object_mach_o_write_segment):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Arrange to swap the LTO index tables where needed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libiberty/simple-object-mach-o.c | 5 +++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 5 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libiberty/simple-object-mach-o.c libiberty/simple-object-mach-o.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 14f53428643..bae7cb63ffe 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libiberty/simple-object-mach-o.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libiberty/simple-object-mach-o.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1225,6 +1225,11 @@ simple_object_mach_o_write_segment (simple_object_write *sobj, int descriptor,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ index[4 * i] -= index[0];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ index[0] = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Swap the indices, if required. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for (i = 0; i < (nsects_in * 4); ++i)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set_32 (&index[i], index[i]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sechdr_offset += sechdrsize;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Write out the section names.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0008-Darwin-Rework-handling-for-unwinder-code-in-libgcc_s.patch b/lang/gcc10-bootstrap/files/0008-Darwin-Rework-handling-for-unwinder-code-in-libgcc_s.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..84e48e25c0b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0008-Darwin-Rework-handling-for-unwinder-code-in-libgcc_s.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,1254 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 4241230a0d9864dd2810e5940dd82829bfa4fee3 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 17 Jun 2019 12:59:29 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin: Rework handling for unwinder code in libgcc_s and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ specs [PR80556].
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This addresses a long-standing problem where a work-around for an unwinder
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+issue (also a regression) regresses other functionality. The patch replaces
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the work-arounds.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+TL;DR:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * we provide a bumped libgcc_s.1.1 that contains the routines that were
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ previously exported via symbols in libgcc_ext
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * we always use the builtins from the [new] compiler's libgcc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This allows us to clean up a bunch of stuff and back out of the various work-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+arounds. (With 20:20 hindsight, we should have done this in the first place
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+but the libgcc_ext solution, described below, appeared less invasive at the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+time).
</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;'>+MacOS system configurations are considered immutable by end-users - there is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+no general equivalent of "apt-getting" additions to the system components,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+instead updates come from Apple, at least, until an OS version is out of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+support. Additions typically come from one of the macOS OSS 'distributions'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(e.g. macports, homebrew, fink).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+OSS distributions install alongside the system rather than into it - and policy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(for at least the major distributions) is that they do not modify the Apple-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+provided one. As far as the Darwin maintainers of GCC are concerned, this is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the only realistically supportable policy here too.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The issue here concerns the shared libgcc which not only provides the compiler
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+built-ins but also support for emulated TLS and the language-neutral parts of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the unwinder.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+On macOS, there is no user-space equivalent of a completely "static" executable
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+they are all launched via the dynamic loader (dyld) and use the shared libc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(libSystem) which is only available as a dynamic library. Nevertheless, the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+static linker can use convenience libraries - so that (other than libSystem) an
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+executable can be statically-linked.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Until 10.3.9, there was no shared libgcc (or libstdc++) and all exceptions-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+handling code was added from convenience libraries by the static linker.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Between 10.3.9 and 10.5.8, there is a shared libgcc_s, which provides the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+unwinder and is based on gcc-4.2.1. This is /usr/lib/libgcc_s.1.dylib.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 10.6 onwards the unwinder is provided (via libSystem) by libunwind which
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+is part of the LLVM project. However, for backwards compatibility, there is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+a symlink /usr/lib/libgcc_s.1.dylib => /usr/lib/libSystem.B.dylib. Note, that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+this link has (currently) been removed from macOS 11 systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+We want to be able to install a new version of GCC alongside existing system
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compilers, but policy dictates that we are not able to overwrite or replace
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the system unwinder with the one in the new libgcc_s (it would be essentially
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+unworkable on any system after 10.6 anyway).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+On Darwin systems /path1/to/library.dylib and /path2/to/library.dylib are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+considered to be different libraries (so-called, two-level library namespace).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Darwin can also provide 'stub' libraries that simply re-export a sub-set of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the symbols from another library.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+These two points allowed us to use two stub libraries; one containing the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+symbols from the original /usr/lib/libgcc_s.1.dylib and one containing new
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+symbols from /path/to/compiler/install/lib/libgcc_s.1.dylib. Since the two
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libraries are distinct by the two-level namespace rules, there was no need to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+alter the library build (a complete set of builtins and unwinder components are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+still present in the /path/to/compiler/install/lib/libgcc_s.1.dylib).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The system SDKs provide the stub libraries that export the symbols present in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/usr/lib/libgcc_s.1.dylib; we added a 'libgcc_ext' stub (describing the new
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+symbols available with the updated GCC).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+NOTE (important) that this means that code referring to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/path/to/compiler/install/lib/libgcc_s.1.dylib via libgcc_ext
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+will not reference any unwinder symbols in that lib [even though they were
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+present in the built libraries, they were not exposed via the stub].
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Unfortunately the system SDKs do not provide a libgcc_s.10.X for 10.6+ and we
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+are not able to add our own (since SDKs are considered part of the immutable
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+content). Since the systems *do* provide /usr/lib/libgcc_s.1.dylib as a link
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+to libSystem and /usr/lib is a necessary path for library searches, this
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts with any -lgcc_s.1 we add.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+A series of workarounds have been used to try and resolve this, but none are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+completely satisfactory; hence this patch.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+=== dynamic objects
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This change removes all the stubs machinery and workarounds and:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * bumps the SO version for Darwin's libgcc_s => 1.1 avoiding the conflict.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * the new version does not contain an unwinder, so it can be symlinked as
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc_s.1 [in the compiler install path] and be backward-compatible with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ the symbols exported by libgcc_ext (per NOTE above).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * builtins will be resolved from the new libgcc_s. Previously, we have
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ used the versions exported from /usr/lib/libgcc_s.1.dylib or libSystem
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ where these are present, and from the compiler version where not. This is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ no longer satisfactory, we need to use the versions from the compiler's
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build to pick up bug fixes (part of this regression is caused by a buggy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ conversion routine, now fixed in libgcc). This makes sense as a general
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ policy anyway - the builtins belong to the compiler, not the system (this
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ same policy is already used for other system compilers).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+=== static linking (noting that user-space executables are always dynamic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ but the static linker can use convenience libraries for runtimes etc.).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+For macOS 10.6+ (Darwin10+), we do not provide an (automatic) ability to link
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+an unwinder statically - this is because there is no system-provided unwinder
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+convenience library - and any version we added would conflict with the dynamic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+one in libSystem. An end-user can always add -lgcc_eh to override that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+decision (but that is not recommended).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+For 10.6+ and a "-static-libgcc", we need to provide an implementation of the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+emulated TLS routines - and we need to provide it in a non-conflicting manner.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This is resolved by linking a weak version of the routines in this case. Thus
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+such an executable can be operated together with a dynamically linked library
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+that refers to the version in /..../libgcc_s.1.1.dylib, because the version in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+that is non-weak it will override the one in the exe. If there is no non-weak
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version then a weak version will be selected by the dynamic loaded (dyld).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+For macOS versions before 10.6, we provide the same pattern as for other GCC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+installs (libgcc.a libgcc_eh.a) and these have their usual content. Of course,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+it is the user's responsibility to avoid conflicts in that case (i.e ensure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+that all or none of the libraries are statically linked; noting that libSystem
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+is fine here since it does not contain the unwinder in these OS revisions).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+One final note:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+We are not able to add a symlink libgcc_s.1.dylib => libgcc_s.1.1.dylib [in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler's install lib dir] at build time, since that breaks testing (because
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+of the way in which DYLD_LIBRARY_PATH works, ignoring the two-level names).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This needs fixing too but is outside the scope of the current patch.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+A distribution that wishes to have multiple GCC versions installed in the same
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+paths should, post-install, replace any existing older libgcc_s.1.dylib with a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+symlink to the new libgcc_s.1.1.dylib .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PR target/80556
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/darwin.c (darwin_rename_builtins): Remove workaround.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/darwin.h (LINK_GCC_C_SEQUENCE_SPEC): Provide __eprintf via
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc for macOS <= 10.4. (REAL_LIBGCC_SPEC): Adjust for the revised
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ library naming.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/i386/darwin.h (REAL_LIBGCC_SPEC): Remove workaround.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/i386/darwin32-biarch.h (REAL_LIBGCC_SPEC): Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/i386/darwin64-biarch.h (REAL_LIBGCC_SPEC): Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libgcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PR target/80556
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config.host: Adjust target fragments to omit the unwinder from
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Darwin libgcc builds. Add a weak emutls crt.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/i386/t-darwin: Add X86-specific libgcc symbols.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/t-darwin: Build a crat containing weak definitions for the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ emuTLS routines.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/t-slibgcc-darwin: Bump SO version, remove all the handling
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for stub libraries.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * emutls.c (EMUTLS_ATTR): New.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (__emutls_get_address): Allow a target to add a weak
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ attribute if provided.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (__emutls_register_common): Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/i386/libgcc-darwin.10.4.ver: Removed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/i386/libgcc-darwin.10.5.ver: Removed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/libgcc-libsystem.ver: Removed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/rs6000/libgcc-darwin.10.4.ver: Removed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/rs6000/libgcc-darwin.10.5.ver: Removed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/i386/libgcc-darwin.ver: New file.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/t-darwin-noeh: New file.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/testsuite/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PR target/80556
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * gcc.dg/torture/fp-int-convert-timode-3.c: Revert XFAIL.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * gcc.dg/torture/fp-int-convert-timode-4.c: Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/darwin-driver.c | 13 ++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/darwin.c | 24 ----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/darwin.h | 98 ++++++++++------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/darwin.opt | 4 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/i386/darwin.h | 27 -----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/i386/darwin32-biarch.h | 26 -----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/i386/darwin64-biarch.h | 26 -----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .../gcc.dg/torture/fp-int-convert-timode-3.c | 1 -
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .../gcc.dg/torture/fp-int-convert-timode-4.c | 1 -
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config.host | 12 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/i386/darwin-lib.h | 3 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/i386/libgcc-darwin.10.4.ver | 98 ----------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/i386/libgcc-darwin.10.5.ver | 102 -----------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/i386/libgcc-darwin.ver | 2 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/i386/t-darwin | 2 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/libgcc-libsystem.ver | 1 -
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/rs6000/libgcc-darwin.10.4.ver | 93 ---------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/rs6000/libgcc-darwin.10.5.ver | 106 ------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/t-darwin | 12 ++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/t-darwin-noeh | 4 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/t-slibgcc-darwin | 72 +++---------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/emutls.c | 12 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 22 files changed, 137 insertions(+), 602 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ delete mode 100644 libgcc/config/i386/libgcc-darwin.10.4.ver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ delete mode 100644 libgcc/config/i386/libgcc-darwin.10.5.ver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create mode 100644 libgcc/config/i386/libgcc-darwin.ver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ delete mode 100644 libgcc/config/libgcc-libsystem.ver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ delete mode 100644 libgcc/config/rs6000/libgcc-darwin.10.4.ver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ delete mode 100644 libgcc/config/rs6000/libgcc-darwin.10.5.ver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create mode 100644 libgcc/config/t-darwin-noeh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/darwin-driver.c gcc/config/darwin-driver.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 4698a845da5..6ceccba1e98 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/darwin-driver.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/darwin-driver.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -285,6 +285,7 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool seen_version_min = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool seen_sysroot_p = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool seen_rpath_p = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ bool noexport_p = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for (i = 1; i < *decoded_options_count; i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -375,6 +376,8 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc_checking_assert ((*decoded_options)[i].arg);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (strncmp ((*decoded_options)[i].arg, "-rpath", 6) == 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ seen_rpath_p = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (strncmp ((*decoded_options)[i].arg, "-exported_symbol", 16) == 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ noexport_p = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ default:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -495,13 +498,17 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (seen_rpath_p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (seen_rpath_p || noexport_p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ++*decoded_options_count;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *decoded_options = XRESIZEVEC (struct cl_decoded_option,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *decoded_options,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *decoded_options_count);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- generate_option (OPT_nodefaultrpath, NULL, 1, CL_DRIVER,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- &(*decoded_options)[*decoded_options_count - 1]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (seen_rpath_p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ generate_option (OPT_nodefaultrpath, NULL, 1, CL_DRIVER,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ &(*decoded_options)[*decoded_options_count - 1]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (noexport_p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ generate_option (OPT_nodefaultexport, NULL, 1, CL_DRIVER,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ &(*decoded_options)[*decoded_options_count - 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;'>+diff --git gcc/config/darwin.c gcc/config/darwin.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 89513c0d145..f064fbd1588 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/darwin.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/darwin.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3595,30 +3595,6 @@ darwin_fold_builtin (tree fndecl, int n_args, tree *argp,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin_rename_builtins (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- /* The system ___divdc3 routine in libSystem on darwin10 is not
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- accurate to 1ulp, ours is, so we avoid ever using the system name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- for this routine and instead install a non-conflicting name that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- is accurate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- When -ffast-math or -funsafe-math-optimizations is given, we can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- use the faster version. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (!flag_unsafe_math_optimizations)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- enum built_in_function dcode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- = (enum built_in_function)(BUILT_IN_COMPLEX_DIV_MIN
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- + DCmode - MIN_MODE_COMPLEX_FLOAT);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- tree fn = builtin_decl_explicit (dcode);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- /* Fortran and c call TARGET_INIT_BUILTINS and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- TARGET_INIT_LIBFUNCS at different times, so we have to put a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- call into each to ensure that at least one of them is called
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- after build_common_builtin_nodes. A better fix is to add a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- new hook to run after build_common_builtin_nodes runs. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (fn)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- set_user_assembler_name (fn, "___ieee_divdc3");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- fn = builtin_decl_implicit (dcode);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (fn)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- set_user_assembler_name (fn, "___ieee_divdc3");
</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;'>+ bool
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/darwin.h gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index fec8dba7f0a..52f4f8abf7d 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -241,6 +241,16 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %(link_ssp) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %:version-compare(>< 10.6 10.7 mmacosx-version-min= -ld10-uwfef.o) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %(link_gcc_c_sequence) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ %{!nodefaultexport:%{dylib|dynamiclib|bundle: \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ %:version-compare(>= 10.11 asm_macosx_version_min= -U) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ %:version-compare(>= 10.11 asm_macosx_version_min= ___emutls_get_address) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ %:version-compare(>= 10.11 asm_macosx_version_min= -exported_symbol) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ %:version-compare(>= 10.11 asm_macosx_version_min= ___emutls_get_address) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ %:version-compare(>= 10.11 asm_macosx_version_min= -U) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ %:version-compare(>= 10.11 asm_macosx_version_min= ___emutls_register_common) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ %:version-compare(>= 10.11 asm_macosx_version_min= -exported_symbol) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ %:version-compare(>= 10.11 asm_macosx_version_min= ___emutls_register_common) \
</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;'>+ %{!nostdlib:%{!r:%{!nostartfiles:%E}}} %{T*} %{F*} "\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DARWIN_PIE_SPEC \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -268,14 +278,11 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Tell collect2 to run dsymutil for us as necessary. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define COLLECT_RUN_DSYMUTIL 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* Fix PR47558 by linking against libSystem ahead of libgcc. See also
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- PR 80556 and the fallout from this. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* We only want one instance of %G, since libSystem (Darwin's -lc) does not
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ depend on libgcc. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef LINK_GCC_C_SEQUENCE_SPEC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define LINK_GCC_C_SEQUENCE_SPEC \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"%{!static:%{!static-libgcc: \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(>= 10.6 mmacosx-version-min= -lSystem) } } \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %G %{!nolibc:%L}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "%G %{!nolibc:%L} "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* ld64 supports a sysroot, it just has a different name and there's no easy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ way to check for it at config time. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -382,37 +389,62 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define LIB_SPEC "%{!static:-lSystem}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* Support -mmacosx-version-min by supplying different (stub) libgcc_s.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- libraries to link against, and by not linking against libgcc_s on
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- earlier-than-10.3.9. If we need exceptions, prior to 10.3.9, then we have
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- to link the static eh lib, since there's no shared version on the system.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- Note that by default, except as above, -lgcc_eh is not linked against.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Note that by default, -lgcc_eh is not linked against.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ This is because,in general, we need to unwind through system libraries that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ are linked with the shared unwinder in libunwind (or libgcc_s for 10.4/5).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- The static version of the current libgcc unwinder (which differs from the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- implementation in libunwind.dylib on systems Darwin10 [10.6]+) can be used
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- by specifying -static-libgcc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- If libgcc_eh is linked against, it has to be before -lgcc, because it might
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- need symbols from -lgcc. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ For -static-libgcc: < 10.6, use the unwinder in libgcc_eh (and find
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ the emultls impl. there too).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ For -static-libgcc: >= 10.6, the unwinder *still* comes from libSystem and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ we find the emutls impl from lemutls_w. In either case, the builtins etc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ are linked from -lgcc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ When we have specified shared-libgcc or any case that might require
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ exceptions, we pull the libgcc content (including emulated tls) from
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -lgcc_s.1 in GCC and the unwinder from /usr/lib/libgcc_s.1 for < 10.6 and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ libSystem for >= 10.6 respectively.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Otherwise, we just link the emutls/builtins from convenience libs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ If we need exceptions, prior to 10.3.9, then we have to link the static
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ eh lib, since there's no shared version on the system.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ In all cases, libgcc_s.1 will be installed with the compiler, or any app
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ built using it, so we can link the builtins and emutls shared on all.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ We have to work around that DYLD_XXXX are disabled in macOS 10.11+ which
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ means that any bootstrap trying to use a shared libgcc with a bumped SO-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ name will fail. This means that we do not accept shared libgcc for these
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ versions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ For -static-libgcc: >= 10.6, the unwinder *still* comes from libSystem and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ we find the emutls impl from lemutls_w. In either case, the builtins etc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ are linked from -lgcc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Otherwise, we just link the shared version of gcc_s.1.1 and pick up
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ exceptions:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Prior to 10.3.9, then we have to link the static eh lib, since there
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ is no shared version on the system.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * from 10.3.9 to 10.5, from /usr/lib/libgcc_s.1.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * from 10.6 onwards, from libSystem.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ In all cases, libgcc_s.1.1 will be installed with the compiler, or any app
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ built using it, so we can link the builtins and emutls shared on all.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++*/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef REAL_LIBGCC_SPEC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define REAL_LIBGCC_SPEC \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "%{static-libgcc|static: -lgcc_eh -lgcc; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- shared-libgcc|fexceptions|fobjc-exceptions|fgnu-runtime: \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(!> 10.3.9 mmacosx-version-min= -lgcc_eh) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_ext.10.4) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- -lgcc ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- :%:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_ext.10.4) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- -lgcc }"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define REAL_LIBGCC_SPEC \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"%{static-libgcc|static: \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ %:version-compare(!> 10.6 mmacosx-version-min= -lgcc_eh) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ %:version-compare(>= 10.6 mmacosx-version-min= -lemutls_w) ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ shared-libgcc|fexceptions|fobjc-exceptions|fgnu-runtime: \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ %:version-compare(!> 10.11 mmacosx-version-min= -lgcc_s.1.1) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ %:version-compare(>= 10.11 mmacosx-version-min= -lemutls_w) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ %:version-compare(!> 10.3.9 mmacosx-version-min= -lgcc_eh) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ %:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ : -lemutls_w \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ } -lgcc "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* We specify crt0.o as -lcrt0.o so that ld will search the library path. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/darwin.opt gcc/config/darwin.opt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 07981053f54..151b7fc3793 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/darwin.opt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/darwin.opt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -236,6 +236,10 @@ nodefaultrpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Driver RejectNegative
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Do not add a default rpath to executables, modules or dynamic libraries.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++nodefaultexport
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Driver RejectNegative
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Do not add a default symbol exports to modules or dynamic libraries.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ nofixprebinding
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Driver RejectNegative
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (Obsolete after 10.3.9) Set MH_NOPREFIXBINDING, in an executable.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/i386/darwin.h gcc/config/i386/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 5faa1f40089..8458342c099 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/i386/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/i386/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -39,33 +39,6 @@ along with GCC; see the file COPYING3. If not see
</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;'>+-/* WORKAROUND pr80556:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- For x86_64 Darwin10 and later, the unwinder is in libunwind (redirected
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- from libSystem). This doesn't use the keymgr (see keymgr.c) and therefore
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- the calls that libgcc makes to obtain the KEYMGR_GCC3_DW2_OBJ_LIST are not
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- updated to include new images, and might not even be valid for a single
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- image.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- Therefore, for 64b exes at least, we must use the libunwind implementation,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- even when static-libgcc is specified. We put libSystem first so that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- unwinder symbols are satisfied from there.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- We default to 64b for single-arch builds, so apply this unconditionally. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#undef REAL_LIBGCC_SPEC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define REAL_LIBGCC_SPEC \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "%{static-libgcc|static: \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(>= 10.6 mmacosx-version-min= -lSystem) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- -lgcc_eh -lgcc; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- shared-libgcc|fexceptions|fgnu-runtime: \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_s.10.4) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- -lgcc ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- :%:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- -lgcc }"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Size of the Obj-C jump buffer. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define OBJC_JBLEN ((TARGET_64BIT) ? ((9 * 2) + 3 + 16) : (18))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/i386/darwin32-biarch.h gcc/config/i386/darwin32-biarch.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 2a9070960e7..6e0bbf18ce9 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/i386/darwin32-biarch.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/i386/darwin32-biarch.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -21,32 +21,6 @@ along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef DARWIN_ARCH_SPEC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define DARWIN_ARCH_SPEC "%{m64:x86_64;:i386}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* WORKAROUND pr80556:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- For x86_64 Darwin10 and later, the unwinder is in libunwind (redirected
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- from libSystem). This doesn't use the keymgr (see keymgr.c) and therefore
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- the calls that libgcc makes to obtain the KEYMGR_GCC3_DW2_OBJ_LIST are not
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- updated to include new images, and might not even be valid for a single
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- image.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- Therefore, for 64b exes at least, we must use the libunwind implementation,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- even when static-libgcc is specified. We put libSystem first so that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- unwinder symbols are satisfied from there. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#undef REAL_LIBGCC_SPEC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define REAL_LIBGCC_SPEC \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "%{static-libgcc|static: \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %{m64:%:version-compare(>= 10.6 mmacosx-version-min= -lSystem)} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- -lgcc_eh -lgcc; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- shared-libgcc|fexceptions|fgnu-runtime: \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_s.10.4) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- -lgcc ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- :%:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- -lgcc }"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef DARWIN_SUBARCH_SPEC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define DARWIN_SUBARCH_SPEC DARWIN_ARCH_SPEC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/i386/darwin64-biarch.h gcc/config/i386/darwin64-biarch.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f20fa83c9b0..b2ca708075b 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/i386/darwin64-biarch.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/i386/darwin64-biarch.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -22,32 +22,6 @@ along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef DARWIN_ARCH_SPEC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define DARWIN_ARCH_SPEC "%{m32:i386;:x86_64}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* WORKAROUND pr80556:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- For x86_64 Darwin10 and later, the unwinder is in libunwind (redirected
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- from libSystem). This doesn't use the keymgr (see keymgr.c) and therefore
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- the calls that libgcc makes to obtain the KEYMGR_GCC3_DW2_OBJ_LIST are not
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- updated to include new images, and might not even be valid for a single
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- image.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- Therefore, for 64b exes at least, we must use the libunwind implementation,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- even when static-libgcc is specified. We put libSystem first so that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- unwinder symbols are satisfied from there. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#undef REAL_LIBGCC_SPEC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define REAL_LIBGCC_SPEC \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "%{static-libgcc|static: \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %{!m32:%:version-compare(>= 10.6 mmacosx-version-min= -lSystem)} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- -lgcc_eh -lgcc; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- shared-libgcc|fexceptions|fgnu-runtime: \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_s.10.4) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- -lgcc ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- :%:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- -lgcc }"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef DARWIN_SUBARCH_SPEC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define DARWIN_SUBARCH_SPEC DARWIN_ARCH_SPEC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.dg/torture/fp-int-convert-timode-3.c gcc/testsuite/gcc.dg/torture/fp-int-convert-timode-3.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 10702302bf8..707d539335f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.dg/torture/fp-int-convert-timode-3.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.dg/torture/fp-int-convert-timode-3.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -4,7 +4,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-require-effective-target int128 } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-require-effective-target fenv } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-options "-frounding-math" } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-xfail-run-if "see PR80556 c63" { x86_64-*-darwin* i68?-*-darwin* } { "*" } { "" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <fenv.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <stdlib.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.dg/torture/fp-int-convert-timode-4.c gcc/testsuite/gcc.dg/torture/fp-int-convert-timode-4.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 3facf32fb8b..09600f90903 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.dg/torture/fp-int-convert-timode-4.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.dg/torture/fp-int-convert-timode-4.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -4,7 +4,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-require-effective-target int128 } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-require-effective-target fenv } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-options "-frounding-math" } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-xfail-run-if "see PR80556 c63" { x86_64-*-darwin* i68?-*-darwin* } { "*" } { "" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <fenv.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <stdlib.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config.host libgcc/config.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a1bdc29b5de..9e77b4995a9 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -217,8 +217,10 @@ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case ${host} in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *-*-darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ asm_hidden_op=.private_extern
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- tmake_file="$tmake_file t-darwin ${cpu_type}/t-darwin "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- tmake_file="$tmake_file t-libgcc-pic t-slibgcc-darwin "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tmake_file="$tmake_file t-darwin ${cpu_type}/t-darwin t-libgcc-pic"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # The unwinder is provided by the system shared libraries, do not add one
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # to the shared libgcc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tmake_file="$tmake_file t-darwin-noeh t-slibgcc-darwin"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # We are not using libtool to build the libs here, so we need to replicate
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # a little of the logic around setting Darwin rpaths. Setting an explicit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # yes or no is honoured, otherwise we choose a suitable default.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -238,7 +240,7 @@ case ${host} in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "enable_darwin_at_rpath is '$enable_darwin_at_rpath'" 1>&2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- extra_parts="crt3.o d10-uwfef.o crttms.o crttme.o"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ extra_parts="crt3.o d10-uwfef.o crttms.o crttme.o libemutls_w.a"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *-*-dragonfly*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -706,12 +708,12 @@ hppa*-*-netbsd*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ i[34567]86-*-darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tmake_file="$tmake_file i386/t-crtpc t-crtfm i386/t-msabi"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- tm_file="$tm_file i386/darwin-lib.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tm_file="$tm_file "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ x86_64-*-darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tmake_file="$tmake_file i386/t-crtpc t-crtfm i386/t-msabi"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- tm_file="$tm_file i386/darwin-lib.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tm_file="$tm_file "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ i[34567]86-*-elfiamcu)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/i386/darwin-lib.h libgcc/config/i386/darwin-lib.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 68616136a9e..186e99fb522 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config/i386/darwin-lib.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config/i386/darwin-lib.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -22,6 +22,7 @@ a copy of the GCC Runtime Library Exception along with this program;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <http://www.gnu.org/licenses/>. */
</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;'>+ /* The system ___divdc3 routine in libSystem on darwin10 is not
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ accurate to 1ulp, ours is, so we avoid ever using the system name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for this routine and instead install a non-conflicting name that is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -30,3 +31,5 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define DECLARE_LIBRARY_RENAMES \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ asm(".text; ___divdc3: jmp ___ieee_divdc3 ; .globl ___divdc3");
</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;'>++extern void * _darwin10_Unwind_FindEnclosingFunction (void *);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/i386/libgcc-darwin.10.4.ver libgcc/config/i386/libgcc-darwin.10.4.ver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+deleted file mode 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 8b289f3bf80..00000000000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config/i386/libgcc-darwin.10.4.ver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,98 +0,0 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Copyright (C) 2005-2020 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# This file is part of GCC.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# GCC is free software; you can redistribute it and/or modify
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# it under the terms of the GNU General Public License as published by
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# the Free Software Foundation; either version 3, or (at your option)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# any later version.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# GCC is distributed in the hope that it will be useful,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# but WITHOUT ANY WARRANTY; without even the implied warranty of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# GNU General Public License for more details.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# You should have received a copy of the GNU General Public License
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# <http://www.gnu.org/licenses/>.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_Backtrace
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_DeleteException
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_FindEnclosingFunction
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_Find_FDE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_ForcedUnwind
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_GetCFA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_GetDataRelBase
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_GetGR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_GetIP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_GetLanguageSpecificData
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_GetRegionStart
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_GetTextRelBase
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_RaiseException
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_Resume
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_Resume_or_Rethrow
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_SetGR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_SetIP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___absvdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___absvsi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___addvdi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___addvsi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___ashldi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___ashrdi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___clear_cache
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___clzdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___clzsi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___cmpdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___ctzdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___ctzsi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___deregister_frame
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___deregister_frame_info
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___deregister_frame_info_bases
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___divdc3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___divdi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___divsc3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___divxc3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___enable_execute_stack
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___ffsdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixdfdi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixsfdi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixunsdfdi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixunsdfsi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixunssfdi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixunssfsi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixunsxfdi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixunsxfsi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixxfdi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___floatdidf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___floatdisf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___floatdixf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___gcc_personality_v0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___lshrdi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___moddi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___muldc3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___muldi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___mulsc3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___mulvdi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___mulvsi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___mulxc3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___negdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___negvdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___negvsi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___paritydi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___paritysi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___popcountdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___popcountsi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___powidf2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___powisf2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___powixf2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___register_frame
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___register_frame_info
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___register_frame_info_bases
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___register_frame_info_table
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___register_frame_info_table_bases
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___register_frame_table
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___subvdi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___subvsi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___ucmpdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___udivdi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___udivmoddi4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___umoddi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/i386/libgcc-darwin.10.5.ver libgcc/config/i386/libgcc-darwin.10.5.ver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+deleted file mode 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index c848487b4f1..00000000000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config/i386/libgcc-darwin.10.5.ver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,102 +0,0 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Copyright (C) 2005-2020 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# This file is part of GCC.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# GCC is free software; you can redistribute it and/or modify
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# it under the terms of the GNU General Public License as published by
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# the Free Software Foundation; either version 3, or (at your option)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# any later version.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# GCC is distributed in the hope that it will be useful,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# but WITHOUT ANY WARRANTY; without even the implied warranty of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# GNU General Public License for more details.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# You should have received a copy of the GNU General Public License
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# <http://www.gnu.org/licenses/>.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_Backtrace
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_DeleteException
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_FindEnclosingFunction
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_Find_FDE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_ForcedUnwind
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_GetCFA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_GetDataRelBase
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_GetGR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_GetIP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_GetIPInfo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_GetLanguageSpecificData
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_GetRegionStart
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_GetTextRelBase
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_RaiseException
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_Resume
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_Resume_or_Rethrow
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_SetGR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_SetIP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___absvdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___absvsi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___addvdi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___addvsi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___ashldi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___ashrdi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___clear_cache
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___clzdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___clzsi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___cmpdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___ctzdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___ctzsi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___deregister_frame
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___deregister_frame_info
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___deregister_frame_info_bases
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___divdc3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___divdi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___divsc3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___divxc3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___enable_execute_stack
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___ffsdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixdfdi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixsfdi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixunsdfdi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixunsdfsi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixunssfdi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixunssfsi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixunsxfdi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixunsxfsi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixxfdi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___floatdidf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___floatdisf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___floatdixf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___floatundidf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___floatundisf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___floatundixf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___gcc_personality_v0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___lshrdi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___moddi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___muldc3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___muldi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___mulsc3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___mulvdi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___mulvsi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___mulxc3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___negdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___negvdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___negvsi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___paritydi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___paritysi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___popcountdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___popcountsi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___powidf2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___powisf2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___powixf2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___register_frame
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___register_frame_info
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___register_frame_info_bases
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___register_frame_info_table
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___register_frame_info_table_bases
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___register_frame_table
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___subvdi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___subvsi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___ucmpdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___udivdi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___udivmoddi4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___umoddi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/i386/libgcc-darwin.ver libgcc/config/i386/libgcc-darwin.ver
</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 00000000000..9a6d26597f0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config/i386/libgcc-darwin.ver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,2 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++__cpu_model
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++__cpu_indicator_init
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/i386/t-darwin libgcc/config/i386/t-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 5f2c69725d0..64eea1cd5f9 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config/i386/t-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config/i386/t-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,3 +1,5 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIB2_SIDITI_CONV_FUNCS = yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIB2ADD = $(srcdir)/config/darwin-64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIB2FUNCS_EXCLUDE = _fixtfdi _fixunstfdi _floatditf _floatunditf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++SHLIB_MAPFILES += $(srcdir)/config/$(cpu_type)/libgcc-darwin.ver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/libgcc-libsystem.ver libgcc/config/libgcc-libsystem.ver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+deleted file mode 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 47631749dc2..00000000000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config/libgcc-libsystem.ver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1 +0,0 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-_darwin10_Unwind_FindEnclosingFunction
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/rs6000/libgcc-darwin.10.4.ver libgcc/config/rs6000/libgcc-darwin.10.4.ver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+deleted file mode 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index ac34a845eae..00000000000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config/rs6000/libgcc-darwin.10.4.ver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,93 +0,0 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Copyright (C) 2005-2020 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# This file is part of GCC.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# GCC is free software; you can redistribute it and/or modify
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# it under the terms of the GNU General Public License as published by
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# the Free Software Foundation; either version 3, or (at your option)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# any later version.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# GCC is distributed in the hope that it will be useful,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# but WITHOUT ANY WARRANTY; without even the implied warranty of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# GNU General Public License for more details.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# You should have received a copy of the GNU General Public License
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# <http://www.gnu.org/licenses/>.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_Backtrace
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_DeleteException
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_FindEnclosingFunction
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_Find_FDE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_ForcedUnwind
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_GetCFA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_GetDataRelBase
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_GetGR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_GetIP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_GetLanguageSpecificData
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_GetRegionStart
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_GetTextRelBase
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_RaiseException
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_Resume
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_Resume_or_Rethrow
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_SetGR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_SetIP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___absvdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___absvsi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___addvdi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___addvsi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___ashldi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___ashrdi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___clear_cache
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___clzdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___clzsi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___cmpdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___ctzdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___ctzsi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___deregister_frame
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___deregister_frame_info
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___deregister_frame_info_bases
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___divdi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___enable_execute_stack
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___ffsdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixdfdi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixsfdi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixtfdi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixunsdfdi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixunsdfsi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixunssfdi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixunssfsi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixunstfdi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___floatdidf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___floatdisf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___floatditf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___gcc_personality_v0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___gcc_qadd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___gcc_qdiv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___gcc_qmul
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___gcc_qsub
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___lshrdi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___moddi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___muldi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___mulvdi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___mulvsi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___negdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___negvdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___negvsi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___paritydi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___paritysi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___popcountdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___popcountsi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___register_frame
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___register_frame_info
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___register_frame_info_bases
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___register_frame_info_table
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___register_frame_info_table_bases
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___register_frame_table
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___subvdi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___subvsi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___trampoline_setup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___ucmpdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___udivdi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___udivmoddi4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___umoddi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/rs6000/libgcc-darwin.10.5.ver libgcc/config/rs6000/libgcc-darwin.10.5.ver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+deleted file mode 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 7dca6ae8013..00000000000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config/rs6000/libgcc-darwin.10.5.ver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,106 +0,0 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Copyright (C) 2005-2020 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# This file is part of GCC.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# GCC is free software; you can redistribute it and/or modify
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# it under the terms of the GNU General Public License as published by
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# the Free Software Foundation; either version 3, or (at your option)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# any later version.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# GCC is distributed in the hope that it will be useful,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# but WITHOUT ANY WARRANTY; without even the implied warranty of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# GNU General Public License for more details.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# You should have received a copy of the GNU General Public License
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# <http://www.gnu.org/licenses/>.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_Backtrace
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_DeleteException
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_FindEnclosingFunction
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_Find_FDE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_ForcedUnwind
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_GetCFA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_GetDataRelBase
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_GetGR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_GetIP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_GetIPInfo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_GetLanguageSpecificData
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_GetRegionStart
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_GetTextRelBase
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_RaiseException
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_Resume
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_Resume_or_Rethrow
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_SetGR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__Unwind_SetIP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___absvdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___absvsi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___addvdi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___addvsi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___ashldi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___ashrdi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___clear_cache
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___clzdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___clzsi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___cmpdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___ctzdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___ctzsi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___deregister_frame
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___deregister_frame_info
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___deregister_frame_info_bases
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___divdc3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___divdi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___divsc3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___divtc3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___enable_execute_stack
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___ffsdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixdfdi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixsfdi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixtfdi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixunsdfdi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixunsdfsi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixunssfdi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixunssfsi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___fixunstfdi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___floatdidf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___floatdisf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___floatditf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___floatundidf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___floatundisf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___floatunditf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___gcc_personality_v0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___gcc_qadd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___gcc_qdiv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___gcc_qmul
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___gcc_qsub
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___lshrdi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___moddi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___muldc3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___muldi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___mulsc3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___multc3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___mulvdi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___mulvsi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___negdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___negvdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___negvsi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___paritydi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___paritysi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___popcountdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___popcountsi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___powidf2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___powisf2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___powitf2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___register_frame
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___register_frame_info
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___register_frame_info_bases
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___register_frame_info_table
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___register_frame_info_table_bases
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___register_frame_table
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___subvdi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___subvsi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___trampoline_setup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___ucmpdi2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___udivdi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___udivmoddi4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-___umoddi3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/t-darwin libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 3b5e3428958..3b348fd2a20 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15,6 +15,18 @@ crttme.o: $(srcdir)/config/darwin-crt-tm.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/config/unwind-dw2-fde-darwin.c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Make a weak version to use in static lib and as a crt.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++emutls.o: HOST_LIBGCC2_CFLAGS += -DEMUTLS_ATTR='__attribute__((__weak__))'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Make it a convenience lib so that it can be linked optionally.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libemutls_w.a: emutls.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(AR_CREATE_FOR_TARGET) $@ $<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(RANLIB_FOR_TARGET) $@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Patch to __Unwind_Find_Enclosing_Function for Darwin10.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ d10-uwfef.o: $(srcdir)/config/darwin10-unwind-find-enc-func.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(crt_compile) -mmacosx-version-min=10.6 -c $<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Start with an empty list and allow the arch-specific t-darwin files to add in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# any extras, with the main set added by t-slibgcc-darwin.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++SHLIB_MAPFILES =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/t-darwin-noeh libgcc/config/t-darwin-noeh
</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 00000000000..08d9c1affd3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config/t-darwin-noeh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,4 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Most Darwin versions get their unwinder from libSystem.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# so remove the unwinder from the shared lib.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# We still need it in the _eh.a for Darwin8/9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++LIB2ADDEHSHARED =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/t-slibgcc-darwin libgcc/config/t-slibgcc-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 537944ad6b5..bf55762766c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config/t-slibgcc-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config/t-slibgcc-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,14 +1,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Build a shared libgcc library with the darwin linker.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-SHLIB_SOVERSION = 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-SHLIB_VERSTRING = -compatibility_version $(SHLIB_SOVERSION) -current_version $(SHLIB_SOVERSION).0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Build a shared libgcc library able to use embedded runpaths.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++SHLIB_SOVERSION = 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++SHLIB_SO_MINVERSION = 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++SHLIB_VERSTRING = -compatibility_version $(SHLIB_SO_MINVERSION) -current_version $(SHLIB_SOVERSION)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SHLIB_EXT = .dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++SHLIB_LC = -lc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Shorthand expressions for the LINK below.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SHLIB_INSTALL_NAME = @shlib_base_name@.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-SHLIB_SONAME = @shlib_base_name@$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-SHLIB_SOLINK = @shlib_base_name@.so
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SHLIB_MAP = @shlib_map_file@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-SHLIB_OBJS = @shlib_objs@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SHLIB_DIR = @multilib_dir@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-SHLIB_LC = -lc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++SHLIB_SONAME = @shlib_base_name@$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Instead of using @shlib_slibdir@, use @rpath and add a search path to exes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # and dylibs that depend on this.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -23,21 +25,10 @@ SHLIB_LINK = $(CC) $(LIBGCC2_CFLAGS) -dynamiclib -nodefaultlibs \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SHLIB_MKMAP_OPTS = -v leading_underscore=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-SHLIB_MAPFILES = libgcc-std.ver $(srcdir)/config/libgcc-libsystem.ver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-SHLIB_VERPFX = $(srcdir)/config/$(cpu_type)/libgcc-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# we're only going to build the stubs if the target slib is /usr/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# there is no other case in which they're useful in a live system.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-ifeq (/usr/lib,$(shlib_slibdir))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-LGCC_STUBS = libgcc_s.10.4.dylib libgcc_s.10.5.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-LGCC_STUBS =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++SHLIB_MAPFILES += libgcc-std.ver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LGCC_FILES = libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-LGCC_FILES += $(LGCC_STUBS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-LEXT_STUBS = libgcc_ext.10.4$(SHLIB_EXT) libgcc_ext.10.5$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-LGCC_FILES += $(LEXT_STUBS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ INSTALL_FILES=$(LGCC_FILES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # we do our own thing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -51,33 +42,6 @@ all: $(INSTALL_FILES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ install-leaf: install-darwin-libgcc-stubs
</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;'>+-# In order to support -mmacosx-version-min, you need to have multiple
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# different libgcc_s libraries that actually get linked against, one for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# each system version supported. They are 'stub' libraries that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# contain no code, just a list of exported symbols.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# The actual use of the libraries is controlled by REAL_LIBGCC_SPEC.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# This assumes each multilib corresponds to a different architecture.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-libgcc_s.%.dylib : all-multi $(SHLIB_VERPFX).%.ver libgcc_s$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- MLIBS=`$(CC) --print-multi-lib | sed -e 's/;.*$$//'` ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- for mlib in $$MLIBS ; do \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $(STRIP) -o $(@)_T$${mlib} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- -s $(SHLIB_VERPFX).$(*).ver -c -u \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ../$${mlib}/libgcc/$${mlib}/libgcc_s$(SHLIB_EXT) || exit 1 ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $(LIPO) -output $@ -create $(@)_T*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- rm $(@)_T*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-libgcc_ext.%.dylib : all-multi $(SHLIB_VERPFX).%.ver libgcc_s$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- MLIBS=`$(CC) --print-multi-lib | sed -e 's/;.*$$//'` ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- for mlib in $$MLIBS ; do \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $(STRIP) -o $(@)_T$${mlib} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- -R $(SHLIB_VERPFX).$(*).ver -c -urx \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ../$${mlib}/libgcc/$${mlib}/libgcc_s$(SHLIB_EXT) || exit 1 ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $(LIPO) -output $@ -create $(@)_T*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- rm $(@)_T*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT): all-multi libgcc_s$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ MLIBS=`$(CC) --print-multi-lib | sed -e 's/;.*$$//'` ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for mlib in $$MLIBS ; do \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -88,21 +52,20 @@ libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT): all-multi libgcc_s$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -create libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rm libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Install the shared library.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ install-darwin-libgcc-stubs :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(mkinstalldirs) $(DESTDIR)$(slibdir)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for d in $(INSTALL_FILES) ; do \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(INSTALL_DATA) $$d $(DESTDIR)$(slibdir)/$$d || exit 1 ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if [ -f $(DESTDIR)$(slibdir)/libgcc_s_ppc64.1.dylib ]; then \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- rm -f $(DESTDIR)$(slibdir)/libgcc_s_ppc64.1.dylib; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- else true; fi
</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;'>+-# Do not install shared libraries for any other multilibs. Unless
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# we're putting them in the gcc directory during a build, for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# compatibility with the pre-top-level layout. In that case we
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# need symlinks.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Do not install shared libraries for any other multilibs. Unless we are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# putting them in the gcc directory during a build, for compatibility with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# the pre-top-level layout. In that case we provide symlinks to the FAT lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# from the sub-directories.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ifeq ($(enable_shared),yes)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ all: install-darwin-libgcc-links
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -114,4 +77,5 @@ install-darwin-libgcc-links:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rm -f $(gcc_objdir)$(MULTISUBDIR)/$$file; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(LN_S) ../$$file $(gcc_objdir)$(MULTISUBDIR)/; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/emutls.c libgcc/emutls.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f8012f6d8d5..95fbb0d65b5 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/emutls.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/emutls.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -50,8 +50,16 @@ struct __emutls_array
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void **data[];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-void *__emutls_get_address (struct __emutls_object *);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-void __emutls_register_common (struct __emutls_object *, word, word, void *);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* EMUTLS_ATTR is provided to allow targets to build the emulated tls
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ routines as weak functions for inclusion in convenience libraries.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ If there is no definition, fall back to the default. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef EMUTLS_ATTR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# define EMUTLS_ATTR
</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;'>++void *__emutls_get_address (struct __emutls_object *) EMUTLS_ATTR;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++void __emutls_register_common (struct __emutls_object *,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ word, word, void *) EMUTLS_ATTR;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef __GTHREADS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef __GTHREAD_MUTEX_INIT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0009-Darwin-Mark-the-mod-init-term-section-starts-with-a-.patch b/lang/gcc10-bootstrap/files/0009-Darwin-Mark-the-mod-init-term-section-starts-with-a-.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..8c46d79fc41
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0009-Darwin-Mark-the-mod-init-term-section-starts-with-a-.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,109 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 4c1533a242a8e83986247e02a9cf580db8db339a Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sat, 29 Aug 2020 22:05:30 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin : Mark the mod init/term section starts with a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ linker-visible sym.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Some newer assemblers emit section start temp symbols for mod init and term
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+sections if there is no suitable symbol present already.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The temp symbols are linker visible and therefore appear in the symbol tables.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Since the temp symbol number can vary when debug is enabled, that causes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compare-debug fails. The solution is to provide a stable linker-visible
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+symbol.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/darwin.c (finalize_ctors): Add a section-start linker-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ visible symbol.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (finalize_dtors): Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/darwin.c | 37 ++++++++++++++++++++++++++++++++-----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/darwin.h | 3 +++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 35 insertions(+), 5 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/darwin.c gcc/config/darwin.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f064fbd1588..8d86f5e8398 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/darwin.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/darwin.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -108,6 +108,9 @@ static bool ld_uses_coal_sects = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ each FDE. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static bool ld_needs_eh_markers = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Emit a section-start symbol for mod init and term sections. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static bool ld_init_term_start_labels = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Section names. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ section * darwin_sections[NUM_DARWIN_SECTIONS];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1843,6 +1846,11 @@ finalize_ctors ()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ switch_to_section (darwin_sections[constructor_section]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Where needed, provide a linker-visible section-start symbol so that we
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ have stable output between debug and non-debug. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (ld_init_term_start_labels)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fputs (MACHOPIC_INDIRECT ? "_Mod.init:\n" : "_CTOR.sect:\n", asm_out_file);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (vec_safe_length (ctors) > 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ctors->qsort (sort_cdtor_records);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ FOR_EACH_VEC_SAFE_ELT (ctors, i, elt)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1863,6 +1871,11 @@ finalize_dtors ()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ switch_to_section (darwin_sections[destructor_section]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Where needed, provide a linker-visible section-start symbol so that we
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ have stable output between debug and non-debug. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (ld_init_term_start_labels)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fputs (MACHOPIC_INDIRECT ? "_Mod.term:\n" : "_DTOR.sect:\n", asm_out_file);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (vec_safe_length (dtors) > 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dtors->qsort (sort_cdtor_records);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ FOR_EACH_VEC_SAFE_ELT (dtors, i, elt)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3215,11 +3228,25 @@ darwin_override_options (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Earlier versions are not specifically accounted, until required. */
</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;'>+- /* Older Darwin ld could not coalesce weak entities without them being
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- placed in special sections. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (darwin_target_linker
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- && (strverscmp (darwin_target_linker, MIN_LD64_NO_COAL_SECTS) < 0))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ld_uses_coal_sects = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Some codegen needs to account for the capabilities of the target
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ linker. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (darwin_target_linker)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Older Darwin ld could not coalesce weak entities without them being
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ placed in special sections. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (strverscmp (darwin_target_linker, MIN_LD64_NO_COAL_SECTS) < 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ld_uses_coal_sects = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Some newer assemblers emit section start temp symbols for mod init
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ and term sections if there is no suitable symbol present already.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ The temp symbols are linker visible and therefore appear in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ symbol tables. Since the temp symbol number can vary when debug is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enabled, that causes compare-debug fails. The solution is to provide
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ a stable linker-visible symbol. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (strverscmp (darwin_target_linker,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ MIN_LD64_INIT_TERM_START_LABELS) >= 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ld_init_term_start_labels = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* In principle, this should be c-family only. However, we really need to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set sensible defaults for LTO as well, since the section selection stuff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/darwin.h gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 52f4f8abf7d..0826adcf914 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1153,6 +1153,9 @@ extern void darwin_driver_init (unsigned int *,struct cl_decoded_option **);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ needed, and there is no need for the compiler to emit them. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define MIN_LD64_OMIT_STUBS "62.1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Emit start labels for init and term sections from this version. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define MIN_LD64_INIT_TERM_START_LABELS "136.0"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* If we have no definition for the linker version, pick the minimum version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ that will bootstrap the compiler. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifndef LD64_VERSION
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0010-Darwin-Use-a-reserved-name-for-the-exception-tables-.patch b/lang/gcc10-bootstrap/files/0010-Darwin-Use-a-reserved-name-for-the-exception-tables-.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..af3c90d2d31
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0010-Darwin-Use-a-reserved-name-for-the-exception-tables-.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,28 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 8b62f5c28119ccaf0d30f71d433de3a8b22be9a3 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 18 Jan 2021 20:07:11 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin : Use a reserved name for the exception tables sect
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ start.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+We were using "GCC_except_table". Use "_GCC_except_table"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+instead.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/darwin.c | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/darwin.c gcc/config/darwin.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 8d86f5e8398..91c2f54ca16 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/darwin.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/darwin.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2234,7 +2234,7 @@ darwin_emit_except_table_label (FILE *file)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ char section_start_label[30];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ASM_GENERATE_INTERNAL_LABEL (section_start_label, "GCC_except_table",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ASM_GENERATE_INTERNAL_LABEL (section_start_label, "_GCC_except_table",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ except_table_label_num++);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ASM_OUTPUT_LABEL (file, section_start_label);
</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;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0011-CFI-handling-Add-a-hook-to-allow-target-specific-Per.patch b/lang/gcc10-bootstrap/files/0011-CFI-handling-Add-a-hook-to-allow-target-specific-Per.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..8ceb297c4c0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0011-CFI-handling-Add-a-hook-to-allow-target-specific-Per.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,169 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 81661c09e136ec2d47b0f267ba263b4b7e60e0e7 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 16 Sep 2019 15:11:00 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] CFI-handling : Add a hook to allow target-specific
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Personality and LSDA indirections.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+At present, the output of .cfi_personality and .cfi_lsda assumes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ELF semantics for indirections. This isn't suitable for all targets
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+and is one blocker to moving Darwin to use .cfi_xxxx.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The patch adds a target hook that allows non-ELF targets to use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+indirections appropriate to their needs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/darwin-protos.h (darwin_make_eh_symbol_indirect): New.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/darwin.c (darwin_make_eh_symbol_indirect): New. Use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Mach-O semantics for personality and ldsa indirections.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/darwin.h (TARGET_ASM_MAKE_EH_SYMBOL_INDIRECT): New.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * doc/tm.texi: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * doc/tm.texi.in: Add TARGET_ASM_MAKE_EH_SYMBOL_INDIRECT hook.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * dwarf2out.c (dwarf2out_do_cfi_startproc): If the target defines
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ a hook for indirecting personality and ldsa references, use that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ otherwise default to ELF semantics.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * target.def (make_eh_symbol_indirect): New target hook.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 5d46ec3db21d8c8926f15a634b2d6570536db5f1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/darwin-protos.h | 1 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/darwin.c | 11 +++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/darwin.h | 3 +++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/doc/tm.texi | 4 ++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/doc/tm.texi.in | 2 ++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/dwarf2out.c | 14 ++++++++++++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/target.def | 10 ++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 7 files changed, 43 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/darwin-protos.h gcc/config/darwin-protos.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 0829b7ea232..74db4144f91 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/darwin-protos.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/darwin-protos.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -69,6 +69,7 @@ extern void darwin_non_lazy_pcrel (FILE *, rtx);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern void darwin_emit_unwind_label (FILE *, tree, int, int);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern void darwin_emit_except_table_label (FILE *);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++extern rtx darwin_make_eh_symbol_indirect (rtx, bool);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern bool darwin_should_restore_cfa_state (void);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern void darwin_pragma_ignore (struct cpp_reader *);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/darwin.c gcc/config/darwin.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 91c2f54ca16..511d4897306 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/darwin.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/darwin.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2239,6 +2239,17 @@ darwin_emit_except_table_label (FILE *file)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ASM_OUTPUT_LABEL (file, section_start_label);
</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;'>++rtx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++darwin_make_eh_symbol_indirect (rtx orig, bool ARG_UNUSED (pubvis))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (DARWIN_PPC == 0 && TARGET_64BIT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return orig;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return gen_rtx_SYMBOL_REF (Pmode,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ machopic_indirection_name (orig,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /*stub_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;'>+ /* The unwinders in earlier Darwin versions are based on an old version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ of libgcc_s and need current frame address stateto be reset after a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DW_CFA_restore_state recovers the register values. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/darwin.h gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 0826adcf914..e360e771c6d 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -662,6 +662,9 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Emit a label to separate the exception table. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL darwin_emit_except_table_label
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Make an EH (personality or LDSA) symbol indirect as needed. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define TARGET_ASM_MAKE_EH_SYMBOL_INDIRECT darwin_make_eh_symbol_indirect
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Some of Darwin's unwinders need current frame address state to be reset
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ after a DW_CFA_restore_state recovers the register values. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef TARGET_ASM_SHOULD_RESTORE_CFA_STATE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/doc/tm.texi gcc/doc/tm.texi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index fcb7245e95c..7c4613212d5 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/doc/tm.texi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/doc/tm.texi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9545,6 +9545,10 @@ given instruction. This is only used when @code{TARGET_EXCEPT_UNWIND_INFO}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ returns @code{UI_TARGET}.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @end deftypefn
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@deftypefn {Target Hook} rtx TARGET_ASM_MAKE_EH_SYMBOL_INDIRECT (rtx @var{origsymbol}, bool @var{pubvis})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++If necessary, modify personality and LSDA references to handle indirection. The original symbol is in @code{origsymbol} and if @code{pubvis} is true the symbol is visible outside the TU.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@end deftypefn
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @deftypevr {Target Hook} bool TARGET_ASM_UNWIND_EMIT_BEFORE_INSN
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ True if the @code{TARGET_ASM_UNWIND_EMIT} hook should be called before the assembly for @var{insn} has been emitted, false if the hook should be called afterward.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @end deftypevr
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/doc/tm.texi.in gcc/doc/tm.texi.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index c17209daa51..869f16cef1d 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/doc/tm.texi.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/doc/tm.texi.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6452,6 +6452,8 @@ the jump-table.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @hook TARGET_ASM_UNWIND_EMIT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@hook TARGET_ASM_MAKE_EH_SYMBOL_INDIRECT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @hook TARGET_ASM_UNWIND_EMIT_BEFORE_INSN
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @hook TARGET_ASM_SHOULD_RESTORE_CFA_STATE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/dwarf2out.c gcc/dwarf2out.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d61cadb5208..4e11d7bf3fa 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/dwarf2out.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/dwarf2out.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -991,7 +991,12 @@ dwarf2out_do_cfi_startproc (bool second)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ in the assembler. Further, the assembler can't handle any
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ of the weirder relocation types. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (enc & DW_EH_PE_indirect)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ref = dw2_force_const_mem (ref, true);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (targetm.asm_out.make_eh_symbol_indirect != NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ref = targetm.asm_out.make_eh_symbol_indirect (ref, true);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ref = dw2_force_const_mem (ref, true);
</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;'>+ fprintf (asm_out_file, "\t.cfi_personality %#x,", enc);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_addr_const (asm_out_file, ref);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1009,7 +1014,12 @@ dwarf2out_do_cfi_startproc (bool second)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SYMBOL_REF_FLAGS (ref) = SYMBOL_FLAG_LOCAL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (enc & DW_EH_PE_indirect)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ref = dw2_force_const_mem (ref, true);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (targetm.asm_out.make_eh_symbol_indirect != NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ref = targetm.asm_out.make_eh_symbol_indirect (ref, true);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ref = dw2_force_const_mem (ref, true);
</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;'>+ fprintf (asm_out_file, "\t.cfi_lsda %#x,", enc);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_addr_const (asm_out_file, ref);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/target.def gcc/target.def
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f5a6d507e91..c70eb162021 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/target.def
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/target.def
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -185,6 +185,16 @@ DEFHOOK
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void, (rtx personality),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* If necessary, modify personality and LSDA references to handle
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ indirection. This is used when the assembler supports CFI directives. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++DEFHOOK
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++(make_eh_symbol_indirect,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "If necessary, modify personality and LSDA references to handle indirection.\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ The original symbol is in @code{origsymbol} and if @code{pubvis} is true\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ the symbol is visible outside the TU.",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rtx, (rtx origsymbol, bool pubvis),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Emit any directives required to unwind this instruction. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DEFHOOK
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (unwind_emit,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0012-configury-Fix-LEB128-support-for-non-GNU-assemblers.patch b/lang/gcc10-bootstrap/files/0012-configury-Fix-LEB128-support-for-non-GNU-assemblers.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..61c838a1793
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0012-configury-Fix-LEB128-support-for-non-GNU-assemblers.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,161 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 9b3e69083be38639d49756ddf1691a96d84d3147 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sat, 25 Aug 2018 13:58:02 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] configury : Fix LEB128 support for non-GNU assemblers.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The current configuration test for LEB128 support in the assembler is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(a) specific to GNU assemblers and (b) only checks that the directives
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+are accepted, not that they give correct output.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The patch extends the asm test to cover one failure case present in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+assemblers based off an older version of GAS (where a 64 bit value with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the MSB set presented to a .uleb128 directive causes a fail).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The test is now generalized such that it does not make use of any
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+specific test for assembler source/version, but checks that the output
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+is as expected. We cater for scanning the object with objdump (either
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+binutils or LLVM) or Darwin otool.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure.ac (check leb128 support): Check that assemblers both
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ accept the LEB128 directives and also give the expected output.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Add a test for uleb128 with the MSB set for a 64 bit value.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure: Regenerated.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 2133e773ab855af036de5f6f29eae30d43f1422b)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/configure | 36 ++++++++++++++++++++----------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/configure.ac | 48 ++++++++++++++++++++++++++----------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 46 insertions(+), 38 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/configure gcc/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 0b9a572bbd2..6dd88792239 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -23997,6 +23997,8 @@ _ACEOF
</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;'>+ # Check if we have .[us]leb128, and support symbol arithmetic with it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Older versions of GAS and some non-GNU assemblers, have a bugs handling
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# these directives, even when they appear to accept them.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for .sleb128 and .uleb128" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $as_echo_n "checking assembler for .sleb128 and .uleb128... " >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if ${gcc_cv_as_leb128+:} false; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -24014,7 +24016,9 @@ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ L1:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .uleb128 1280
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .sleb128 -1010
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-L2:' > conftest.s
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++L2:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ .uleb128 0x8000000000000000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++' > conftest.s
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if { ac_try='$gcc_cv_as $gcc_cv_as_flags -o conftest.o conftest.s >&5'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (eval $ac_try) 2>&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -24022,22 +24026,22 @@ L2:' > conftest.s
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ test $ac_status = 0; }; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # GAS versions before 2.11 do not support uleb128,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # despite appearing to.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # ??? There exists an elf-specific test that will crash
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # the assembler. Perhaps it's better to figure out whether
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # arbitrary sections are supported and try the test.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- as_ver=`$gcc_cv_as --version 2>/dev/null | sed 1q`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if echo "$as_ver" | grep GNU > /dev/null; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- as_vers=`echo $as_ver | sed -n \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*.*\)$,\1,p'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- as_major=`expr "$as_vers" : '\([0-9]*\)'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- as_minor=`expr "$as_vers" : '[0-9]*\.\([0-9]*\)'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if test $as_major -eq 2 && test $as_minor -lt 11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- else gcc_cv_as_leb128=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "x$gcc_cv_objdump" != x; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if $gcc_cv_objdump -s conftest.o 2>/dev/null \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | grep '04800a8e 78808080 80808080 808001' >/dev/null; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gcc_cv_as_leb128=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++elif test "x$gcc_cv_otool" != x; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if $gcc_cv_otool -d conftest.o 2>/dev/null \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | grep '04 80 0a 8e 78 80 80 80 80 80 80 80 80 80 01' >/dev/null; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gcc_cv_as_leb128=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # play safe, assume the assembler is broken.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ :
</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;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "configure: failed program was" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat conftest.s >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/configure.ac gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 38551dabb62..a6445e94e92 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3026,34 +3026,38 @@ AC_MSG_RESULT($gcc_cv_ld_ro_rw_mix)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc_AC_INITFINI_ARRAY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Check if we have .[us]leb128, and support symbol arithmetic with it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Older versions of GAS and some non-GNU assemblers, have a bugs handling
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# these directives, even when they appear to accept them.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc_GAS_CHECK_FEATURE([.sleb128 and .uleb128], gcc_cv_as_leb128,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [elf,2,11,0],,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ [elf,2,11,0],,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [ .data
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .uleb128 L2 - L1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ L1:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .uleb128 1280
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .sleb128 -1010
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-L2:],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-[[# GAS versions before 2.11 do not support uleb128,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # despite appearing to.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # ??? There exists an elf-specific test that will crash
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # the assembler. Perhaps it's better to figure out whether
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # arbitrary sections are supported and try the test.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- as_ver=`$gcc_cv_as --version 2>/dev/null | sed 1q`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if echo "$as_ver" | grep GNU > /dev/null; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- as_vers=`echo $as_ver | sed -n \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*.*\)$,\1,p'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- as_major=`expr "$as_vers" : '\([0-9]*\)'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- as_minor=`expr "$as_vers" : '[0-9]*\.\([0-9]*\)'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if test $as_major -eq 2 && test $as_minor -lt 11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- else gcc_cv_as_leb128=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- fi]],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [AC_DEFINE(HAVE_AS_LEB128, 1,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [Define if your assembler supports .sleb128 and .uleb128.])],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [AC_DEFINE(HAVE_AS_LEB128, 0,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [Define if your assembler supports .sleb128 and .uleb128.])])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++L2:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ .uleb128 0x8000000000000000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++[[
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "x$gcc_cv_objdump" != x; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if $gcc_cv_objdump -s conftest.o 2>/dev/null \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | grep '04800a8e 78808080 80808080 808001' >/dev/null; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gcc_cv_as_leb128=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++elif test "x$gcc_cv_otool" != x; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if $gcc_cv_otool -d conftest.o 2>/dev/null \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | grep '04 80 0a 8e 78 80 80 80 80 80 80 80 80 80 01' >/dev/null; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gcc_cv_as_leb128=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # play safe, assume the assembler is broken.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ :
</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;'>++ [AC_DEFINE(HAVE_AS_LEB128, 1,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ [Define if your assembler supports .sleb128 and .uleb128.])],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ [AC_DEFINE(HAVE_AS_LEB128, 0,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ [Define if your assembler supports .sleb128 and .uleb128.])])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Determine if an .eh_frame section is read-only.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc_fn_eh_frame_ro () {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0013-C-Add-the-stdlib-option.patch b/lang/gcc10-bootstrap/files/0013-C-Add-the-stdlib-option.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..1182c177340
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0013-C-Add-the-stdlib-option.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,523 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 17f2926089206fbfb6d5fd52651b18be1222ee4b Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Wed, 27 Nov 2019 13:58:10 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] C++ : Add the -stdlib= option.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This option allows the user to specifiy alternate C++ runtime libraries,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+for example when a platform uses libc++ as the installed C++ runtime.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+We introduce the command line option: -stdlib= which is the user-facing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+mechanism to select the C++ runtime to be used when compiling and linking
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+code. This is the same option spelling as that used by clang to allow the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use of libstdc++.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The availability (and thus function) of the option are a configure-time
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+choice using the configuration control:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--with-gxx-libcxx-include-dir=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Specification of the path for the libc++ headers, enables the -stdlib=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+option (using the path as given), default values are set when the path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+is unconfigured.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+If --with-gxx-libcxx-include-dir is given together with --with-sysroot=,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+then we test to see if the include path starts with the sysroot and, if so,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+record the sysroot-relative component as the local path. At runtime, we
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+prepend the sysroot that is actually active.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+At link time, we use the C++ runtime in force and (if that is libc++) also
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+append the libc++abi ABI library. As for other cases, if a target sets the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name pointer for the ABI library to NULL the G++ driver will omit it from
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the link line.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure.ac: Add gxx-libcxx-include-dir handled
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ in the same way as the regular cxx header directory.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Makefile.in: Regenerated.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config.in: Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure: Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * cppdefault.c: Pick up libc++ headers if the option
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ is enabled.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * cppdefault.h (struct default_include): Amend comments
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ to reflect the extended use of the cplusplus field.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * incpath.c (add_standard_paths): Allow for multiple
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ c++ header include path variants.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * doc/invoke.texi: Document the -stdlib= option.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/c-family/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * c.opt: Add -stdlib= option and enumerations for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libstdc++ and libc++.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/cp/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * g++spec.c (LIBCXX, LIBCXX_PROFILE, LIBCXX_STATIC): New.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (LIBCXXABI, LIBCXXABI_PROFILE, LIBCXXABI_STATIC): New.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (enum stdcxxlib_kind): New.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (lang_specific_driver): Allow selection amongst multiple
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ c++ runtime libraries.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 662b9c55cf06d3df6682ef865fb2b685820317a9)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/Makefile.in | 6 ++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/c-family/c.opt | 14 +++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config.in | 6 ++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/configure | 57 ++++++++++++++++++++++++++++++++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/configure.ac | 44 +++++++++++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/cp/g++spec.c | 74 ++++++++++++++++++++++++++++++++++++++++-----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/cppdefault.c | 5 +++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/cppdefault.h | 7 ++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/doc/invoke.texi | 11 +++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/incpath.c | 6 ++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 10 files changed, 217 insertions(+), 13 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/Makefile.in gcc/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 646db219460..ebba6ae3754 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -671,6 +671,9 @@ build_tooldir = $(exec_prefix)/$(target_noncanonical)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Directory in which the compiler finds target-independent g++ includes.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc_gxx_include_dir = @gcc_gxx_include_dir@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc_gxx_include_dir_add_sysroot = @gcc_gxx_include_dir_add_sysroot@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Directory in which the compiler finds libc++ includes.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++gcc_gxx_libcxx_include_dir = @gcc_gxx_libcxx_include_dir@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++gcc_gxx_libcxx_include_dir_add_sysroot = @gcc_gxx_libcxx_include_dir_add_sysroot@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Directory to search for site-specific includes.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ local_includedir = $(local_prefix)/include
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ includedir = $(prefix)/include
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1174,6 +1177,7 @@ FLAGS_TO_PASS = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "prefix=$(prefix)" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "local_prefix=$(local_prefix)" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "gxx_include_dir=$(gcc_gxx_include_dir)" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "gxx_libcxx_include_dir=$(gcc_gxx_libcxx_include_dir)" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "build_tooldir=$(build_tooldir)" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "gcc_tooldir=$(gcc_tooldir)" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "bindir=$(bindir)" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2953,6 +2957,8 @@ PREPROCESSOR_DEFINES = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DGPLUSPLUS_TOOL_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/$(target_noncanonical)\" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DGPLUSPLUS_BACKWARD_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/backward\" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -DGPLUSPLUS_LIBCXX_INCLUDE_DIR=\"$(gcc_gxx_libcxx_include_dir)\" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -DGPLUSPLUS_LIBCXX_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_libcxx_include_dir_add_sysroot) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DLOCAL_INCLUDE_DIR=\"$(local_includedir)\" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DCROSS_INCLUDE_DIR=\"$(CROSS_SYSTEM_HEADER_DIR)\" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/c-family/c.opt gcc/c-family/c.opt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index c49da99d395..cc074e40cee 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/c-family/c.opt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/c-family/c.opt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2223,6 +2223,20 @@ std=iso9899:2018
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ C ObjC Alias(std=c17)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Conform to the ISO 2017 C standard (published in 2018).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++stdlib=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Driver C++ ObjC++ Common Condition(ENABLE_STDLIB_OPTION) Var(flag_stdlib_kind) Joined Enum(stdlib_kind) RejectNegative Init(1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++-stdlib=[libstdc++|libc++] The standard library to be used for C++ headers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++and runtime.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Enum
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Name(stdlib_kind) Type(int)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++EnumValue
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Enum(stdlib_kind) String(libstdc++) Value(1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++EnumValue
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Enum(stdlib_kind) String(libc++) Value(2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ traditional
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Driver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config.in gcc/config.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 758eff4f709..31672f20b62 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -254,6 +254,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define if you want runtime assertions enabled. This is a cheap check. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef ENABLE_RUNTIME_CHECKING
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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;'>++#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef ENABLE_STDLIB_OPTION
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define if you want all operations on trees (the basic data structure of the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ front ends) to be checked for dynamic type safety at runtime. This is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ moderately expensive. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/configure gcc/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6dd88792239..cb89dd71b77 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -674,6 +674,8 @@ host_xm_defines
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ host_xm_include_list
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ host_xm_file_list
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ host_exeext
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++gcc_gxx_libcxx_include_dir_add_sysroot
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++gcc_gxx_libcxx_include_dir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc_gxx_include_dir_add_sysroot
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc_gxx_include_dir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc_config_arguments
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -937,6 +939,7 @@ with_native_system_header_dir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_build_sysroot
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_sysroot
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_gxx_include_dir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++with_gxx_libcxx_include_dir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_cpp_install_dir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enable_generated_files_in_srcdir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with_gnu_ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1793,6 +1796,8 @@ Optional Packages:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --with-sysroot[=DIR] search for usr/lib, usr/include, et al, within DIR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --with-gxx-include-dir=DIR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ specifies directory to put g++ header files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ --with-gxx-libcxx-include-dir=DIR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ specifies directory to find libc++ header files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --with-cpp-install-dir=DIR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ install the user visible C preprocessor in DIR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (relative to PREFIX) as well as PREFIX/bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3723,6 +3728,52 @@ elif test "${with_sysroot+set}" = set; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</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;'>++# Configuration for an alternate set of C++ headers.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++gcc_gxx_libcxx_include_dir=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Specify the alternate g++ header file directory
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Check whether --with-gxx-libcxx-include-dir was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "${with_gxx_libcxx_include_dir+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ withval=$with_gxx_libcxx_include_dir; case "${withval}" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++yes) as_fn_error $? "bad value ${withval} given for libc++ include directory" "$LINENO" 5 ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++no) ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++*) gcc_gxx_libcxx_include_dir=$with_gxx_libcxx_include_dir ;;
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# If both --with-sysroot and --with-gxx-libcxx-include-dir are passed, we
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# check to see if the latter starts with the former and, upon success, compute
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# gcc_gxx_libcxx_include_dir as relative to the sysroot.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++gcc_gxx_libcxx_include_dir_add_sysroot=0
</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;'>++
</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;'>++
</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;'>++if test x${gcc_gxx_libcxx_include_dir} = x; then
</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;'>++ 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;'>++ gcc_gxx_libcxx_include_dir="\$(libsubdir)/\$(libsubdir_to_prefix)$libcxx_incdir"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++elif test "${with_sysroot+set}" = set; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gcc_gxx_libcxx_without_sysroot=`expr "${gcc_gxx_libcxx_include_dir}" : "${with_sysroot}"'\(.*\)'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "${gcc_gxx_libcxx_without_sysroot}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gcc_gxx_libcxx_include_dir="${gcc_gxx_libcxx_without_sysroot}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gcc_gxx_libcxx_include_dir_add_sysroot=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Check whether --with-cpp_install_dir was given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "${with_cpp_install_dir+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19131,7 +19182,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 19134 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 19185 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19237,7 +19288,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 19240 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 19291 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -30649,6 +30700,8 @@ fi
</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;'>++
</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;'>+diff --git gcc/configure.ac gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a6445e94e92..d8aad32f59f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -228,6 +228,48 @@ elif test "${with_sysroot+set}" = set; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</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;'>++# Configuration for an alternate set of C++ headers.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++gcc_gxx_libcxx_include_dir=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Specify the alternate g++ header file directory
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++AC_ARG_WITH(gxx-libcxx-include-dir,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++[AS_HELP_STRING([--with-gxx-libcxx-include-dir=DIR],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ [specifies directory to find libc++ header files])],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++[case "${withval}" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++yes) AC_MSG_ERROR(bad value ${withval} given for libc++ include directory) ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++no) ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++*) gcc_gxx_libcxx_include_dir=$with_gxx_libcxx_include_dir ;;
</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;'>++# If both --with-sysroot and --with-gxx-libcxx-include-dir are passed, we
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# check to see if the latter starts with the former and, upon success, compute
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# gcc_gxx_libcxx_include_dir as relative to the sysroot.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++gcc_gxx_libcxx_include_dir_add_sysroot=0
</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;'>++ 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;'>++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;'>++if test x${gcc_gxx_libcxx_include_dir} = x; then
</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;'>++ 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;'>++ gcc_gxx_libcxx_include_dir="\$(libsubdir)/\$(libsubdir_to_prefix)$libcxx_incdir"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++elif test "${with_sysroot+set}" = set; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gcc_gxx_libcxx_without_sysroot=`expr "${gcc_gxx_libcxx_include_dir}" : "${with_sysroot}"'\(.*\)'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "${gcc_gxx_libcxx_without_sysroot}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gcc_gxx_libcxx_include_dir="${gcc_gxx_libcxx_without_sysroot}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gcc_gxx_libcxx_include_dir_add_sysroot=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</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;'>+ AC_ARG_WITH(cpp_install_dir,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [AC_HELP_STRING([--with-cpp-install-dir=DIR],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [install the user visible C preprocessor in DIR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6758,6 +6800,8 @@ AC_SUBST(float_h_file)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_SUBST(gcc_config_arguments)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_SUBST(gcc_gxx_include_dir)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_SUBST(gcc_gxx_include_dir_add_sysroot)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++AC_SUBST(gcc_gxx_libcxx_include_dir)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++AC_SUBST(gcc_gxx_libcxx_include_dir_add_sysroot)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_SUBST(host_exeext)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_SUBST(host_xm_file_list)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_SUBST(host_xm_include_list)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/cp/g++spec.c gcc/cp/g++spec.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 0ab63bcd211..32286902b90 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/cp/g++spec.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/cp/g++spec.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -55,6 +55,34 @@ along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define LIBSTDCXX_STATIC NULL
</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;'>++#ifndef LIBCXX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define LIBCXX "c++"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef LIBCXX_PROFILE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define LIBCXX_PROFILE LIBCXX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef LIBCXX_STATIC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define LIBCXX_STATIC NULL
</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;'>++#ifndef LIBCXXABI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define LIBCXXABI "c++abi"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef LIBCXXABI_PROFILE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define LIBCXXABI_PROFILE LIBCXXABI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef LIBCXXABI_STATIC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define LIBCXXABI_STATIC NULL
</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;'>++/* The values used here must match those of the stdlib_kind enumeration
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ in c.opt. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++enum stdcxxlib_kind
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ USE_LIBSTDCXX = 1,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ USE_LIBCXX = 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ unsigned int *in_decoded_options_count,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -65,13 +93,16 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* If nonzero, the user gave us the `-p' or `-pg' flag. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int saw_profile_flag = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- /* What do with libstdc++:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- -1 means we should not link in libstdc++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- 0 means we should link in libstdc++ if it is needed
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- 1 means libstdc++ is needed and should be linked in.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- 2 means libstdc++ is needed and should be linked statically. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* What action to take for the c++ runtime library:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -1 means we should not link it in.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ 0 means we should link it if it is needed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ 1 means it is needed and should be linked in.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ 2 means it is needed but should be linked statically. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int library = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Which c++ runtime library to link. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ stdcxxlib_kind which_library = USE_LIBSTDCXX;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* The number of arguments being added to what's in argv, other than
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libraries. We use this to track the number of times we've inserted
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -xc++/-xnone. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -208,6 +239,10 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ args[i] |= SKIPOPT;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case OPT_stdlib_:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ which_library = (stdcxxlib_kind) decoded_options[i].value;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case OPT_SPECIAL_input_file:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int len;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -264,6 +299,13 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Add one for shared_libgcc or extra static library. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ num_args = argc + added + need_math + (library > 0) * 4 + 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* For libc++, on most platforms, the ABI library (usually called libc++abi)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ is provided as a separate DSO, which we must also append.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ However, a platform might have the ability to forward the ABI library
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ from libc++, or combine it in some other way; in that case, LIBCXXABI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ should be set to NULL to signal that it need not be appended. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (which_library == USE_LIBCXX && LIBCXXABI != NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ num_args += 4;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ new_decoded_options = XNEWVEC (struct cl_decoded_option, num_args);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ i = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -343,9 +385,25 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ j++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- generate_option (OPT_l,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- saw_profile_flag ? LIBSTDCXX_PROFILE : LIBSTDCXX, 1,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- CL_DRIVER, &new_decoded_options[j]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (which_library == USE_LIBCXX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ generate_option (OPT_l,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ saw_profile_flag ? LIBCXX_PROFILE : LIBCXX, 1,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ CL_DRIVER, &new_decoded_options[j]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (LIBCXXABI != NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ j++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ added_libraries++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ generate_option (OPT_l,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ saw_profile_flag ? LIBCXXABI_PROFILE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ : LIBCXXABI, 1,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ CL_DRIVER, &new_decoded_options[j]);
</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;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ generate_option (OPT_l,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ saw_profile_flag ? LIBSTDCXX_PROFILE : LIBSTDCXX, 1,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ CL_DRIVER, &new_decoded_options[j]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ added_libraries++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ j++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Add target-dependent static library, if necessary. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/cppdefault.c gcc/cppdefault.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index af38cc494ea..eb6f94162cd 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/cppdefault.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/cppdefault.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -55,6 +55,11 @@ const struct default_include cpp_include_defaults[]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 },
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef GPLUSPLUS_LIBCXX_INCLUDE_DIR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Pick up libc++ include files, if we have -stdlib=libc++. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { GPLUSPLUS_LIBCXX_INCLUDE_DIR, "G++", 2, 1,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ GPLUSPLUS_LIBCXX_INCLUDE_DIR_ADD_SYSROOT, 0 },
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef GCC_INCLUDE_DIR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* This is the dir for gcc's private headers. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/cppdefault.h gcc/cppdefault.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a681264f75e..35cf24ec29e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/cppdefault.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/cppdefault.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -36,7 +36,12 @@ struct default_include
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const char *const fname; /* The name of the directory. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const char *const component; /* The component containing the directory
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (see update_path in prefix.c) */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- const char cplusplus; /* Only look here if we're compiling C++. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ const char cplusplus; /* When this is non-zero, we should only
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ consider this if we're compiling C++.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ When the -stdlib option is configured, this
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ may take values greater than 1 to indicate
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ which C++ standard library should be
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ used. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const char cxx_aware; /* Includes in this directory don't need to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ be wrapped in extern "C" when compiling
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ C++. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/doc/invoke.texi gcc/doc/invoke.texi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index eabeec944e7..1e14365b95a 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/doc/invoke.texi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/doc/invoke.texi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -231,6 +231,7 @@ in the following sections.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -fvisibility-inlines-hidden @gol
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -fvisibility-ms-compat @gol
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -fext-numeric-literals @gol
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++-stdlib=@var{libstdc++,libc++} @gol
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -Wabi-tag -Wcatch-value -Wcatch-value=@var{n} @gol
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -Wno-class-conversion -Wclass-memaccess @gol
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -Wcomma-subscript -Wconditionally-supported @gol
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2954,6 +2955,16 @@ for ISO C++11 onwards (@option{-std=c++11}, ...).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Do not search for header files in the standard directories specific to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ C++, but do still search the other standard directories. (This option
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ is used when building the C++ library.)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@item -stdlib=@var{libstdc++,libc++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@opindex stdlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++When G++ is configured to support this option, it allows specification of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++alternate C++ runtime libraries. Two options are available: @var{libstdc++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++(the default, native C++ runtime for G++) and @var{libc++} which is the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++C++ runtime installed on some operating systems (e.g. Darwin versions from
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Darwin11 onwards). The option switches G++ to use the headers from the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++specified library and to emit @code{-lstdc++} or @code{-lc++} respectively,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++when a C++ runtime is required for linking.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @end table
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ In addition, these warning options have meanings only for C++ programs:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/incpath.c gcc/incpath.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 8a2bda00f80..45f903b78e8 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/incpath.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/incpath.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -137,7 +137,8 @@ add_standard_paths (const char *sysroot, const char *iprefix,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ IPREFIX and search them first. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for (p = cpp_include_defaults; p->fname; p++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (!p->cplusplus || cxx_stdinc)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (p->cplusplus == 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ || (cxx_stdinc && (p->cplusplus == flag_stdlib_kind)))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Should we be translating sysrooted dirs too? Assume
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ that iprefix and sysroot are mutually exclusive, for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -168,7 +169,8 @@ add_standard_paths (const char *sysroot, const char *iprefix,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for (p = cpp_include_defaults; p->fname; p++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (!p->cplusplus || cxx_stdinc)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (p->cplusplus == 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ || (cxx_stdinc && (p->cplusplus == flag_stdlib_kind)))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ char *str;
</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;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0014-Darwin-libgcc-Adjust-min-version-supported-for-the-O.patch b/lang/gcc10-bootstrap/files/0014-Darwin-libgcc-Adjust-min-version-supported-for-the-O.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..c7d41baacd8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0014-Darwin-libgcc-Adjust-min-version-supported-for-the-O.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,154 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 407c5893637b102311fe73aabd04bd1761536640 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 3 Jan 2021 12:24:45 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, libgcc : Adjust min version supported for the OS.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Tools from later versions of the OS deprecate or fail to support
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+earlier OS revisions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libgcc/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config.host: Arrange to set min Darwin OS versions from
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ the configured host version.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/i386/t-darwin: Amend to handle configured min OS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ versions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/t-darwin : Use the configured min OS versions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/t-darwin-min-1: New.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/t-darwin-min-4: New.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/t-darwin-min-5: New.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/t-darwin-min-8: New.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit a618c9ca6ba25235b23e403ec1b06dac6d760281)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config.host | 22 ++++++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/t-darwin | 10 ++++++----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/t-darwin-min-1 | 3 +++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/t-darwin-min-4 | 3 +++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/t-darwin-min-5 | 3 +++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/t-darwin-min-8 | 3 +++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/t-darwin-rpath | 3 ---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 7 files changed, 40 insertions(+), 7 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create mode 100644 libgcc/config/t-darwin-min-1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create mode 100644 libgcc/config/t-darwin-min-4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create mode 100644 libgcc/config/t-darwin-min-5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create mode 100644 libgcc/config/t-darwin-min-8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config.host libgcc/config.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 9e77b4995a9..dc80446b7fd 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -235,11 +235,33 @@ case ${host} in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *-darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "but is needed after macOS 10.11 (setting it on)" 1>&2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tmake_file="$tmake_file t-darwin-rpath "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ enable_darwin_at_rpath=yes
</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;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "enable_darwin_at_rpath is '$enable_darwin_at_rpath'" 1>&2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${host} in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-*-darwin20* | *-*-darwin1[89]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tmake_file="t-darwin-min-8 $tmake_file"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-*-darwin9* | *-*-darwin1[0-7]*)
</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;'>++ tmake_file="t-darwin-min-5 $tmake_file"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tmake_file="t-darwin-min-4 $tmake_file"
</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;'>++ *-*-darwin[4-8]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tmake_file="t-darwin-min-1 $tmake_file"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Fall back to configuring for the oldest system known to work with the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # current sources.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tmake_file="t-darwin-min-5 $tmake_file"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "Warning: libgcc configured to support macOS 10.5" 1>&2
</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;'>+ extra_parts="crt3.o d10-uwfef.o crttms.o crttme.o libemutls_w.a"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *-*-dragonfly*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/t-darwin libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 3b348fd2a20..f7ad5c70dce 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,15 +1,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Set this as a minimum (unless overriden by arch t-files) since it's a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # reasonable lowest common denominator that works for all our archs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-HOST_LIBGCC2_CFLAGS += -mmacosx-version-min=10.4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++HOST_LIBGCC2_CFLAGS += $(DARWIN_MIN_LIB_VERSION)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ crt3.o: $(srcdir)/config/darwin-crt3.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $(crt_compile) -mmacosx-version-min=10.4 -c $<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(crt_compile) $(DARWIN_MIN_CRT_VERSION) -c $<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ crttms.o: $(srcdir)/config/darwin-crt-tm.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $(crt_compile) -mmacosx-version-min=10.4 -DSTART -c $<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(crt_compile) $(DARWIN_MIN_CRT_VERSION) -DSTART -c $<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ crttme.o: $(srcdir)/config/darwin-crt-tm.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $(crt_compile) -mmacosx-version-min=10.4 -DEND -c $<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(crt_compile) $(DARWIN_MIN_CRT_VERSION) -DEND -c $<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Use unwind-dw2-fde-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/config/unwind-dw2-fde-darwin.c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -24,6 +24,8 @@ libemutls_w.a: emutls.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(RANLIB_FOR_TARGET) $@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Patch to __Unwind_Find_Enclosing_Function for Darwin10.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# This has to be built for 10.6, even if the toolchain will not target that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ d10-uwfef.o: $(srcdir)/config/darwin10-unwind-find-enc-func.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(crt_compile) -mmacosx-version-min=10.6 -c $<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/t-darwin-min-1 libgcc/config/t-darwin-min-1
</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 00000000000..8c2cf8acd39
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config/t-darwin-min-1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,3 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Support building with -mmacosx-version-min back to 10.1.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++DARWIN_MIN_LIB_VERSION = -mmacosx-version-min=10.4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++DARWIN_MIN_CRT_VERSION = -mmacosx-version-min=10.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/t-darwin-min-4 libgcc/config/t-darwin-min-4
</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 00000000000..04e980de4d5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config/t-darwin-min-4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,3 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Support building with -mmacosx-version-min back to 10.4.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++DARWIN_MIN_LIB_VERSION = -mmacosx-version-min=10.4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++DARWIN_MIN_CRT_VERSION = -mmacosx-version-min=10.4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/t-darwin-min-5 libgcc/config/t-darwin-min-5
</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 00000000000..138193151e7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config/t-darwin-min-5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,3 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Support building with -mmacosx-version-min back to 10.5.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++DARWIN_MIN_LIB_VERSION = -mmacosx-version-min=10.5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++DARWIN_MIN_CRT_VERSION = -mmacosx-version-min=10.5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/t-darwin-min-8 libgcc/config/t-darwin-min-8
</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 00000000000..9efc9dc0257
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config/t-darwin-min-8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,3 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Support building with -mmacosx-version-min back to 10.8.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++DARWIN_MIN_LIB_VERSION = -mmacosx-version-min=10.8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++DARWIN_MIN_CRT_VERSION = -mmacosx-version-min=10.8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/t-darwin-rpath libgcc/config/t-darwin-rpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 7cf63d9cb6b..e73d7f378b0 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config/t-darwin-rpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config/t-darwin-rpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,5 +1,2 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Use @rpath and add a search path to exes and dylibs that depend on this.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SHLIB_RPATH = @rpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Which does not work for Darwin < 9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-HOST_LIBGCC2_CFLAGS += -mmacosx-version-min=10.5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0015-aarch64-Remove-redundant-mult-patterns.patch b/lang/gcc10-bootstrap/files/0015-aarch64-Remove-redundant-mult-patterns.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..bcb5814e1b9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0015-aarch64-Remove-redundant-mult-patterns.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,442 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From b2e5d7ce620148441ff444b64d68dd5a904b4f1e Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Alex Coplan <alex.coplan@arm.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 7 Sep 2020 15:23:44 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] aarch64: Remove redundant mult patterns
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Following on from the previous commit to fix up the syntax for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+add/sub/adds/subs and friends with a sign/zero-extended operand, this
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patch removes the "mult" variants of these patterns which are all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+redundant.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This patch removes the following patterns from the AArch64 backend:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *adds_mul_imm_<mode>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *subs_mul_imm_<mode>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *adds_<optab><mode>_multp2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *subs_<optab><mode>_multp2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *add_mul_imm_<mode>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *add_<optab><ALLX:mode>_mult_<GPI:mode>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *add_<optab><SHORT:mode>_mult_si_uxtw
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *add_<optab><mode>_multp2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *add_<optab>si_multp2_uxtw
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *add_uxt<mode>_multp2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *add_uxtsi_multp2_uxtw
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *sub_mul_imm_<mode>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *sub_mul_imm_si_uxtw
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *sub_<optab><mode>_multp2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *sub_<optab>si_multp2_uxtw
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *sub_uxt<mode>_multp2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *sub_uxtsi_multp2_uxtw
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *neg_mul_imm_<mode>2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *neg_mul_imm_si2_uxtw
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Together with the following predicates which were used only by these
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patterns:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64_pwr_imm3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64_pwr_2_si
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64_pwr_2_di
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+These patterns are all redundant since multiplications by powers of two
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+should be represented as shfits outside a (mem).
</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;'>+gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/aarch64/aarch64.md (*adds_mul_imm_<mode>): Delete.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*subs_mul_imm_<mode>): Delete.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*adds_<optab><mode>_multp2): Delete.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*subs_<optab><mode>_multp2): Delete.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*add_mul_imm_<mode>): Delete.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*add_<optab><ALLX:mode>_mult_<GPI:mode>): Delete.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*add_<optab><SHORT:mode>_mult_si_uxtw): Delete.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*add_<optab><mode>_multp2): Delete.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*add_<optab>si_multp2_uxtw): Delete.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*add_uxt<mode>_multp2): Delete.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*add_uxtsi_multp2_uxtw): Delete.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*sub_mul_imm_<mode>): Delete.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*sub_mul_imm_si_uxtw): Delete.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*sub_<optab><mode>_multp2): Delete.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*sub_<optab>si_multp2_uxtw): Delete.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*sub_uxt<mode>_multp2): Delete.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*sub_uxtsi_multp2_uxtw): Delete.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*neg_mul_imm_<mode>2): Delete.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*neg_mul_imm_si2_uxtw): Delete.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/aarch64/predicates.md (aarch64_pwr_imm3): Delete.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (aarch64_pwr_2_si): Delete.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (aarch64_pwr_2_di): Delete.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 2f8ae301f6a125f50b0a758047fcddae7b68daa8)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64.md | 271 -------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/predicates.md | 15 --
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 286 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/aarch64.md gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 58445dea941..7c4f0f214c3 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2346,38 +2346,6 @@ (define_insn "*subs_shift_imm_<mode>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set_attr "type" "alus_shift_imm")]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-(define_insn "*adds_mul_imm_<mode>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set (reg:CC_NZ CC_REGNUM)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (compare:CC_NZ
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (plus:GPI (mult:GPI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand:GPI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand:QI 2 "aarch64_pwr_2_<mode>" "n"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand:GPI 3 "register_operand" "r"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (const_int 0)))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (set (match_operand:GPI 0 "register_operand" "=r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (plus:GPI (mult:GPI (match_dup 1) (match_dup 2))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_dup 3)))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "adds\\t%<w>0, %<w>3, %<w>1, lsl %p2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set_attr "type" "alus_shift_imm")]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-(define_insn "*subs_mul_imm_<mode>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set (reg:CC_NZ CC_REGNUM)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (compare:CC_NZ
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (minus:GPI (match_operand:GPI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (mult:GPI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand:GPI 2 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand:QI 3 "aarch64_pwr_2_<mode>" "n")))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (const_int 0)))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (set (match_operand:GPI 0 "register_operand" "=r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (minus:GPI (match_dup 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (mult:GPI (match_dup 2) (match_dup 3))))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "subs\\t%<w>0, %<w>1, %<w>2, lsl %p3"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set_attr "type" "alus_shift_imm")]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (define_insn "*adds_<optab><ALLX:mode>_<GPI:mode>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set (reg:CC_NZ CC_REGNUM)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (compare:CC_NZ
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2442,46 +2410,6 @@ (define_insn "*subs_<optab><ALLX:mode>_shift_<GPI:mode>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set_attr "type" "alus_ext")]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-(define_insn "*adds_<optab><mode>_multp2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set (reg:CC_NZ CC_REGNUM)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (compare:CC_NZ
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (plus:GPI (ANY_EXTRACT:GPI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (mult:GPI (match_operand:GPI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand 2 "aarch64_pwr_imm3" "Up3"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand 3 "const_int_operand" "n")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (const_int 0))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand:GPI 4 "register_operand" "rk"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (const_int 0)))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (set (match_operand:GPI 0 "register_operand" "=r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (plus:GPI (ANY_EXTRACT:GPI (mult:GPI (match_dup 1) (match_dup 2))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_dup 3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (const_int 0))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_dup 4)))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "aarch64_is_extend_from_extract (<MODE>mode, operands[2], operands[3])"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "adds\\t%<w>0, %<w>4, %<w>1, <su>xt%e3 %p2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set_attr "type" "alus_ext")]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-(define_insn "*subs_<optab><mode>_multp2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set (reg:CC_NZ CC_REGNUM)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (compare:CC_NZ
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (minus:GPI (match_operand:GPI 4 "register_operand" "rk")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (ANY_EXTRACT:GPI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (mult:GPI (match_operand:GPI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand 2 "aarch64_pwr_imm3" "Up3"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand 3 "const_int_operand" "n")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (const_int 0)))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (const_int 0)))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (set (match_operand:GPI 0 "register_operand" "=r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (minus:GPI (match_dup 4) (ANY_EXTRACT:GPI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (mult:GPI (match_dup 1) (match_dup 2))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_dup 3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (const_int 0))))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "aarch64_is_extend_from_extract (<MODE>mode, operands[2], operands[3])"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "subs\\t%<w>0, %<w>4, %<w>1, <su>xt%e3 %p2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set_attr "type" "alus_ext")]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (define_insn "*add<mode>3nr_compare0"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set (reg:CC_NZ CC_REGNUM)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (compare:CC_NZ
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2539,16 +2467,6 @@ (define_insn "*add_<shift>_si_uxtw"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set_attr "type" "alu_shift_imm")]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-(define_insn "*add_mul_imm_<mode>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set (match_operand:GPI 0 "register_operand" "=r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (plus:GPI (mult:GPI (match_operand:GPI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand:QI 2 "aarch64_pwr_2_<mode>" "n"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand:GPI 3 "register_operand" "r")))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "add\\t%<w>0, %<w>3, %<w>1, lsl %p2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set_attr "type" "alu_shift_imm")]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (define_insn "*add_<optab><ALLX:mode>_<GPI:mode>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set (match_operand:GPI 0 "register_operand" "=rk")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (plus:GPI (ANY_EXTEND:GPI (match_operand:ALLX 1 "register_operand" "r"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2593,57 +2511,6 @@ (define_insn "*add_<optab><SHORT:mode>_shft_si_uxtw"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set_attr "type" "alu_ext")]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-(define_insn "*add_<optab><ALLX:mode>_mult_<GPI:mode>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set (match_operand:GPI 0 "register_operand" "=rk")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (plus:GPI (mult:GPI (ANY_EXTEND:GPI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand:ALLX 1 "register_operand" "r"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand 2 "aarch64_pwr_imm3" "Up3"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand:GPI 3 "register_operand" "r")))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "add\\t%<GPI:w>0, %<GPI:w>3, %<GPI:w>1, <su>xt<ALLX:size> %p2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set_attr "type" "alu_ext")]
</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;'>+-;; zero_extend version of above
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-(define_insn "*add_<optab><SHORT:mode>_mult_si_uxtw"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set (match_operand:DI 0 "register_operand" "=rk")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (zero_extend:DI (plus:SI (mult:SI (ANY_EXTEND:SI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand:SHORT 1 "register_operand" "r"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand 2 "aarch64_pwr_imm3" "Up3"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand:SI 3 "register_operand" "r"))))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "add\\t%w0, %w3, %w1, <su>xt<SHORT:size> %p2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set_attr "type" "alu_ext")]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-(define_insn "*add_<optab><mode>_multp2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set (match_operand:GPI 0 "register_operand" "=rk")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (plus:GPI (ANY_EXTRACT:GPI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (mult:GPI (match_operand:GPI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand 2 "aarch64_pwr_imm3" "Up3"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand 3 "const_int_operand" "n")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (const_int 0))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand:GPI 4 "register_operand" "r")))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "aarch64_is_extend_from_extract (<MODE>mode, operands[2], operands[3])"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "add\\t%<w>0, %<w>4, %<w>1, <su>xt%e3 %p2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set_attr "type" "alu_ext")]
</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;'>+-;; zero_extend version of above
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-(define_insn "*add_<optab>si_multp2_uxtw"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set (match_operand:DI 0 "register_operand" "=rk")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (zero_extend:DI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (plus:SI (ANY_EXTRACT:SI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (mult:SI (match_operand:SI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand 2 "aarch64_pwr_imm3" "Up3"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand 3 "const_int_operand" "n")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (const_int 0))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand:SI 4 "register_operand" "r"))))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "aarch64_is_extend_from_extract (SImode, operands[2], operands[3])"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "add\\t%w0, %w4, %w1, <su>xt%e3 %p2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set_attr "type" "alu_ext")]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (define_expand "add<mode>3_carryin"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set (match_operand:GPI 0 "register_operand")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (plus:GPI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2845,38 +2712,6 @@ (define_insn "*add_uxtsi_shift2_uxtw"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set_attr "type" "alu_ext")]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-(define_insn "*add_uxt<mode>_multp2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set (match_operand:GPI 0 "register_operand" "=rk")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (plus:GPI (and:GPI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (mult:GPI (match_operand:GPI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand 2 "aarch64_pwr_imm3" "Up3"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand 3 "const_int_operand" "n"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand:GPI 4 "register_operand" "r")))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "aarch64_uxt_size (exact_log2 (INTVAL (operands[2])), INTVAL (operands[3])) != 0"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- operands[3] = GEN_INT (aarch64_uxt_size (exact_log2 (INTVAL (operands[2])),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- INTVAL (operands[3])));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return \"add\t%<w>0, %<w>4, %<w>1, uxt%e3 %p2\";"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set_attr "type" "alu_ext")]
</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;'>+-;; zero_extend version of above
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-(define_insn "*add_uxtsi_multp2_uxtw"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set (match_operand:DI 0 "register_operand" "=rk")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (zero_extend:DI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (plus:SI (and:SI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (mult:SI (match_operand:SI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand 2 "aarch64_pwr_imm3" "Up3"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand 3 "const_int_operand" "n"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand:SI 4 "register_operand" "r"))))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "aarch64_uxt_size (exact_log2 (INTVAL (operands[2])), INTVAL (operands[3])) != 0"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- operands[3] = GEN_INT (aarch64_uxt_size (exact_log2 (INTVAL (operands[2])),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- INTVAL (operands[3])));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return \"add\t%w0, %w4, %w1, uxt%e3 %p2\";"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set_attr "type" "alu_ext")]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (define_insn "subsi3"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set (match_operand:SI 0 "register_operand" "=rk")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (minus:SI (match_operand:SI 1 "register_operand" "rk")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3280,30 +3115,6 @@ (define_insn "*sub_<shift>_si_uxtw"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set_attr "type" "alu_shift_imm")]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-(define_insn "*sub_mul_imm_<mode>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set (match_operand:GPI 0 "register_operand" "=r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (minus:GPI (match_operand:GPI 3 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (mult:GPI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand:GPI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand:QI 2 "aarch64_pwr_2_<mode>" "n"))))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "sub\\t%<w>0, %<w>3, %<w>1, lsl %p2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set_attr "type" "alu_shift_imm")]
</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;'>+-;; zero_extend version of above
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-(define_insn "*sub_mul_imm_si_uxtw"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set (match_operand:DI 0 "register_operand" "=r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (zero_extend:DI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (minus:SI (match_operand:SI 3 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (mult:SI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand:SI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand:QI 2 "aarch64_pwr_2_si" "n")))))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "sub\\t%w0, %w3, %w1, lsl %p2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set_attr "type" "alu_shift_imm")]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (define_insn "*sub_<optab><ALLX:mode>_<GPI:mode>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set (match_operand:GPI 0 "register_operand" "=rk")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (minus:GPI (match_operand:GPI 1 "register_operand" "rk")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3350,34 +3161,6 @@ (define_insn "*sub_<optab><SHORT:mode>_shft_si_uxtw"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set_attr "type" "alu_ext")]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-(define_insn "*sub_<optab><mode>_multp2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set (match_operand:GPI 0 "register_operand" "=rk")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (minus:GPI (match_operand:GPI 4 "register_operand" "rk")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (ANY_EXTRACT:GPI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (mult:GPI (match_operand:GPI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand 2 "aarch64_pwr_imm3" "Up3"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand 3 "const_int_operand" "n")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (const_int 0))))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "aarch64_is_extend_from_extract (<MODE>mode, operands[2], operands[3])"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "sub\\t%<w>0, %<w>4, %<w>1, <su>xt%e3 %p2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set_attr "type" "alu_ext")]
</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;'>+-;; zero_extend version of above
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-(define_insn "*sub_<optab>si_multp2_uxtw"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set (match_operand:DI 0 "register_operand" "=rk")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (zero_extend:DI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (minus:SI (match_operand:SI 4 "register_operand" "rk")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (ANY_EXTRACT:SI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (mult:SI (match_operand:SI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand 2 "aarch64_pwr_imm3" "Up3"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand 3 "const_int_operand" "n")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (const_int 0)))))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "aarch64_is_extend_from_extract (SImode, operands[2], operands[3])"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "sub\\t%w0, %w4, %w1, <su>xt%e3 %p2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set_attr "type" "alu_ext")]
</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;'>+ ;; The hardware description is op1 + ~op2 + C.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;; = op1 + (-op2 + 1) + (1 - !C)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;; = op1 - op2 - 1 + 1 - !C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3633,38 +3416,6 @@ (define_insn "*sub_uxtsi_shift2_uxtw"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set_attr "type" "alu_ext")]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-(define_insn "*sub_uxt<mode>_multp2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set (match_operand:GPI 0 "register_operand" "=rk")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (minus:GPI (match_operand:GPI 4 "register_operand" "rk")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (and:GPI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (mult:GPI (match_operand:GPI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand 2 "aarch64_pwr_imm3" "Up3"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand 3 "const_int_operand" "n"))))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "aarch64_uxt_size (exact_log2 (INTVAL (operands[2])),INTVAL (operands[3])) != 0"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- operands[3] = GEN_INT (aarch64_uxt_size (exact_log2 (INTVAL (operands[2])),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- INTVAL (operands[3])));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return \"sub\t%<w>0, %<w>4, %<w>1, uxt%e3 %p2\";"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set_attr "type" "alu_ext")]
</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;'>+-;; zero_extend version of above
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-(define_insn "*sub_uxtsi_multp2_uxtw"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set (match_operand:DI 0 "register_operand" "=rk")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (zero_extend:DI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (minus:SI (match_operand:SI 4 "register_operand" "rk")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (and:SI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (mult:SI (match_operand:SI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand 2 "aarch64_pwr_imm3" "Up3"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand 3 "const_int_operand" "n")))))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "aarch64_uxt_size (exact_log2 (INTVAL (operands[2])),INTVAL (operands[3])) != 0"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- operands[3] = GEN_INT (aarch64_uxt_size (exact_log2 (INTVAL (operands[2])),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- INTVAL (operands[3])));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return \"sub\t%w0, %w4, %w1, uxt%e3 %p2\";"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set_attr "type" "alu_ext")]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (define_expand "abs<mode>2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(match_operand:GPI 0 "register_operand")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (match_operand:GPI 1 "register_operand")]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3777,28 +3528,6 @@ (define_insn "*neg_<shift>_si2_uxtw"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set_attr "type" "alu_shift_imm")]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-(define_insn "*neg_mul_imm_<mode>2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set (match_operand:GPI 0 "register_operand" "=r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (neg:GPI (mult:GPI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand:GPI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand:QI 2 "aarch64_pwr_2_<mode>" "n"))))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "neg\\t%<w>0, %<w>1, lsl %p2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set_attr "type" "alu_shift_imm")]
</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;'>+-;; zero_extend version of above
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-(define_insn "*neg_mul_imm_si2_uxtw"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set (match_operand:DI 0 "register_operand" "=r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (zero_extend:DI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (neg:SI (mult:SI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand:SI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_operand:QI 2 "aarch64_pwr_2_si" "n")))))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "neg\\t%w0, %w1, lsl %p2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [(set_attr "type" "alu_shift_imm")]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (define_insn "mul<mode>3"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set (match_operand:GPI 0 "register_operand" "=r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (mult:GPI (match_operand:GPI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/predicates.md gcc/config/aarch64/predicates.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 1754b1eff9f..91b51483f33 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/predicates.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/predicates.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -235,21 +235,6 @@ (define_predicate "aarch64_imm24"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (and (match_code "const_int")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (match_test "IN_RANGE (UINTVAL (op), 0, 0xffffff)")))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-(define_predicate "aarch64_pwr_imm3"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (and (match_code "const_int")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_test "INTVAL (op) != 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- && (unsigned) exact_log2 (INTVAL (op)) <= 4")))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-(define_predicate "aarch64_pwr_2_si"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (and (match_code "const_int")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_test "INTVAL (op) != 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- && (unsigned) exact_log2 (INTVAL (op)) < 32")))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-(define_predicate "aarch64_pwr_2_di"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (and (match_code "const_int")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (match_test "INTVAL (op) != 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- && (unsigned) exact_log2 (INTVAL (op)) < 64")))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (define_predicate "aarch64_mem_pair_offset"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (and (match_code "const_int")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (match_test "aarch64_offset_7bit_signed_scaled_p (mode, INTVAL (op))")))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0016-aarch64-Don-t-emit-invalid-zero-sign-extend-syntax.patch b/lang/gcc10-bootstrap/files/0016-aarch64-Don-t-emit-invalid-zero-sign-extend-syntax.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..e2f63498e8c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0016-aarch64-Don-t-emit-invalid-zero-sign-extend-syntax.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,354 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 755136e478f235b03e62fd4d9cd8d98a7937ef56 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Alex Coplan <alex.coplan@arm.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 7 Sep 2020 15:20:21 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] aarch64: Don't emit invalid zero/sign-extend syntax
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Given the following C function:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+double *f(double *p, unsigned x)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return p + x;
</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;'>+prior to this patch, GCC at -O2 would generate:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+f:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ add x0, x0, x1, uxtw 3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ret
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+but this add instruction uses architecturally-invalid syntax: the width
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+of the third operand conflicts with the width of the extension
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+specifier. The third operand is only permitted to be an x register when
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the extension specifier is (u|s)xtx.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This instruction, and analogous insns for adds, sub, subs, and cmp, are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+rejected by clang, but accepted by binutils. Assembling and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+disassembling such an insn with binutils gives the architecturally-valid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version in the disassembly:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0: 8b214c00 add x0, x0, w1, uxtw #3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This patch fixes several patterns in the AArch64 backend to use the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+standard syntax as specified in the Arm ARM such that GCC's output can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+be assembled by assemblers other than GAS.
</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;'>+gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*adds_<optab><ALLX:mode>_<GPI:mode>): Ensure extended operand
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ agrees with width of extension specifier.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*subs_<optab><ALLX:mode>_<GPI:mode>): Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*adds_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*subs_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*add_<optab><ALLX:mode>_<GPI:mode>): Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*add_<optab><ALLX:mode>_shft_<GPI:mode>): Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*add_uxt<mode>_shift2): Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*sub_<optab><ALLX:mode>_<GPI:mode>): Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*sub_<optab><ALLX:mode>_shft_<GPI:mode>): Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*sub_uxt<mode>_shift2): Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*cmp_swp_<optab><ALLX:mode>_reg<GPI:mode>): Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*cmp_swp_<optab><ALLX:mode>_shft_<GPI:mode>): Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/testsuite/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * gcc.target/aarch64/adds3.c: Fix test w.r.t. new syntax.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * gcc.target/aarch64/cmp.c: Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * gcc.target/aarch64/subs3.c: Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * gcc.target/aarch64/subsp.c: Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * gcc.target/aarch64/extend-syntax.c: New test.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit d4febc75e8dfab23bd3132d5747eded918f85107)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64.md | 24 ++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/gcc.target/aarch64/adds3.c | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/gcc.target/aarch64/cmp.c | 3 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .../gcc.target/aarch64/extend-syntax.c | 120 ++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/gcc.target/aarch64/subs3.c | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/gcc.target/aarch64/subsp.c | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 6 files changed, 137 insertions(+), 16 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create mode 100644 gcc/testsuite/gcc.target/aarch64/extend-syntax.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/aarch64.md gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 7c4f0f214c3..bb4138e0bfa 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2356,7 +2356,7 @@ (define_insn "*adds_<optab><ALLX:mode>_<GPI:mode>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (set (match_operand:GPI 0 "register_operand" "=r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (plus:GPI (ANY_EXTEND:GPI (match_dup 1)) (match_dup 2)))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "adds\\t%<GPI:w>0, %<GPI:w>2, %<GPI:w>1, <su>xt<ALLX:size>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "adds\\t%<GPI:w>0, %<GPI:w>2, %w1, <su>xt<ALLX:size>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set_attr "type" "alus_ext")]
</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;'>+@@ -2370,7 +2370,7 @@ (define_insn "*subs_<optab><ALLX:mode>_<GPI:mode>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (set (match_operand:GPI 0 "register_operand" "=r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (minus:GPI (match_dup 1) (ANY_EXTEND:GPI (match_dup 2))))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "subs\\t%<GPI:w>0, %<GPI:w>1, %<GPI:w>2, <su>xt<ALLX:size>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "subs\\t%<GPI:w>0, %<GPI:w>1, %w2, <su>xt<ALLX:size>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set_attr "type" "alus_ext")]
</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;'>+@@ -2388,7 +2388,7 @@ (define_insn "*adds_<optab><ALLX:mode>_shift_<GPI:mode>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (match_dup 2))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (match_dup 3)))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "adds\\t%<GPI:w>0, %<GPI:w>3, %<GPI:w>1, <su>xt<ALLX:size> %2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "adds\\t%<GPI:w>0, %<GPI:w>3, %w1, <su>xt<ALLX:size> %2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set_attr "type" "alus_ext")]
</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;'>+@@ -2406,7 +2406,7 @@ (define_insn "*subs_<optab><ALLX:mode>_shift_<GPI:mode>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (ashift:GPI (ANY_EXTEND:GPI (match_dup 2))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (match_dup 3))))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "subs\\t%<GPI:w>0, %<GPI:w>1, %<GPI:w>2, <su>xt<ALLX:size> %3"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "subs\\t%<GPI:w>0, %<GPI:w>1, %w2, <su>xt<ALLX:size> %3"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set_attr "type" "alus_ext")]
</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;'>+@@ -2472,7 +2472,7 @@ (define_insn "*add_<optab><ALLX:mode>_<GPI:mode>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (plus:GPI (ANY_EXTEND:GPI (match_operand:ALLX 1 "register_operand" "r"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (match_operand:GPI 2 "register_operand" "r")))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "add\\t%<GPI:w>0, %<GPI:w>2, %<GPI:w>1, <su>xt<ALLX:size>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "add\\t%<GPI:w>0, %<GPI:w>2, %w1, <su>xt<ALLX:size>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set_attr "type" "alu_ext")]
</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;'>+@@ -2494,7 +2494,7 @@ (define_insn "*add_<optab><ALLX:mode>_shft_<GPI:mode>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (match_operand 2 "aarch64_imm3" "Ui3"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (match_operand:GPI 3 "register_operand" "r")))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "add\\t%<GPI:w>0, %<GPI:w>3, %<GPI:w>1, <su>xt<ALLX:size> %2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "add\\t%<GPI:w>0, %<GPI:w>3, %w1, <su>xt<ALLX:size> %2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set_attr "type" "alu_ext")]
</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;'>+@@ -2691,7 +2691,7 @@ (define_insn "*add_uxt<mode>_shift2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ operands[3] = GEN_INT (aarch64_uxt_size (INTVAL(operands[2]),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ INTVAL (operands[3])));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return \"add\t%<w>0, %<w>4, %<w>1, uxt%e3 %2\";"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return \"add\t%<w>0, %<w>4, %w1, uxt%e3 %2\";"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set_attr "type" "alu_ext")]
</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;'>+@@ -3121,7 +3121,7 @@ (define_insn "*sub_<optab><ALLX:mode>_<GPI:mode>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (ANY_EXTEND:GPI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (match_operand:ALLX 2 "register_operand" "r"))))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "sub\\t%<GPI:w>0, %<GPI:w>1, %<GPI:w>2, <su>xt<ALLX:size>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "sub\\t%<GPI:w>0, %<GPI:w>1, %w2, <su>xt<ALLX:size>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set_attr "type" "alu_ext")]
</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;'>+@@ -3144,7 +3144,7 @@ (define_insn "*sub_<optab><ALLX:mode>_shft_<GPI:mode>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (match_operand:ALLX 2 "register_operand" "r"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (match_operand 3 "aarch64_imm3" "Ui3"))))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "sub\\t%<GPI:w>0, %<GPI:w>1, %<GPI:w>2, <su>xt<ALLX:size> %3"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "sub\\t%<GPI:w>0, %<GPI:w>1, %w2, <su>xt<ALLX:size> %3"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set_attr "type" "alu_ext")]
</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;'>+@@ -3395,7 +3395,7 @@ (define_insn "*sub_uxt<mode>_shift2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ operands[3] = GEN_INT (aarch64_uxt_size (INTVAL (operands[2]),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ INTVAL (operands[3])));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return \"sub\t%<w>0, %<w>4, %<w>1, uxt%e3 %2\";"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return \"sub\t%<w>0, %<w>4, %w1, uxt%e3 %2\";"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set_attr "type" "alu_ext")]
</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;'>+@@ -3788,7 +3788,7 @@ (define_insn "*cmp_swp_<optab><ALLX:mode>_reg<GPI:mode>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (match_operand:ALLX 0 "register_operand" "r"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (match_operand:GPI 1 "register_operand" "r")))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "cmp\\t%<GPI:w>1, %<GPI:w>0, <su>xt<ALLX:size>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "cmp\\t%<GPI:w>1, %w0, <su>xt<ALLX:size>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set_attr "type" "alus_ext")]
</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;'>+@@ -3800,7 +3800,7 @@ (define_insn "*cmp_swp_<optab><ALLX:mode>_shft_<GPI:mode>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (match_operand 1 "aarch64_imm3" "Ui3"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (match_operand:GPI 2 "register_operand" "r")))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "cmp\\t%<GPI:w>2, %<GPI:w>0, <su>xt<ALLX:size> %1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "cmp\\t%<GPI:w>2, %w0, <su>xt<ALLX:size> %1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set_attr "type" "alus_ext")]
</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;'>+diff --git gcc/testsuite/gcc.target/aarch64/adds3.c gcc/testsuite/gcc.target/aarch64/adds3.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index c5518bdcaf2..e938c8049cf 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/adds3.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/adds3.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -58,4 +58,4 @@ int main ()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return 0;
</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;'>+-/* { dg-final { scan-assembler-times "adds\tx\[0-9\]+, x\[0-9\]+, x\[0-9\]+, sxtw" 2 } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { scan-assembler-times "adds\tx\[0-9\]+, x\[0-9\]+, w\[0-9\]+, sxtw" 2 } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/cmp.c gcc/testsuite/gcc.target/aarch64/cmp.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index ee57dd283bf..a6487a4f77a 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/cmp.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/cmp.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -58,4 +58,5 @@ cmp_di_test4 (int a, s64 b, s64 c)
</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;'>+ /* { dg-final { scan-assembler-times "cmp\tw\[0-9\]+, w\[0-9\]+" 2 } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { scan-assembler-times "cmp\tx\[0-9\]+, x\[0-9\]+" 4 } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { scan-assembler-times "cmp\tx\[0-9\]+, x\[0-9\]+" 2 } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { scan-assembler-times "cmp\tx\[0-9\]+, w\[0-9\]+, sxtw" 2 } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/extend-syntax.c gcc/testsuite/gcc.target/aarch64/extend-syntax.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 00000000000..23fa9f4ffc5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/extend-syntax.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,120 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-do compile } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-options "-O2" } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// Hits *add_uxtdi_shift2 (*add_uxt<mode>_shift2).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++** add1:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++** add x0, x0, w1, uxtw 3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++** ret
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++*/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++unsigned long long *add1(unsigned long long *p, unsigned x)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return p + x;
</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;'>++// Hits *add_zero_extendsi_di (*add_<optab><ALLX:mode>_<GPI:mode>).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++** add2:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++** add x0, x0, w1, uxtw
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++** ret
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++*/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++unsigned long long add2(unsigned long long x, unsigned y)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return x + y;
</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;'>++// Hits *add_extendsi_shft_di (*add_<optab><ALLX:mode>_shft_<GPI:mode>).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++** add3:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++** add x0, x0, w1, sxtw 3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++** ret
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++*/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++double *add3(double *p, int x)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return p + x;
</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;'>++// Hits *sub_zero_extendsi_di (*sub_<optab><ALLX:mode>_<GPI:mode>).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++** sub1:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++** sub x0, x0, w1, uxtw
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++** ret
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++*/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++unsigned long long sub1(unsigned long long x, unsigned n)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return x - 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;'>++// Hits *sub_uxtdi_shift2 (*sub_uxt<mode>_shift2).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++** sub2:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++** sub x0, x0, w1, uxtw 3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++** ret
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++*/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++double *sub2(double *x, unsigned n)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return x - 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;'>++// Hits *sub_extendsi_shft_di (*sub_<optab><ALLX:mode>_shft_<GPI:mode>).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++** sub3:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++** sub x0, x0, w1, sxtw 3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++** ret
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++*/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++double *sub3(double *p, int n)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return p - 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;'>++// Hits *adds_zero_extendsi_di (*adds_<optab><ALLX:mode>_<GPI:mode>).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int adds1(unsigned long long x, unsigned y)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* { dg-final { scan-assembler-times "adds\tx\[0-9\]+, x\[0-9\]+, w\[0-9\]+, uxtw" 1 } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ unsigned long long l = x + y;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return !!l;
</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;'>++// Hits *adds_extendsi_shift_di (*adds_<optab><ALLX:mode>_shift_<GPI:mode>).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int adds2(long long x, int y)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* { dg-final { scan-assembler-times "adds\tx\[0-9\]+, x\[0-9\]+, w\[0-9\]+, sxtw 3" 1 } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ long long t = x + ((long long)y << 3);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return !!t;
</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;'>++// Hits *subs_zero_extendsi_di (*subs_<optab><ALLX:mode>_<GPI:mode>).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++unsigned long long z;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int subs1(unsigned long long x, unsigned y)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* { dg-final { scan-assembler-times "subs\tx\[0-9\]+, x\[0-9\]+, w\[0-9\]+, uxtw" 1 } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ unsigned long long t = x - y;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ z = t;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return !!t;
</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;'>++// Hits *subs_extendsi_shift_di (*subs_<optab><ALLX:mode>_shift_<GPI:mode>).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++unsigned long long *w;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int subs2(unsigned long long *x, int y)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* { dg-final { scan-assembler-times "subs\tx\[0-9\]+, x\[0-9\]+, w\[0-9\]+, sxtw 3" 1 } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ unsigned long long *t = x - y;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ w = t;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return !!t;
</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;'>++// Hits *cmp_swp_zero_extendsi_regdi (*cmp_swp_<optab><ALLX:mode>_reg<GPI:mode>).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int cmp(unsigned long long x, unsigned y)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* { dg-final { scan-assembler-times "cmp\tx\[0-9\]+, w\[0-9\]+, uxtw" 1 } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return !!(x - y);
</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;'>++// Hits *cmp_swp_extendsi_shft_di (*cmp_swp_<optab><ALLX:mode>_shft_<GPI:mode>).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int cmp2(unsigned long long x, int y)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* { dg-final { scan-assembler-times "cmp\tx\[0-9\]+, w\[0-9\]+, sxtw 3" 1 } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return x == ((unsigned long long)y << 3);
</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;'>++/* { dg-final { check-function-bodies "**" "" "" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/subs3.c gcc/testsuite/gcc.target/aarch64/subs3.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 59581bf1ab7..0470a3bde34 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/subs3.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/subs3.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -58,4 +58,4 @@ int main ()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return 0;
</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;'>+-/* { dg-final { scan-assembler-times "subs\tx\[0-9\]+, x\[0-9\]+, x\[0-9\]+, sxtw" 2 } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { scan-assembler-times "subs\tx\[0-9\]+, x\[0-9\]+, w\[0-9\]+, sxtw" 2 } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/subsp.c gcc/testsuite/gcc.target/aarch64/subsp.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6ef6b2c90ae..341b83dca86 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/subsp.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/subsp.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16,4 +16,4 @@ f2 (int *x, int y)
</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;'>+ /* { dg-final { scan-assembler "sub\tsp, sp, x\[0-9\]*\n" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { scan-assembler "sub\tsp, sp, x\[0-9\]*, sxtw 4\n" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { scan-assembler "sub\tsp, sp, w\[0-9\]*, sxtw 4\n" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0017-fortran-caf_fail_image-expects-no-argument.patch b/lang/gcc10-bootstrap/files/0017-fortran-caf_fail_image-expects-no-argument.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..f3d15f03c11
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0017-fortran-caf_fail_image-expects-no-argument.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,48 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 512748f173416dcebce19adaa8170fb23fe75cc6 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 6 Sep 2020 18:24:50 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] fortran: caf_fail_image expects no argument
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/fortran/ChangeLog
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PR fortran/96947
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * trans-stmt.c (gfc_trans_fail_image): caf_fail_image
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ expects no argument.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/testsuite/ChangeLog
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * gfortran.dg/coarray_fail_st.f90: Adjust test.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 3489d80fee42764460cb06f7a2e9f126c18602b4)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/fortran/trans-stmt.c | 3 +--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/gfortran.dg/coarray_fail_st.f90 | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 2 insertions(+), 3 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/fortran/trans-stmt.c gcc/fortran/trans-stmt.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a425c98c076..04c1b2a104c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/fortran/trans-stmt.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/fortran/trans-stmt.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -689,8 +689,7 @@ gfc_trans_fail_image (gfc_code *code ATTRIBUTE_UNUSED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (flag_coarray == GFC_FCOARRAY_LIB)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return build_call_expr_loc (input_location,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- gfor_fndecl_caf_fail_image, 1,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- build_int_cst (pchar_type_node, 0));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gfor_fndecl_caf_fail_image, 0);
</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;'>+ const char *name = gfc_get_string (PREFIX ("exit_i%d"), 4);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gfortran.dg/coarray_fail_st.f90 gcc/testsuite/gfortran.dg/coarray_fail_st.f90
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d4eb8e2c240..8c86f55690b 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gfortran.dg/coarray_fail_st.f90
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gfortran.dg/coarray_fail_st.f90
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -18,4 +18,4 @@ program fail_statement
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ end program fail_statement
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-! { dg-final { scan-tree-dump-times "_gfortran_caf_fail_image \\\(0B\\\);" 1 "original" } }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++! { dg-final { scan-tree-dump-times "_gfortran_caf_fail_image \\\(\\\);" 1 "original" } }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0018-fortran-Fix-function-arg-types-for-class-objects.patch b/lang/gcc10-bootstrap/files/0018-fortran-Fix-function-arg-types-for-class-objects.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..7830b666255
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0018-fortran-Fix-function-arg-types-for-class-objects.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,30 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 85908527ab147742894cac36923718d9172e7710 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 6 Sep 2020 18:33:04 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] fortran: Fix function arg types for class objects
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/fortran/ChangeLog
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * trans-types.c (gfc_get_ppc_type): Fix function arg types.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 7c72651a937533cb67360a6faca05e5603a65865)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/fortran/trans-types.c | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/fortran/trans-types.c gcc/fortran/trans-types.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d3fef08b4b9..7bf28f49588 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/fortran/trans-types.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/fortran/trans-types.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2435,7 +2435,7 @@ gfc_get_ppc_type (gfc_component* c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ t = void_type_node;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return build_pointer_type (build_function_type_list (t, NULL_TREE));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return build_pointer_type (build_function_type (t, NULL_TREE));
</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;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0019-fortran-Fix-arg-types-of-_gfortran_is_extension_of.patch b/lang/gcc10-bootstrap/files/0019-fortran-Fix-arg-types-of-_gfortran_is_extension_of.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..09be21f3de2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0019-fortran-Fix-arg-types-of-_gfortran_is_extension_of.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,34 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From cba59f091362640bbf712c9db6f951624c82ddff Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 7 Sep 2020 09:36:29 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] fortran: Fix arg types of _gfortran_is_extension_of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/fortran/ChangeLog
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * resolve.c (resolve_select_type): Provide a formal arg list.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit a502683de1f036b5f8b4e483bd9f5a45be73382e)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/fortran/resolve.c | 6 ++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 6 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/fortran/resolve.c gcc/fortran/resolve.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 7ca5f44f419..7705cd02829 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/fortran/resolve.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/fortran/resolve.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9621,6 +9621,12 @@ resolve_select_type (gfc_code *code, gfc_namespace *old_ns)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ new_st->expr1->value.function.actual->next = gfc_get_actual_arglist ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ new_st->expr1->value.function.actual->next->expr = gfc_get_variable_expr (st);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ new_st->expr1->value.function.actual->next->expr->where = code->loc;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Set up types in formal arg list. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ new_st->expr1->value.function.isym->formal = XCNEW (gfc_intrinsic_arg);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ new_st->expr1->value.function.isym->formal->ts = new_st->expr1->value.function.actual->expr->ts;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ new_st->expr1->value.function.isym->formal->next = XCNEW (gfc_intrinsic_arg);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ new_st->expr1->value.function.isym->formal->next->ts = new_st->expr1->value.function.actual->next->expr->ts;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ new_st->next = body->next;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (default_case->next)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0020-fortran-Fix-argument-types-in-derived-types-procedur.patch b/lang/gcc10-bootstrap/files/0020-fortran-Fix-argument-types-in-derived-types-procedur.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..bb873a87ac1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0020-fortran-Fix-argument-types-in-derived-types-procedur.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,30 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From a9aa235a1034d88e8febab169b7a9a7dd33479fd Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 7 Sep 2020 09:38:25 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] fortran: Fix argument types in derived types procedures
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/fortran/ChangeLog
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * trans-types.c (gfc_get_derived_type): Fix argument types.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit d30869a8d4886aee4020be3b28b15b1b15c8d9ad)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/fortran/trans-types.c | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/fortran/trans-types.c gcc/fortran/trans-types.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 7bf28f49588..8248d67064e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/fortran/trans-types.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/fortran/trans-types.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2712,7 +2712,7 @@ gfc_get_derived_type (gfc_symbol * derived, int codimen)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ field_type = gfc_get_ppc_type (c);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else if (c->attr.proc_pointer && derived->backend_decl)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- tmp = build_function_type_list (derived->backend_decl, NULL_TREE);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tmp = build_function_type (derived->backend_decl, NULL_TREE);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ field_type = build_pointer_type (tmp);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else if (c->ts.type == BT_DERIVED || c->ts.type == BT_CLASS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0021-config.sub-config.guess-Import-upstream-2020-11-07.patch b/lang/gcc10-bootstrap/files/0021-config.sub-config.guess-Import-upstream-2020-11-07.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..69158bd6221
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0021-config.sub-config.guess-Import-upstream-2020-11-07.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,2165 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 613b9b8de1fc99cce983a85fbcacf5259dba6155 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 15 Nov 2020 09:52:26 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] config.sub, config.guess : Import upstream 2020-11-07.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This imports from:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+sha1 77632d92f25e26b95c64afd3700d51bd03587613
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: 2020-11-07 04:46:23 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config.guess: Import latest upstream.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config.sub: Import latest upstream.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 53a90650663e59948f86505660604b5769cf808c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ config.guess | 250 +++++++++++---------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ config.sub | 632 ++++++++++++++++++++++++++++-----------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 483 insertions(+), 399 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git config.guess config.guess
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 97ad0733304..0fc11edb2d1 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- config.guess
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ config.guess
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,8 +1,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #! /bin/sh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Attempt to guess a canonical system name.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Copyright 1992-2019 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Copyright 1992-2020 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-timestamp='2019-07-24'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++timestamp='2020-11-07'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # This file is free software; you can redistribute it and/or modify it
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # under the terms of the GNU General Public License as published by
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -32,7 +32,7 @@ timestamp='2019-07-24'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Please send patches to <config-patches@gnu.org>.
</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;'>+-me=`echo "$0" | sed -e 's,.*/,,'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++me=$(echo "$0" | sed -e 's,.*/,,')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ usage="\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usage: $0 [OPTION]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -50,7 +50,7 @@ version="\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GNU config.guess ($timestamp)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Originally written by Per Bothner.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-Copyright 1992-2019 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Copyright 1992-2020 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ This is free software; see the source for copying conditions. There is NO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -99,9 +99,11 @@ tmp=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set_cc_for_build() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # prevent multiple calls if $tmp is already set
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ test "$tmp" && return 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ : "${TMPDIR=/tmp}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # shellcheck disable=SC2039
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { tmp=$( (umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null) && test -n "$tmp" && test -d "$tmp" ; } ||
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -129,10 +131,10 @@ if test -f /.attbin/uname ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PATH=$PATH:/.attbin ; export 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;'>+-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++UNAME_MACHINE=$( (uname -m) 2>/dev/null) || UNAME_MACHINE=unknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++UNAME_RELEASE=$( (uname -r) 2>/dev/null) || UNAME_RELEASE=unknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++UNAME_SYSTEM=$( (uname -s) 2>/dev/null) || UNAME_SYSTEM=unknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++UNAME_VERSION=$( (uname -v) 2>/dev/null) || UNAME_VERSION=unknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case "$UNAME_SYSTEM" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Linux|GNU|GNU/*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -148,17 +150,15 @@ Linux|GNU|GNU/*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #elif defined(__dietlibc__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIBC=dietlibc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ #include <stdarg.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ #ifdef __DEFINED_va_list
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ LIBC=musl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIBC=gnu
</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;'>+ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # If ldd exists, use it to detect musl libc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if command -v ldd >/dev/null && \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ldd --version 2>&1 | grep -q ^musl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- LIBC=musl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g')"
</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;'>+@@ -177,19 +177,20 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Note: NetBSD doesn't particularly care about the vendor
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # portion of the name. We always set it to "unknown".
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sysctl="sysctl -n hw.machine_arch"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNAME_MACHINE_ARCH=$( (uname -p 2>/dev/null || \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "/sbin/$sysctl" 2>/dev/null || \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "/usr/sbin/$sysctl" 2>/dev/null || \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- echo unknown)`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo unknown))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case "$UNAME_MACHINE_ARCH" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ aarch64eb) machine=aarch64_be-unknown ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ armeb) machine=armeb-unknown ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ arm*) machine=arm-unknown ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sh3el) machine=shl-unknown ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sh3eb) machine=sh-unknown ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sh5el) machine=sh5le-unknown ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ earmv*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ arch=$(echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ endian=$(echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ machine="${arch}${endian}"-unknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *) machine="$UNAME_MACHINE_ARCH"-unknown ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -220,7 +221,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case "$UNAME_MACHINE_ARCH" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ earm*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ expr='s/^earmv[0-9]/-eabi/;s/eb$//'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ abi=$(echo "$UNAME_MACHINE_ARCH" | sed -e "$expr")
</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;'>+ # The OS release
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -233,7 +234,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ release='-gnu'
</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;'>+- release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ release=$(echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2)
</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;'>+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -242,15 +243,15 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "$machine-${os}${release}${abi-}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *:Bitrig:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNAME_MACHINE_ARCH=$(arch | sed 's/Bitrig.//')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *:OpenBSD:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNAME_MACHINE_ARCH=$(arch | sed 's/OpenBSD.//')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *:LibertyBSD:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNAME_MACHINE_ARCH=$(arch | sed 's/^.*BSD\.//')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *:MidnightBSD:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -274,6 +275,9 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *:Sortix:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "$UNAME_MACHINE"-unknown-sortix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *:Twizzler:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "$UNAME_MACHINE"-unknown-twizzler
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *:Redox:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "$UNAME_MACHINE"-unknown-redox
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -283,17 +287,17 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ alpha:OSF1:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case $UNAME_RELEASE in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *4.0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $3}')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *5.*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $4}')
</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;'>+ # According to Compaq, /usr/sbin/psrinfo has been available on
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # OSF/1 and Tru64 systems produced since 1995. I hope that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # covers most systems running today. This code pipes the CPU
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # types through head -n 1, so we only detect the type of CPU 0.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ALPHA_CPU_TYPE=$(/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case "$ALPHA_CPU_TYPE" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "EV4 (21064)")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ UNAME_MACHINE=alpha ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -331,7 +335,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # A Tn.n version is a released field test version.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # A Xn.n version is an unreleased experimental baselevel.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # 1.2 uses "1.2" for uname -r.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "$UNAME_MACHINE"-dec-osf"$(echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exitcode=$?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ trap '' 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -365,7 +369,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if test "`(/bin/universe) 2>/dev/null`" = att ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "$( (/bin/universe) 2>/dev/null)" = att ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo pyramid-pyramid-sysv3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo pyramid-pyramid-bsd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -378,17 +382,17 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo sparc-icl-nx6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- case `/usr/bin/uname -p` in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case $(/usr/bin/uname -p) in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sparc) echo sparc-icl-nx7; exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ s390x:SunOS:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "$UNAME_MACHINE"-ibm-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sun4H:SunOS:5.*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo sparc-hal-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo sparc-sun-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo i386-pc-auroraux"$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -399,7 +403,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # If there is a compiler, see if it is configured for 64-bit objects.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # This test works for both compilers.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "$CC_FOR_BUILD" != no_compiler_found; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ grep IS_64BIT_ARCH >/dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -407,30 +411,30 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SUN_ARCH=x86_64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "$SUN_ARCH"-pc-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sun4*:SunOS:6*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # According to config.sub, this is the proper way to canonicalize
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # it's likely to be more like Solaris than SunOS4.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo sparc-sun-solaris3"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sun4*:SunOS:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- case "`/usr/bin/arch -k`" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case "$(/usr/bin/arch -k)" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Series*|S4*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- UNAME_RELEASE=`uname -v`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNAME_RELEASE=$(uname -v)
</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;'>+ # Japanese Language versions have a version number like `4.1.3-JL'.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo sparc-sun-sunos"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/')"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sun3*:SunOS:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo m68k-sun-sunos"$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sun*:*:4.2BSD:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNAME_RELEASE=$( (sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- case "`/bin/arch`" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case "$(/bin/arch)" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sun3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo m68k-sun-sunos"$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -510,8 +514,8 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dummyarg=$(echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p') &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ SYSTEM_NAME=$("$dummy" "$dummyarg") &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { echo "$SYSTEM_NAME"; exit; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo mips-mips-riscos"$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -538,11 +542,11 @@ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AViiON:dgux:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # DG/UX returns AViiON for all architectures
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- UNAME_PROCESSOR=`/usr/bin/uname -p`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNAME_PROCESSOR=$(/usr/bin/uname -p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [ "$TARGET_BINARY_INTERFACE"x = x ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ test "$TARGET_BINARY_INTERFACE"x = x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo m88k-dg-dgux"$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -566,17 +570,17 @@ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo m68k-tektronix-bsd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *:IRIX*:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo mips-sgi-irix"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/g')"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ exit ;; # Note that: echo "'$(uname -s)'" gives 'AIX '
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ i*86:AIX:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo i386-ibm-aix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ia64:AIX:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if [ -x /usr/bin/oslevel ] ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- IBM_REV=`/usr/bin/oslevel`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test -x /usr/bin/oslevel ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ IBM_REV=$(/usr/bin/oslevel)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -596,7 +600,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit(0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "$SYSTEM_NAME"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -609,15 +613,15 @@ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *:AIX:*:[4567])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ IBM_CPU_ID=$(/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ IBM_ARCH=rs6000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ IBM_ARCH=powerpc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if [ -x /usr/bin/lslpp ] ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test -x /usr/bin/lslpp ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ IBM_REV=$(/usr/bin/lslpp -Lqc bos.rte.libc |
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ awk -F: '{ print $3 }' | sed s/[0-9]*$/0/)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -645,14 +649,14 @@ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo m68k-hp-bsd4.4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 9000/[34678]??:HP-UX:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case "$UNAME_MACHINE" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 9000/31?) HP_ARCH=m68000 ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 9000/[34]??) HP_ARCH=m68k ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 9000/[678][0-9][0-9])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if [ -x /usr/bin/getconf ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test -x /usr/bin/getconf; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ sc_cpu_version=$(/usr/bin/getconf SC_CPU_VERSION 2>/dev/null)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ sc_kernel_bits=$(/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case "$sc_cpu_version" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -664,7 +668,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac ;;
</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;'>+- if [ "$HP_ARCH" = "" ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "$HP_ARCH" = ""; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set_cc_for_build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sed 's/^ //' << EOF > "$dummy.c"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -699,11 +703,11 @@ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit (0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=$("$dummy")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ test -z "$HP_ARCH" && HP_ARCH=hppa
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if [ "$HP_ARCH" = hppa2.0w ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "$HP_ARCH" = hppa2.0w
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set_cc_for_build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -727,7 +731,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ia64:HP-UX:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo ia64-hp-hpux"$HPUX_REV"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 3050*:HI-UX:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -757,7 +761,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit (0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy") &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { echo "$SYSTEM_NAME"; exit; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo unknown-hitachi-hiuxwe2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -777,7 +781,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo hppa1.0-hp-osf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ i*86:OSF1:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if [ -x /usr/sbin/sysversion ] ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test -x /usr/sbin/sysversion ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "$UNAME_MACHINE"-unknown-osf1mk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "$UNAME_MACHINE"-unknown-osf1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -826,14 +830,14 @@ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ FUJITSU_PROC=$(uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ FUJITSU_REL=$(echo "$UNAME_RELEASE" | sed -e 's/ /_/')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 5000:UNIX_System_V:4.*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ FUJITSU_REL=$(echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -846,25 +850,25 @@ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ arm:FreeBSD:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- UNAME_PROCESSOR=`uname -p`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNAME_PROCESSOR=$(uname -p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set_cc_for_build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ | grep -q __ARM_PCS_VFP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabihf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *:FreeBSD:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- UNAME_PROCESSOR=`/usr/bin/uname -p`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNAME_PROCESSOR=$(/usr/bin/uname -p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case "$UNAME_PROCESSOR" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ amd64)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ UNAME_PROCESSOR=x86_64 ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ i386)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ UNAME_PROCESSOR=i586 ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "$UNAME_PROCESSOR"-unknown-freebsd"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ i*:CYGWIN*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "$UNAME_MACHINE"-pc-cygwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -900,15 +904,15 @@ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo x86_64-pc-cygwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ prep*:SunOS:5.*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo powerpcle-unknown-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *:GNU:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # the GNU system
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "$(echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,')-unknown-$LIBC$(echo "$UNAME_RELEASE"|sed -e 's,/.*$,,')"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *:GNU/*:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # other systems with GNU libc and userland
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "$UNAME_MACHINE-unknown-$(echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]")$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')-$LIBC"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *:Minix:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "$UNAME_MACHINE"-unknown-minix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -921,7 +925,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ alpha:Linux:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case $(sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null) in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ EV5) UNAME_MACHINE=alphaev5 ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ EV56) UNAME_MACHINE=alphaev56 ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PCA56) UNAME_MACHINE=alphapca56 ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1030,7 +1034,7 @@ EOF
</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;'>+ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI')"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mips64el:Linux:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1050,7 +1054,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ parisc:Linux:*:* | hppa:Linux:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Look for CPU level
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case $(grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2) in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *) echo hppa-unknown-linux-"$LIBC" ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1090,7 +1094,17 @@ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "$UNAME_MACHINE"-dec-linux-"$LIBC"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ x86_64:Linux:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set_cc_for_build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ LIBCABI=$LIBC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "$CC_FOR_BUILD" != no_compiler_found; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ grep IS_X32 >/dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ LIBCABI="$LIBC"x32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "$UNAME_MACHINE"-pc-linux-"$LIBCABI"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xtensa*:Linux:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1130,7 +1144,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "$UNAME_MACHINE"-pc-msdosdjgpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ i*86:*:4.*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNAME_REL=$(echo "$UNAME_RELEASE" | sed 's/\/MP$//')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1139,7 +1153,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ i*86:*:5:[678]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- case `/bin/uname -X | grep "^Machine"` in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case $(/bin/uname -X | grep "^Machine") in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *486*) UNAME_MACHINE=i486 ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *Pentium) UNAME_MACHINE=i586 ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1148,10 +1162,10 @@ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ i*86:*:3.2:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test -f /usr/options/cb.name; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNAME_REL=$(sed -n 's/.*Version //p' </usr/options/cb.name)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ elif /bin/uname -X 2>/dev/null >/dev/null ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNAME_REL=$( (/bin/uname -X|grep Release|sed -e 's/.*= //'))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ && UNAME_MACHINE=i586
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1201,7 +1215,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OS_REL=''
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ test -r /etc/.relid \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1212,7 +1226,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OS_REL='.3'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ test -r /etc/.relid \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1245,7 +1259,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *:SINIX-*:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if uname -p 2>/dev/null >/dev/null ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- UNAME_MACHINE=`(uname -p) 2>/dev/null`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNAME_MACHINE=$( (uname -p) 2>/dev/null)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "$UNAME_MACHINE"-sni-sysv4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo ns32k-sni-sysv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1279,7 +1293,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo mips-sony-newsos6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if [ -d /usr/nec ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test -d /usr/nec; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo mips-nec-sysv"$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo mips-unknown-sysv"$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1327,8 +1341,11 @@ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *:Rhapsody:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ arm64:Darwin:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo aarch64-apple-darwin"$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *:Darwin:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- UNAME_PROCESSOR=`uname -p`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNAME_PROCESSOR=$(uname -p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case $UNAME_PROCESSOR in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ unknown) UNAME_PROCESSOR=powerpc ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1341,7 +1358,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set_cc_for_build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if test "$CC_FOR_BUILD" != no_compiler_found; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ grep IS_64BIT_ARCH >/dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1365,7 +1382,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- UNAME_PROCESSOR=`uname -p`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNAME_PROCESSOR=$(uname -p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$UNAME_PROCESSOR" = x86; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ UNAME_PROCESSOR=i386
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ UNAME_MACHINE=pc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1433,10 +1450,10 @@ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo mips-sei-seiux"$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *:DragonFly:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "$UNAME_MACHINE"-unknown-dragonfly"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *:*VMS:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- UNAME_MACHINE=`(uname -p) 2>/dev/null`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNAME_MACHINE=$( (uname -p) 2>/dev/null)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case "$UNAME_MACHINE" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ A*) echo alpha-dec-vms ; exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ I*) echo ia64-dec-vms ; exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1446,7 +1463,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo i386-pc-xenix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ i*86:skyos:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "$UNAME_MACHINE"-pc-skyos"$(echo "$UNAME_RELEASE" | sed -e 's/ .*$//')"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ i*86:rdos:*:*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "$UNAME_MACHINE"-pc-rdos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1504,7 +1521,7 @@ main ()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define __ARCHITECTURE__ "m68k"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int version;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ version=$( (hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (version < 4)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1596,7 +1613,7 @@ main ()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`$dummy` &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=$($dummy) &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { echo "$SYSTEM_NAME"; exit; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Apollos put the system type in the environment.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1624,6 +1641,12 @@ copies of config.guess and config.sub with the latest versions from:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++year=$(echo $timestamp | sed 's,-.*,,')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# shellcheck disable=SC2003
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "$(expr "$(date +%Y)" - "$year")" -lt 3 ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cat >&2 <<EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ If $0 has already been updated, send the following data and any
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ information you think might be pertinent to config-patches@gnu.org to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1631,26 +1654,27 @@ provide the necessary information to handle your system.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ config.guess timestamp = $timestamp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-uname -m = `(uname -m) 2>/dev/null || echo unknown`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-uname -r = `(uname -r) 2>/dev/null || echo unknown`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-uname -s = `(uname -s) 2>/dev/null || echo unknown`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-uname -v = `(uname -v) 2>/dev/null || echo unknown`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++uname -m = $( (uname -m) 2>/dev/null || echo unknown)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++uname -r = $( (uname -r) 2>/dev/null || echo unknown)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++uname -s = $( (uname -s) 2>/dev/null || echo unknown)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++uname -v = $( (uname -v) 2>/dev/null || echo unknown)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/usr/bin/uname -p = $( (/usr/bin/uname -p) 2>/dev/null)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/bin/uname -X = $( (/bin/uname -X) 2>/dev/null)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-hostinfo = `(hostinfo) 2>/dev/null`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/bin/universe = `(/bin/universe) 2>/dev/null`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/bin/arch = `(/bin/arch) 2>/dev/null`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++hostinfo = $( (hostinfo) 2>/dev/null)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/bin/universe = $( (/bin/universe) 2>/dev/null)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/usr/bin/arch -k = $( (/usr/bin/arch -k) 2>/dev/null)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/bin/arch = $( (/bin/arch) 2>/dev/null)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/usr/bin/oslevel = $( (/usr/bin/oslevel) 2>/dev/null)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/usr/convex/getsysinfo = $( (/usr/convex/getsysinfo) 2>/dev/null)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ UNAME_MACHINE = "$UNAME_MACHINE"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ UNAME_RELEASE = "$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ UNAME_SYSTEM = "$UNAME_SYSTEM"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ UNAME_VERSION = "$UNAME_VERSION"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ EOF
</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;'>+ exit 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git config.sub config.sub
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a318a468685..c874b7a9df8 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- config.sub
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ config.sub
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,8 +1,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #! /bin/sh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Configuration validation subroutine script.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Copyright 1992-2019 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Copyright 1992-2020 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-timestamp='2019-06-30'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++timestamp='2020-11-07'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # This file is free software; you can redistribute it and/or modify it
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # under the terms of the GNU General Public License as published by
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -50,7 +50,7 @@ timestamp='2019-06-30'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # It is wrong to echo any other type of specification.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-me=`echo "$0" | sed -e 's,.*/,,'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++me=$(echo "$0" | sed -e 's,.*/,,')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ usage="\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -67,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ version="\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GNU config.sub ($timestamp)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-Copyright 1992-2019 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Copyright 1992-2020 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ This is free software; see the source for copying conditions. There is NO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -124,28 +124,27 @@ case $1 in
</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;'>+ basic_machine=$field1-$field2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=$field3-$field4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=$field3-$field4
</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;'>+ # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # parts
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ maybe_os=$field2-$field3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case $maybe_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ nto-qnx* | linux-* | uclinux-uclibc* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ | storm-chaos* | os2-emx* | rtmk-nova*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=$field1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=$maybe_os
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=$maybe_os
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ android-linux)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=$field1-unknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=linux-android
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=linux-android
</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;'>+ basic_machine=$field1-$field2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=$field3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=$field3
</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;'>+@@ -154,7 +153,7 @@ case $1 in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case $field1-$field2 in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ decstation-3100)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=mips-dec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=
</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;'>+ # Second component is usually, but not always the OS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -162,7 +161,7 @@ case $1 in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Prevent following clause from handling this valid os
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sun*os*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=$field1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=$field2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=$field2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Manufacturers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -175,11 +174,11 @@ case $1 in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ | microblaze* | sim | cisco \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ | oki | wec | wrs | winbond)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=$field1-$field2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=
</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;'>+ basic_machine=$field1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=$field2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=$field2
</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;'>+@@ -191,447 +190,451 @@ case $1 in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case $field1 in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 386bsd)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=i386-pc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=bsd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=bsd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ a29khif)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=a29k-amd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=udi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=udi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ adobe68k)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68010-adobe
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=scout
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=scout
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ alliant)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=fx80-alliant
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ altos | altos3068)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68k-altos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ am29k)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=a29k-none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=bsd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=bsd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ amdahl)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=580-amdahl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=sysv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=sysv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ amiga)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68k-unknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ amigaos | amigados)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68k-unknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=amigaos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=amigaos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ amigaunix | amix)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68k-unknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=sysv4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=sysv4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ apollo68)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68k-apollo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=sysv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=sysv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ apollo68bsd)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68k-apollo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=bsd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=bsd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aros)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=i386-pc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=aros
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=aros
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aux)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68k-apple
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=aux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=aux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ balance)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=ns32k-sequent
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=dynix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=dynix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ blackfin)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=bfin-unknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=linux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=linux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cegcc)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=arm-unknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=cegcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=cegcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ convex-c1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=c1-convex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=bsd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=bsd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ convex-c2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=c2-convex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=bsd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=bsd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ convex-c32)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=c32-convex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=bsd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=bsd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ convex-c34)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=c34-convex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=bsd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=bsd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ convex-c38)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=c38-convex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=bsd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=bsd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cray)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=j90-cray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=unicos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=unicos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ crds | unos)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68k-crds
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ da30)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68k-da30
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ decstation | pmax | pmin | dec3100 | decstatn)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=mips-dec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ delta88)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m88k-motorola
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=sysv3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=sysv3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dicos)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=i686-pc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=dicos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=dicos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ djgpp)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=i586-pc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=msdosdjgpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=msdosdjgpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ebmon29k)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=a29k-amd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=ebmon
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=ebmon
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ es1800 | OSE68k | ose68k | ose | OSE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68k-ericsson
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=ose
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=ose
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gmicro)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=tron-gmicro
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=sysv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=sysv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ go32)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=i386-pc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=go32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=go32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ h8300hms)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=h8300-hitachi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=hms
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=hms
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ h8300xray)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=h8300-hitachi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=xray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=xray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ h8500hms)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=h8500-hitachi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=hms
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=hms
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ harris)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m88k-harris
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=sysv3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=sysv3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hp300 | hp300hpux)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68k-hp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=hpux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=hpux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hp300bsd)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68k-hp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=bsd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=bsd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hppaosf)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=hppa1.1-hp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=osf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=osf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hppro)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=hppa1.1-hp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=proelf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=proelf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ i386mach)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=i386-mach
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=mach
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=mach
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ isi68 | isi)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68k-isi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=sysv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=sysv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m68knommu)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68k-unknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=linux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=linux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ magnum | m3230)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=mips-mips
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=sysv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=sysv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ merlin)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=ns32k-utek
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=sysv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=sysv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mingw64)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=x86_64-pc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=mingw64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=mingw64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mingw32)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=i686-pc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=mingw32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=mingw32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mingw32ce)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=arm-unknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=mingw32ce
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=mingw32ce
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ monitor)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68k-rom68k
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=coff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=coff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ morphos)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=powerpc-unknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=morphos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=morphos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ moxiebox)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=moxie-unknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=moxiebox
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=moxiebox
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ msdos)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=i386-pc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=msdos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=msdos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ msys)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=i686-pc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=msys
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=msys
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mvs)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=i370-ibm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=mvs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=mvs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ nacl)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=le32-unknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=nacl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=nacl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ncr3000)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=i486-ncr
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=sysv4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=sysv4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ netbsd386)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=i386-pc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=netbsd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=netbsd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ netwinder)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=armv4l-rebel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=linux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=linux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ news | news700 | news800 | news900)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68k-sony
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=newsos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=newsos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ news1000)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68030-sony
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=newsos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=newsos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ necv70)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=v70-nec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=sysv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=sysv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ nh3000)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68k-harris
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=cxux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=cxux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ nh[45]000)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m88k-harris
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=cxux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=cxux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ nindy960)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=i960-intel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=nindy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=nindy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mon960)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=i960-intel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=mon960
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=mon960
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ nonstopux)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=mips-compaq
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=nonstopux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=nonstopux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ os400)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=powerpc-ibm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=os400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=os400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OSE68000 | ose68000)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68000-ericsson
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=ose
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=ose
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ os68k)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68k-none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=os68k
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=os68k
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ paragon)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=i860-intel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=osf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=osf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ parisc)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=hppa-unknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=linux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=linux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ psp)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_machine=mipsallegrexel-sony
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=psp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pw32)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=i586-unknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=pw32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=pw32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rdos | rdos64)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=x86_64-pc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=rdos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=rdos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rdos32)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=i386-pc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=rdos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=rdos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rom68k)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68k-rom68k
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=coff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=coff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sa29200)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=a29k-amd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=udi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=udi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sei)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=mips-sei
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=seiux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=seiux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sequent)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=i386-sequent
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sps7)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68k-bull
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=sysv2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=sysv2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ st2000)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68k-tandem
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ stratus)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=i860-stratus
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=sysv4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=sysv4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sun2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68000-sun
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sun2os3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68000-sun
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=sunos3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=sunos3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sun2os4)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68000-sun
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=sunos4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=sunos4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sun3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68k-sun
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sun3os3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68k-sun
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=sunos3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=sunos3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sun3os4)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68k-sun
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=sunos4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=sunos4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sun4)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=sparc-sun
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sun4os3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=sparc-sun
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=sunos3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=sunos3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sun4os4)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=sparc-sun
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=sunos4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=sunos4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sun4sol2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=sparc-sun
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=solaris2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=solaris2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sun386 | sun386i | roadrunner)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=i386-sun
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sv1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=sv1-cray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=unicos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=unicos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ symmetry)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=i386-sequent
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=dynix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=dynix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ t3e)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=alphaev5-cray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=unicos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=unicos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ t90)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=t90-cray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=unicos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=unicos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ toad1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=pdp10-xkl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=tops20
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=tops20
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tpf)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=s390x-ibm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=tpf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=tpf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ udi29k)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=a29k-amd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=udi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=udi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ultra3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=a29k-nyu
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=sym1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=sym1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ v810 | necv810)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=v810-nec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vaxv)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=vax-dec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=sysv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=sysv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vms)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=vax-dec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=vms
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=vms
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vsta)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=i386-pc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=vsta
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=vsta
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vxworks960)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=i960-wrs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=vxworks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=vxworks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vxworks68)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=m68k-wrs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=vxworks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=vxworks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vxworks29k)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=a29k-wrs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=vxworks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=vxworks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xbox)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=i686-pc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=mingw32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=mingw32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ymp)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basic_machine=ymp-cray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=unicos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=unicos
</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;'>+ basic_machine=$1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=
</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;'>+@@ -683,17 +686,17 @@ case $basic_machine in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bluegene*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=powerpc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=ibm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=cnk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=cnk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ decsystem10* | dec10*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=pdp10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=dec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=tops10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=tops10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ decsystem20* | dec20*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=pdp10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=dec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=tops20
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=tops20
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ delta | 3300 | motorola-3300 | motorola-delta \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ | 3300-motorola | delta-motorola)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -703,7 +706,7 @@ case $basic_machine in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dpx2*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=m68k
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=bull
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=sysv3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=sysv3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ encore | umax | mmax)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=ns32k
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -712,7 +715,7 @@ case $basic_machine in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ elxsi)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=elxsi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=elxsi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=${os:-bsd}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=${basic_os:-bsd}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fx2800)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=i860
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -725,7 +728,7 @@ case $basic_machine in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ h3050r* | hiux*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=hppa1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=hitachi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=hiuxwe2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=hiuxwe2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=hppa1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -766,38 +769,38 @@ case $basic_machine in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=hp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ i*86v32)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- cpu=`echo "$1" | sed -e 's/86.*/86/'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cpu=$(echo "$1" | sed -e 's/86.*/86/')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=pc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=sysv32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=sysv32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ i*86v4*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- cpu=`echo "$1" | sed -e 's/86.*/86/'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cpu=$(echo "$1" | sed -e 's/86.*/86/')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=pc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=sysv4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=sysv4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ i*86v)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- cpu=`echo "$1" | sed -e 's/86.*/86/'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cpu=$(echo "$1" | sed -e 's/86.*/86/')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=pc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=sysv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=sysv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ i*86sol2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- cpu=`echo "$1" | sed -e 's/86.*/86/'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cpu=$(echo "$1" | sed -e 's/86.*/86/')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=pc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=solaris2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=solaris2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ j90 | j90-cray)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=j90
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=cray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=${os:-unicos}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=${basic_os:-unicos}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ iris | iris4d)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=mips
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=sgi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- case $os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case $basic_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ irix*)
</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;'>+- os=irix4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=irix4
</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;'>+@@ -808,26 +811,26 @@ case $basic_machine in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=m68k
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=atari
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=mint
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=mint
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ news-3600 | risc-news)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=mips
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=sony
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=newsos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=newsos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ next | m*-next)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=m68k
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=next
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- case $os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case $basic_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ openstep*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ nextstep*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ns2*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=nextstep2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=nextstep2
</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;'>+- os=nextstep3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=nextstep3
</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;'>+@@ -838,12 +841,12 @@ case $basic_machine in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ op50n-* | op60c-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=hppa1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=oki
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=proelf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=proelf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pa-hitachi)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=hppa1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=hitachi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=hiuxwe2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=hiuxwe2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pbd)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=sparc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -880,12 +883,12 @@ case $basic_machine in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sde)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=mipsisa32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=sde
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=${os:-elf}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=${basic_os:-elf}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ simso-wrs)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=sparclite
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=wrs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=vxworks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=vxworks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tower | tower-32)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=m68k
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -902,7 +905,7 @@ case $basic_machine in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ w89k-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=hppa1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=winbond
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=proelf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=proelf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ none)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -914,7 +917,7 @@ case $basic_machine in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ leon-*|leon[3-9]-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=sparc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- vendor=`echo "$basic_machine" | sed 's/-.*//'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ vendor=$(echo "$basic_machine" | sed 's/-.*//')
</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;'>+@@ -955,11 +958,11 @@ case $cpu-$vendor in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # some cases the only manufacturer, in others, it is the most popular.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ craynv-unknown)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=cray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=${os:-unicosmp}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=${basic_os:-unicosmp}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ c90-unknown | c90-cray)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=cray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=${os:-unicos}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=${Basic_os:-unicos}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fx80-unknown)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=alliant
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1003,7 +1006,7 @@ case $cpu-$vendor in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dpx20-unknown | dpx20-bull)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=rs6000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=bull
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=${os:-bosx}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=${basic_os:-bosx}
</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;'>+ # Here we normalize CPU types irrespective of the vendor
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1012,7 +1015,7 @@ case $cpu-$vendor in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ blackfin-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=bfin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=linux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=linux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ c54x-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=tic54x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1025,7 +1028,7 @@ case $cpu-$vendor in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ e500v[12]-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=powerpc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=$os"spe"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=${basic_os}"spe"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mips3*-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=mips64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1035,7 +1038,7 @@ case $cpu-$vendor in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m68knommu-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=m68k
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=linux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=linux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=s12z
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1045,7 +1048,7 @@ case $cpu-$vendor in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ parisc-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=hppa
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=linux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=linux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=i586
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1081,7 +1084,7 @@ case $cpu-$vendor in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=mipsisa64sb1el
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sh5e[lb]-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cpu=$(echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ spur-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=spur
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1099,13 +1102,16 @@ case $cpu-$vendor in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=x86_64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xscale-* | xscalee[bl]-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cpu=$(echo "$cpu" | sed 's/^xscale/arm/')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ arm64-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cpu=aarch64
</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;'>+ # Recognize the canonical CPU Types that limit and/or modify the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # company names they are paired with.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cr16-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=${os:-elf}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=${basic_os:-elf}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ crisv32-* | etraxfs*-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=crisv32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1116,7 +1122,7 @@ case $cpu-$vendor in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=axis
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ crx-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=${os:-elf}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=${basic_os:-elf}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ neo-tandem)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=neo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1138,16 +1144,12 @@ case $cpu-$vendor in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu=nsx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=tandem
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- s390-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- cpu=s390
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- vendor=ibm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- s390x-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- cpu=s390x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- vendor=ibm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ mipsallegrexel-sony)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cpu=mipsallegrexel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ vendor=sony
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tile*-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=${os:-linux-gnu}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ basic_os=${basic_os:-linux-gnu}
</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;'>+@@ -1164,7 +1166,7 @@ case $cpu-$vendor in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ | am33_2.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ | amdgcn \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ | arc | arceb \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | arm | arm[lb]e | arme[lb] | armv* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | arm | arm[lb]e | arme[lb] | armv* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ | avr | avr32 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ | asmjs \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ | ba \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1229,6 +1231,7 @@ case $cpu-$vendor in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ | pyramid \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ | riscv | riscv32 | riscv64 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ | rl78 | romp | rs6000 | rx \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | s390 | s390x \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ | score \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ | sh | shl \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1275,8 +1278,47 @@ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Decode manufacturer-specific aliases for certain operating systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-if [ x$os != x ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test x$basic_os != x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# First recognize some ad-hoc caes, or perhaps split kernel-os, or else just
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# set os.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++case $basic_os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gnu/linux*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ kernel=linux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ os=$(echo $basic_os | sed -e 's|gnu/linux|gnu|')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ os2-emx)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ kernel=os2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ os=$(echo $basic_os | sed -e 's|os2-emx|emx|')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ nto-qnx*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ kernel=nto
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ os=$(echo $basic_os | sed -e 's|nto-qnx|qnx|')
</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;'>++ # shellcheck disable=SC2162
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ IFS="-" read kernel os <<EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$basic_os
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Default OS when just kernel was specified
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ nto*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ kernel=nto
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ os=$(echo $basic_os | sed -e 's|nto|qnx|')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ linux*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ kernel=linux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ os=$(echo $basic_os | sed -e 's|linux|gnu|')
</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;'>++ kernel=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ os=$basic_os
</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;'>++# Now, normalize the OS (knowing we just have one component, it's not a kernel,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# etc.)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case $os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # First match some system type aliases that might get confused
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # with valid system types.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1288,7 +1330,7 @@ case $os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ os=cnk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ solaris1 | solaris1.*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=`echo $os | sed -e 's|solaris1|sunos4|'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ os=$(echo $os | sed -e 's|solaris1|sunos4|')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ solaris)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ os=solaris2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1296,9 +1338,6 @@ case $os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ unixware*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ os=sysv4.2uw
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- gnu/linux*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # es1800 is here to avoid being matched by es* (a different OS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ es1800*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ os=ose
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1320,12 +1359,9 @@ case $os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ os=sco3.2v4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sco3.2.[4-9]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ os=$(echo $os | sed -e 's/sco3.2./sco3.2v/')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- sco3.2v[4-9]* | sco5v6*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # Don't forget version if it is 3.2v4 or newer.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- scout)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ sco*v* | scout)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Don't match below
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sco*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1334,79 +1370,26 @@ case $os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ psos*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ os=psos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # Now accept the basic system types.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # The portable systems comes first.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # Each alternative MUST end in a * to match a version number.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # sysv* is not here because it comes later, after sysvr4.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | *vms* | esix* | aix* | cnk* | sunos | sunos[34]*\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | sym* | kopensolaris* | plan9* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | aos* | aros* | cloudabi* | sortix* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | knetbsd* | mirbsd* | netbsd* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | chorusrdb* | cegcc* | glidix* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | linux-newlib* | linux-musl* | linux-uclibc* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | uxpv* | beos* | mpeix* | udk* | moxiebox* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | interix* | uwin* | mks* | rhapsody* | darwin* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | openstep* | oskit* | conix* | pw32* | nonstopux* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | storm-chaos* | tops10* | tenex* | tops20* | its* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | os2* | vos* | palmos* | uclinux* | nucleus* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | morphos* | superux* | rtmk* | windiss* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | skyos* | haiku* | rdos* | toppers* | drops* | es* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | nsk* | powerunix)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # Remember, each alternative MUST END IN *, to match a version number.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ qnx*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- case $cpu in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- x86 | i*86)
</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;'>+- os=nto-$os
</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=qnx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hiux*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ os=hiuxwe2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- nto-qnx*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- nto*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=`echo $os | sed -e 's|nto|nto-qnx|'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- sim | xray | os68k* | v88r* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | windows* | osx | abug | netware* | os9* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- | macos* | mpw* | magic* | mmixware* | mon960* | lnews*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- linux-dietlibc)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=linux-dietlibc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- linux*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=`echo $os | sed -e 's|linux|linux-gnu|'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lynx*178)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ os=lynxos178
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lynx*5)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ os=lynxos5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ lynxos*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # don't get caught up in next wildcard
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lynx*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ os=lynxos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- mac*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=`echo "$os" | sed -e 's|mac|macos|'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ mac[0-9]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ os=$(echo "$os" | sed -e 's|mac|macos|')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ opened*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ os=openedition
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1415,10 +1398,10 @@ case $os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ os=os400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sunos5*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ os=$(echo "$os" | sed -e 's|sunos5|solaris2|')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sunos6*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ os=$(echo "$os" | sed -e 's|sunos6|solaris3|')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ wince*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ os=wince
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1452,7 +1435,7 @@ case $os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Preserve the version number of sinix5.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sinix5.*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=`echo $os | sed -e 's|sinix|sysv|'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ os=$(echo $os | sed -e 's|sinix|sysv|')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sinix*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ os=sysv4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1475,18 +1458,12 @@ case $os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sysvr4)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ os=sysv4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # This must come after sysvr4.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- sysv*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ose*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ os=ose
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ os=mint
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- zvmoe)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=zvmoe
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dicos*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ os=dicos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1503,19 +1480,11 @@ case $os in
</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;'>+- nacl*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ios)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- none)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- *-eabi)
</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;'>+- echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- exit 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # No normalization, but not necessarily accepted, that comes below.
</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;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Here we handle the default operating systems that come with various machines.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1528,6 +1497,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # will signal an error saying that MANUFACTURER isn't an operating
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # system, and we'll never get to this point.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++kernel=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case $cpu-$vendor in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ score-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ os=elf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1539,7 +1509,8 @@ case $cpu-$vendor in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ os=riscix1.2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ arm*-rebel)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os=linux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ kernel=linux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ os=gnu
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ arm*-semi)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ os=aout
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1705,84 +1676,173 @@ case $cpu-$vendor in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ os=none
</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;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Now, validate our (potentially fixed-up) OS.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++case $os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Sometimes we do "kernel-abi", so those need to count as OSes.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ musl* | newlib* | uclibc*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Likewise for "kernel-libc"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ eabi | eabihf | gnueabi | gnueabihf)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Now accept the basic system types.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # The portable systems comes first.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Each alternative MUST end in a * to match a version number.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | hiux* | abug | nacl* | netware* | windows* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | os9* | macos* | osx* | ios* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | mpw* | magic* | mmixware* | mon960* | lnews* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | aos* | aros* | cloudabi* | sortix* | twizzler* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | mirbsd* | netbsd* | dicos* | openedition* | ose* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | udi* | lites* | ieee* | go32* | aux* | hcos* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | chorusrdb* | cegcc* | glidix* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | midipix* | mingw32* | mingw64* | mint* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | uxpv* | beos* | mpeix* | udk* | moxiebox* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | interix* | uwin* | mks* | rhapsody* | darwin* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | openstep* | oskit* | conix* | pw32* | nonstopux* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | storm-chaos* | tops10* | tenex* | tops20* | its* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | os2* | vos* | palmos* | uclinux* | nucleus* | morphos* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | scout* | superux* | sysv* | rtmk* | tpf* | windiss* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | skyos* | haiku* | rdos* | toppers* | drops* | es* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # This one is extra strict with allowed versions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Don't forget version if it is 3.2v4 or newer.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ none)
</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;'>++ echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ exit 1
</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;'>++# As a final step for OS-related things, validate the OS-kernel combination
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# (given a valid OS), if there is a kernel.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++case $kernel-$os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* | linux-musl* | linux-uclibc* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ uclinux-uclibc* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -dietlibc* | -newlib* | -musl* | -uclibc* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # These are just libc implementations, not actual OSes, and thus
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # require a kernel.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ exit 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ kfreebsd*-gnu* | kopensolaris*-gnu*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ nto-qnx*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ os2-emx)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-eabi* | *-gnueabi*)
</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;'>++ # Blank kernel with real OS is always fine.
</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;'>++ echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ exit 1
</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;'>+ # Here we handle the case where we know the os, and the CPU type, but not the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # manufacturer. We pick the logical manufacturer.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case $vendor in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ unknown)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- case $os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- riscix*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case $cpu-$os in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-riscix*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=acorn
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- sunos*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-sunos*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=sun
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- cnk*|-aix*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-cnk* | *-aix*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=ibm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- beos*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-beos*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=be
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- hpux*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-hpux*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=hp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- mpeix*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-mpeix*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=hp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- hiux*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-hiux*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=hitachi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- unos*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-unos*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=crds
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- dgux*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-dgux*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=dg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- luna*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-luna*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=omron
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- genix*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-genix*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=ns
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- clix*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-clix*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=intergraph
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- mvs* | opened*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-mvs* | *-opened*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ vendor=ibm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-os400*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=ibm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- os400*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ s390-* | s390x-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=ibm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ptx*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-ptx*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=sequent
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- tpf*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-tpf*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=ibm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- vxsim* | vxworks* | windiss*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-vxsim* | *-vxworks* | *-windiss*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=wrs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- aux*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-aux*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=apple
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- hms*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-hms*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=hitachi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- mpw* | macos*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-mpw* | *-macos*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=apple
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=atari
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- vos*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-vos*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ vendor=stratus
</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;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-echo "$cpu-$vendor-$os"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++echo "$cpu-$vendor-${kernel:+$kernel-}$os"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Local variables:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0022-aarch64-Mark-rotate-immediates-with-as-per-DDI0487iF.patch b/lang/gcc10-bootstrap/files/0022-aarch64-Mark-rotate-immediates-with-as-per-DDI0487iF.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..d980c12e2df
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0022-aarch64-Mark-rotate-immediates-with-as-per-DDI0487iF.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,47 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From b3a7f846ef69f0d54ee937a6eaead1a579a927a1 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Tue, 25 Aug 2020 21:20:12 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] aarch64 : Mark rotate immediates with '#' as per DDI0487iFc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The armv8_arm manual [C6.2.226, ROR (immediate)] uses a # in front
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+of the immediate rotation quantity.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Although, it seems, GAS is able to infer the # (or is leninent about
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+its absence) assemblers based on the LLVM back end expect it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/aarch64/aarch64.md (<optab>_rol<mode>3): Add a '#'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mark in front of the immediate quantity.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (<optab>_rolsi3_uxtw): Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 5051c12173713c81921ed133ef5a218e46ab11d1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64.md | 4 ++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 2 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/aarch64.md gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index bb4138e0bfa..e5bc78c38a3 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -4356,7 +4356,7 @@ (define_insn "*<optab>_rol<mode>3"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (match_operand:QI 2 "aarch64_shift_imm_<mode>" "n"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (match_operand:GPI 3 "register_operand" "r")))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "<logical>\\t%<w>0, %<w>3, %<w>1, ror (<sizen> - %2)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "<logical>\\t%<w>0, %<w>3, %<w>1, ror #(<sizen> - %2)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set_attr "type" "logic_shift_imm")]
</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;'>+@@ -4381,7 +4381,7 @@ (define_insn "*<optab>_rolsi3_uxtw"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (match_operand:QI 2 "aarch64_shift_imm_si" "n"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (match_operand:SI 3 "register_operand" "r"))))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "<logical>\\t%w0, %w3, %w1, ror (32 - %2)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "<logical>\\t%w0, %w3, %w1, ror #(32 - %2)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set_attr "type" "logic_shift_imm")]
</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;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0023-Darwin-Make-trampoline-templates-linker-visible.patch b/lang/gcc10-bootstrap/files/0023-Darwin-Make-trampoline-templates-linker-visible.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..bf760ac93ae
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0023-Darwin-Make-trampoline-templates-linker-visible.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,38 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From b171e096b5506694744ec16155e053c03fb16456 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Wed, 2 Sep 2020 20:33:00 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin : Make trampoline templates linker-visible.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+For Arm64, the alignment of the LTRAMPn symbols matters.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Actually, the LTRAMPn symbols _are_ 8 byte aligned, but because
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+they are Local, the linker doesn't know that this guarantee can be met.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+It assumes that they are not necessarily more aligned than the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+containing section (ld64 atoms strike again).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The fix is to publish the trampoline symbol for the linker to access
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+directly - it can then see that the atom is suitably aligned.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fixes issue #11.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 717057366d780cc3f54d5621e78334a3e63789d0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/darwin.h | 2 ++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 2 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/darwin.h gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index e360e771c6d..076ff9f29eb 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -895,6 +895,8 @@ extern GTY(()) section * darwin_sections[NUM_DARWIN_SECTIONS];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sprintf (LABEL, "*%s%ld", "lubsan_type", (long)(NUM));\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else if (strcmp ("LASAN", PREFIX) == 0) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sprintf (LABEL, "*%s%ld", "lASAN", (long)(NUM));\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else if (strcmp ("LTRAMP", PREFIX) == 0) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ sprintf (LABEL, "*%s%ld", "lTRAMP", (long)(NUM));\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sprintf (LABEL, "*%s%ld", PREFIX, (long)(NUM)); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } while (0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0024-aarch64-Cast-print-value-per-format-description.patch b/lang/gcc10-bootstrap/files/0024-aarch64-Cast-print-value-per-format-description.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..3f8ab7bdc65
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0024-aarch64-Cast-print-value-per-format-description.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,28 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 6d7418c3ca7cef4e278308e70cfbebfa2c2b88e2 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iainsandoe@28116.local>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 30 Aug 2020 00:30:50 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] aarch64 : Cast print value per format description.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fixes a build fail.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 38ac493db36eac0e16a80a0cf30ddb431e7f80c7)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/falkor-tag-collision-avoidance.c | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/falkor-tag-collision-avoidance.c gcc/config/aarch64/falkor-tag-collision-avoidance.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a96a3320e8f..a119e2b8f25 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/falkor-tag-collision-avoidance.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/falkor-tag-collision-avoidance.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -740,7 +740,7 @@ dump_insn_list (const rtx &t, const insn_info_list_t &insn_info,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void *unused ATTRIBUTE_UNUSED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc_assert (dump_file);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- fprintf (dump_file, "Tag 0x%lx ::\n", INTVAL (t));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fprintf (dump_file, "Tag 0x%lx ::\n", (long unsigned int)INTVAL (t));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for (unsigned i = 0; i < insn_info.length (); i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dump_insn_slim (dump_file, insn_info[i]->insn);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0025-Darwin-Arm64-Truncate-char-immediates-in-vector-init.patch b/lang/gcc10-bootstrap/files/0025-Darwin-Arm64-Truncate-char-immediates-in-vector-init.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..e7df23db32c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0025-Darwin-Arm64-Truncate-char-immediates-in-vector-init.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,77 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From d732b46b7ab081d5585e929cba62147be02577b3 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Wed, 2 Sep 2020 18:05:24 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, Arm64 : Truncate char immediates in vector
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ initializers to mode size.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Darwin has signed chars, so that 8b immediates > 127 appear to be negative
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+which produce large positive (out of assembler range) values when inspected
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+by UINTVAL (). This patch truncates the values to the bitrange of the mode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+of the input.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fixes github issue 15.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 9060dd0ac879a3bf2f2950ac7fa41b65072bc219)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64.c | 20 +++++++++++++++-----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 15 insertions(+), 5 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 9b400c49ac6..eea0ae32332 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -20091,6 +20091,16 @@ aarch64_output_simd_mov_immediate (rtx const_vector, unsigned width,
</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;'>+ gcc_assert (CONST_INT_P (info.u.mov.value));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ unsigned HOST_WIDE_INT value = UINTVAL (info.u.mov.value);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* We have signed chars which can result in a sign-extended 8bit value
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ which is then emitted as an unsigned hex value, and the LLVM back end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ assembler rejects that as being too big. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (TARGET_MACHO && (known_eq (GET_MODE_BITSIZE (info.elt_mode), 8)))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ unsigned HOST_WIDE_INT mask = (1U << GET_MODE_BITSIZE (info.elt_mode))-1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ value &= mask;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (which == AARCH64_CHECK_MOV)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -20099,16 +20109,16 @@ aarch64_output_simd_mov_immediate (rtx const_vector, unsigned width,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ? "msl" : "lsl");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (lane_count == 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ snprintf (templ, sizeof (templ), "%s\t%%d0, " HOST_WIDE_INT_PRINT_HEX,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- mnemonic, UINTVAL (info.u.mov.value));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ mnemonic, value);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else if (info.u.mov.shift)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ snprintf (templ, sizeof (templ), "%s\t%%0.%d%c, "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ HOST_WIDE_INT_PRINT_HEX ", %s %d", mnemonic, lane_count,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- element_char, UINTVAL (info.u.mov.value), shift_op,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ element_char, value, shift_op,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ info.u.mov.shift);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ snprintf (templ, sizeof (templ), "%s\t%%0.%d%c, "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ HOST_WIDE_INT_PRINT_HEX, mnemonic, lane_count,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- element_char, UINTVAL (info.u.mov.value));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ element_char, value);
</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;'>+@@ -20117,12 +20127,12 @@ aarch64_output_simd_mov_immediate (rtx const_vector, unsigned width,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (info.u.mov.shift)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ snprintf (templ, sizeof (templ), "%s\t%%0.%d%c, #"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ HOST_WIDE_INT_PRINT_DEC ", %s #%d", mnemonic, lane_count,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- element_char, UINTVAL (info.u.mov.value), "lsl",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ element_char, value, "lsl",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ info.u.mov.shift);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ snprintf (templ, sizeof (templ), "%s\t%%0.%d%c, #"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ HOST_WIDE_INT_PRINT_DEC, mnemonic, lane_count,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- element_char, UINTVAL (info.u.mov.value));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ element_char, value);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return templ;
</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;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0026-Darwin-Arm64-Proof-of-principle-hack-Fortran-to-use-.patch b/lang/gcc10-bootstrap/files/0026-Darwin-Arm64-Proof-of-principle-hack-Fortran-to-use-.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..11caaff59f7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0026-Darwin-Arm64-Proof-of-principle-hack-Fortran-to-use-.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,141 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 3bc0f4d8e38d4d0e42270781e57de8aa01bb9729 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri, 16 Oct 2020 15:26:40 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, Arm64 : Proof-of-principle hack Fortran to use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ descriptors for nested.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This addresses Issue #32 by adjusting the nested function hack to use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bit 1.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+NOTE: that Arm reserve both bits 0 and 1 for furture use, so that this
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+is still a hack.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit eb558326dace69781e48bedafe16fd79aa27ca8b)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 3422978e480e66623a25e757634d20da0e132c0b)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/c/c-lang.c | 3 +++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64.c | 4 ++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/i386/darwin.h | 10 ++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/fortran/f95-lang.c | 2 ++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/fortran/trans-expr.c | 7 +++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/fortran/trans.c | 11 +++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 6 files changed, 35 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/c/c-lang.c gcc/c/c-lang.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 5d52c42391c..21d6b9b5ebf 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/c/c-lang.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/c/c-lang.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -38,6 +38,9 @@ enum c_language_kind c_language = clk_c;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef LANG_HOOKS_INIT_TS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define LANG_HOOKS_INIT_TS c_common_init_ts
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS true
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if CHECKING_P
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef LANG_HOOKS_RUN_LANG_SELFTESTS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define LANG_HOOKS_RUN_LANG_SELFTESTS selftest::run_c_tests
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index eea0ae32332..52aa971ffe6 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -23980,9 +23980,9 @@ aarch64_libgcc_floating_mode_supported_p
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_DWARF_POLY_INDETERMINATE_VALUE \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64_dwarf_poly_indeterminate_value
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* The architecture reserves bits 0 and 1 so use bit 2 for descriptors. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* The architecture reserves bits 0 and 1 but hack 1 for now. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef TARGET_CUSTOM_FUNCTION_DESCRIPTORS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define TARGET_CUSTOM_FUNCTION_DESCRIPTORS 4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define TARGET_CUSTOM_FUNCTION_DESCRIPTORS 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef TARGET_HARD_REGNO_NREGS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_HARD_REGNO_NREGS aarch64_hard_regno_nregs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/i386/darwin.h gcc/config/i386/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 8458342c099..e46067d3577 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/i386/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/i386/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -323,3 +323,13 @@ along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ = darwin_init_cfstring_builtins ((unsigned) (IX86_BUILTIN_CFSTRING)); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin_rename_builtins (); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } while(0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Define the shadow offset for asan. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef SUBTARGET_SHADOW_OFFSET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SUBTARGET_SHADOW_OFFSET \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (TARGET_LP64 ? HOST_WIDE_INT_1 << 44 : HOST_WIDE_INT_1 << 29)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Make sure that any code we generate is compatible with the Fortran/Ada
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ function descriptor impl. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef FUNCTION_BOUNDARY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define FUNCTION_BOUNDARY 16
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/fortran/f95-lang.c gcc/fortran/f95-lang.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 44ebe3e294d..93553011f55 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/fortran/f95-lang.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/fortran/f95-lang.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -169,6 +169,8 @@ static const struct attribute_spec gfc_attribute_table[] =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define LANG_HOOKS_BUILTIN_FUNCTION gfc_builtin_function
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define LANG_HOOKS_GET_ARRAY_DESCR_INFO gfc_get_array_descr_info
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define LANG_HOOKS_ATTRIBUTE_TABLE gfc_attribute_table
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS true
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/fortran/trans-expr.c gcc/fortran/trans-expr.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index c2321a9ff5f..3e9d2b7729f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/fortran/trans-expr.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/fortran/trans-expr.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7099,6 +7099,8 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ arglist = retargs;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Generate the actual call. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ bool is_proc_ptr_comp = gfc_is_proc_ptr_comp (expr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (base_object == NULL_TREE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ conv_function_val (se, sym, expr, args);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7124,6 +7126,11 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fntype = TREE_TYPE (TREE_TYPE (se->expr));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ se->expr = build_call_vec (TREE_TYPE (fntype), se->expr, arglist);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tree ff = CALL_EXPR_FN (se->expr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (ff && INDIRECT_REF_P (ff))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ff = TREE_OPERAND (ff, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (is_proc_ptr_comp || !ff || VAR_P (ff) || TREE_CODE (ff) == PARM_DECL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ CALL_EXPR_BY_DESCRIPTOR (se->expr) = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Allocatable scalar function results must be freed and nullified
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ after use. This necessitates the creation of a temporary to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/fortran/trans.c gcc/fortran/trans.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 4c197a0fbc1..065421ed640 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/fortran/trans.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/fortran/trans.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -288,6 +288,14 @@ gfc_build_addr_expr (tree type, tree t)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ natural_type = build_pointer_type (base_type);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* If this is a nested function that uses the static chain, or if
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ optimization is disabled (a static chain will be added automatically)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ then call by descriptor. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ bool fn_with_static_chain = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (TREE_CODE (t) == FUNCTION_DECL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ && (DECL_STATIC_CHAIN (t) || (!optimize && decl_function_context (t))))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fn_with_static_chain = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (TREE_CODE (t) == INDIRECT_REF)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (!type)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -306,6 +314,9 @@ gfc_build_addr_expr (tree type, tree t)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (type && natural_type != type)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ t = convert (type, t);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (fn_with_static_chain)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ FUNC_ADDR_BY_DESCRIPTOR (t) = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return t;
</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;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0027-Darwin-Arm64-Top-level-boiler-plate-changes.patch b/lang/gcc10-bootstrap/files/0027-Darwin-Arm64-Top-level-boiler-plate-changes.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..5a5abc98d18
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0027-Darwin-Arm64-Top-level-boiler-plate-changes.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,61 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From b4f5f6b753c4ea6917c6488c9d90ccc473e4067c Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Thu, 30 Jul 2020 19:00:55 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, Arm64 : Top level boiler-plate changes.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This just adds the target to the top level configure. NOTE that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+we allow arm64 and aarch64 here.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit dac80a7c4b1f6919fc7dbd876b336da2ec2957d9)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure | 4 +++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.ac | 4 +++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 6 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git configure configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a9b41249686..9367a6db04b 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3740,7 +3740,7 @@ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case "${target}" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *-*-chorusos)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- aarch64-*-darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ aarch64-*-darwin* | arm64*-*-darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ noconfigdirs="$noconfigdirs ld gas gdb gprof"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ noconfigdirs="$noconfigdirs sim target-rda"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -4085,6 +4085,8 @@ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hppa*-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ host_makefile_frag="config/mh-pa"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ aarch64-*-darwin* | arm64*-*-darwin*)
</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;'>+ host_makefile_frag="config/mh-darwin"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git configure.ac configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 38b61964f0f..079259b5365 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1007,7 +1007,7 @@ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case "${target}" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *-*-chorusos)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- aarch64-*-darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ aarch64-*-darwin* | arm64*-*-darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ noconfigdirs="$noconfigdirs ld gas gdb gprof"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ noconfigdirs="$noconfigdirs sim target-rda"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1333,6 +1333,8 @@ case "${host}" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hppa*-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ host_makefile_frag="config/mh-pa"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ aarch64-*-darwin* | arm64*-*-darwin*)
</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;'>+ host_makefile_frag="config/mh-darwin"
</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;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0028-Darwin-Arm64-Base-build-changes-to-Darwin-common-cod.patch b/lang/gcc10-bootstrap/files/0028-Darwin-Arm64-Base-build-changes-to-Darwin-common-cod.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..79ddc518116
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0028-Darwin-Arm64-Base-build-changes-to-Darwin-common-cod.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,192 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 1c5cd3129495338856c3978540cfb30bcb6f6a23 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 3 Aug 2020 22:46:40 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, Arm64 : Base build changes to Darwin common code.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+It seems that the arm64 port will not make use of traditional mach-o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pic but instead use a GOT - as such, the target-dependent parts of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+darwin.c are made NOP for this. We still expect to apply other Mach-O
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+constraints.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Most of the change is about the support for giving the user an error
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+message when they try to invoke the compiler with multiple -arch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+flags.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+There is no provision in the initial port to handle the arm64_32 variant.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This is (understood to be) only used in watchOS which we are not
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+supporting initially.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ No machopic indirections for Arm64 personality/LSDA entries.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+As for x86-64 (64bit code), the personality and LSDA .cfi_xxx entries
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+do not require an indirection in the compiler code.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Accept arm64 in arch flags, for aarch64 compilers.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+We were checking for this and complaining if it was present for an
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+X86 or PPC compiler, but we also need to accept (and ignore it) for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+an aarch64 / Arm64 compiler.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 03f7e422c3dfc7b2f286fdb644f572999d991def)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/darwin-driver.c | 24 ++++++++++++++++++++++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/darwin.c | 11 ++++++++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/darwin.h | 1 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 3 files changed, 33 insertions(+), 3 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/darwin-driver.c gcc/config/darwin-driver.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6ceccba1e98..57acbefeb41 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/darwin-driver.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/darwin-driver.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -277,10 +277,13 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool seenX86_64 = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool seenPPC = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool seenPPC64 = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if !DARWIN_ARM64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ bool seenArm64 = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool seenM32 = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool seenM64 = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool appendM32 = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool appendM64 = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const char *vers_string = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool seen_version_min = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool seen_sysroot_p = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -306,6 +309,12 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ seenPPC = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else if (!strcmp ((*decoded_options)[i].arg, "ppc64"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ seenPPC64 = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else if (!strcmp ((*decoded_options)[i].arg, "arm64"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if !DARWIN_ARM64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ seenArm64 = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ; /* We accept the option, but don't need to act on it. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ error ("this compiler does not support %s",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (*decoded_options)[i].arg);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -319,7 +328,7 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --i;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --*decoded_options_count;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if !DARWIN_ARM64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case OPT_m32:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ seenM32 = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -327,7 +336,7 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case OPT_m64:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ seenM64 = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case OPT_filelist:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case OPT_framework:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ++*decoded_options_count;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -394,6 +403,8 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if DARWIN_X86
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (seenPPC || seenPPC64)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ warning (0, "this compiler does not support PowerPC (arch flags ignored)");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else if (seenArm64)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ warning (0, "this compiler does not support Arm64 (arch flags ignored)");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (seenX86)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (seenX86_64 || seenM64)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -413,6 +424,8 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #elif DARWIN_PPC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (seenX86 || seenX86_64)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ warning (0, "this compiler does not support X86 (arch flags ignored)");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else if (seenArm64)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ warning (0, "this compiler does not support Arm64 (arch flags ignored)");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (seenPPC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (seenPPC64 || seenM64)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -429,8 +442,14 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else if (! seenM64) /* Add -m64 if the User didn't. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ appendM64 = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#elif DARWIN_ARM64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (seenPPC || seenPPC64)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ warning (0, "this compiler does not support PowerPC (arch flags ignored)");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (seenX86 || seenX86_64)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ warning (0, "this compiler does not support X86 (arch flags ignored)");
</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;'>++#if !DARWIN_ARM64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (appendM32 || appendM64)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ++*decoded_options_count;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -440,6 +459,7 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ generate_option (appendM32 ? OPT_m32 : OPT_m64, NULL, 1, CL_DRIVER,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ &(*decoded_options)[*decoded_options_count - 1]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</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;'>+ if (! seen_sysroot_p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/darwin.c gcc/config/darwin.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 511d4897306..bdf1588fc0f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/darwin.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/darwin.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -115,7 +115,7 @@ static bool ld_init_term_start_labels = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ section * darwin_sections[NUM_DARWIN_SECTIONS];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* While we transition to using in-tests instead of ifdef'd code. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if !HAVE_lo_sum
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if !HAVE_lo_sum || DARWIN_ARM64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define gen_macho_high(m,a,b) (a)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define gen_macho_low(m,a,b,c) (a)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1055,6 +1055,7 @@ machopic_legitimize_pic_address (rtx orig, machine_mode mode, rtx reg)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return pic_ref;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if !DARWIN_ARM64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Callbacks to output the stub or non-lazy pointers.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Each works on the item in *SLOT,if it has been used.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DATA is the FILE* for assembly output.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1210,6 +1211,7 @@ machopic_finish (FILE *asm_out_file)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ machopic_indirections->traverse_noresize
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <FILE *, machopic_output_indirection> (asm_out_file);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</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;'>+ int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ machopic_operand_p (rtx op)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2242,6 +2244,8 @@ darwin_emit_except_table_label (FILE *file)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rtx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin_make_eh_symbol_indirect (rtx orig, bool ARG_UNUSED (pubvis))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (DARWIN_ARM64)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return orig;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (DARWIN_PPC == 0 && TARGET_64BIT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return orig;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3053,7 +3057,12 @@ darwin_file_end (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fprintf (asm_out_file, "\t.long\t0\n\t.long\t%u\n", flags);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if !DARWIN_ARM64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ machopic_finish (asm_out_file);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gcc_checking_assert (!machopic_indirections);
</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;'>+ if (flag_apple_kext)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* These sections are only used for kernel code. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/darwin.h gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 076ff9f29eb..c63f2d79958 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -42,6 +42,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define DARWIN_X86 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define DARWIN_PPC 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define DARWIN_ARM64 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Suppress g++ attempt to link in the math library automatically. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define MATH_LIBRARY ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0029-Darwin-Arm64-Initial-definitions-for-the-port.patch b/lang/gcc10-bootstrap/files/0029-Darwin-Arm64-Initial-definitions-for-the-port.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..b6ed8b27f07
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0029-Darwin-Arm64-Initial-definitions-for-the-port.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,936 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 7870a6ae2b4fab00b2f902d5111e877cfb29483e Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 9 Aug 2020 23:04:15 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, Arm64 : Initial definitions for the port.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This is enough to make a buildable cross-compiler on x86_64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Darwin and compile trivial codes. Although the link phase might
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+not succeed - one can link objects manually and get an exe
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+that works.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+There's an initial implementation of the rule changes for darwinpcs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+There's an initial (pretty hacky) set of changes to deal with the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-fix assembly notation for Mach-O relocs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+There are a few places where ELF was assumed, and we need to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+prevent incompatible output for Mach-O (probably there are other
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ways to do this).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Pick up atomic builtins from the libgcc.a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+CHECKME: should these be exported from the shared lib? (at
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+present, that doesn't seem to be ideal). Look at what's done for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the clang toolchain.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ long double is DF not TF :(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+We will need to figure out what to do about supporting XXX*16 a some point.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Fix ptrdiff type.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This was wrong (the size needs to track the 64-bitness and was failing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+to do so.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Add in driver sef-specs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Ensure that we issue the Darwin driver self specs and set the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+mabi and little-endian flags. clang accepts -mabi=darwinpcs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+so we allow that (but it means the same as lp64 at present since
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the target is determined at configuration time).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Fix an other build error for Darwin.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Since we don't emit ELF function decorations this means that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+some of the variables are unused.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Initial implementation for EH without .cfi_xxxx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+While we can (most likely) make the .cfi_ codegen work, there are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+comments in the Ada code that suggest the capabilities of the unwinder
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+are somewhat restricted. At least this option allows for the case of using
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libgcc_eh when an exe is self-contained.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Just whitespace fixes NFC.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ We don't yet support TF, so reject 'q' suffix.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The floating point literal suffix 'q' is specifically stated to be used
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+for _float128, which we don't yet support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Connect up the subtarget builtins i.e. __builtin_cfstring.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The idea of OS-specific subtarget builtins doesn't fit too well with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the general organisation of the aarch64 ones.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+What this does is to add it into the "GENERAL" class (but the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+darwin-specific code has no idea that the builtin code number has
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subfields).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Build fix for subtarget builtins.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+One either needs to define SUBTARGET_INIT_BUILTINS to empty
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+or conditionalize its use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Connect up the sub-target attribute table.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Darwin has some Mach-O / OS attributes, add these to the end of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the aarch64 set..
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Connect up the pragma table.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Darwin has some Mach-O / OS-specific pragmas, connected these to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the end of the aarch64 table.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config.gcc: Handle aarch64 and arm64 darwin.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/aarch64/aarch64-protos.h (enum aarch64_symbol_type):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Provide for symbol classifications for Mach-O.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/aarch64/aarch64.c (aarch64_elf_asm_destructor):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Don't define these for Mach-O (it's not ELF!).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (handle_aarch64_vector_pcs_attribute):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Handle darwinpcs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (aarch64_reg_save_mode): Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (aarch64_load_symref_appropriately): Handle Mach-O.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (aarch64_expand_mov_immediate): Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (aarch64_layout_arg): Handle darwinpcs rules.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (aarch64_function_arg): Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (aarch64_init_cumulative_args): Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (aarch64_function_arg_advance): Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (aarch64_print_operand): Likewise (we can probably do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ better).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (aarch64_print_address_internal): Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (aarch64_asm_output_labelref): Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (initialize_aarch64_code_model): Accept large PIC for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Mach-O - of course, that doesn't mean it works.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (aarch64_classify_symbol): Only emit ELF directives if they
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ are available.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (aarch64_declare_function_name): Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (aarch64_asm_output_alias): Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (aarch64_sls_emit_shared_blr_thunks): Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (TARGET_ASM_UNALIGNED_HI_OP): New.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (TARGET_ASM_UNALIGNED_SI_OP): New.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (TARGET_ASM_UNALIGNED_DI_OP): New.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/aarch64/aarch64.h (TARGET_MACHO): Declare as 0.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (enum arm_pcs): Add darwinpcs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (SUBTARGET_EXTRA_SPECS): New.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (EXTRA_SPECS): Allow for sub-target specs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/aarch64/aarch64.md (unspec enum): Add UNSPEC_MACHOPIC_OFFSET.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (ldr_got_small_<mode>): Allow for postfix assembler syntax.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (ldr_got_small_<mode>): Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/aarch64/darwin.h: New file.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/aarch64/t-aarch64-darwin: New file.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 419fa01def5a199dfe7aa230f6dc354b77b2b1a6)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config.gcc | 5 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64-builtins.c | 10 ++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64-c.c | 4 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64-protos.h | 9 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64.c | 115 ++++++++++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64.h | 11 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64.md | 11 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64.opt | 3 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/darwin.h | 226 ++++++++++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/t-aarch64-darwin | 25 +++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 10 files changed, 407 insertions(+), 12 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create mode 100644 gcc/config/aarch64/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create mode 100644 gcc/config/aarch64/t-aarch64-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config.gcc gcc/config.gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 081aba3bf06..d942edfb371 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config.gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config.gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1100,6 +1100,11 @@ aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++aarch64-*-darwin* | arm64-*-darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tm_file="${tm_file} aarch64/aarch64-errata.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-darwin"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tm_defines="${tm_defines} TARGET_DEFAULT_ASYNC_UNWIND_TABLES=1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64*-*-freebsd*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-errata.h aarch64/aarch64-freebsd.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/aarch64-builtins.c gcc/config/aarch64/aarch64-builtins.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d92157dff02..3a755b5ed44 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64-builtins.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64-builtins.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -493,6 +493,8 @@ enum aarch64_builtins
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AARCH64_MEMTAG_BUILTIN_SET_TAG,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AARCH64_MEMTAG_BUILTIN_GET_TAG,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AARCH64_MEMTAG_BUILTIN_END,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* OS-specific */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ AARCH64_BUILTIN_CFSTRING,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AARCH64_BUILTIN_MAX
</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;'>+@@ -1312,6 +1314,14 @@ aarch64_general_init_builtins (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64_init_memtag_builtins ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++aarch64_init_subtarget_builtins (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef SUBTARGET_INIT_BUILTINS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ SUBTARGET_INIT_BUILTINS;
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Implement TARGET_BUILTIN_DECL for the AARCH64_BUILTIN_GENERAL group. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tree
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64_general_builtin_decl (unsigned code, bool)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/aarch64-c.c gcc/config/aarch64/aarch64-c.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index fd08be47570..040b87a0948 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64-c.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64-c.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -360,4 +360,8 @@ aarch64_register_pragmas (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ targetm.check_builtin_call = aarch64_check_builtin_call;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ c_register_pragma ("GCC", "aarch64", aarch64_pragma_aarch64);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef REGISTER_SUBTARGET_PRAGMAS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ REGISTER_SUBTARGET_PRAGMAS ();
</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;'>+diff --git gcc/config/aarch64/aarch64-protos.h gcc/config/aarch64/aarch64-protos.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index bebd1b36228..ae4a05c1952 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64-protos.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64-protos.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -108,6 +108,14 @@ enum aarch64_symbol_type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SYMBOL_TLSLE24,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SYMBOL_TLSLE32,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SYMBOL_TLSLE48,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ SYMBOL_MO_SMALL_ABS,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ SYMBOL_MO_SMALL_PCR,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ SYMBOL_MO_SMALL_GOT,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ SYMBOL_MO_SMALL_TLS,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ SYMBOL_MO_LARGE_ABS,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ SYMBOL_MO_LARGE_PCR,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ SYMBOL_MO_LARGE_GOT,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ SYMBOL_MO_LARGE_TLS,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SYMBOL_FORCE_TO_MEM
</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;'>+@@ -716,6 +724,7 @@ void aarch64_override_options_internal (struct gcc_options *);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const char *aarch64_general_mangle_builtin_type (const_tree);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void aarch64_general_init_builtins (void);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++void aarch64_init_subtarget_builtins (void);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tree aarch64_general_fold_builtin (unsigned int, tree, unsigned int, tree *);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gimple *aarch64_general_gimple_fold_builtin (unsigned int, gcall *);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rtx aarch64_general_expand_builtin (unsigned int, tree, rtx, int);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 52aa971ffe6..6e1495dc9ca 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -287,8 +287,10 @@ static bool aarch64_vfp_is_call_or_return_candidate (machine_mode,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const_tree,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ machine_mode *, int *,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool *, bool);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if !TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static void aarch64_elf_asm_constructor (rtx, int) ATTRIBUTE_UNUSED;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static void aarch64_elf_asm_destructor (rtx, int) ATTRIBUTE_UNUSED;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static void aarch64_override_options_after_change (void);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static bool aarch64_vector_mode_supported_p (machine_mode);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static int aarch64_address_cost (rtx, machine_mode, addr_space_t, bool);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1544,6 +1546,7 @@ handle_aarch64_vector_pcs_attribute (tree *node, tree name, tree,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case ARM_PCS_SIMD:
</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;'>++ case ARM_PCS_DARWINPCS: /* FIXME: check if this is correct. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case ARM_PCS_SVE:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ error ("the %qE attribute cannot be applied to an SVE function type",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ name);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1570,6 +1573,9 @@ static const struct attribute_spec aarch64_attribute_table[] =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { "Advanced SIMD type", 0, 0, false, true, false, true, NULL, NULL },
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { "SVE type", 3, 3, false, true, false, true, NULL, NULL },
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { "SVE sizeless type", 0, 0, false, true, false, true, NULL, NULL },
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef SUBTARGET_ATTRIBUTE_TABLE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ SUBTARGET_ATTRIBUTE_TABLE,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { NULL, 0, 0, false, false, false, false, NULL, NULL }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2777,6 +2783,7 @@ aarch64_reg_save_mode (unsigned int regno)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ switch (crtl->abi->id ())
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case ARM_PCS_AAPCS64:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ARM_PCS_DARWINPCS:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Only the low 64 bits are saved by the base PCS. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return DFmode;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3113,6 +3120,7 @@ aarch64_load_symref_appropriately (rtx dest, rtx imm,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ switch (type)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case SYMBOL_SMALL_ABSOLUTE:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case SYMBOL_MO_SMALL_PCR:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* In ILP32, the mode of dest can be either SImode or DImode. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rtx tmp_reg = dest;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3206,6 +3214,7 @@ aarch64_load_symref_appropriately (rtx dest, rtx imm,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return;
</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;'>++ case SYMBOL_MO_SMALL_GOT:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case SYMBOL_SMALL_GOT_4G:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* In ILP32, the mode of dest can be either SImode or DImode,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5261,6 +5270,7 @@ aarch64_expand_mov_immediate (rtx dest, rtx imm)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case SYMBOL_SMALL_TLSIE:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case SYMBOL_SMALL_GOT_28K:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case SYMBOL_SMALL_GOT_4G:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case SYMBOL_MO_SMALL_GOT:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case SYMBOL_TINY_GOT:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case SYMBOL_TINY_TLSIE:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (const_offset != 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5274,6 +5284,7 @@ aarch64_expand_mov_immediate (rtx dest, rtx imm)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* FALLTHRU */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case SYMBOL_SMALL_ABSOLUTE:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case SYMBOL_MO_SMALL_PCR:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case SYMBOL_TINY_ABSOLUTE:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case SYMBOL_TLSLE12:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case SYMBOL_TLSLE24:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6016,7 +6027,13 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (!pcum->silent_p && !TARGET_FLOAT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64_err_no_fpadvsimd (mode);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (nvrn + nregs <= NUM_FP_ARG_REGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (pcum->pcs_variant == ARM_PCS_DARWINPCS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ && !arg.named)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pcum->aapcs_nextnvrn = NUM_FP_ARG_REGS;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ goto on_stack;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else if (nvrn + nregs <= NUM_FP_ARG_REGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcum->aapcs_nextnvrn = nvrn + nregs;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (!aarch64_composite_type_p (type, mode))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6056,10 +6073,18 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* C6 - C9. though the sign and zero extension semantics are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ handled elsewhere. This is the case where the argument fits
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ entirely general registers. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (allocate_ncrn && (ncrn + nregs <= NUM_ARG_REGS))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc_assert (nregs == 0 || nregs == 1 || nregs == 2);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (pcum->pcs_variant == ARM_PCS_DARWINPCS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ && !arg.named)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pcum->aapcs_nextncrn = NUM_ARG_REGS;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ goto on_stack;
</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;'>+ /* C.8 if the argument has an alignment of 16 then the NGRN is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rounded up to the next even number. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (nregs == 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6069,7 +6094,9 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ alignment nregs should be > 2 and therefore it should be
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ passed by reference rather than value. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ && (aarch64_function_arg_alignment (mode, type, &abi_break)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- == 16 * BITS_PER_UNIT))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ == 16 * BITS_PER_UNIT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Darwin PCS deletes rule C.8. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ && pcum->pcs_variant != ARM_PCS_DARWINPCS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (abi_break && warn_psabi && currently_expanding_gimple_stmt)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ inform (input_location, "parameter passing for argument of type "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6151,7 +6178,8 @@ aarch64_function_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CUMULATIVE_ARGS *pcum = get_cumulative_args (pcum_v);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc_assert (pcum->pcs_variant == ARM_PCS_AAPCS64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ || pcum->pcs_variant == ARM_PCS_SIMD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- || pcum->pcs_variant == ARM_PCS_SVE);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ || pcum->pcs_variant == ARM_PCS_SVE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ || pcum->pcs_variant == ARM_PCS_DARWINPCS);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (arg.end_marker_p ())
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return gen_int_mode (pcum->pcs_variant, DImode);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6178,6 +6206,9 @@ aarch64_init_cumulative_args (CUMULATIVE_ARGS *pcum,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcum->pcs_variant = (arm_pcs) fntype_abi (fntype).id ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcum->pcs_variant = ARM_PCS_AAPCS64;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* FIXME: Is there ever a case on Darwin where non-darwinpcs is valid? */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (TARGET_MACHO && pcum->pcs_variant == ARM_PCS_AAPCS64)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pcum->pcs_variant = ARM_PCS_DARWINPCS;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcum->aapcs_reg = NULL_RTX;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcum->aapcs_arg_processed = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcum->aapcs_stack_words = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6219,7 +6250,8 @@ aarch64_function_arg_advance (cumulative_args_t pcum_v,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CUMULATIVE_ARGS *pcum = get_cumulative_args (pcum_v);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (pcum->pcs_variant == ARM_PCS_AAPCS64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ || pcum->pcs_variant == ARM_PCS_SIMD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- || pcum->pcs_variant == ARM_PCS_SVE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ || pcum->pcs_variant == ARM_PCS_SVE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ || pcum->pcs_variant == ARM_PCS_DARWINPCS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64_layout_arg (pcum_v, arg);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc_assert ((pcum->aapcs_reg != NULL_RTX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10511,7 +10543,7 @@ aarch64_print_operand (FILE *f, rtx x, int code)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case 'A':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (GET_CODE (x) == HIGH)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ x = XEXP (x, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if !TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ switch (aarch64_classify_symbolic_expression (x))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case SYMBOL_SMALL_GOT_4G:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10541,10 +10573,27 @@ aarch64_print_operand (FILE *f, rtx x, int code)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ default:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_addr_const (asm_out_file, x);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ // FIXME update classify symbolic expression to handle macho.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ switch (aarch64_classify_symbolic_expression (x))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case SYMBOL_MO_SMALL_PCR:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ asm_fprintf (asm_out_file, "@PAGE;mopcr");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case SYMBOL_MO_SMALL_GOT:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ asm_fprintf (asm_out_file, "@GOTPAGE;mosg");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ default:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ asm_fprintf (asm_out_file, "@BLEAH");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case 'L':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if !TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ switch (aarch64_classify_symbolic_expression (x))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case SYMBOL_SMALL_GOT_4G:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10582,10 +10631,12 @@ aarch64_print_operand (FILE *f, rtx x, int code)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ default:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_addr_const (asm_out_file, x);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case 'G':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if !TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ switch (aarch64_classify_symbolic_expression (x))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case SYMBOL_TLSLE24:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10594,6 +10645,7 @@ aarch64_print_operand (FILE *f, rtx x, int code)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ default:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_addr_const (asm_out_file, x);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10741,9 +10793,15 @@ aarch64_print_address_internal (FILE *f, machine_mode mode, rtx x,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case ADDRESS_LO_SUM:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ asm_fprintf (f, "[%s, #", reg_names [REGNO (addr.base)]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ output_addr_const (f, addr.offset);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ asm_fprintf (f, "@PAGEOFF]");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ asm_fprintf (f, "[%s, #:lo12:", reg_names [REGNO (addr.base)]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_addr_const (f, addr.offset);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ asm_fprintf (f, "]");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case ADDRESS_SYMBOLIC:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11226,6 +11284,8 @@ aarch64_asm_output_labelref (FILE* f, const char *name)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ asm_fprintf (f, "%U%s", name);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if !TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64_elf_asm_constructor (rtx symbol, int priority)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11265,6 +11325,7 @@ aarch64_elf_asm_destructor (rtx symbol, int priority)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ assemble_aligned_integer (POINTER_BYTES, symbol);
</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;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const char*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64_output_casesi (rtx *operands)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -13449,12 +13510,17 @@ aarch64_init_builtins ()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64_general_init_builtins ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64_sve::init_builtins ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ aarch64_init_subtarget_builtins ();
</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;'>+ /* Implement TARGET_FOLD_BUILTIN. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static tree
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64_fold_builtin (tree fndecl, int nargs, tree *args, bool)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef SUBTARGET_FOLD_BUILTIN
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (tree res = SUBTARGET_FOLD_BUILTIN (fndecl, nargs, args, false))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return res;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ unsigned int code = DECL_MD_FUNCTION_CODE (fndecl);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ unsigned int subcode = code >> AARCH64_BUILTIN_SHIFT;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tree type = TREE_TYPE (TREE_TYPE (fndecl));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15267,10 +15333,14 @@ initialize_aarch64_code_model (struct gcc_options *opts)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case AARCH64_CMODEL_LARGE:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (opts->x_flag_pic)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (TARGET_MACHO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* We need to implement fPIC here (arm64_32 also accepts the large
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ model). */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else if (opts->x_flag_pic)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sorry ("code model %qs with %<-f%s%>", "large",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ opts->x_flag_pic > 1 ? "PIC" : "pic");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (opts->x_aarch64_abi == AARCH64_ABI_ILP32)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else if (opts->x_aarch64_abi == AARCH64_ABI_ILP32)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sorry ("code model %qs not supported in ilp32 mode", "large");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case AARCH64_CMODEL_TINY_PIC:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16223,6 +16293,13 @@ aarch64_classify_symbol (rtx x, HOST_WIDE_INT offset)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case AARCH64_CMODEL_SMALL_SPIC:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case AARCH64_CMODEL_SMALL_PIC:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (TARGET_MACHO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return (MACHO_SYMBOL_INDIRECTION_P (x) ||
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ! MACHO_SYMBOL_DEFINED_P (x))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ? SYMBOL_MO_SMALL_GOT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ : SYMBOL_MO_SMALL_PCR;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (!aarch64_symbol_binds_local_p (x))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return (aarch64_cmodel == AARCH64_CMODEL_SMALL_SPIC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ? SYMBOL_SMALL_GOT_28K : SYMBOL_SMALL_GOT_4G);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19433,7 +19510,9 @@ aarch64_declare_function_name (FILE *stream, const char* name,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64_asm_output_variant_pcs (stream, fndecl, name);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Don't forget the type directive for ELF. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef ASM_OUTPUT_TYPE_DIRECTIVE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ASM_OUTPUT_TYPE_DIRECTIVE (stream, name, "function");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ASM_OUTPUT_LABEL (stream, name);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cfun->machine->label_is_assembled = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19468,12 +19547,17 @@ aarch64_print_patchable_function_entry (FILE *file,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Implement ASM_OUTPUT_DEF_FROM_DECLS. Output .variant_pcs for aliases. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-aarch64_asm_output_alias (FILE *stream, const tree decl, const tree target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++aarch64_asm_output_alias (FILE *stream, const tree decl,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ const tree target ATTRIBUTE_UNUSED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const char *name = XSTR (XEXP (DECL_RTL (decl), 0), 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef ASM_OUTPUT_DEF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const char *value = IDENTIFIER_POINTER (target);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64_asm_output_variant_pcs (stream, decl, name);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef ASM_OUTPUT_DEF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ASM_OUTPUT_DEF (stream, name, value);
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Implement ASM_OUTPUT_EXTERNAL. Output .variant_pcs for undefined
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19940,7 +20024,7 @@ aarch64_init_libfuncs (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static machine_mode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64_c_mode_for_suffix (char suffix)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (suffix == 'q')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (suffix == 'q' && !TARGET_MACHO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return TFmode;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return VOIDmode;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -23467,13 +23551,17 @@ aarch64_sls_emit_shared_blr_thunks (FILE *out_file)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Only emits if the compiler is configured for an assembler that can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ handle visibility directives. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ targetm.asm_out.assemble_visibility (decl, VISIBILITY_HIDDEN);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef ASM_OUTPUT_TYPE_DIRECTIVE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ASM_OUTPUT_TYPE_DIRECTIVE (out_file, name, "function");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ASM_OUTPUT_LABEL (out_file, name);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64_sls_emit_function_stub (out_file, regnum);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Use the most conservative target to ensure it can always be used by any
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ function in the translation unit. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ asm_fprintf (out_file, "\tdsb\tsy\n\tisb\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef ASM_DECLARE_FUNCTION_SIZE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ASM_DECLARE_FUNCTION_SIZE (out_file, name, decl);
</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;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -23572,6 +23660,15 @@ aarch64_run_selftests (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef TARGET_ASM_ALIGNED_SI_OP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_ASM_ALIGNED_SI_OP "\t.word\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef TARGET_ASM_UNALIGNED_HI_OP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define TARGET_ASM_UNALIGNED_HI_OP "\t.short\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef TARGET_ASM_UNALIGNED_SI_OP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define TARGET_ASM_UNALIGNED_SI_OP "\t.long\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef TARGET_ASM_UNALIGNED_DI_OP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define TARGET_ASM_UNALIGNED_DI_OP "\t.quad\t"
</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;'>+ #undef TARGET_ASM_CAN_OUTPUT_MI_THUNK
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_ASM_CAN_OUTPUT_MI_THUNK \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ hook_bool_const_tree_hwi_hwi_const_tree_true
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/aarch64.h gcc/config/aarch64/aarch64.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 51148846345..913bb0501c4 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -57,6 +57,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_SIMD (!TARGET_GENERAL_REGS_ONLY && AARCH64_ISA_SIMD)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_FLOAT (!TARGET_GENERAL_REGS_ONLY && AARCH64_ISA_FP)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Object format, ABI and syntax for Darwin platforms. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define TARGET_MACHO 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define UNITS_PER_WORD 8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define UNITS_PER_VREG 16
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -901,6 +904,7 @@ enum arm_pcs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ARM_PCS_SVE, /* For functions that pass or return
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ values in SVE registers. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ARM_PCS_TLSDESC, /* For targets of tlsdesc calls. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ARM_PCS_DARWINPCS, /* Darwin's amended AAPCS for 64 bit. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ARM_PCS_UNKNOWN
</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;'>+@@ -1219,8 +1223,13 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define ASM_CPU_SPEC \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ MCPU_TO_MARCH_SPEC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef SUBTARGET_EXTRA_SPECS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SUBTARGET_EXTRA_SPECS
</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;'>+ #define EXTRA_SPECS \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- { "asm_cpu_spec", ASM_CPU_SPEC }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { "asm_cpu_spec", ASM_CPU_SPEC }, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ SUBTARGET_EXTRA_SPECS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define ASM_OUTPUT_POOL_EPILOGUE aarch64_asm_output_pool_epilogue
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/aarch64.md gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index e5bc78c38a3..e8b7e6a64c6 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -282,6 +282,7 @@ (define_c_enum "unspec" [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ UNSPEC_TAG_SPACE ; Translate address to MTE tag address space.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ UNSPEC_LD1RO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ UNSPEC_SALT_ADDR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ UNSPEC_MACHOPIC_OFFSET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (define_c_enum "unspecv" [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6494,7 +6495,10 @@ (define_insn "add_losym_<mode>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (lo_sum:P (match_operand:P 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (match_operand 2 "aarch64_valid_symref" "S")))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "add\\t%<w>0, %<w>1, :lo12:%c2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { return TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ? "add\\t%<w>0, %<w>1, %c2@PAGEOFF;momd"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ : "add\\t%<w>0, %<w>1, :lo12:%c2";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set_attr "type" "alu_imm")]
</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;'>+@@ -6505,7 +6509,10 @@ (define_insn "ldr_got_small_<mode>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (match_operand:PTR 2 "aarch64_valid_symref" "S")))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ UNSPEC_GOTSMALLPIC))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "ldr\\t%<w>0, [%1, #:got_lo12:%c2]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { return TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ? "ldr\\t%<w>0, [%1, %c2@GOTPAGEOFF];momd"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ : "ldr\\t%<w>0, [%1, #:got_lo12:%c2]";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set_attr "type" "load_<ldst_sz>")]
</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;'>+diff --git gcc/config/aarch64/aarch64.opt gcc/config/aarch64/aarch64.opt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 1b3d942e0f5..85f98ad6384 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64.opt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64.opt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -152,6 +152,9 @@ Enum(aarch64_abi) String(ilp32) Value(AARCH64_ABI_ILP32)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ EnumValue
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Enum(aarch64_abi) String(lp64) Value(AARCH64_ABI_LP64)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++EnumValue
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Enum(aarch64_abi) String(darwinpcs) Value(AARCH64_ABI_LP64)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mpc-relative-literal-loads
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Target Report Save Var(pcrelative_literal_loads) Init(2) Save
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PC relative literal loads.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/darwin.h gcc/config/aarch64/darwin.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 00000000000..25721630924
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,226 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Target definitions for Arm64/Aarch64 running on macOS/iOS.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Copyright (C) 2020 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Contributed by Iain Sandoe.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++This file is part of GCC.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++GCC is free software; you can redistribute it and/or modify
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++it under the terms of the GNU General Public License as published by
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++the Free Software Foundation; either version 3, or (at your option)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++any later version.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++GCC is distributed in the hope that it will be useful,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++but WITHOUT ANY WARRANTY; without even the implied warranty of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++GNU General Public License for more details.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++You should have received a copy of the GNU General Public License
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++<http://www.gnu.org/licenses/>. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Enable Mach-O bits in generic Aarch64 code. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define TARGET_MACHO 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef DARWIN_ARM64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define DARWIN_ARM64 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* FIXME FIXME FIXME - these are mostly guesses right now. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* FIXME: this is only used in generic code in darwin.c. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef TARGET_64BIT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define TARGET_64BIT 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef PTRDIFF_TYPE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define PTRDIFF_TYPE "long int"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* NOTE that arm64_32 is a valid thing and corresponds to darwinpcs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ and TARGET_ILP32, but we are not implementing that for now. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define TARGET_OS_CPP_BUILTINS() \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ do { \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ builtin_define ("__LITTLE_ENDIAN__"); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ builtin_define ("__arm64"); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ builtin_define ("__arm64__"); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ darwin_cpp_builtins (pfile); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ } while (0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* In Darwin's arm64 ABI, chars are signed, for consistency with other Darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ architectures. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef DEFAULT_SIGNED_CHAR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define DEFAULT_SIGNED_CHAR 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef LONG_DOUBLE_TYPE_SIZE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define LONG_DOUBLE_TYPE_SIZE 64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Hack alert - we want the exported cas etc. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef LIB_SPEC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define LIB_SPEC "%{!static:-lSystem} -lgcc"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Force the default endianness and ABI flags onto the command line
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ in order to make the other specs easier to write. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef DRIVER_SELF_SPECS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define DRIVER_SELF_SPECS \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"%{mbig-endian:%eDarwin platforms do not support big-endian arm64}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"%{!mlittle-endian:-mlittle-endian} " \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"%{mabi=ilp32:%eSorry, support for Darwin ilp32 arm64 is not implemented} " \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"%{!mabi=*:-mabi=lp64} " \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ MCPU_MTUNE_NATIVE_SPECS \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ SUBTARGET_DRIVER_SELF_SPECS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* We want -fPIC by default, unless we're using -static to compile for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ the kernel or some such. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef CC1_SPEC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define CC1_SPEC \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"%{!mkernel:%{!static:-fPIC}} " DARWIN_CC1_SPEC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef ASM_SPEC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define ASM_SPEC "-arch %(darwin_arch) "\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ASM_OPTIONS " %{static} " ASM_MMACOSX_VERSION_MIN_SPEC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef ENDFILE_SPEC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define ENDFILE_SPEC \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ " " TM_DESTRUCTOR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* The arch is known as 'arm64' by the system tools. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define DARWIN_ARCH_SPEC "arm64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef SUBTARGET_EXTRA_SPECS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SUBTARGET_EXTRA_SPECS \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DARWIN_EXTRA_SPECS \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { "darwin_arch", DARWIN_ARCH_SPEC }, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { "darwin_crt2", "" }, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { "darwin_subarch", DARWIN_ARCH_SPEC },
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef TARGET_ASM_FILE_END
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define TARGET_ASM_FILE_END darwin_file_end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Define the syntax of pseudo-ops, labels and comments. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Support for -falign-* switches. Use .p2align to ensure that code
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ sections are padded with NOP instructions, rather than zeros. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE, LOG, MAX_SKIP) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ do \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if ((LOG) != 0) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if ((MAX_SKIP) == 0) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fprintf ((FILE), "\t.p2align %d\n", (int) (LOG)); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fprintf ((FILE), "\t.p2align %d,,%d\n", \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (int) (LOG), (int) (MAX_SKIP)); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ } \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ } while (0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif /* HAVE_GAS_MAX_SKIP_P2ALIGN */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* String containing the assembler's comment-starter. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define ASM_COMMENT_START ";"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Define the syntax of pseudo-ops, labels and comments. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define LPREFIX "L"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Assembler pseudos to introduce constants of various size. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define ASM_BYTE "\t.byte\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define ASM_SHORT "\t.word\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define ASM_LONG "\t.long\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define ASM_QUAD "\t.quad\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* darwinpcs reserves X18. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef FIXED_REGISTERS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define FIXED_REGISTERS \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ 0, 0, 0, 0, 0, 0, 0, 0, /* R0 - R7 */ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ 0, 0, 0, 0, 0, 0, 0, 0, /* R8 - R15 */ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ 0, 0, 1, 0, 0, 0, 0, 0, /* R16 - R23 */ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ 0, 0, 0, 0, 0, 1, 0, 1, /* R24 - R30, SP */ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ 0, 0, 0, 0, 0, 0, 0, 0, /* V0 - V7 */ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ 0, 0, 0, 0, 0, 0, 0, 0, /* V8 - V15 */ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ 0, 0, 0, 0, 0, 0, 0, 0, /* V16 - V23 */ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ 0, 0, 0, 0, 0, 0, 0, 0, /* V24 - V31 */ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ 1, 1, 1, 1, /* SFP, AP, CC, VG */ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ 0, 0, 0, 0, 0, 0, 0, 0, /* P0 - P7 */ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ 0, 0, 0, 0, 0, 0, 0, 0, /* P8 - P15 */ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ 1, 1 /* FFR and FFRT */ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SUBTARGET_ENCODE_SECTION_INFO darwin_encode_section_info
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX(FILE, ENCODING, SIZE, ADDR, DONE) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (TARGET_64BIT) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if ((SIZE) == 4 && ((ENCODING) & 0x70) == DW_EH_PE_pcrel) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fputs (ASM_LONG, FILE); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ assemble_name (FILE, XSTR (ADDR, 0)); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fputs ("@GOT-.", FILE); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ goto DONE; \
</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;'>++ else \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (ENCODING == ASM_PREFERRED_EH_DATA_FORMAT (2, 1)) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gcc_unreachable (); /* no 32b support yet.*/ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /*darwin_non_lazy_pcrel (FILE, ADDR);*/ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ goto DONE; \
</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;'>++/* Darwin x86 assemblers support the .ident directive. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef TARGET_ASM_OUTPUT_IDENT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define TARGET_ASM_OUTPUT_IDENT default_asm_output_ident_directive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Pull in the stuff common to all Darwin-based platforms. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define C_COMMON_OVERRIDE_OPTIONS \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ do { \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ SUBTARGET_C_COMMON_OVERRIDE_OPTIONS; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ } while (0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef SUBTARGET_OVERRIDE_OPTIONS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SUBTARGET_OVERRIDE_OPTIONS \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ do { \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (global_options.x_aarch64_cmodel_var == AARCH64_CMODEL_TINY) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ error ("code model %qs is not supported on Darwin platforms", \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "tiny"); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (!global_options_set.x_flag_section_anchors) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ flag_section_anchors = 0; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ } while (0); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ SUBSUBTARGET_OVERRIDE_OPTIONS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef SUBTARGET_INIT_BUILTINS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SUBTARGET_INIT_BUILTINS \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ do { \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ aarch64_builtin_decls[AARCH64_BUILTIN_CFSTRING] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ = darwin_init_cfstring_builtins ((AARCH64_BUILTIN_CFSTRING << AARCH64_BUILTIN_SHIFT) | AARCH64_BUILTIN_GENERAL); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ } while(0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Darwin on Arm64 uses dwarf-2. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef DARWIN_PREFER_DWARF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# undef PREFERRED_DEBUGGING_TYPE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
</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;'>++#undef REGISTER_SUBTARGET_PRAGMAS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define REGISTER_SUBTARGET_PRAGMAS() DARWIN_REGISTER_TARGET_PRAGMAS()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef TARGET_SET_DEFAULT_TYPE_ATTRIBUTES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define TARGET_SET_DEFAULT_TYPE_ATTRIBUTES darwin_set_default_type_attributes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* FIXME: CHECK Define the shadow offset for asan. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef SUBTARGET_SHADOW_OFFSET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SUBTARGET_SHADOW_OFFSET (HOST_WIDE_INT_1 << 44)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* First available SYMBOL flag bit for use by subtargets. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SYMBOL_FLAG_SUBT_DEP (SYMBOL_FLAG_MACH_DEP)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef ASM_OUTPUT_DEF_FROM_DECLS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/t-aarch64-darwin gcc/config/aarch64/t-aarch64-darwin
</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 00000000000..a8bfcffad78
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/t-aarch64-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,25 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Machine description for AArch64 architecture.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Copyright (C) 2020 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# This file is part of GCC.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# GCC is free software; you can redistribute it and/or modify it
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# under the terms of the GNU General Public License as published by
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# the Free Software Foundation; either version 3, or (at your option)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# any later version.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# GCC is distributed in the hope that it will be useful, but
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# WITHOUT ANY WARRANTY; without even the implied warranty of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# General Public License for more details.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# You should have received a copy of the GNU General Public License
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# <http://www.gnu.org/licenses/>.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++LIB1ASMSRC = aarch64/lib1funcs.asm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++LIB1ASMFUNCS = _aarch64_sync_cache_range
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# FIXME - figure out what multilib provisions we should make for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# a) arm64e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# b) arm64_32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0030-Darwin-Arm64-Disable-section-anchors-for-now.patch b/lang/gcc10-bootstrap/files/0030-Darwin-Arm64-Disable-section-anchors-for-now.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..87ae63e41c8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0030-Darwin-Arm64-Disable-section-anchors-for-now.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,53 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 6df5b1c5aaa0a472d5ffadf7ad9e0a8b16b8a114 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Wed, 2 Sep 2020 21:30:51 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, Arm64 : Disable section anchors for now.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Section anchors are tricky with the ld64 atom model. It is possible
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+to make them work in a sub-set of circumstances.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+TODO: determine those cases and apply fixes to deal with them.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This fixes issue #13.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 78ccb496faa54d0e87540b97a540ed63087bc953)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64.c | 15 +++++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 15 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6e1495dc9ca..f1bb67fd2e2 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10930,6 +10930,16 @@ aarch64_anchor_offset (HOST_WIDE_INT offset, HOST_WIDE_INT size,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return offset & (~0xfff * size);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Section anchors are only usable in limited circumstances with the Mach-O
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ linker atom model. TODO: figure out when it's worthwhile. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static bool
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++aarch64_darwin_use_anchor_for_sym_p (const_rtx)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</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;'>+ static rtx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64_legitimize_address (rtx x, rtx /* orig_x */, machine_mode mode)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -23989,6 +23999,11 @@ aarch64_libgcc_floating_mode_supported_p
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef TARGET_MAX_ANCHOR_OFFSET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_MAX_ANCHOR_OFFSET 4095
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef TARGET_USE_ANCHORS_FOR_SYMBOL_P
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define TARGET_USE_ANCHORS_FOR_SYMBOL_P aarch64_darwin_use_anchor_for_sym_p
</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;'>+ #undef TARGET_VECTOR_ALIGNMENT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_VECTOR_ALIGNMENT aarch64_simd_vector_alignment
</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;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0031-Darwin-Arm64-Assign-a-register-for-the-static-chain.patch b/lang/gcc10-bootstrap/files/0031-Darwin-Arm64-Assign-a-register-for-the-static-chain.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..579bdec3c22
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0031-Darwin-Arm64-Assign-a-register-for-the-static-chain.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,49 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 68c46d7114fc9dcbd829914ab197dfc006f4b16e Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sat, 12 Sep 2020 09:44:55 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, Arm64 : Assign a register for the static chain.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+At present, we do not have a workable solution for trampolines for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the Darwin Arm64 port. Executable stack is not an option and the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+advice from Arm is not to use any lower address bits to signal that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+we have a descriptor.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+It is possible that we might be able to load some remappable object
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(e.g. a dylib) - but the details there still have to be resolved.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+In any case, we need a usable static chain - and the port has that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+assigned to R18 by default - which is the platform register in darwinpcs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+It's uncertain whether R16/R17 are actually used in the darwinpcs in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the role of support for branch islanding. The AAPCS64 use as IP0/1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+is conditional on ELF relocations, so perhaps irrelevant to Darwin.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Using R16 does not conflict with the existing (non-functional) trampoline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+code.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lots of TODOs here.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 69d64d3eef51272592611095f32af196433d1bd0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/darwin.h | 5 +++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 5 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/darwin.h gcc/config/aarch64/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 25721630924..b605b94f97f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -150,6 +150,11 @@ along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1, 1 /* FFR and FFRT */ \
</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;'>++/* Although we cannot use executable stack, we still need to assign
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ a static chain regnum. At the moment using R16 (IP0) is available. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef STATIC_CHAIN_REGNUM
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define STATIC_CHAIN_REGNUM R16_REGNUM
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define SUBTARGET_ENCODE_SECTION_INFO darwin_encode_section_info
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0032-Darwin-Arm64-Initial-libgcc-boiler-plate-changes.patch b/lang/gcc10-bootstrap/files/0032-Darwin-Arm64-Initial-libgcc-boiler-plate-changes.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..6acacef11db
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0032-Darwin-Arm64-Initial-libgcc-boiler-plate-changes.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,113 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From b2abbee30d343b2ea12119718eb8666666b7f9c3 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 16 Aug 2020 12:11:37 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, Arm64 : Initial libgcc boiler-plate changes.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Initial changes to build libgcc for aarch64 Darwin (declare the port, and handle Mach-O assembler syntax).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit d18d071c65d85610515ffc8b8db59805700c48f2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config.host | 10 +++++++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/aarch64/lse.S | 28 ++++++++++++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/aarch64/t-darwin | 7 +++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 3 files changed, 44 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create mode 100644 libgcc/config/aarch64/t-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config.host libgcc/config.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index dc80446b7fd..a5ffe6bde40 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -82,7 +82,7 @@ m32c*-*-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu_type=m32c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tmake_file=t-fdpbit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-aarch64*-*-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++aarch64*-*-* | arm64*-*-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cpu_type=aarch64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ alpha*-*-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -411,6 +411,14 @@ aarch64*-*-elf | aarch64*-*-rtems*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ md_unwind_header=aarch64/aarch64-unwind.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++aarch64*-*darwin* | arm64*-*darwin* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ extra_parts="$extra_parts crtfastmath.o"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tmake_file="${tmake_file} ${cpu_type}/t-lse "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tmake_file="${tmake_file} t-crtfm"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # No soft float for now because our long double is DF not TF.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ md_unwind_header=aarch64/aarch64-unwind.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64*-*-freebsd*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extra_parts="$extra_parts crtfastmath.o"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/aarch64/lse.S libgcc/config/aarch64/lse.S
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index c8fbfbce4fd..a0425d0b38b 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config/aarch64/lse.S
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config/aarch64/lse.S
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -58,7 +58,11 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
</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;'>+ /* Declare the symbol gating the LSE implementations. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __ELF__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .hidden __aarch64_have_lse_atomics
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ .private_extern __aarch64_have_lse_atomics
</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;'>+ /* Turn size and memory model defines into mnemonic fragments. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if SIZE == 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -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;'>+ #define BTI_C hint 34
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Start and end a function. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __ELF__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .macro STARTFN name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .text
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .balign 16
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -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;'>+ cbz w(tmp0), \label
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .endm
</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;'>++.macro STARTFN name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ .text
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ .balign 16
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ .private_extern _\name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ .cfi_startproc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++_\name:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ BTI_C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.endm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.macro ENDFN name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ .cfi_endproc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.endm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Branch to LABEL if LSE is disabled. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.macro JUMP_IF_NOT_LSE label
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ adrp x(tmp0), ___aarch64_have_lse_atomics@PAGE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ldrb w(tmp0), [x(tmp0), ___aarch64_have_lse_atomics@PAGEOFF]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cbz w(tmp0), \label
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.endm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</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 L_cas
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ STARTFN NAME(cas)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/aarch64/t-darwin libgcc/config/aarch64/t-darwin
</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 00000000000..a319bac7077
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config/aarch64/t-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# FIXME: decide what we need here, or delete this file.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++HOST_LIBGCC2_CFLAGS += -mmacosx-version-min=11.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++LIB2_SIDITI_CONV_FUNCS = yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# LIB2FUNCS_EXCLUDE = _fixtfdi _fixunstfdi _floatditf _floatunditf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0033-Darwin-Arm64-Darwin-should-use-an-OS-call-to-clear-c.patch b/lang/gcc10-bootstrap/files/0033-Darwin-Arm64-Darwin-should-use-an-OS-call-to-clear-c.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..4ab172aad1d
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0033-Darwin-Arm64-Darwin-should-use-an-OS-call-to-clear-c.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,43 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From db45de9ef55de11ecef2348997f30570c18be6cc Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Thu, 3 Sep 2020 19:49:39 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, Arm64 : Darwin should use an OS call to clear caches.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The sys_icache_invalidate() function is the right one to use.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The fixes issue #17
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit d425e8b9b0ac44415053104bf2db1edc018866bc)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/darwin.h | 5 +++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config.host | 1 -
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 5 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/darwin.h gcc/config/aarch64/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index b605b94f97f..c645c7df9cb 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -229,3 +229,8 @@ along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef ASM_OUTPUT_DEF_FROM_DECLS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef CLEAR_INSN_CACHE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define CLEAR_INSN_CACHE(beg, end) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ extern void sys_icache_invalidate(void *start, size_t len); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ sys_icache_invalidate ((beg), (size_t)((end)-(beg)))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config.host libgcc/config.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a5ffe6bde40..fe7ce3f02ed 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -413,7 +413,6 @@ aarch64*-*-elf | aarch64*-*-rtems*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64*-*darwin* | arm64*-*darwin* )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extra_parts="$extra_parts crtfastmath.o"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tmake_file="${tmake_file} ${cpu_type}/t-lse "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tmake_file="${tmake_file} t-crtfm"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # No soft float for now because our long double is DF not TF.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0034-Darwin-Arm64-Initial-support-for-the-self-host-drive.patch b/lang/gcc10-bootstrap/files/0034-Darwin-Arm64-Initial-support-for-the-self-host-drive.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..5b4a60640b7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0034-Darwin-Arm64-Initial-support-for-the-self-host-drive.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,91 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 47e8736657cc965ac9617c1acb2866aad5972e1c Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Tue, 18 Aug 2020 22:29:51 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, Arm64 : Initial support for the self-host driver.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+At present, this just includes the generic Darwin stuff.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 0a7ed7d6e983866327a26a7a7c3656f4d6784eff)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config.host | 7 +++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/host-aarch64-darwin.c | 32 ++++++++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/x-darwin | 3 +++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 3 files changed, 41 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create mode 100644 gcc/config/aarch64/host-aarch64-darwin.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create mode 100644 gcc/config/aarch64/x-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config.host gcc/config.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 84f0433e2ad..8489145e1b1 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -99,7 +99,8 @@ case ${host} in
</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;'>+ case ${host} in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- aarch64*-*-freebsd* | aarch64*-*-linux* | aarch64*-*-fuchsia*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ aarch64*-*-freebsd* | aarch64*-*-linux* | aarch64*-*-fuchsia* |\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ aarch64-*-darwin* | arm64*-*-darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case ${target} in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64*-*-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ host_extra_gcc_objs="driver-aarch64.o"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -251,6 +252,10 @@ case ${host} in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ host_extra_gcc_objs="${host_extra_gcc_objs} driver-mingw32.o"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ host_lto_plugin_soname=liblto_plugin-0.dll
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ aarch64-*-darwin* | arm64-*-darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ out_host_hook_obj="${out_host_hook_obj} host-aarch64-darwin.o"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ host_xmake_file="${host_xmake_file} aarch64/x-darwin"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ i[34567]86-*-darwin* | x86_64-*-darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ out_host_hook_obj="${out_host_hook_obj} host-i386-darwin.o"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ host_xmake_file="${host_xmake_file} i386/x-darwin"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/host-aarch64-darwin.c gcc/config/aarch64/host-aarch64-darwin.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 00000000000..1a2cd4c9dab
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/host-aarch64-darwin.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,32 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Arm64-darwin host-specific hook definitions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Copyright (C) 2020 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++This file is part of GCC.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++GCC is free software; you can redistribute it and/or modify it under
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++the terms of the GNU General Public License as published by the Free
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Software Foundation; either version 3, or (at your option) any later
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++version.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++GCC is distributed in the hope that it will be useful, but WITHOUT ANY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++WARRANTY; without even the implied warranty of MERCHANTABILITY or
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++for more details.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++You should have received a copy of the GNU General Public License
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++<http://www.gnu.org/licenses/>. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define IN_TARGET_CODE 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "config.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "system.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "coretypes.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "hosthooks.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "hosthooks-def.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "config/host-darwin.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Darwin doesn't do anything special for arm64/aarch64 hosts; this file
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ exists just to include the generic config/host-darwin.h. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++const struct host_hooks host_hooks = HOST_HOOKS_INITIALIZER;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/x-darwin gcc/config/aarch64/x-darwin
</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 00000000000..6d788d5e89c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/x-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,3 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++host-aarch64-darwin.o : $(srcdir)/config/aarch64/host-aarch64-darwin.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(COMPILE) $<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(POSTCOMPILE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0035-Darwin-Arm64-Ada-fixes-for-hosted-tools.patch b/lang/gcc10-bootstrap/files/0035-Darwin-Arm64-Ada-fixes-for-hosted-tools.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..7d30fe91018
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0035-Darwin-Arm64-Ada-fixes-for-hosted-tools.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,81 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 15af37463f9a0c79a0d725b8ef57d37f08c8b968 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri, 28 Aug 2020 19:09:45 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, Arm64 : Ada fixes for hosted tools.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The existing provisions for iOS would be OK for cross-compilation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+but we need some adjustments so that hosted tools can be built for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the platform.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit dc6ab7b6a685a965f57ee828cae21c1f8a47ee53)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/ada/gcc-interface/Make-lang.in | 16 ++++++++++++----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/ada/sigtramp-ios.c | 8 ++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 20 insertions(+), 4 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/ada/gcc-interface/Make-lang.in gcc/ada/gcc-interface/Make-lang.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index acbe2b877ca..9ca91576e9a 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/ada/gcc-interface/Make-lang.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/ada/gcc-interface/Make-lang.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -655,6 +655,14 @@ endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # For unwind-pe.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CFLAGS-ada/raise-gcc.o += -I$(srcdir)/../libgcc -DEH_MECHANISM_$(EH_MECHANISM)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Under aarch64 darwin, we need to include the rtl signal trampoline.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ifeq ($(strip $(filter-out aarch64 arm64 darwin%,$(host_cpu) $(host_os))),)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ EXTRA_HOST_OBJS=ada/sigtramp-ios.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ EXTRA_HOST_OBJS =
</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;'>+ ada/libgnat/s-excmac.o: ada/libgnat/s-excmac.ads ada/libgnat/s-excmac.adb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ada/libgnat/s-excmac.ads: $(srcdir)/ada/libgnat/s-excmac__$(EH_MECHANISM).ads
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -668,13 +676,13 @@ ada/libgnat/s-excmac.adb: $(srcdir)/ada/libgnat/s-excmac__$(EH_MECHANISM).adb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Needs to be built with CC=gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Since the RTL should be built with the latest compiler, remove the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # stamp target in the parent directory whenever gnat1 is rebuilt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-gnat1$(exeext): $(TARGET_ADA_SRCS) $(GNAT1_OBJS) $(ADA_BACKEND) libcommon-target.a $(LIBDEPS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- +$(GCC_LLINK) -o $@ $(GNAT1_OBJS) $(ADA_BACKEND) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++gnat1$(exeext): $(TARGET_ADA_SRCS) $(GNAT1_OBJS) $(ADA_BACKEND) libcommon-target.a $(LIBDEPS) $(EXTRA_HOST_OBJS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ +$(GCC_LLINK) -o $@ $(GNAT1_OBJS) $(ADA_BACKEND) $(EXTRA_HOST_OBJS) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libcommon-target.a $(LIBS) $(SYSLIBS) $(BACKENDLIBS) $(CFLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(RM) stamp-gnatlib2-rts stamp-tools
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-gnatbind$(exeext): ada/b_gnatb.o $(CONFIG_H) $(GNATBIND_OBJS) ggc-none.o libcommon-target.a $(LIBDEPS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- +$(GCC_LINK) -o $@ ada/b_gnatb.o $(GNATBIND_OBJS) ggc-none.o libcommon-target.a $(LIBS) $(SYSLIBS) $(CFLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++gnatbind$(exeext): ada/b_gnatb.o $(CONFIG_H) $(GNATBIND_OBJS) $(EXTRA_HOST_OBJS) ggc-none.o libcommon-target.a $(LIBDEPS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ +$(GCC_LINK) -o $@ ada/b_gnatb.o $(GNATBIND_OBJS) $(EXTRA_HOST_OBJS) ggc-none.o libcommon-target.a $(LIBS) $(SYSLIBS) $(CFLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # use target-gcc target-gnatmake target-gnatbind target-gnatlink
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gnattools: $(GCC_PARTS) $(CONFIG_H) prefix.o force
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/ada/sigtramp-ios.c gcc/ada/sigtramp-ios.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index de04c1adb04..43276e9863f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/ada/sigtramp-ios.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/ada/sigtramp-ios.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -71,6 +71,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* sigtramp stub providing unwind info for common registers. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__cplusplus)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++extern "C" {
</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;'>+ extern void __gnat_sigtramp_common
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (int signo, void *siginfo, void *sigcontext,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ __sigtramphandler_t * handler);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -87,6 +91,10 @@ void __gnat_sigtramp (int signo, void *si, void *ucontext,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ __gnat_sigtramp_common (signo, si, mcontext, handler);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__cplusplus)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</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;'>+ /* asm string construction helpers. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define STR(TEXT) #TEXT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0036-Darwin-Arm64-Initial-changes-to-libitm.patch b/lang/gcc10-bootstrap/files/0036-Darwin-Arm64-Initial-changes-to-libitm.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..551c0faaeb3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0036-Darwin-Arm64-Initial-changes-to-libitm.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,103 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 15aa204d66aeb437d9f410660db7b745aeb53c2c Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Tue, 18 Aug 2020 21:50:49 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, Arm64 : Initial changes to libitm.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Just add Arm64 as a target and adjust the SjLj code to allow mach-o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+assembler.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 8f9f06d1dfa4245a18260ade19829c933350e4c2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libitm/config/aarch64/sjlj.S | 27 ++++++++++++++++++++++++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libitm/configure.tgt | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 27 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libitm/config/aarch64/sjlj.S libitm/config/aarch64/sjlj.S
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index e2093ca1a97..0435d6d9286 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libitm/config/aarch64/sjlj.S
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libitm/config/aarch64/sjlj.S
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -28,10 +28,19 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .text
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .align 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __ELF__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .global _ITM_beginTransaction
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .type _ITM_beginTransaction, %function
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ _ITM_beginTransaction:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#elif __MACH__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ .global __ITM_beginTransaction
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++__ITM_beginTransaction:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</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;'>+ cfi_startproc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ BTI_C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mov x1, sp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -53,8 +62,13 @@ _ITM_beginTransaction:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Invoke GTM_begin_transaction with the struct we just built. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mov x1, sp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __ELF__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bl GTM_begin_transaction
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#elif __MACH__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ bl _GTM_begin_transaction
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#error "unexpected object format"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Return; we don't need to restore any of the call-saved regs. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ldp x29, x30, [sp], 11*16
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cfi_adjust_cfa_offset(-11*16)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -62,14 +76,23 @@ _ITM_beginTransaction:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cfi_restore(x30)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ret
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cfi_endproc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __ELF__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .size _ITM_beginTransaction, . - _ITM_beginTransaction
</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;'>+ .align 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __ELF__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .global GTM_longjmp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .hidden GTM_longjmp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .type GTM_longjmp, %function
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GTM_longjmp:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#elif __MACH__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ .private_extern _GTM_longjmp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++_GTM_longjmp:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* The first parameter becomes the return value (x0).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ The third parameter is ignored for now. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cfi_startproc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -89,7 +112,9 @@ GTM_longjmp:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mov sp, x3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ br x30
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cfi_endproc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __ELF__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .size GTM_longjmp, . - GTM_longjmp
</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;'>+ /* GNU_PROPERTY_AARCH64_* macros from elf.h for use in asm code. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define FEATURE_1_AND 0xc0000000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libitm/configure.tgt libitm/configure.tgt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d1beb5c9ec8..e0c952b6431 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libitm/configure.tgt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libitm/configure.tgt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -50,7 +50,7 @@ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Map the target cpu to an ARCH sub-directory. At the same time,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # work out any special compilation flags as necessary.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case "${target_cpu}" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- aarch64*) ARCH=aarch64 ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ aarch64* | arm64*) ARCH=aarch64 ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ alpha*) ARCH=alpha ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rs6000 | powerpc*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ XCFLAGS="${XCFLAGS} -mhtm"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0037-Add-IEEE-code-for-Aarch64-in-libgfortran.patch b/lang/gcc10-bootstrap/files/0037-Add-IEEE-code-for-Aarch64-in-libgfortran.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..3a70996f0e1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0037-Add-IEEE-code-for-Aarch64-in-libgfortran.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,380 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 54e928baf6230bfbd1b5a3f9bf6e150688f34c16 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: FX Coudert <fxcoudert@gmail.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Tue, 1 Sep 2020 17:41:43 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Add IEEE code for Aarch64 in libgfortran
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 9db121b12e9479eb9ebece45d36f0886e55d18d5)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgfortran/config/fpu-aarch64.h | 322 +++++++++++++++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgfortran/configure.host | 18 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 337 insertions(+), 3 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create mode 100644 libgfortran/config/fpu-aarch64.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgfortran/config/fpu-aarch64.h libgfortran/config/fpu-aarch64.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 00000000000..4db1b6c4f6b
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgfortran/config/fpu-aarch64.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,322 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* FPU-related code for aarch64.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Copyright (C) 2020 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Contributed by Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++This file is part of the GNU Fortran runtime library (libgfortran).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Libgfortran is free software; you can redistribute it and/or
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++modify it under the terms of the GNU General Public
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++License as published by the Free Software Foundation; either
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++version 3 of the License, or (at your option) any later version.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Libgfortran is distributed in the hope that it will be useful,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++but WITHOUT ANY WARRANTY; without even the implied warranty of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++GNU General Public License for more details.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Under Section 7 of GPL version 3, you are granted additional
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++permissions described in the GCC Runtime Library Exception, version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++3.1, as published by the Free Software Foundation.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++You should have received a copy of the GNU General Public License and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++a copy of the GCC Runtime Library Exception along with this program;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++<http://www.gnu.org/licenses/>. */
</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;'>++/* Rounding mask and modes */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define FPCR_RM_MASK 0xc00000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define FE_TONEAREST 0x000000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define FE_UPWARD 0x400000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define FE_DOWNWARD 0x800000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define FE_TOWARDZERO 0xc00000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Exceptions */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define FE_INVALID 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define FE_DIVBYZERO 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define FE_OVERFLOW 4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define FE_UNDERFLOW 8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define FE_INEXACT 16
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define FE_ALL_EXCEPT (FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define FE_EXCEPT_SHIFT 8
</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;'>++/* This structure corresponds to the layout of the block
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ written by FSTENV. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++struct fenv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ unsigned int __fpcr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ unsigned int __fpsr;
</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;'>++/* Check we can actually store the FPU state in the allocated size. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++_Static_assert (sizeof(struct fenv) <= (size_t) GFC_FPE_STATE_BUFFER_SIZE,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "GFC_FPE_STATE_BUFFER_SIZE is too small");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set_fpu (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (options.fpe & GFC_FPE_DENORMAL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ estr_write ("Fortran runtime warning: Floating point 'denormal operand' "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "exception not supported.\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set_fpu_trap_exceptions (options.fpe, 0);
</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;'>++int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++get_fpu_trap_exceptions (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ unsigned int fpcr, exceptions;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int res = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fpcr = __builtin_aarch64_get_fpcr();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ exceptions = (fpcr >> FE_EXCEPT_SHIFT) & FE_ALL_EXCEPT;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (exceptions & FE_INVALID) res |= GFC_FPE_INVALID;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (exceptions & FE_DIVBYZERO) res |= GFC_FPE_ZERO;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (exceptions & FE_OVERFLOW) res |= GFC_FPE_OVERFLOW;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (exceptions & FE_UNDERFLOW) res |= GFC_FPE_UNDERFLOW;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (exceptions & FE_INEXACT) res |= GFC_FPE_INEXACT;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return res;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++void set_fpu_trap_exceptions (int trap, int notrap)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ unsigned int mode_set = 0, mode_clr = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ unsigned int fpsr, fpsr_new;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ unsigned int fpcr, fpcr_new;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (trap & GFC_FPE_INVALID)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ mode_set |= FE_INVALID;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (notrap & GFC_FPE_INVALID)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ mode_clr |= FE_INVALID;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (trap & GFC_FPE_ZERO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ mode_set |= FE_DIVBYZERO;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (notrap & GFC_FPE_ZERO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ mode_clr |= FE_DIVBYZERO;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (trap & GFC_FPE_OVERFLOW)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ mode_set |= FE_OVERFLOW;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (notrap & GFC_FPE_OVERFLOW)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ mode_clr |= FE_OVERFLOW;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (trap & GFC_FPE_UNDERFLOW)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ mode_set |= FE_UNDERFLOW;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (notrap & GFC_FPE_UNDERFLOW)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ mode_clr |= FE_UNDERFLOW;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (trap & GFC_FPE_INEXACT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ mode_set |= FE_INEXACT;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (notrap & GFC_FPE_INEXACT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ mode_clr |= FE_INEXACT;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Clear stalled exception flags. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fpsr = __builtin_aarch64_get_fpsr();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fpsr_new = fpsr & ~FE_ALL_EXCEPT;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (fpsr_new != fpsr)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ __builtin_aarch64_set_fpsr(fpsr_new);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fpcr_new = fpcr = __builtin_aarch64_get_fpcr();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fpcr_new |= (mode_set << FE_EXCEPT_SHIFT);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fpcr_new &= ~(mode_clr << FE_EXCEPT_SHIFT);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (fpcr_new != fpcr)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ __builtin_aarch64_set_fpcr(fpcr_new);
</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;'>++int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++support_fpu_flag (int flag)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (flag & GFC_FPE_DENORMAL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++support_fpu_trap (int flag)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (flag & GFC_FPE_DENORMAL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++get_fpu_except_flags (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int result;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ unsigned int fpsr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ result = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fpsr = __builtin_aarch64_get_fpsr() & FE_ALL_EXCEPT;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (fpsr & FE_INVALID)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ result |= GFC_FPE_INVALID;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (fpsr & FE_DIVBYZERO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ result |= GFC_FPE_ZERO;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (fpsr & FE_OVERFLOW)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ result |= GFC_FPE_OVERFLOW;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (fpsr & FE_UNDERFLOW)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ result |= GFC_FPE_UNDERFLOW;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (fpsr & FE_INEXACT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ result |= GFC_FPE_INEXACT;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return result;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set_fpu_except_flags (int set, int clear)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ unsigned int exc_set = 0, exc_clr = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ unsigned int fpsr, fpsr_new;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (set & GFC_FPE_INVALID)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ exc_set |= FE_INVALID;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else if (clear & GFC_FPE_INVALID)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ exc_clr |= FE_INVALID;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (set & GFC_FPE_ZERO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ exc_set |= FE_DIVBYZERO;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else if (clear & GFC_FPE_ZERO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ exc_clr |= FE_DIVBYZERO;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (set & GFC_FPE_OVERFLOW)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ exc_set |= FE_OVERFLOW;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else if (clear & GFC_FPE_OVERFLOW)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ exc_clr |= FE_OVERFLOW;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (set & GFC_FPE_UNDERFLOW)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ exc_set |= FE_UNDERFLOW;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else if (clear & GFC_FPE_UNDERFLOW)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ exc_clr |= FE_UNDERFLOW;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (set & GFC_FPE_INEXACT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ exc_set |= FE_INEXACT;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else if (clear & GFC_FPE_INEXACT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ exc_clr |= FE_INEXACT;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fpsr_new = fpsr = __builtin_aarch64_get_fpsr();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fpsr_new &= ~exc_clr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fpsr_new |= exc_set;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (fpsr_new != fpsr)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ __builtin_aarch64_set_fpsr(fpsr_new);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++get_fpu_state (void *state)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ struct fenv *envp = state;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ envp->__fpcr = __builtin_aarch64_get_fpcr();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ envp->__fpsr = __builtin_aarch64_get_fpsr();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set_fpu_state (void *state)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ struct fenv *envp = state;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ __builtin_aarch64_set_fpcr(envp->__fpcr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ __builtin_aarch64_set_fpsr(envp->__fpsr);
</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;'>++int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++get_fpu_rounding_mode (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ unsigned int fpcr = __builtin_aarch64_get_fpcr();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fpcr &= FPCR_RM_MASK;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ switch (fpcr)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case FE_TONEAREST:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return GFC_FPE_TONEAREST;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case FE_UPWARD:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return GFC_FPE_UPWARD;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case FE_DOWNWARD:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return GFC_FPE_DOWNWARD;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case FE_TOWARDZERO:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return GFC_FPE_TOWARDZERO;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ default:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 0; /* Should be unreachable. */
</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;'>++void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set_fpu_rounding_mode (int round)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ unsigned int fpcr, round_mode;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ switch (round)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case GFC_FPE_TONEAREST:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ round_mode = FE_TONEAREST;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case GFC_FPE_UPWARD:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ round_mode = FE_UPWARD;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case GFC_FPE_DOWNWARD:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ round_mode = FE_DOWNWARD;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case GFC_FPE_TOWARDZERO:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ round_mode = FE_TOWARDZERO;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ default:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return; /* Should be unreachable. */
</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;'>++ fpcr = __builtin_aarch64_get_fpcr();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Only set FPCR if requested mode is different from current. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ round_mode = (fpcr ^ round_mode) & FPCR_RM_MASK;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (round_mode != 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ __builtin_aarch64_set_fpcr(fpcr ^ round_mode);
</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;'>++int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++support_fpu_rounding_mode (int mode __attribute__((unused)))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++support_fpu_underflow_control (int kind __attribute__((unused)))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Unsupported */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 0;
</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;'>++int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++get_fpu_underflow_mode (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Unsupported */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set_fpu_underflow_mode (int gradual __attribute__((unused)))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Unsupported */
</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;'>+diff --git libgfortran/configure.host libgfortran/configure.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 5824f253e2f..6f1183f37dd 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgfortran/configure.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgfortran/configure.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -36,17 +36,29 @@ if test "x${have_feenableexcept}" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ieee_support='yes'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# x86 asm should be used instead of glibc, since glibc doesn't support
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# the x86 denormal exception.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case "${host_cpu}" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # x86 asm should be used instead of glibc, since glibc doesn't support
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # the x86 denormal exception.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ i?86 | x86_64)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "x${have_soft_float}" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fpu_host='fpu-generic'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ieee_support='no'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fpu_host='fpu-387'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ieee_support='yes'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ieee_support='yes'
</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;'>++ # use asm on aarch64-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ aarch64)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case "${host_os}" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fpu_host='fpu-aarch64'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ieee_support='yes'
</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;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Some targets require additional compiler options for NaN/Inf.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0038-Darwin-Arm64-Additional-change-for-darwincpcs-D.4.patch b/lang/gcc10-bootstrap/files/0038-Darwin-Arm64-Additional-change-for-darwincpcs-D.4.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..ffa36bd3f74
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0038-Darwin-Arm64-Additional-change-for-darwincpcs-D.4.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,29 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 5fdec9f3d621caba1e9b41a1d3ac8a235193bdef Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Wed, 19 Aug 2020 19:10:50 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, Arm64 : Additional change for darwincpcs D.4.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+We are allowed to pass 16bytes in regs even if the starting reg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+is not even-numbered.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 6d8be6105a1366e3e0ea9b9803bcbe37e0351904)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64.c | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f1bb67fd2e2..c807c5e24b2 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2664,7 +2664,7 @@ aarch64_hard_regno_mode_ok (unsigned regno, machine_mode mode)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (known_le (GET_MODE_SIZE (mode), 8))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (known_le (GET_MODE_SIZE (mode), 16))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return (regno & 1) == 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return (regno & 1) == 0 || TARGET_MACHO; /* darwinpcs D.4 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else if (FP_REGNUM_P (regno))
</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;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0039-Darwin-Arm64-Implement-darwinpcs-D.2.patch b/lang/gcc10-bootstrap/files/0039-Darwin-Arm64-Implement-darwinpcs-D.2.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..c3474ed0346
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0039-Darwin-Arm64-Implement-darwinpcs-D.2.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,196 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From e2297bf6bb367328368ed23053ddd5437b575823 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Wed, 19 Aug 2020 19:16:43 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, Arm64 : Implement darwinpcs D.2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This allows us to pass items smaller than 8 bytes with their natural
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+alignment packed as appropriate into the stack.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This means that multiple args can use one AAPCS64 stack slot.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+We continue to account the stack in terms of words, but for darwinpcs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the last word in the cumulative arguments is filled incrementally.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+So the allocation will remain 8-byte-wise, but the filling can be 1-byte
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+aligned.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This also means that darwinpcs needs to override the standard hook
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+for TARGET_FUNCTION_ARG_ROUND_BOUNDARY.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit e8b716a3a3e3952036d860fb685dd7f3ceeb7571)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64.c | 85 +++++++++++++++++++++++++++++++-----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64.h | 9 +++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 81 insertions(+), 13 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index c807c5e24b2..d75911f7286 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6006,6 +6006,7 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* No frontends can create types with variable-sized modes, so we
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ shouldn't be asked to pass or return them. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size = GET_MODE_SIZE (mode).to_constant ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pcum->darwinpcs_stack_bytes = size;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size = ROUND_UP (size, UNITS_PER_WORD);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ allocate_ncrn = (type) ? !(FLOAT_TYPE_P (type)) : !FLOAT_MODE_P (mode);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6153,10 +6154,41 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* The argument is passed on stack; record the needed number of words for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ this argument and align the total size if necessary. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ on_stack:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- pcum->aapcs_stack_words = size / UNITS_PER_WORD;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (aarch64_function_arg_alignment (mode, type, &abi_break)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- == 16 * BITS_PER_UNIT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ unsigned int align = aarch64_function_arg_alignment (mode, type, &abi_break);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (pcum->pcs_variant == ARM_PCS_DARWINPCS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Darwin does not round up the allocation for smaller entities to 8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ bytes. It only requires the natural alignment for these. There
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ was no darwinpcs for GCC 9, so neither the implementation change
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ nor the warning should fire here.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ size is rounded up to 8 bytes, so will account for enough slots to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ accommodate the entire argument - potentially, with some padding
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ at the end. When the current position is 0 - any allocation needs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ a stack slot. CHECKME: do we need to align 16byte entities? */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (pcum->darwinpcs_sub_word_pos == 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pcum->aapcs_stack_words = size / UNITS_PER_WORD;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int new_pos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ = ROUND_UP (pcum->darwinpcs_sub_word_pos, align / BITS_PER_UNIT);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (new_pos >= UNITS_PER_WORD)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* We are not catering for the possible 16byte alignment bump. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pcum->aapcs_stack_words += 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ new_pos = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pcum->darwinpcs_sub_word_offset = new_pos;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ new_pos += pcum->darwinpcs_stack_bytes;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (new_pos > UNITS_PER_WORD)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pcum->aapcs_stack_words += new_pos / UNITS_PER_WORD;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pcum->darwinpcs_sub_word_pos = new_pos % UNITS_PER_WORD;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return;
</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;'>++ pcum->aapcs_stack_words = size / UNITS_PER_WORD;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (align == 16 * BITS_PER_UNIT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int new_size = ROUND_UP (pcum->aapcs_stack_size, 16 / UNITS_PER_WORD);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (pcum->aapcs_stack_size != new_size)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6213,6 +6245,9 @@ aarch64_init_cumulative_args (CUMULATIVE_ARGS *pcum,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcum->aapcs_arg_processed = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcum->aapcs_stack_words = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcum->aapcs_stack_size = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pcum->darwinpcs_stack_bytes = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pcum->darwinpcs_sub_word_offset = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pcum->darwinpcs_sub_word_pos = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcum->silent_p = silent_p;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (!silent_p
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6254,8 +6289,9 @@ aarch64_function_arg_advance (cumulative_args_t pcum_v,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ || pcum->pcs_variant == ARM_PCS_DARWINPCS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64_layout_arg (pcum_v, arg);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- gcc_assert ((pcum->aapcs_reg != NULL_RTX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- != (pcum->aapcs_stack_words != 0));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (pcum->pcs_variant != ARM_PCS_DARWINPCS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gcc_assert ((pcum->aapcs_reg != NULL_RTX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ != (pcum->aapcs_stack_words != 0));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcum->aapcs_arg_processed = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcum->aapcs_ncrn = pcum->aapcs_nextncrn;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcum->aapcs_nvrn = pcum->aapcs_nextnvrn;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6273,12 +6309,17 @@ aarch64_function_arg_regno_p (unsigned regno)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ || (FP_REGNUM_P (regno) && regno < V0_REGNUM + NUM_FP_ARG_REGS));
</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;'>+-/* Implement FUNCTION_ARG_BOUNDARY. Every parameter gets at least
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- PARM_BOUNDARY bits of alignment, but will be given anything up
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- to STACK_BOUNDARY bits if the type requires it. This makes sure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- that both before and after the layout of each argument, the Next
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- Stacked Argument Address (NSAA) will have a minimum alignment of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- 8 bytes. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Implement FUNCTION_ARG_BOUNDARY.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ For AAPCS64, Every parameter gets at least PARM_BOUNDARY bits of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ alignment, but will be given anything up to STACK_BOUNDARY bits
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if the type requires it. This makes sure that both before and after
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ the layout of each argument, the Next Stacked Argument Address (NSAA)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ will have a minimum alignment of 8 bytes.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ For darwinpcs, parameters get their natural alignment (up to the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ STACK_BOUNDARY). Therefore, the stack can be aligned less than 8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ bytes after a smaller aligned type is placed. However, the stack will
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ always be counted in PARM_BOUNDARY chunks, darwinpcs will just fill
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ the last allocated chunk with several args, potentially. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static unsigned int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64_function_arg_boundary (machine_mode mode, const_tree type)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6289,9 +6330,24 @@ aarch64_function_arg_boundary (machine_mode mode, const_tree type)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (abi_break & warn_psabi)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ inform (input_location, "parameter passing for argument of type "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "%qT changed in GCC 9.1", type);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return MIN (alignment, STACK_BOUNDARY);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return MIN (MAX (alignment, PARM_BOUNDARY), STACK_BOUNDARY);
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Implement TARGET_FUNCTION_ARG_ROUND_BOUNDARY for darwinpcs which allows
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ non-standard passing of byte-aligned items [D.2].
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ TODO: check if this extends to packed aggregates. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static unsigned int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++aarch64_function_arg_round_boundary (machine_mode, const_tree)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return BITS_PER_UNIT;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</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;'>+ /* Implement TARGET_GET_RAW_RESULT_MODE and TARGET_GET_RAW_ARG_MODE. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -23765,6 +23821,11 @@ aarch64_run_selftests (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef TARGET_FUNCTION_ARG_BOUNDARY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_FUNCTION_ARG_BOUNDARY aarch64_function_arg_boundary
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef TARGET_FUNCTION_ARG_ROUND_BOUNDARY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define TARGET_FUNCTION_ARG_ROUND_BOUNDARY aarch64_function_arg_round_boundary
</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;'>+ #undef TARGET_FUNCTION_ARG_PADDING
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_FUNCTION_ARG_PADDING aarch64_function_arg_padding
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/aarch64.h gcc/config/aarch64/aarch64.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 913bb0501c4..aeb6f8d1ed2 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -57,7 +57,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_SIMD (!TARGET_GENERAL_REGS_ONLY && AARCH64_ISA_SIMD)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_FLOAT (!TARGET_GENERAL_REGS_ONLY && AARCH64_ISA_FP)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* Object format, ABI and syntax for Darwin platforms. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* If this is non-zero then generated code of the object format, ABI and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ assembler syntax used by Darwin (Mach-O) platforms. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TARGET_MACHO 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define UNITS_PER_WORD 8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -943,6 +944,12 @@ typedef struct
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aapcs_reg == NULL_RTX. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int aapcs_stack_size; /* The total size (in words, per 8 byte) of the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ stack arg area so far. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int darwinpcs_stack_bytes; /* If the argument is passed on the stack, this
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ the byte-size. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int darwinpcs_sub_word_offset;/* This is the offset of this arg within a word
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ when placing smaller items for darwinpcs. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int darwinpcs_sub_word_pos; /* The next byte available within the word for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ darwinpcs. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool silent_p; /* True if we should act silently, rather than
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ raise an error for invalid calls. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } CUMULATIVE_ARGS;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0040-Darwin-Arm64-Implement-darwinpcs-mangling-for-va_lis.patch b/lang/gcc10-bootstrap/files/0040-Darwin-Arm64-Implement-darwinpcs-mangling-for-va_lis.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..b4f1b00716d
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0040-Darwin-Arm64-Implement-darwinpcs-mangling-for-va_lis.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,33 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From b8d5a6f3ee2b1b38c210c8cb9fb1e7f3bdf7f03b Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri, 4 Sep 2020 19:24:28 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, Arm64 : Implement darwinpcs mangling for va_list.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The darwinpcs says this must be mangled as char * (Pc) and not
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+presented in the std:: namespace.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 6ef6b24b71943beee3797be012c3cfd13a4d123a)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64.c | 6 ++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 6 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d75911f7286..4b234922ca2 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -17705,6 +17705,12 @@ aarch64_autovectorize_vector_modes (vector_modes *modes, bool)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static const char *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64_mangle_type (const_tree type)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* The darwinpcs ABI documents say that "__va_list" has to be
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ mangled as char *. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ && lang_hooks.types_compatible_p (CONST_CAST_TREE (type), va_list_type))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return "Pc";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* The AArch64 ABI documents say that "__va_list" has to be
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mangled as if it is in the "std" namespace. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (lang_hooks.types_compatible_p (CONST_CAST_TREE (type), va_list_type))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0041-Darwin-Arm64-Initial-stab-at-darwinpcs-variadic-func.patch b/lang/gcc10-bootstrap/files/0041-Darwin-Arm64-Initial-stab-at-darwinpcs-variadic-func.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..b352a7da6f8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0041-Darwin-Arm64-Initial-stab-at-darwinpcs-variadic-func.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,101 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 56548db5c7fb728dee098adf13bed609faba2e10 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Thu, 20 Aug 2020 17:08:46 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, Arm64 : Initial stab at darwinpcs variadic functions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+These use the simpler char * version - but it remains to be seen if
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+we need a non-standard rendition to cater for any amusing platform
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+differences.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit b6a37008af81caa7bfcedf9f5c0d7c6122235c35)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64.c | 38 ++++++++++++++++++++++++++++++++++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 36 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 4b234922ca2..515e290b594 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6167,7 +6167,18 @@ on_stack:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size is rounded up to 8 bytes, so will account for enough slots to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ accommodate the entire argument - potentially, with some padding
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ at the end. When the current position is 0 - any allocation needs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- a stack slot. CHECKME: do we need to align 16byte entities? */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ a stack slot. CHECKME: do we need to align 16byte entities?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ but we don't do this for unnamed parms in variadic functinos, they
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ each get their own slot. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (!arg.named)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pcum->aapcs_stack_words = size / UNITS_PER_WORD;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* We skip the re-alignment for 16byte things, since we currently
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ assume that the don't force such alignment. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (pcum->darwinpcs_sub_word_pos == 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcum->aapcs_stack_words = size / UNITS_PER_WORD;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16495,7 +16506,10 @@ static GTY(()) tree va_list_type;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void *__vr_top;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int __gr_offs;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int __vr_offs;
</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;'>++ darwinpcs uses 'char *' for the va_list (in common with other platform
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ports). */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static tree
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64_build_builtin_va_list (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16503,6 +16517,13 @@ aarch64_build_builtin_va_list (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tree va_list_name;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tree f_stack, f_grtop, f_vrtop, f_groff, f_vroff;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* darwinpcs uses a simple char * for this. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (TARGET_MACHO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ va_list_type = build_pointer_type (char_type_node);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return va_list_type;
</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;'>+ /* Create the type. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ va_list_type = lang_hooks.types.make_type (RECORD_TYPE);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Give it the required name. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16574,6 +16595,13 @@ aarch64_expand_builtin_va_start (tree valist, rtx nextarg ATTRIBUTE_UNUSED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int vr_save_area_size = cfun->va_list_fpr_size;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int vr_offset;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* darwinpcs uses the default, char * va_list impl. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (TARGET_MACHO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ std_expand_builtin_va_start (valist, nextarg);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return;
</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;'>+ cum = &crtl->args.info;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (cfun->va_list_gpr_size)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gr_save_area_size = MIN ((NUM_ARG_REGS - cum->aapcs_ncrn) * UNITS_PER_WORD,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16664,6 +16692,9 @@ aarch64_gimplify_va_arg_expr (tree valist, tree type, gimple_seq *pre_p,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ HOST_WIDE_INT size, rsize, adjust, align;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tree t, u, cond1, cond2;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (TARGET_MACHO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return std_gimplify_va_arg_expr (valist, type, pre_p, post_p);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ indirect_p = pass_va_arg_by_reference (type);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (indirect_p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ type = build_pointer_type (type);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16919,6 +16950,9 @@ aarch64_setup_incoming_varargs (cumulative_args_t cum_v,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int gr_saved = cfun->va_list_gpr_size;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int vr_saved = cfun->va_list_fpr_size;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (TARGET_MACHO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* The caller has advanced CUM up to, but not beyond, the last named
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ argument. Advance a local copy of CUM past the last "real" named
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ argument, to find out how many registers are left over. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0042-Generic-Mega-hack-to-allow-different-passing-organis.patch b/lang/gcc10-bootstrap/files/0042-Generic-Mega-hack-to-allow-different-passing-organis.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..0d009787d22
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0042-Generic-Mega-hack-to-allow-different-passing-organis.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,151 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From dd408e0c82cc71d2a2ffa81f12d267e61f580fac Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri, 21 Aug 2020 19:55:26 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Generic : Mega-hack to allow different passing organisation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for variadic funcs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Right now, the generic code assumes that it can determine the stack layout from
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+target callbacks that don't have complete information about the argument they
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+are processing (they only know the mode and the type - not it the argument is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+named or not, for example). This hack is not complete - but makes some
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+progress.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+It looks like we really need the option for a target to override the layout
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+process - if it requires distinct stack layouts for different calling convs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 1090760b67eae80e5829f2dc4f7256ddd368ad22)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/calls.c | 9 ++++++---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64.c | 12 +++++++-----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/function.c | 14 ++++++++++----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/function.h | 3 ++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 4 files changed, 25 insertions(+), 13 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/calls.c gcc/calls.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 26894342c21..f5c3eb8e139 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/calls.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/calls.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2480,7 +2480,8 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reg_parm_stack_space,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ args[i].pass_on_stack ? 0 : args[i].partial,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- fndecl, args_size, &args[i].locate);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fndecl, args_size, &args[i].locate,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ argpos < n_named_args);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef BLOCK_REG_PADDING
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* The argument is passed entirely in registers. See at which
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5210,7 +5211,8 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ argvec[count].reg != 0,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reg_parm_stack_space, 0,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- NULL_TREE, &args_size, &argvec[count].locate);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ NULL_TREE, &args_size, &argvec[count].locate,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /*named_p=*/ true);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (argvec[count].reg == 0 || argvec[count].partial != 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ || reg_parm_stack_space > 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5301,7 +5303,8 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ argvec[count].reg != 0,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reg_parm_stack_space, argvec[count].partial,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- NULL_TREE, &args_size, &argvec[count].locate);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ NULL_TREE, &args_size, &argvec[count].locate,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /*named_p=*/true);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ args_size.constant += argvec[count].locate.size.constant;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc_assert (!argvec[count].locate.size.var);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 515e290b594..7a7efe7fd0b 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6169,13 +6169,15 @@ on_stack:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ at the end. When the current position is 0 - any allocation needs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ a stack slot. CHECKME: do we need to align 16byte entities?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- but we don't do this for unnamed parms in variadic functinos, they
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ but we don't do this for unnamed parms in variadic functions, they
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ each get their own slot. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (!arg.named)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcum->aapcs_stack_words = size / UNITS_PER_WORD;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pcum->darwinpcs_sub_word_offset = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pcum->darwinpcs_sub_word_pos = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* We skip the re-alignment for 16byte things, since we currently
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- assume that the don't force such alignment. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ assume that the darwinpcs doesn't force such alignment. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return;
</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;'>+@@ -6338,12 +6340,12 @@ aarch64_function_arg_boundary (machine_mode mode, const_tree type)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool abi_break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ unsigned int alignment = aarch64_function_arg_alignment (mode, type,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ &abi_break);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (abi_break & warn_psabi)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- inform (input_location, "parameter passing for argument of type "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "%qT changed in GCC 9.1", type);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return MIN (alignment, STACK_BOUNDARY);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (abi_break & warn_psabi)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ inform (input_location, "parameter passing for argument of type "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "%qT changed in GCC 9.1", type);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return MIN (MAX (alignment, PARM_BOUNDARY), STACK_BOUNDARY);
</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;'>+diff --git gcc/function.c gcc/function.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d616f5f64f4..73ca16d330c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/function.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/function.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2596,7 +2596,8 @@ assign_parm_find_entry_rtl (struct assign_parm_data_all *all,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ locate_and_pad_parm (data->arg.mode, data->arg.type, in_regs,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ all->reg_parm_stack_space,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ entry_parm ? data->partial : 0, current_function_decl,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- &all->stack_args_size, &data->locate);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ &all->stack_args_size, &data->locate,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ data->arg.named);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Update parm_stack_boundary if this parameter is passed in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ stack. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3999,7 +4000,8 @@ locate_and_pad_parm (machine_mode passed_mode, tree type, int in_regs,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int reg_parm_stack_space, int partial,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tree fndecl ATTRIBUTE_UNUSED,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct args_size *initial_offset_ptr,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- struct locate_and_pad_arg_data *locate)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ struct locate_and_pad_arg_data *locate,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ bool named_p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tree sizetree;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pad_direction where_pad;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -4035,8 +4037,12 @@ locate_and_pad_parm (machine_mode passed_mode, tree type, int in_regs,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ : size_int (GET_MODE_SIZE (passed_mode)));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ where_pad = targetm.calls.function_arg_padding (passed_mode, type);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ boundary = targetm.calls.function_arg_boundary (passed_mode, type);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- round_boundary = targetm.calls.function_arg_round_boundary (passed_mode,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- type);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (named_p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ round_boundary = targetm.calls.function_arg_round_boundary (passed_mode,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ type);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ round_boundary = PARM_BOUNDARY;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ locate->where_pad = where_pad;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Alignment can't exceed MAX_SUPPORTED_STACK_ALIGNMENT. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/function.h gcc/function.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 1ee8ed3de53..51055e87c04 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/function.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/function.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -645,7 +645,8 @@ extern bool use_register_for_decl (const_tree);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern gimple_seq gimplify_parameters (gimple_seq *);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern void locate_and_pad_parm (machine_mode, tree, int, int, int,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tree, struct args_size *,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- struct locate_and_pad_arg_data *);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ struct locate_and_pad_arg_data *,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ bool named_p = true);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern void generate_setjmp_warnings (void);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Identify BLOCKs referenced by more than one NOTE_INSN_BLOCK_{BEG,END},
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0043-Darwin-Arm64-Adjust-cases-where-stack-spills-pack-di.patch b/lang/gcc10-bootstrap/files/0043-Darwin-Arm64-Adjust-cases-where-stack-spills-pack-di.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..e0b48a78891
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0043-Darwin-Arm64-Adjust-cases-where-stack-spills-pack-di.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,127 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From c043be009f1402cc3f4ec6438080b6b7e761b90f Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 23 Aug 2020 16:02:01 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, Arm64 : Adjust cases where stack spills pack
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ differently.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Temporary handling for complex values.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Complex values with a total size less than one stack slot might
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conceivably be packed in the same manner as other small values.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+However, this is not done - and we need to override the process
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+for them.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Don't pack small structs either.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Darwinpcs doesn't mention some things - and one is small structs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+These are put into regs - but, when they spill to the stack, they don't
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pack in the manner of char, int et. al.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Handle HFA cases that have packed stack layout.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bleah! (not sure this is complete).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Exclude unions from packing rule.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Hide an unused function.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+We are not using aarch64_vfp_is_call_candidate so wrap it
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+in an #ifdef.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Fix a build error.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Drop an unused var.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit b4b0a28a4936c0559da7c8aa5ca53dada40d6f54)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64.c | 32 ++++++++++++++++++++++++++++++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 30 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 7a7efe7fd0b..292fad672b7 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5858,6 +5858,7 @@ aarch64_return_in_memory (const_tree type, const_tree fndecl ATTRIBUTE_UNUSED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc_unreachable ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if !TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static bool
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64_vfp_is_call_candidate (cumulative_args_t pcum_v, machine_mode mode,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const_tree type, int *nregs)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5867,6 +5868,7 @@ aarch64_vfp_is_call_candidate (cumulative_args_t pcum_v, machine_mode mode,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ &pcum->aapcs_vfp_rmode,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ nregs, NULL, pcum->silent_p);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</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;'>+ /* Given MODE and TYPE of a function argument, return the alignment in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bits. The idea is to suppress any stronger alignment requested by
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6010,10 +6012,18 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size = ROUND_UP (size, UNITS_PER_WORD);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ allocate_ncrn = (type) ? !(FLOAT_TYPE_P (type)) : !FLOAT_MODE_P (mode);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ bool is_ha = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if !TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ allocate_nvrn = aarch64_vfp_is_call_candidate (pcum_v,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mode,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ type,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ &nregs);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ allocate_nvrn = aarch64_vfp_is_call_or_return_candidate (mode, type,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ &pcum->aapcs_vfp_rmode,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ &nregs, &is_ha,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pcum->silent_p);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc_assert (!sve_p || !allocate_nvrn);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* allocate_ncrn may be false-positive, but allocate_nvrn is quite reliable.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6169,9 +6179,15 @@ on_stack:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ at the end. When the current position is 0 - any allocation needs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ a stack slot. CHECKME: do we need to align 16byte entities?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- but we don't do this for unnamed parms in variadic functions, they
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ but we don't do this for:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * unnamed parms in variadic functions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * complex types smaller than 4 bytes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ each get their own slot. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (!arg.named)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (!arg.named
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ || TREE_CODE (type) == COMPLEX_TYPE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ || (TREE_CODE (type) == RECORD_TYPE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ && !is_ha && !SCALAR_FLOAT_MODE_P (pcum->aapcs_vfp_rmode))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ || TREE_CODE (type) == UNION_TYPE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcum->aapcs_stack_words = size / UNITS_PER_WORD;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcum->darwinpcs_sub_word_offset = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6262,6 +6278,7 @@ aarch64_init_cumulative_args (CUMULATIVE_ARGS *pcum,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcum->darwinpcs_sub_word_offset = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcum->darwinpcs_sub_word_pos = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcum->silent_p = silent_p;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pcum->aapcs_vfp_rmode = VOIDmode;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (!silent_p
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ && !TARGET_FLOAT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6341,6 +6358,17 @@ aarch64_function_arg_boundary (machine_mode mode, const_tree type)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ unsigned int alignment = aarch64_function_arg_alignment (mode, type,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ &abi_break);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Temporary fudge to put some non-scalar types in distinct stack slots. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ machine_mode comp_mode = VOIDmode;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int nregs;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ bool is_ha;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ aarch64_vfp_is_call_or_return_candidate (mode, type, &comp_mode, &nregs,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ &is_ha, /*silent*/true);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (TREE_CODE (type) == COMPLEX_TYPE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ || (TREE_CODE (type) == RECORD_TYPE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ && !is_ha && !SCALAR_FLOAT_MODE_P (comp_mode))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ || TREE_CODE (type) == UNION_TYPE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return MIN (MAX (alignment, PARM_BOUNDARY), STACK_BOUNDARY);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return MIN (alignment, STACK_BOUNDARY);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (abi_break & warn_psabi)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0044-Darwin-Arm64-Reimplement-the-base-CC-variant.patch b/lang/gcc10-bootstrap/files/0044-Darwin-Arm64-Reimplement-the-base-CC-variant.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..685f504b33c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0044-Darwin-Arm64-Reimplement-the-base-CC-variant.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,131 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 410164f244af249c924e664cb8e7e451dadf3c69 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 24 Aug 2020 21:19:39 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, Arm64 : Reimplement the base CC variant.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+It turns out that trying to implement the Darwin PCS as CC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variation is a can of worms and, since the target is chosen at
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure time, not actually doing anything useful. Fallout
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+from this included clobbering of callee saved regs etc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+So - for now at least - back out of this and use the AAPCS64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+as the darwinpcs, with the TARGET_MACHO flag chosing the variant.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+It is likely that we need to separate things more, since we haven't
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+fully dealt with the variadic functions issue properly.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit f8ebec59b9c1ee6e5eafcf807ec8eacc9cf3eb24)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64.c | 25 +++++++++----------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64.h | 1 -
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 9 insertions(+), 17 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 292fad672b7..bfcfb1e762d 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1546,7 +1546,6 @@ handle_aarch64_vector_pcs_attribute (tree *node, tree name, tree,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case ARM_PCS_SIMD:
</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;'>+- case ARM_PCS_DARWINPCS: /* FIXME: check if this is correct. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case ARM_PCS_SVE:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ error ("the %qE attribute cannot be applied to an SVE function type",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ name);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2783,7 +2782,6 @@ aarch64_reg_save_mode (unsigned int regno)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ switch (crtl->abi->id ())
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case ARM_PCS_AAPCS64:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- case ARM_PCS_DARWINPCS:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Only the low 64 bits are saved by the base PCS. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return DFmode;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6038,7 +6036,7 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (!pcum->silent_p && !TARGET_FLOAT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64_err_no_fpadvsimd (mode);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (pcum->pcs_variant == ARM_PCS_DARWINPCS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ && !arg.named)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcum->aapcs_nextnvrn = NUM_FP_ARG_REGS;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6089,7 +6087,7 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc_assert (nregs == 0 || nregs == 1 || nregs == 2);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (pcum->pcs_variant == ARM_PCS_DARWINPCS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ && !arg.named)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcum->aapcs_nextncrn = NUM_ARG_REGS;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6107,7 +6105,7 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ && (aarch64_function_arg_alignment (mode, type, &abi_break)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ == 16 * BITS_PER_UNIT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Darwin PCS deletes rule C.8. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- && pcum->pcs_variant != ARM_PCS_DARWINPCS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ && !TARGET_MACHO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (abi_break && warn_psabi && currently_expanding_gimple_stmt)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ inform (input_location, "parameter passing for argument of type "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6167,7 +6165,7 @@ on_stack:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ unsigned int align = aarch64_function_arg_alignment (mode, type, &abi_break);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (pcum->pcs_variant == ARM_PCS_DARWINPCS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (TARGET_MACHO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Darwin does not round up the allocation for smaller entities to 8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bytes. It only requires the natural alignment for these. There
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6239,8 +6237,7 @@ aarch64_function_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CUMULATIVE_ARGS *pcum = get_cumulative_args (pcum_v);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc_assert (pcum->pcs_variant == ARM_PCS_AAPCS64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ || pcum->pcs_variant == ARM_PCS_SIMD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- || pcum->pcs_variant == ARM_PCS_SVE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- || pcum->pcs_variant == ARM_PCS_DARWINPCS);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ || pcum->pcs_variant == ARM_PCS_SVE);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (arg.end_marker_p ())
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return gen_int_mode (pcum->pcs_variant, DImode);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6267,9 +6264,6 @@ aarch64_init_cumulative_args (CUMULATIVE_ARGS *pcum,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcum->pcs_variant = (arm_pcs) fntype_abi (fntype).id ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcum->pcs_variant = ARM_PCS_AAPCS64;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- /* FIXME: Is there ever a case on Darwin where non-darwinpcs is valid? */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (TARGET_MACHO && pcum->pcs_variant == ARM_PCS_AAPCS64)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- pcum->pcs_variant = ARM_PCS_DARWINPCS;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcum->aapcs_reg = NULL_RTX;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcum->aapcs_arg_processed = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcum->aapcs_stack_words = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6315,13 +6309,12 @@ aarch64_function_arg_advance (cumulative_args_t pcum_v,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CUMULATIVE_ARGS *pcum = get_cumulative_args (pcum_v);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (pcum->pcs_variant == ARM_PCS_AAPCS64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ || pcum->pcs_variant == ARM_PCS_SIMD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- || pcum->pcs_variant == ARM_PCS_SVE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- || pcum->pcs_variant == ARM_PCS_DARWINPCS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ || pcum->pcs_variant == ARM_PCS_SVE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64_layout_arg (pcum_v, arg);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (pcum->pcs_variant != ARM_PCS_DARWINPCS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- gcc_assert ((pcum->aapcs_reg != NULL_RTX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- != (pcum->aapcs_stack_words != 0));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gcc_assert (TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ || (pcum->aapcs_reg != NULL_RTX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ != (pcum->aapcs_stack_words != 0));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcum->aapcs_arg_processed = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcum->aapcs_ncrn = pcum->aapcs_nextncrn;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pcum->aapcs_nvrn = pcum->aapcs_nextnvrn;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/aarch64.h gcc/config/aarch64/aarch64.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index aeb6f8d1ed2..3c9935fbf1b 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -905,7 +905,6 @@ enum arm_pcs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ARM_PCS_SVE, /* For functions that pass or return
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ values in SVE registers. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ARM_PCS_TLSDESC, /* For targets of tlsdesc calls. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ARM_PCS_DARWINPCS, /* Darwin's amended AAPCS for 64 bit. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ARM_PCS_UNKNOWN
</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;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0045-Darwin-Arm64-Account-for-stack-addresses-less-aligne.patch b/lang/gcc10-bootstrap/files/0045-Darwin-Arm64-Account-for-stack-addresses-less-aligne.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..4359872952e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0045-Darwin-Arm64-Account-for-stack-addresses-less-aligne.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,40 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From f26aa7766a75a9405a0777e48fbaf02011443060 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Thu, 3 Sep 2020 19:09:00 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, Arm64 : Account for stack addresses less aligned than
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DI.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+darwinpcs, packs some stack items, which means that one cannot
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+guarantee that they are aligned to DI. Check for these cases and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+reject PRFM instructions then.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Note, that this generally results in use of an extra temporary reg.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+clang uses 'PRFUM' instructions in those cases, so we have a missed
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+optimisation opportunity (low priority).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+fixes issue #16.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 534aad5033dc224ed96118b67a84d496bba500ca)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64.c | 4 ++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 4 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index bfcfb1e762d..b887962cf83 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9561,6 +9561,10 @@ aarch64_address_valid_for_prefetch_p (rtx x, bool strict_p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (!res)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Darwinpcs allows addresses on the stack that are not DImode aligned. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (TARGET_MACHO && addr.offset && (INTVAL (addr.offset) & 0x07))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* ... except writeback forms. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return addr.type != ADDRESS_REG_WB;
</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;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0046-Generic-More-mega-hack-for-va-normal.patch b/lang/gcc10-bootstrap/files/0046-Generic-More-mega-hack-for-va-normal.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..0a0772f8b02
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0046-Generic-More-mega-hack-for-va-normal.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,189 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From a87471f1d0fad8895c64e2d462ebc6d06cc854aa Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Tue, 1 Sep 2020 21:45:33 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Generic : More mega-hack for va / normal.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 899ff6e14355886789586631c3eff9ab6f30fbfc)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/calls.c | 6 ++++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/calls.h | 30 ++++++++++++++++++++++++++----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/function.c | 27 ++++++++++++++++++++-------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/function.h | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 4 files changed, 51 insertions(+), 14 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/calls.c gcc/calls.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f5c3eb8e139..957f755adb5 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/calls.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/calls.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2305,7 +2305,8 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with those made by function.c. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* See if this argument should be passed by invisible reference. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- function_arg_info arg (type, argpos < n_named_args);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ function_arg_info arg (type, argpos < n_named_args,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ argpos == n_named_args - 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (pass_by_reference (args_so_far_pnt, arg))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const bool callee_copies
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2481,7 +2482,8 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reg_parm_stack_space,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ args[i].pass_on_stack ? 0 : args[i].partial,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fndecl, args_size, &args[i].locate,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- argpos < n_named_args);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ argpos < n_named_args,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ argpos == n_named_args - 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef BLOCK_REG_PADDING
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* The argument is passed entirely in registers. See at which
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/calls.h gcc/calls.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 4ee49360777..3c5fbad301a 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/calls.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/calls.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -35,24 +35,43 @@ class function_arg_info
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ function_arg_info ()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- : type (NULL_TREE), mode (VOIDmode), named (false),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ : type (NULL_TREE), mode (VOIDmode), named (false), last_named (false),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pass_by_reference (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;'>+ /* Initialize an argument of mode MODE, either before or after promotion. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ function_arg_info (machine_mode mode, bool named)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- : type (NULL_TREE), mode (mode), named (named), pass_by_reference (false)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ : type (NULL_TREE), mode (mode), named (named), last_named (false),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pass_by_reference (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;'>++ function_arg_info (machine_mode mode, bool named, bool last_named)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ : type (NULL_TREE), mode (mode), named (named), last_named (last_named),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pass_by_reference (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;'>+ /* Initialize an unpromoted argument of type TYPE. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ function_arg_info (tree type, bool named)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- : type (type), mode (TYPE_MODE (type)), named (named),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ : type (type), mode (TYPE_MODE (type)), named (named), last_named (false),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pass_by_reference (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;'>++ /* Initialize an unpromoted argument of type TYPE. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ function_arg_info (tree type, bool named, bool last_named)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ : type (type), mode (TYPE_MODE (type)), named (named),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ last_named (last_named), pass_by_reference (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;'>+ /* Initialize an argument with explicit properties. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ function_arg_info (tree type, machine_mode mode, bool named)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- : type (type), mode (mode), named (named), pass_by_reference (false)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ : type (type), mode (mode), named (named), last_named (false),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pass_by_reference (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;'>++ /* Initialize an argument with explicit properties. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ function_arg_info (tree type, machine_mode mode, bool named, bool last_named)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ : type (type), mode (mode), named (named), last_named (last_named),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pass_by_reference (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;'>+ /* Return true if the gimple-level type is an aggregate. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -105,6 +124,9 @@ public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "..."). See also TARGET_STRICT_ARGUMENT_NAMING. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ unsigned int named : 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* True if this is the last named argument. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ unsigned int last_named : 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* True if we have decided to pass the argument by reference, in which case
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ the function_arg_info describes a pointer to the original argument. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ unsigned int pass_by_reference : 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/function.c gcc/function.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 73ca16d330c..2af6b6beb6e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/function.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/function.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2430,7 +2430,10 @@ assign_parm_find_data_types (struct assign_parm_data_all *all, tree parm,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else if (DECL_CHAIN (parm))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ data->arg.named = 1; /* Not the last non-variadic parm. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else if (targetm.calls.strict_argument_naming (all->args_so_far))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- data->arg.named = 1; /* Only variadic ones are unnamed. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ data->arg.named = 1; /* Only variadic ones are unnamed. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ data->arg.last_named = 1;
</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;'>+ data->arg.named = 0; /* Treat as variadic. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2487,6 +2490,7 @@ assign_parms_setup_varargs (struct assign_parm_data_all *all,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ function_arg_info last_named_arg = data->arg;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ last_named_arg.named = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ last_named_arg.last_named = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ targetm.calls.setup_incoming_varargs (all->args_so_far, last_named_arg,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ &varargs_pretend_bytes, no_rtl);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2597,7 +2601,7 @@ assign_parm_find_entry_rtl (struct assign_parm_data_all *all,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ all->reg_parm_stack_space,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ entry_parm ? data->partial : 0, current_function_decl,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ &all->stack_args_size, &data->locate,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- data->arg.named);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ data->arg.named, data->arg.last_named);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Update parm_stack_boundary if this parameter is passed in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ stack. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3894,7 +3898,8 @@ gimplify_parameters (gimple_seq *cleanup)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (data.arg.pass_by_reference)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tree type = TREE_TYPE (data.arg.type);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- function_arg_info orig_arg (type, data.arg.named);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ function_arg_info orig_arg (type, data.arg.named,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ data.arg.last_named);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (reference_callee_copied (&all.args_so_far_v, orig_arg))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tree local, t;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -4001,7 +4006,7 @@ locate_and_pad_parm (machine_mode passed_mode, tree type, int in_regs,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tree fndecl ATTRIBUTE_UNUSED,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct args_size *initial_offset_ptr,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct locate_and_pad_arg_data *locate,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- bool named_p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ bool named_p, bool last_named_p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tree sizetree;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pad_direction where_pad;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -4038,10 +4043,18 @@ locate_and_pad_parm (machine_mode passed_mode, tree type, int in_regs,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ where_pad = targetm.calls.function_arg_padding (passed_mode, type);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ boundary = targetm.calls.function_arg_boundary (passed_mode, type);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (named_p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- round_boundary = targetm.calls.function_arg_round_boundary (passed_mode,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- type);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ round_boundary = targetm.calls.function_arg_round_boundary (passed_mode,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ type);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (last_named_p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ round_boundary = PARM_BOUNDARY;
</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;'>+- round_boundary = PARM_BOUNDARY;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Force everything to be at least aligned to the parm boundary. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ boundary = MAX (boundary, PARM_BOUNDARY);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ round_boundary = PARM_BOUNDARY;
</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;'>+ locate->where_pad = where_pad;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/function.h gcc/function.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 51055e87c04..4ed5dc10045 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/function.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/function.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -646,7 +646,7 @@ extern gimple_seq gimplify_parameters (gimple_seq *);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern void locate_and_pad_parm (machine_mode, tree, int, int, int,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tree, struct args_size *,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct locate_and_pad_arg_data *,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- bool named_p = true);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ bool named_p = true, bool last_named = false);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern void generate_setjmp_warnings (void);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Identify BLOCKs referenced by more than one NOTE_INSN_BLOCK_{BEG,END},
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0047-Darwin-Arm64-Temporary-proof-of-principle-for-relocs.patch b/lang/gcc10-bootstrap/files/0047-Darwin-Arm64-Temporary-proof-of-principle-for-relocs.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..6f031fd1cd7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0047-Darwin-Arm64-Temporary-proof-of-principle-for-relocs.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,242 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 2cca239f315a28b76b8f386ea727344e0d9d6289 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Tue, 25 Aug 2020 19:33:49 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, Arm64 : Temporary proof-of-principle for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ relocs+addends.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+At present, we are generating _foo+123@PAGE and we should have _foo@PAGE+123
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+etc. This can probably be fixed better with symbol flags and use of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ASM_OUTPUT_SYMBOL_REF but that needs more work. Right now we're also
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+stuck with GCC producing _foo@PAGE-1 as an example ... and the assmbler
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+doesn't like it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 36767eccb8a65b6b57eedca4907100e702b3b829)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64.c | 153 ++++++++++++++++++++++++++++++++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64.md | 4 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 148 insertions(+), 9 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index b887962cf83..0cd8026051f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10249,6 +10249,136 @@ sizetochar (int size)
</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;'>++static void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++output_macho_postfix_expr (FILE *file, rtx x, const char *postfix)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ char buf[256];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ restart:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ switch (GET_CODE (x))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case PC:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ putc ('.', file);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case SYMBOL_REF:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (SYMBOL_REF_DECL (x))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ assemble_external (SYMBOL_REF_DECL (x));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ assemble_name (file, XSTR (x, 0));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fprintf (file, "@%s", postfix);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case LABEL_REF:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ x = label_ref_label (x);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Fall through. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case CODE_LABEL:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ASM_GENERATE_INTERNAL_LABEL (buf, "L", CODE_LABEL_NUMBER (x));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ assemble_name (file, buf);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case CONST_INT:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fprintf (file, HOST_WIDE_INT_PRINT_DEC, INTVAL (x));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case CONST:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* This used to output parentheses around the expression,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ but that does not work on the 386 (either ATT or BSD assembler). */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ output_macho_postfix_expr (file, XEXP (x, 0), postfix);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case CONST_WIDE_INT:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* We do not know the mode here so we have to use a round about
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ way to build a wide-int to get it printed properly. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ wide_int w = wide_int::from_array (&CONST_WIDE_INT_ELT (x, 0),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ CONST_WIDE_INT_NUNITS (x),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ CONST_WIDE_INT_NUNITS (x)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * HOST_BITS_PER_WIDE_INT,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ false);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ print_decs (w, file);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case CONST_DOUBLE:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (CONST_DOUBLE_AS_INT_P (x))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* We can use %d if the number is one word and positive. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (CONST_DOUBLE_HIGH (x))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fprintf (file, HOST_WIDE_INT_PRINT_DOUBLE_HEX,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (unsigned HOST_WIDE_INT) CONST_DOUBLE_HIGH (x),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (unsigned HOST_WIDE_INT) CONST_DOUBLE_LOW (x));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else if (CONST_DOUBLE_LOW (x) < 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fprintf (file, HOST_WIDE_INT_PRINT_HEX,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (unsigned HOST_WIDE_INT) CONST_DOUBLE_LOW (x));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fprintf (file, HOST_WIDE_INT_PRINT_DEC, CONST_DOUBLE_LOW (x));
</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;'>++ /* We can't handle floating point constants;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ PRINT_OPERAND must handle them. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ output_operand_lossage ("floating constant misused");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case CONST_FIXED:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fprintf (file, HOST_WIDE_INT_PRINT_DEC, CONST_FIXED_VALUE_LOW (x));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case PLUS:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Some assemblers need integer constants to appear last (eg masm). */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (CONST_INT_P (XEXP (x, 0)))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ output_macho_postfix_expr (file, XEXP (x, 1), postfix);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (INTVAL (XEXP (x, 0)) >= 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fprintf (file, "+");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ output_addr_const (file, XEXP (x, 0));
</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;'>++ output_macho_postfix_expr (file, XEXP (x, 0), postfix);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (!CONST_INT_P (XEXP (x, 1))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ || INTVAL (XEXP (x, 1)) >= 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fprintf (file, "+");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ output_addr_const (file, XEXP (x, 1));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case MINUS:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Avoid outputting things like x-x or x+5-x,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ since some assemblers can't handle that. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ x = simplify_subtraction (x);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (GET_CODE (x) != MINUS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ goto restart;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ output_macho_postfix_expr (file, XEXP (x, 0), postfix);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fprintf (file, "-");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if ((CONST_INT_P (XEXP (x, 1)) && INTVAL (XEXP (x, 1)) >= 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ || GET_CODE (XEXP (x, 1)) == PC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ || GET_CODE (XEXP (x, 1)) == SYMBOL_REF)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ output_addr_const (file, XEXP (x, 1));
</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;'>++ fputs (targetm.asm_out.open_paren, file);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ output_addr_const (file, XEXP (x, 1));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fputs (targetm.asm_out.close_paren, file);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ZERO_EXTEND:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case SIGN_EXTEND:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case SUBREG:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case TRUNCATE:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ output_addr_const (file, XEXP (x, 0));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ default:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (targetm.asm_out.output_addr_const_extra (file, x))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ output_operand_lossage ("invalid expression as operand");
</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;'>+ /* Print operand X to file F in a target specific manner according to CODE.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ The acceptable formatting commands given by CODE are:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'c': An integer or symbol address without a preceding #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10317,6 +10447,12 @@ aarch64_print_operand (FILE *f, rtx x, int code)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case 'K':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ output_macho_postfix_expr (f, x, "PAGEOFF");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case 'O':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ output_macho_postfix_expr (f, x, "GOTPAGEOFF");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case 'e':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ x = unwrap_const_vec_duplicate (x);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10667,20 +10803,23 @@ aarch64_print_operand (FILE *f, rtx x, int code)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ default:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_addr_const (asm_out_file, x);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // FIXME update classify symbolic expression to handle macho.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ switch (aarch64_classify_symbolic_expression (x))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case SYMBOL_MO_SMALL_PCR:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- asm_fprintf (asm_out_file, "@PAGE;mopcr");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ output_macho_postfix_expr (asm_out_file, x, "PAGE");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// asm_fprintf (asm_out_file, "@PAGE;mopcr");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case SYMBOL_MO_SMALL_GOT:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- asm_fprintf (asm_out_file, "@GOTPAGE;mosg");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ output_macho_postfix_expr (asm_out_file, x, "GOTPAGE");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// asm_fprintf (asm_out_file, "@GOTPAGE;mosg");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ default:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- asm_fprintf (asm_out_file, "@BLEAH");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ output_macho_postfix_expr (asm_out_file, x, "BLEAH");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// asm_fprintf (asm_out_file, "@BLEAH");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10889,13 +11028,13 @@ aarch64_print_address_internal (FILE *f, machine_mode mode, rtx x,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case ADDRESS_LO_SUM:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ asm_fprintf (f, "[%s, #", reg_names [REGNO (addr.base)]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- output_addr_const (f, addr.offset);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- asm_fprintf (f, "@PAGEOFF]");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ output_macho_postfix_expr (f, addr.offset, "PAGEOFF");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// output_addr_const (f, addr.offset);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ asm_fprintf (f, "[%s, #:lo12:", reg_names [REGNO (addr.base)]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output_addr_const (f, addr.offset);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- asm_fprintf (f, "]");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ asm_fprintf (f, "]");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case ADDRESS_SYMBOLIC:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/aarch64.md gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index e8b7e6a64c6..dece932dd3e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6496,7 +6496,7 @@ (define_insn "add_losym_<mode>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (match_operand 2 "aarch64_valid_symref" "S")))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { return TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ? "add\\t%<w>0, %<w>1, %c2@PAGEOFF;momd"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ? "add\\t%<w>0, %<w>1, %K2;momd"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ : "add\\t%<w>0, %<w>1, :lo12:%c2";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set_attr "type" "alu_imm")]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6510,7 +6510,7 @@ (define_insn "ldr_got_small_<mode>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ UNSPEC_GOTSMALLPIC))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { return TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ? "ldr\\t%<w>0, [%1, %c2@GOTPAGEOFF];momd"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ? "ldr\\t%<w>0, [%1, %O2];momd"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ : "ldr\\t%<w>0, [%1, #:got_lo12:%c2]";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set_attr "type" "load_<ldst_sz>")]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0048-Darwin-Arm64-Make-code-label-references-use-PAGE-rel.patch b/lang/gcc10-bootstrap/files/0048-Darwin-Arm64-Make-code-label-references-use-PAGE-rel.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..b914aa8c0d9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0048-Darwin-Arm64-Make-code-label-references-use-PAGE-rel.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,38 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 0534fac43320812499d9a7890c23b0a04be40d78 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Thu, 27 Aug 2020 19:39:10 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, Arm64 : Make code label references use PAGE relocs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+We need to be able to refer to Lxxxx labels in libgnat.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 80a208d8f5d105bcca03de83c20eb020a0e6fcdf)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64.c | 5 ++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 4 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 0cd8026051f..44d59930401 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10274,6 +10274,7 @@ output_macho_postfix_expr (FILE *file, rtx x, const char *postfix)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case CODE_LABEL:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ASM_GENERATE_INTERNAL_LABEL (buf, "L", CODE_LABEL_NUMBER (x));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ assemble_name (file, buf);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fprintf (file, "@%s", postfix);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case CONST_INT:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16483,7 +16484,9 @@ aarch64_classify_symbol (rtx x, HOST_WIDE_INT offset)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case AARCH64_CMODEL_SMALL_SPIC:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case AARCH64_CMODEL_SMALL_PIC:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case AARCH64_CMODEL_SMALL:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return SYMBOL_SMALL_ABSOLUTE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ? SYMBOL_MO_SMALL_PCR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ : SYMBOL_SMALL_ABSOLUTE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ default:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc_unreachable ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0049-Darwin-Arm64-Avoid-negative-offsets-in-PAGE-relocs.patch b/lang/gcc10-bootstrap/files/0049-Darwin-Arm64-Avoid-negative-offsets-in-PAGE-relocs.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..e84db6bbb09
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0049-Darwin-Arm64-Avoid-negative-offsets-in-PAGE-relocs.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,85 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 7776542e6793775150dd7c795d6ddef1da2fa4aa Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Thu, 27 Aug 2020 19:44:45 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, Arm64 : Avoid negative offsets in PAGE relocs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+It's not clear to me whether this is a mistake in the LLVM backend
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+or a genuine restriction in the relocation (the wording of the addend
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+reloc says neither 'signed' nor 'unsigned'. This works around this
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+by making known negative offsets non-legitimate and composing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the address by:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ardp foo@PAGE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ add dest, temp, foo@PAGEOFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ add dest, dest, neg_offset
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ We are now handling negative addends.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Part of the code attempting to deal with the "PAGE-N" issue
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+was to reject negative offsets in the legitimizers - actually, this
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+wasn't effective anyway. We've now got code catching the cases
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+and using a separate sum instruction, so delete these.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit b3e07959c90bcc7231ecae2506555c59e570dfbd)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64.c | 24 +++++++++++++++++++++---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 21 insertions(+), 3 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 44d59930401..0c6827cb807 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3129,6 +3129,21 @@ aarch64_load_symref_appropriately (rtx dest, rtx imm,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (can_create_pseudo_p ())
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tmp_reg = gen_reg_rtx (mode);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (TARGET_MACHO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rtx sym, off;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ split_const (imm, &sym, &off);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Negative offsets don't work, whether by intention is TBD. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (INTVAL (off) < 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ emit_move_insn (tmp_reg, gen_rtx_HIGH (mode, sym));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ emit_insn (gen_add_losym (dest, tmp_reg, sym));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* FIXME: add the SI option if/when we support ilp32. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ emit_insn (gen_adddi3 (dest, dest, off));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* else positive offset is OK. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ emit_move_insn (tmp_reg, gen_rtx_HIGH (mode, imm));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ emit_insn (gen_add_losym (dest, tmp_reg, imm));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9484,6 +9499,7 @@ aarch64_classify_address (struct aarch64_address_info *info,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* load literal: pc-relative constant pool entry. Only supported
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for SI mode or larger. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ info->type = ADDRESS_SYMBOLIC;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ info->offset = NULL_RTX;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (!load_store_pair_p
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ && GET_MODE_SIZE (mode).is_constant (&const_size)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9491,8 +9507,9 @@ aarch64_classify_address (struct aarch64_address_info *info,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ poly_int64 offset;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rtx sym = strip_offset_and_salt (x, &offset);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return ((GET_CODE (sym) == LABEL_REF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- || (GET_CODE (sym) == SYMBOL_REF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return ((LABEL_REF_P (sym)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ || (SYMBOL_REF_P (sym)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ && CONSTANT_POOL_ADDRESS_P (sym)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ && aarch64_pcrelative_literal_loads)));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9508,7 +9525,8 @@ aarch64_classify_address (struct aarch64_address_info *info,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ poly_int64 offset;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ HOST_WIDE_INT const_offset;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rtx sym = strip_offset_and_salt (info->offset, &offset);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (GET_CODE (sym) == SYMBOL_REF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (SYMBOL_REF_P (sym)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ && offset.is_constant (&const_offset)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ && (aarch64_classify_symbol (sym, const_offset)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ == SYMBOL_SMALL_ABSOLUTE))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0050-Darwin-Arm64-Make-more-Objective-C-metadata-linker-v.patch b/lang/gcc10-bootstrap/files/0050-Darwin-Arm64-Make-more-Objective-C-metadata-linker-v.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..dc13f0346b2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0050-Darwin-Arm64-Make-more-Objective-C-metadata-linker-v.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,86 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From c3ae727513dd1c2eee92f5d782426b5e8a9f4b6c Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 4 Oct 2020 12:50:15 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, Arm64 : Make more Objective-C metadata
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ linker-visible.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+It seems that the aarch64 port for clang exposes more of the meta-data entries
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+to ld64 (than for x86_64). However, the linker seems to require this for arm64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(so that the atom checks are apparently different). Anyway - we just punt on
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+hidding any of the metadata lables for now.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit a0b1e3944b152ff9e4e29262b097c80c16e4cf10)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/darwin.h | 55 +++++++++++++++++++++++----------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 28 insertions(+), 27 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/darwin.h gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index c63f2d79958..1b03a213960 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -762,34 +762,35 @@ int darwin_label_is_anonymous_local_objc_name (const char *name);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef ASM_OUTPUT_LABELREF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define ASM_OUTPUT_LABELREF(FILE,NAME) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- do { \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- const char *xname = (NAME); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (! strcmp (xname, MACHOPIC_FUNCTION_BASE_NAME)) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- machopic_output_function_base_name(FILE); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- else if (xname[0] == '&' || xname[0] == '*') \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- { \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- int len = strlen (xname); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (len > 6 && !strcmp ("$stub", xname + len - 5)) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- machopic_validate_stub_or_non_lazy_ptr (xname); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- else if (len > 7 && !strcmp ("$stub\"", xname + len - 6)) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- machopic_validate_stub_or_non_lazy_ptr (xname); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- else if (len > 14 && !strcmp ("$non_lazy_ptr", xname + len - 13)) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- machopic_validate_stub_or_non_lazy_ptr (xname); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- else if (len > 15 && !strcmp ("$non_lazy_ptr\"", xname + len - 14)) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- machopic_validate_stub_or_non_lazy_ptr (xname); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (xname[1] != '"' && name_needs_quotes (&xname[1])) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- fprintf (FILE, "\"%s\"", &xname[1]); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- else \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- fputs (&xname[1], FILE); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- } \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- else if (xname[0] == '+' || xname[0] == '-') \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- fprintf (FILE, "\"%s\"", xname); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- else if (darwin_label_is_anonymous_local_objc_name (xname)) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- fprintf (FILE, "L%s", xname); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- else if (xname[0] != '"' && name_needs_quotes (xname)) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ do \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ const char *xname = (NAME); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (! strcmp (xname, MACHOPIC_FUNCTION_BASE_NAME)) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ machopic_output_function_base_name(FILE); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else if (xname[0] == '&' || xname[0] == '*') \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int len = strlen (xname); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (len > 6 && !strcmp ("$stub", xname + len - 5)) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ machopic_validate_stub_or_non_lazy_ptr (xname); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else if (len > 7 && !strcmp ("$stub\"", xname + len - 6)) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ machopic_validate_stub_or_non_lazy_ptr (xname); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else if (len > 14 && !strcmp ("$non_lazy_ptr", xname + len - 13)) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ machopic_validate_stub_or_non_lazy_ptr (xname); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else if (len > 15 && !strcmp ("$non_lazy_ptr\"", xname + len - 14))\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ machopic_validate_stub_or_non_lazy_ptr (xname); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (xname[1] != '"' && name_needs_quotes (&xname[1])) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fprintf (FILE, "\"%s\"", &xname[1]); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fputs (&xname[1], FILE); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ } \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else if (xname[0] == '+' || xname[0] == '-') \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fprintf (FILE, "\"%s\"", xname); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else if (darwin_label_is_anonymous_local_objc_name (xname)) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fprintf (FILE, "l%s", xname); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else if (xname[0] != '"' && name_needs_quotes (xname)) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ asm_fprintf (FILE, "\"%U%s\"", xname); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- else \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- asm_fprintf (FILE, "%U%s", xname); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ asm_fprintf (FILE, "%U%s", xname); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } while (0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Output before executable code. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0051-testsuite-Darwin-Arm64-Darwin-does-not-support-sve-a.patch b/lang/gcc10-bootstrap/files/0051-testsuite-Darwin-Arm64-Darwin-does-not-support-sve-a.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..1e4f70a5317
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0051-testsuite-Darwin-Arm64-Darwin-does-not-support-sve-a.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,201 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From c58b1520c9468113fc9617fed8bd9d95f237cf86 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri, 28 Aug 2020 10:43:30 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] testsuite, Darwin, Arm64 : Darwin does not support sve at
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ present.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Not clear if it will in future.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 5d0dd5d3c14249d0bb7f14ba63778e609425517e)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/g++.target/aarch64/sve/aarch64-sve.exp | 5 +++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .../g++.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp | 5 +++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .../g++.target/aarch64/sve/acle/aarch64-sve-acle.exp | 5 +++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .../g++.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp | 5 +++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/gcc.target/aarch64/sve/aarch64-sve.exp | 5 +++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .../gcc.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp | 5 +++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .../gcc.target/aarch64/sve/acle/aarch64-sve-acle.exp | 5 +++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/gcc.target/aarch64/sve/pcs/aarch64-sve-pcs.exp | 4 ++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/gcc.target/aarch64/sve2/aarch64-sve2.exp | 5 +++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .../gcc.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp | 5 +++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .../gcc.target/aarch64/sve2/acle/aarch64-sve2-acle.exp | 5 +++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 11 files changed, 54 insertions(+)
</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++.target/aarch64/sve/aarch64-sve.exp gcc/testsuite/g++.target/aarch64/sve/aarch64-sve.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 297ab931f81..7e496c7d23c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/g++.target/aarch64/sve/aarch64-sve.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/g++.target/aarch64/sve/aarch64-sve.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -25,6 +25,11 @@ if {![istarget aarch64*-*-*] } then {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return
</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;'>++# Darwin doesn't support sve
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if { [istarget *-*-darwin*] } then {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return
</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;'>+ # Load support procs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ load_lib g++-dg.exp
</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++.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp gcc/testsuite/g++.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 99e8356cc68..a50c9121995 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/g++.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/g++.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -24,6 +24,11 @@ if { ![istarget aarch64*-*-*] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return
</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;'>++# Darwin doesn't support sve
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if { [istarget *-*-darwin*] } then {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return
</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;'>+ # Load support procs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ load_lib g++-dg.exp
</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++.target/aarch64/sve/acle/aarch64-sve-acle.exp gcc/testsuite/g++.target/aarch64/sve/acle/aarch64-sve-acle.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 55a5711016f..907aa533f07 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/g++.target/aarch64/sve/acle/aarch64-sve-acle.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/g++.target/aarch64/sve/acle/aarch64-sve-acle.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -25,6 +25,11 @@ if {![istarget aarch64*-*-*] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return
</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;'>++# Darwin doesn't support sve
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if { [istarget *-*-darwin*] } then {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return
</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;'>+ # Load support procs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ load_lib g++-dg.exp
</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++.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp gcc/testsuite/g++.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 304cdad8ea4..02de6a57732 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/g++.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/g++.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -24,6 +24,11 @@ if { ![istarget aarch64*-*-*] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return
</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;'>++# Darwin doesn't support sve
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if { [istarget *-*-darwin*] } then {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return
</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;'>+ # Load support procs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ load_lib g++-dg.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/sve/aarch64-sve.exp gcc/testsuite/gcc.target/aarch64/sve/aarch64-sve.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 77b84eed707..a8c98bdf3ff 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/sve/aarch64-sve.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/sve/aarch64-sve.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -25,6 +25,11 @@ if {![istarget aarch64*-*-*] } then {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return
</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;'>++# Darwin doesn't support sve
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if { [istarget *-*-darwin*] } then {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return
</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;'>+ # Load support procs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ load_lib gcc-dg.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp gcc/testsuite/gcc.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6cb81a10d0d..638b0909f52 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -24,6 +24,11 @@ if {![istarget aarch64*-*-*] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return
</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;'>++# Darwin doesn't support sve
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if { [istarget *-*-darwin*] } then {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return
</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;'>+ # Load support procs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ load_lib gcc-dg.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/sve/acle/aarch64-sve-acle.exp gcc/testsuite/gcc.target/aarch64/sve/acle/aarch64-sve-acle.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f86b6037b26..9b96551c90c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/sve/acle/aarch64-sve-acle.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/sve/acle/aarch64-sve-acle.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -25,6 +25,11 @@ if {![istarget aarch64*-*-*] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return
</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;'>++# Darwin doesn't support sve
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if { [istarget *-*-darwin*] } then {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return
</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;'>+ # Load support procs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ load_lib gcc-dg.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/sve/pcs/aarch64-sve-pcs.exp gcc/testsuite/gcc.target/aarch64/sve/pcs/aarch64-sve-pcs.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 63f1f4e20a8..1e4fc3265f5 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/sve/pcs/aarch64-sve-pcs.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/sve/pcs/aarch64-sve-pcs.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -25,6 +25,10 @@ if {![istarget aarch64*-*-*] } then {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if { [istarget *-*-darwin*] } then {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return
</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;'>+ # Load support procs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ load_lib gcc-dg.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/sve2/aarch64-sve2.exp gcc/testsuite/gcc.target/aarch64/sve2/aarch64-sve2.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index b1427714f4b..57bc58abc9f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/sve2/aarch64-sve2.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/sve2/aarch64-sve2.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -25,6 +25,11 @@ if {![istarget aarch64*-*-*] } then {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return
</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;'>++# Darwin doesn't support sve
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if { [istarget *-*-darwin*] } then {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return
</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;'>+ # Load support procs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ load_lib gcc-dg.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp gcc/testsuite/gcc.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index b3189fe9f58..9460188a478 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -24,6 +24,11 @@ if {![istarget aarch64*-*-*] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return
</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;'>++# Darwin doesn't support sve
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if { [istarget *-*-darwin*] } then {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return
</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;'>+ # Load support procs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ load_lib gcc-dg.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/sve2/acle/aarch64-sve2-acle.exp gcc/testsuite/gcc.target/aarch64/sve2/acle/aarch64-sve2-acle.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 0fbaae536d4..4d74e75062f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/sve2/acle/aarch64-sve2-acle.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/sve2/acle/aarch64-sve2-acle.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -25,6 +25,11 @@ if {![istarget aarch64*-*-*] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return
</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;'>++# Darwin doesn't support sve
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if { [istarget *-*-darwin*] } then {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return
</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;'>+ # Load support procs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ load_lib gcc-dg.exp
</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;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0052-testsuite-Darwin-Arm64-We-don-t-support-PCH-yet-disa.patch b/lang/gcc10-bootstrap/files/0052-testsuite-Darwin-Arm64-We-don-t-support-PCH-yet-disa.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..16c13625d41
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0052-testsuite-Darwin-Arm64-We-don-t-support-PCH-yet-disa.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,67 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From d54723a107c5cfc84334d2bda376d4365d74f340 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 31 Aug 2020 12:40:51 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] testsuite, Darwin, Arm64 : We don't support PCH yet, disable
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ the tests.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+There is no point in running these, since the current implmentation requires
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+non-PIE executables, which are not permitted on Arm64 Darwin.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit f5a4dd0abae2839dacedffb0a9e3baf07f595487)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/g++.dg/pch/pch.exp | 5 +++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/gcc.dg/pch/pch.exp | 5 +++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/objc.dg/pch/pch.exp | 5 +++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 3 files changed, 15 insertions(+)
</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/pch/pch.exp gcc/testsuite/g++.dg/pch/pch.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f5afdc20f84..68c5b0487cc 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/g++.dg/pch/pch.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/g++.dg/pch/pch.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -14,6 +14,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # <http://www.gnu.org/licenses/>.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Arm64 Darwin doesn't support PCH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if { [istarget aarch64-*-darwin*] } then {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return
</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;'>+ # GCC testsuite for precompiled header interaction,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # that uses the `dg.exp' driver.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.dg/pch/pch.exp gcc/testsuite/gcc.dg/pch/pch.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index c3882b95809..e681ace2fff 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.dg/pch/pch.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.dg/pch/pch.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -14,6 +14,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # <http://www.gnu.org/licenses/>.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Arm64 Darwin doesn't support PCH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if { [istarget aarch64-*-darwin*] } then {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return
</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;'>+ # GCC testsuite for precompiled header interaction,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # that uses the `dg.exp' driver.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/objc.dg/pch/pch.exp gcc/testsuite/objc.dg/pch/pch.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 2da3d96d4fe..4e225f0bc43 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/objc.dg/pch/pch.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/objc.dg/pch/pch.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -14,6 +14,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # <http://www.gnu.org/licenses/>.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Arm64 Darwin doesn't support PCH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if { [istarget aarch64-*-darwin*] } then {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return
</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;'>+ # GCC testsuite for precompiled header interaction,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # that uses the `dg.exp' driver.
</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;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0053-testsuite-Darwin-Arm64-Fixup-tests-where-the-output-.patch b/lang/gcc10-bootstrap/files/0053-testsuite-Darwin-Arm64-Fixup-tests-where-the-output-.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..38f9b0695b5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0053-testsuite-Darwin-Arm64-Fixup-tests-where-the-output-.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,48 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 6e83bad4a9dd71c1a65ee8635fe3ac4a04cfb552 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri, 4 Sep 2020 13:14:58 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] testsuite, Darwin, Arm64 : Fixup tests where the output is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ different.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+It's to be expected that the output from scan assembler tests will
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+vary for Darwin - since the object format, assembler syntax and ABI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+all have differences from ELF/AAPCS64.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit d84274d8e8ee6223b123e70a0d885210057a3880)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/g++.dg/abi/aarch64_guard1.C | 3 ++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/g++.dg/abi/arm_va_list.C | 6 ++++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 6 insertions(+), 3 deletions(-)
</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/abi/aarch64_guard1.C gcc/testsuite/g++.dg/abi/aarch64_guard1.C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index e2669a89fbf..715750ae019 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/g++.dg/abi/aarch64_guard1.C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/g++.dg/abi/aarch64_guard1.C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12,5 +12,6 @@ int *foo ()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return &x;
</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;'>+-// { dg-final { scan-assembler _ZGVZ3foovE1x,8,8 } }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// { dg-final { scan-assembler _ZGVZ3foovE1x,8,8 { target { ! *-*-darwin* } } } }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// { dg-final { scan-assembler __DATA,__common,__ZGVZ3foovE1x,8,3 { target *-*-darwin* } } }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // { dg-final { scan-tree-dump "& 1" "original" } }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/g++.dg/abi/arm_va_list.C gcc/testsuite/g++.dg/abi/arm_va_list.C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 4f6f3a46da4..ff9fd8bcf0d 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/g++.dg/abi/arm_va_list.C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/g++.dg/abi/arm_va_list.C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -8,8 +8,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // #include <stdarg.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ typedef __builtin_va_list va_list;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-// { dg-final { scan-assembler "\n_Z1fPSt9__va_list:" } }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// { dg-final { scan-assembler "\n_Z1fPSt9__va_list:" { target { ! *-*-darwin* } } } }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// { dg-final { scan-assembler "\n__Z1fPPc:" { target *-*-darwin* } } }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void f(va_list*) {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-// { dg-final { scan-assembler "\n_Z1gSt9__va_listS_:" } }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// { dg-final { scan-assembler "\n_Z1gSt9__va_listS_:" { target { ! *-*-darwin* } } } }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// { dg-final { scan-assembler "\n__Z1gPcS_:" { target *-*-darwin* } } }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void g(va_list, va_list) {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0054-testsuite-Darwin-Arm64-Fix-up-CFString-tests-for-arm.patch b/lang/gcc10-bootstrap/files/0054-testsuite-Darwin-Arm64-Fix-up-CFString-tests-for-arm.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..835c67e8c48
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0054-testsuite-Darwin-Arm64-Fix-up-CFString-tests-for-arm.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,64 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From c7e6241cc68852cf694fd647356780b57f63a5c1 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 6 Sep 2020 08:58:11 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] testsuite, Darwin, Arm64 : Fix up CFString tests for arm64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ asm.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The codegen tests include scan asms for the required output - these
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+need adjustment for the Arm64 assembler syntax.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 42712c64bde976a6084ff3f951ab20a2aceb9405)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/g++.dg/torture/darwin-cfstring-3.C | 4 ++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/gcc.dg/torture/darwin-cfstring-3.c | 4 ++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/obj-c++.dg/torture/strings/const-cfstring-4.mm | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/objc.dg/torture/strings/const-cfstring-4.m | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 4 files changed, 6 insertions(+), 6 deletions(-)
</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/torture/darwin-cfstring-3.C gcc/testsuite/g++.dg/torture/darwin-cfstring-3.C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index ee4b385b17f..eabb3b517a4 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/g++.dg/torture/darwin-cfstring-3.C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/g++.dg/torture/darwin-cfstring-3.C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -26,5 +26,5 @@ void foo(void) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler "\\.long\[ \\t\]+___CFConstantStringClassReference\n\[ \\t\]*\\.long\[ \\t\]+1992\n\[ \\t\]*\\.long\[ \\t\]+\[lL\]C.*\n\[ \\t\]*\\.long\[ \\t\]+4\n" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler "\\.long\[ \\t\]+___CFConstantStringClassReference\n\[ \\t\]*\\.long\[ \\t\]+1992\n\[ \\t\]*\\.long\[ \\t\]+\[lL\]C.*\n\[ \\t\]*\\.long\[ \\t\]+10\n" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { scan-assembler ".quad\t___CFConstantStringClassReference\n\t.long\t1992\n\t.space 4\n\t.quad\t.*\n\t.quad\t4\n" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { scan-assembler ".quad\t___CFConstantStringClassReference\n\t.long\t1992\n\t.space 4\n\t.quad\t.*\n\t.quad\t10\n" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { scan-assembler {.(quad|xword)\t___CFConstantStringClassReference\n\t.(long|word)\t1992\n\t.space 4\n\t.(quad|xword)\t.*\n\t.(quad|xword)\t4\n} { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { scan-assembler {.(quad|xword)\t___CFConstantStringClassReference\n\t.(long|word)\t1992\n\t.space 4\n\t.(quad|xword)\t.*\n\t.(quad|xword)\t10\n} { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.dg/torture/darwin-cfstring-3.c gcc/testsuite/gcc.dg/torture/darwin-cfstring-3.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index ee4b385b17f..eabb3b517a4 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.dg/torture/darwin-cfstring-3.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.dg/torture/darwin-cfstring-3.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -26,5 +26,5 @@ void foo(void) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler "\\.long\[ \\t\]+___CFConstantStringClassReference\n\[ \\t\]*\\.long\[ \\t\]+1992\n\[ \\t\]*\\.long\[ \\t\]+\[lL\]C.*\n\[ \\t\]*\\.long\[ \\t\]+4\n" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler "\\.long\[ \\t\]+___CFConstantStringClassReference\n\[ \\t\]*\\.long\[ \\t\]+1992\n\[ \\t\]*\\.long\[ \\t\]+\[lL\]C.*\n\[ \\t\]*\\.long\[ \\t\]+10\n" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { scan-assembler ".quad\t___CFConstantStringClassReference\n\t.long\t1992\n\t.space 4\n\t.quad\t.*\n\t.quad\t4\n" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { scan-assembler ".quad\t___CFConstantStringClassReference\n\t.long\t1992\n\t.space 4\n\t.quad\t.*\n\t.quad\t10\n" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { scan-assembler {.(quad|xword)\t___CFConstantStringClassReference\n\t.(long|word)\t1992\n\t.space 4\n\t.(quad|xword)\t.*\n\t.(quad|xword)\t4\n} { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { scan-assembler {.(quad|xword)\t___CFConstantStringClassReference\n\t.(long|word)\t1992\n\t.space 4\n\t.(quad|xword)\t.*\n\t.(quad|xword)\t10\n} { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/obj-c++.dg/torture/strings/const-cfstring-4.mm gcc/testsuite/obj-c++.dg/torture/strings/const-cfstring-4.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 1155db5f83f..e0dd8062373 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/obj-c++.dg/torture/strings/const-cfstring-4.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/obj-c++.dg/torture/strings/const-cfstring-4.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -18,4 +18,4 @@ void *foo (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler ".section __DATA, __cfstring" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler ".long\t___CFConstantStringClassReference\n\t.long\t1992\n\t.long\t.*\n\t.long\t19\n" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { scan-assembler ".quad\t___CFConstantStringClassReference\n\t.long\t1992\n\t.space 4\n\t.quad\t.*\n\t.quad\t19\n" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { scan-assembler {.(quad|xword)\t___CFConstantStringClassReference\n\t.(long|word)\t1992\n\t.space 4\n\t.(quad|xword)\t.*\n\t.(quad|xword)\t19\n} { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/objc.dg/torture/strings/const-cfstring-4.m gcc/testsuite/objc.dg/torture/strings/const-cfstring-4.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 1155db5f83f..e0dd8062373 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/objc.dg/torture/strings/const-cfstring-4.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/objc.dg/torture/strings/const-cfstring-4.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -18,4 +18,4 @@ void *foo (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler ".section __DATA, __cfstring" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler ".long\t___CFConstantStringClassReference\n\t.long\t1992\n\t.long\t.*\n\t.long\t19\n" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { scan-assembler ".quad\t___CFConstantStringClassReference\n\t.long\t1992\n\t.space 4\n\t.quad\t.*\n\t.quad\t19\n" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { scan-assembler {.(quad|xword)\t___CFConstantStringClassReference\n\t.(long|word)\t1992\n\t.space 4\n\t.(quad|xword)\t.*\n\t.(quad|xword)\t19\n} { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0055-testsuite-Darwin-Arm64-Amend-segaddr-test.patch b/lang/gcc10-bootstrap/files/0055-testsuite-Darwin-Arm64-Amend-segaddr-test.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..bbae60f838c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0055-testsuite-Darwin-Arm64-Amend-segaddr-test.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,29 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From bf8a132fba75c1ea7a563c91478466f654e8cfac Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 6 Sep 2020 14:36:47 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] testsuite, Darwin, Arm64 : Amend segaddr test.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The target does not accept no-pie, so we must not try it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit d6af9eadb855a199913e9a1bac664f2528131165)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/gcc.dg/darwin-segaddr.c | 3 ++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 2 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.dg/darwin-segaddr.c gcc/testsuite/gcc.dg/darwin-segaddr.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 526db77bd9c..fcc324b3031 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.dg/darwin-segaddr.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.dg/darwin-segaddr.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,7 +1,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Check that -segaddr gets through and works. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-do run { target *-*-darwin* } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-options "-O0 -segaddr __TEST 0x200000 -fno-pie" { target { *-*-darwin* && { ! lp64 } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-options "-O0 -segaddr __TEST 0x110000000 -fno-pie" { target { *-*-darwin* && lp64 } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-options "-O0 -segaddr __TEST 0x110000000 -fno-pie" { target { *-*-darwin[1456789]* && lp64 } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-options "-O0 -segaddr __TEST 0x110000000 " { target { *-*-darwin2* && lp64 } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern void abort ();
</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;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0056-testsuite-Darwin-Arm64-Adjust-pubtypes-lengths-for-A.patch b/lang/gcc10-bootstrap/files/0056-testsuite-Darwin-Arm64-Adjust-pubtypes-lengths-for-A.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..2fca190edb0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0056-testsuite-Darwin-Arm64-Adjust-pubtypes-lengths-for-A.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,59 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From f032baffda7ef23f3beef9949581192ae19db00f Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 7 Sep 2020 00:43:31 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] testsuite, Darwin, Arm64 : Adjust pubtypes lengths for Arm64.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This differs from other Darwin targets CHECKME.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 1332db84c35d86614d5354b5c73f924e263a8aa7)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/gcc.dg/pubtypes-2.c | 3 ++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/gcc.dg/pubtypes-3.c | 3 ++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/gcc.dg/pubtypes-4.c | 3 ++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 3 files changed, 6 insertions(+), 3 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.dg/pubtypes-2.c gcc/testsuite/gcc.dg/pubtypes-2.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6669f3d3170..43e18010c0e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.dg/pubtypes-2.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.dg/pubtypes-2.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2,7 +2,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-options "-O0 -gdwarf-2 -dA" } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-skip-if "Unmatchable assembly" { mmix-*-* } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler "__debug_pubtypes" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { scan-assembler "long+\[ \t\]+0x12e+\[ \t\]+\[#;]+\[ \t\]+Pub Info Length" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { scan-assembler {long+[ \t]+0x12e+[ \t]+[#;]+[ \t]+Pub Info Length} { target { ! aarch64-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { scan-assembler {long+[ \t]+0x163+[ \t]+[#;]+[ \t]+Pub Info Length} { target aarch64-*-darwin* } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler "used_struct\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler-not "unused_struct\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.dg/pubtypes-3.c gcc/testsuite/gcc.dg/pubtypes-3.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 345e4edaba6..9041eba8d1e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.dg/pubtypes-3.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.dg/pubtypes-3.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2,7 +2,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-options "-O0 -gdwarf-2 -dA" } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-skip-if "Unmatchable assembly" { mmix-*-* } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler "__debug_pubtypes" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { scan-assembler "long+\[ \t\]+0x12e+\[ \t\]+\[#;]+\[ \t\]+Pub Info Length" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { scan-assembler {long+[ \t]+0x12e+[ \t]+[#;]+[ \t]+Pub Info Length} { target { ! aarch64-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { scan-assembler {long+[ \t]+0x163+[ \t]+[#;]+[ \t]+Pub Info Length} { target aarch64-*-darwin* } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler "used_struct\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler-not "unused_struct\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler-not "\"list_name_type\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.dg/pubtypes-4.c gcc/testsuite/gcc.dg/pubtypes-4.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index da2f9b02ff4..d3fa3e98890 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.dg/pubtypes-4.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.dg/pubtypes-4.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2,7 +2,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-options "-O0 -gdwarf-2 -dA" } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-skip-if "Unmatchable assembly" { mmix-*-* } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler "__debug_pubtypes" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { scan-assembler "long+\[ \t\]+0x165+\[ \t\]+\[#;]+\[ \t\]+Pub Info Length" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { scan-assembler {long+[ \t]+0x165+[ \t]+[#;]+[ \t]+Pub Info Length} { target { ! aarch64-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { scan-assembler {long+[ \t]+0x19a+[ \t]+[#;]+[ \t]+Pub Info Length} { target aarch64-*-darwin* } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler "used_struct\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler-not "unused_struct\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler "\"list_name_type\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0057-testsuite-Darwin-Arm64-Adjust-for-revised-section-sp.patch b/lang/gcc10-bootstrap/files/0057-testsuite-Darwin-Arm64-Adjust-for-revised-section-sp.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..11a3ad3a684
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0057-testsuite-Darwin-Arm64-Adjust-for-revised-section-sp.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,28 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 0b3a3baa0821326058be0a7755fda6d3a014e57b Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Tue, 8 Sep 2020 19:52:10 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] testsuite, Darwin, Arm64 : Adjust for revised section
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ spellings.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+We fixed some section names to change __common -> __bss which
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+affects this testcase.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit bb68974eb67d09ee1c46ea4518dc29785fe7ff50)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/g++.dg/abi/aarch64_guard1.C | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 1 insertion(+), 1 deletion(-)
</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/abi/aarch64_guard1.C gcc/testsuite/g++.dg/abi/aarch64_guard1.C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 715750ae019..52be32decc6 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/g++.dg/abi/aarch64_guard1.C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/g++.dg/abi/aarch64_guard1.C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -13,5 +13,5 @@ int *foo ()
</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;'>+ // { dg-final { scan-assembler _ZGVZ3foovE1x,8,8 { target { ! *-*-darwin* } } } }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-// { dg-final { scan-assembler __DATA,__common,__ZGVZ3foovE1x,8,3 { target *-*-darwin* } } }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// { dg-final { scan-assembler __DATA,__bss,__ZGVZ3foovE1x,8,3 { target *-*-darwin* } } }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // { dg-final { scan-tree-dump "& 1" "original" } }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0058-testsuite-Darwin-Arm64-Disable-the-AAPCS64-tests.patch b/lang/gcc10-bootstrap/files/0058-testsuite-Darwin-Arm64-Disable-the-AAPCS64-tests.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..97d3757a7d7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0058-testsuite-Darwin-Arm64-Disable-the-AAPCS64-tests.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,35 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From bbd86261077491279523ca7c8a10230cd08b5509 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Wed, 9 Sep 2020 19:55:06 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] testsuite, Darwin, Arm64 : Disable the AAPCS64 tests.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+These are not appropriate for darwinpcs / Mach-O.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+For now, we have compat.exp and struct-layout-1.exp as some
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+coverage, but ideally we should have some specific ones (perhaps
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+some of the AAPCS64 ones can be adapted).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 2d107dadd4bd8c4cadb24bb13722446168384e76)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/gcc.target/aarch64/aapcs64/aapcs64.exp | 5 +++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 5 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/aapcs64/aapcs64.exp gcc/testsuite/gcc.target/aarch64/aapcs64/aapcs64.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index fc8de933d2c..a86e7f340f7 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/aapcs64/aapcs64.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/aapcs64/aapcs64.exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -25,6 +25,11 @@ if { ![istarget aarch64*-*-*] } then {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if { [istarget *-*-darwin*] } then {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # darwinpcs and mach-o will need different test mechanisms.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return
</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;'>+ torture-init
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set-torture-options $C_TORTURE_OPTIONS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set additional_flags "-W -Wall -Wno-abi"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0059-testsuite-Darwin-Arm64-Add-U_L_P-to-bf16-mangling-te.patch b/lang/gcc10-bootstrap/files/0059-testsuite-Darwin-Arm64-Add-U_L_P-to-bf16-mangling-te.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..c86b62fbe6e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0059-testsuite-Darwin-Arm64-Add-U_L_P-to-bf16-mangling-te.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,39 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 1f29b0322df71f2f56684411dfe8ea1e8dfc8e6d Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sat, 12 Sep 2020 09:54:18 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] testsuite, Darwin, Arm64 : Add U_L_P to bf16 mangling test.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/testsuite/ChangeLog
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * g++.dg/ext/arm-bf16/bf16-mangle-aarch64-1.C: Adjust scan-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ asms to allow for USER_LABEL_PREFIX and Darwin assembler
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ syntax.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit aaece0d8fea80b13cc02c89d09f487d7fc035303)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/g++.dg/ext/arm-bf16/bf16-mangle-aarch64-1.C | 6 +++---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 3 insertions(+), 3 deletions(-)
</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/ext/arm-bf16/bf16-mangle-aarch64-1.C gcc/testsuite/g++.dg/ext/arm-bf16/bf16-mangle-aarch64-1.C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 5426a1814b8..a017ce8ce5f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/g++.dg/ext/arm-bf16/bf16-mangle-aarch64-1.C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/g++.dg/ext/arm-bf16/bf16-mangle-aarch64-1.C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2,12 +2,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Test mangling */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { scan-assembler "\t.global\t_Z1fPu6__bf16" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { scan-assembler {\t.globa?l[ \t]_?_Z1fPu6__bf16} } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void f (__bf16 *x) { }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { scan-assembler "\t.global\t_Z1gPu6__bf16S_" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { scan-assembler {\t.globa?l[ \t]_?_Z1gPu6__bf16S_} } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void g (__bf16 *x, __bf16 *y) { }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { scan-assembler "\t.global\t_ZN1SIu6__bf16u6__bf16E1iE" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { scan-assembler {\t.globa?l[ \t]_?_ZN1SIu6__bf16u6__bf16E1iE} } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template <typename T, typename U> struct S { static int i; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template <> int S<__bf16, __bf16>::i = 3;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0060-testsuite-Darwin-Arm64-Amend-scan-asms-for-arm-synta.patch b/lang/gcc10-bootstrap/files/0060-testsuite-Darwin-Arm64-Amend-scan-asms-for-arm-synta.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..38cefbd7b85
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0060-testsuite-Darwin-Arm64-Amend-scan-asms-for-arm-synta.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,47 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From ced99f2402853cef36d63cfe4f57247bcb2beab2 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 4 Oct 2020 12:59:05 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] testsuite, Darwin, Arm64 : Amend scan-asms for arm syntax.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Adjust some objective C tests.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit ab73d6d9090484230b8dd9fe5fc3ba8e7d1dcda8)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/objc.dg/torture/strings/const-str-10.m | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/objc.dg/torture/strings/const-str-11.m | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/objc.dg/torture/strings/const-str-9.m | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 3 files changed, 3 insertions(+), 3 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/objc.dg/torture/strings/const-str-10.m gcc/testsuite/objc.dg/torture/strings/const-str-10.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6565dc20007..81b0d326c56 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/objc.dg/torture/strings/const-str-10.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/objc.dg/torture/strings/const-str-10.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -34,4 +34,4 @@ const NSConstantString *appKey = @"MyApp";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler ".section __OBJC, __cstring_object" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler ".section __DATA, __objc_stringobj" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler ".long\t__NSConstantStringClassReference\n\t.long\t.*\n\t.long\t5\n\t.data" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { scan-assembler ".quad\t_OBJC_CLASS_._NSConstantString\n\t.quad\t.*\n\t.long\t5\n\t.space" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { scan-assembler {.(quad|xword)\t_OBJC_CLASS_._NSConstantString\n\t.(quad|xword)\t.*\n\t.(long|word)\t5\n\t.space} { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/objc.dg/torture/strings/const-str-11.m gcc/testsuite/objc.dg/torture/strings/const-str-11.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 2bdb1531e1d..b044b0fd8c7 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/objc.dg/torture/strings/const-str-11.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/objc.dg/torture/strings/const-str-11.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -33,4 +33,4 @@ const XStr *appKey = @"MyApp";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler ".section __OBJC, __cstring_object" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler ".section __DATA, __objc_stringobj" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler ".long\t__XStrClassReference\n\t.long\t.*\n\t.long\t5\n\t.data" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { scan-assembler ".quad\t_OBJC_CLASS_._XStr\n\t.quad\t.*\n\t.long\t5\n\t.space" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { scan-assembler {.(quad|xword)\t_OBJC_CLASS_._XStr\n\t.(quad|xword)\t.*\n\t.(long|word)\t5\n\t.space} { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/objc.dg/torture/strings/const-str-9.m gcc/testsuite/objc.dg/torture/strings/const-str-9.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 966ea5e498d..d3d2916ed06 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/objc.dg/torture/strings/const-str-9.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/objc.dg/torture/strings/const-str-9.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -25,4 +25,4 @@ const NSConstantString *appKey = @"MyApp";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler ".section __OBJC, __cstring_object" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler ".section __DATA, __objc_stringobj" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler ".long\t__NSConstantStringClassReference\n\t.long\t.*\n\t.long\t5\n\t.data" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { scan-assembler ".quad\t_OBJC_CLASS_._NSConstantString\n\t.quad\t.*\n\t.long\t5\n\t.space" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { scan-assembler {.(quad|xword)\t_OBJC_CLASS_._NSConstantString\n\t.(quad|xword)\t.*\n\t.(long|word)\t5\n\t.space} { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0061-testsuite-Darwin-Arm64-Skip-tests-with-an-unsupporte.patch b/lang/gcc10-bootstrap/files/0061-testsuite-Darwin-Arm64-Skip-tests-with-an-unsupporte.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..6dd6dad246a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0061-testsuite-Darwin-Arm64-Skip-tests-with-an-unsupporte.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,42 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From fa56e9177d3d342252548c6bbc095a64e0c995aa Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 12 Oct 2020 15:00:57 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] testsuite, Darwin, Arm64 : Skip tests with an unsupported
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ API.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The "OBJC_OLD_DISPATCH_PROTOTYPES" workaround is explicitly
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+disabled for arm64 in the system headers.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 700ecd7f434828071a7da57570c619399e8d620b)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/obj-c++.dg/gnu-api-2-class-meta.mm | 1 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/obj-c++.dg/gnu-api-2-class.mm | 1 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 2 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/obj-c++.dg/gnu-api-2-class-meta.mm gcc/testsuite/obj-c++.dg/gnu-api-2-class-meta.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index bdaef9828ca..b28788d1ea4 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/obj-c++.dg/gnu-api-2-class-meta.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/obj-c++.dg/gnu-api-2-class-meta.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19,6 +19,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-do run } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-skip-if "No API#2 pre-Darwin9" { *-*-darwin[5-8]* } { "-fnext-runtime" } { "" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-skip-if "API unsupported" { arm64*-*-darwin* aarch64*-*-darwin* } { "-fnext-runtime" } { "" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-additional-options "-DOBJC_OLD_DISPATCH_PROTOTYPES" { target { *-*-darwin* } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/obj-c++.dg/gnu-api-2-class.mm gcc/testsuite/obj-c++.dg/gnu-api-2-class.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index ae39026c2d3..68f0c8cc37c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/obj-c++.dg/gnu-api-2-class.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/obj-c++.dg/gnu-api-2-class.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6,6 +6,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-do run } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-skip-if "No API#2 pre-Darwin9" { *-*-darwin[5-8]* } { "-fnext-runtime" } { "" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-skip-if "API unsupported" { arm64*-*-darwin* aarch64*-*-darwin* } { "-fnext-runtime" } { "" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-additional-options "-DOBJC_OLD_DISPATCH_PROTOTYPES" { target { *-*-darwin* } } } */
</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;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0062-testsuite-Darwin-Arm64-Skip-tests-with-an-unsupporte.patch b/lang/gcc10-bootstrap/files/0062-testsuite-Darwin-Arm64-Skip-tests-with-an-unsupporte.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..81c1b3da184
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0062-testsuite-Darwin-Arm64-Skip-tests-with-an-unsupporte.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,42 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 06307ec7e7f27cc287abba5fff57b8ba262560bb Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 12 Oct 2020 15:01:20 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] testsuite, Darwin, Arm64 : Skip tests with an unsupported
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ API.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The "OBJC_OLD_DISPATCH_PROTOTYPES" workaround is explicitly
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+disabled for arm64 in the system headers.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 478ed35ca6797f4465aef158f46194b9facb96d9)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/objc.dg/gnu-api-2-class-meta.m | 1 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/objc.dg/gnu-api-2-class.m | 1 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 2 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/objc.dg/gnu-api-2-class-meta.m gcc/testsuite/objc.dg/gnu-api-2-class-meta.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 3a85b163c91..3e3abd11ac9 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/objc.dg/gnu-api-2-class-meta.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/objc.dg/gnu-api-2-class-meta.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19,6 +19,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-do run } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-skip-if "No API#2 pre-Darwin9" { *-*-darwin[5-8]* } { "-fnext-runtime" } { "" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-skip-if "API unsupported" { arm64*-*-darwin* aarch64*-*-darwin* } { "-fnext-runtime" } { "" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-additional-options "-DOBJC_OLD_DISPATCH_PROTOTYPES" { target { *-*-darwin* } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/objc.dg/gnu-api-2-class.m gcc/testsuite/objc.dg/gnu-api-2-class.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index eade0dcbbfa..3f41dc141cd 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/objc.dg/gnu-api-2-class.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/objc.dg/gnu-api-2-class.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6,6 +6,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-do run } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-skip-if "No API#2 pre-Darwin9" { *-*-darwin[5-8]* } { "-fnext-runtime" } { "" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-skip-if "API unsupported" { arm64*-*-darwin* aarch64*-*-darwin* } { "-fnext-runtime" } { "" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-additional-options "-DOBJC_OLD_DISPATCH_PROTOTYPES" { target { *-*-darwin* } } } */
</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;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0063-testsuite-Objective-C-Darwin-Arm64-adjust-scan-asms-.patch b/lang/gcc10-bootstrap/files/0063-testsuite-Objective-C-Darwin-Arm64-adjust-scan-asms-.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..684ac8d23af
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0063-testsuite-Objective-C-Darwin-Arm64-adjust-scan-asms-.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,48 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 095a557521d8ef56859719a7634612becc2bc212 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 12 Oct 2020 15:02:39 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] testsuite, Objective-C, Darwin, Arm64 : adjust scan-asms for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ arm64.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+We need to pick up xword and word instead of quad and long.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit af20a9f5bbd84561965876fb01468863a4a33b8b)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/obj-c++.dg/torture/strings/const-str-10.mm | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/obj-c++.dg/torture/strings/const-str-11.mm | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/obj-c++.dg/torture/strings/const-str-9.mm | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 3 files changed, 3 insertions(+), 3 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/obj-c++.dg/torture/strings/const-str-10.mm gcc/testsuite/obj-c++.dg/torture/strings/const-str-10.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index e1dad124cd6..eb89710d890 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/obj-c++.dg/torture/strings/const-str-10.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/obj-c++.dg/torture/strings/const-str-10.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -33,4 +33,4 @@ const NSConstantString *appKey = @"MyApp";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler ".section __OBJC, __cstring_object" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler ".section __DATA, __objc_stringobj" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler ".long\t__NSConstantStringClassReference\n\t.long\t.*\n\t.long\t5\n\t.data" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { scan-assembler ".quad\t_OBJC_CLASS_._NSConstantString\n\t.quad\t.*\n\t.long\t5\n\t.space" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { scan-assembler {.(quad|xword)\t_OBJC_CLASS_._NSConstantString\n\t.(quad|xword)\t.*\n\t.(long|word)\t5\n\t.space} { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/obj-c++.dg/torture/strings/const-str-11.mm gcc/testsuite/obj-c++.dg/torture/strings/const-str-11.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 30a9228a64e..c1b58dc6cb8 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/obj-c++.dg/torture/strings/const-str-11.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/obj-c++.dg/torture/strings/const-str-11.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -33,4 +33,4 @@ const XStr *appKey = @"MyApp";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler ".section __OBJC, __cstring_object" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler ".section __DATA, __objc_stringobj" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler ".long\t__XStrClassReference\n\t.long\t.*\n\t.long\t5\n\t.data" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { scan-assembler ".quad\t_OBJC_CLASS_._XStr\n\t.quad\t.*\n\t.long\t5\n\t.space" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { scan-assembler {.(quad|xword)\t_OBJC_CLASS_._XStr\n\t.(quad|xword)\t.*\n\t.(long|word)\t5\n\t.space} { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/obj-c++.dg/torture/strings/const-str-9.mm gcc/testsuite/obj-c++.dg/torture/strings/const-str-9.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a1a14295e90..8457f46be53 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/obj-c++.dg/torture/strings/const-str-9.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/obj-c++.dg/torture/strings/const-str-9.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -25,4 +25,4 @@ const NSConstantString *appKey = @"MyApp";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler ".section __OBJC, __cstring_object" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler ".section __DATA, __objc_stringobj" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-final { scan-assembler ".long\t__NSConstantStringClassReference\n\t.long\t.*\n\t.long\t5\n\t.data" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { scan-assembler ".quad\t_OBJC_CLASS_._NSConstantString\n\t.quad\t.*\n\t.long\t5\n\t.space" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { scan-assembler {.(quad|xword)\t_OBJC_CLASS_._NSConstantString\n\t.(quad|xword)\t.*\n\t.(long|word)\t5\n\t.space} { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0064-testsuite-Darwin-Arm64-Skip-two-unsupported-tests.patch b/lang/gcc10-bootstrap/files/0064-testsuite-Darwin-Arm64-Skip-two-unsupported-tests.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..3747b31f6d6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0064-testsuite-Darwin-Arm64-Skip-two-unsupported-tests.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,44 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 85c45ce4af4b92c0fade8ce239492bce84dd9c2c Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sat, 17 Oct 2020 16:53:36 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] testsuite, Darwin, Arm64 : Skip two unsupported tests.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The compare function bodies code is ELF-specific at present
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+skip the tests until we can make a Mach-O version.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/testsuite/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * g++.target/aarch64/no_unique_address_1.C: Skip.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * g++.target/aarch64/no_unique_address_2.C: Skip.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit e3ac96c94b404c47974946d09e474d995c6757a1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/g++.target/aarch64/no_unique_address_1.C | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/g++.target/aarch64/no_unique_address_2.C | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 2 insertions(+), 2 deletions(-)
</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++.target/aarch64/no_unique_address_1.C gcc/testsuite/g++.target/aarch64/no_unique_address_1.C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 5fc68ea5d6d..5faf915fa54 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/g++.target/aarch64/no_unique_address_1.C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/g++.target/aarch64/no_unique_address_1.C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,5 +1,5 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-options "-std=c++11 -O -foptimize-sibling-calls -fpeephole2" } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { check-function-bodies "**" "" "" { target lp64 } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { check-function-bodies "**" "" "" { target { lp64 && { ! aarch64*-*-darwin* } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct X { };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct Y { int : 0; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/g++.target/aarch64/no_unique_address_2.C gcc/testsuite/g++.target/aarch64/no_unique_address_2.C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f0717133ccd..322ec127c79 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/g++.target/aarch64/no_unique_address_2.C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/g++.target/aarch64/no_unique_address_2.C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,5 +1,5 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-options "-std=c++17 -O -foptimize-sibling-calls -fpeephole2" } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { check-function-bodies "**" "" "" { target lp64 } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { check-function-bodies "**" "" "" { target { lp64 && { ! aarch64*-*-darwin* } } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct X { };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct Y { int : 0; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0065-testsuite-Darwin-Arm64-Skip-more-tests-using-check-f.patch b/lang/gcc10-bootstrap/files/0065-testsuite-Darwin-Arm64-Skip-more-tests-using-check-f.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..feb3659fa86
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0065-testsuite-Darwin-Arm64-Skip-more-tests-using-check-f.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,293 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 726fa2d30e9d7e08709261c65714991d8988b6ae Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Thu, 22 Oct 2020 09:30:54 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] testsuite, Darwin, Arm64 : Skip more tests using
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'check-function-bodies'.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The implementation for check-function-bodies doesn't support Mach-O at this
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+point - so this is justy noise. TODO: provide a Mach-O version of the scan
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+asm function.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 8bd52be95e400e46f3644f4e741e80897c570d81)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .../gcc.target/aarch64/advsimd-intrinsics/bfcvt-compile.c | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .../gcc.target/aarch64/advsimd-intrinsics/bfcvt-nosimd.c | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .../gcc.target/aarch64/advsimd-intrinsics/bfcvtnq2-untied.c | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfdot-1.c | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .../gcc.target/aarch64/advsimd-intrinsics/bfmlalbt-compile.c | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .../gcc.target/aarch64/advsimd-intrinsics/bfmmla-compile.c | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vdot-3-1.c | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/gcc.target/aarch64/bfloat16_scalar_1.c | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/gcc.target/aarch64/bfloat16_scalar_2.c | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/gcc.target/aarch64/bfloat16_scalar_3.c | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/gcc.target/aarch64/bfloat16_simd_1.c | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/gcc.target/aarch64/bfloat16_simd_2.c | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/gcc.target/aarch64/bfloat16_simd_3.c | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/gcc.target/aarch64/movk_2.c | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/gcc.target/aarch64/pr92424-1.c | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/gcc.target/aarch64/pr94697.c | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/gcc.target/aarch64/torture/simd-abi-9.c | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/testsuite/gcc.target/aarch64/vect_mixed_sizes_14.c | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 20 files changed, 20 insertions(+), 20 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfcvt-compile.c gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfcvt-compile.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 47af7c494d9..e4175c077a4 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfcvt-compile.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfcvt-compile.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2,7 +2,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-add-options arm_v8_2a_bf16_neon } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-additional-options "-save-temps" } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { check-function-bodies "**" "" {-O[^0]} } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { check-function-bodies "**" "" {-O[^0]} { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-skip-if "" { *-*-* } { "-fno-fat-lto-objects" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <arm_neon.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfcvt-nosimd.c gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfcvt-nosimd.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a914680937d..c6b2ef3e444 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfcvt-nosimd.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfcvt-nosimd.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2,7 +2,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-skip-if "" { *-*-* } { "-fno-fat-lto-objects" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-require-effective-target aarch64_asm_bf16_ok } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-additional-options "-save-temps -march=armv8.2-a+bf16+nosimd" } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { check-function-bodies "**" "" {-O[^0]} } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { check-function-bodies "**" "" {-O[^0]} { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <arm_neon.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfcvtnq2-untied.c gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfcvtnq2-untied.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 4b730e39d4e..e0795394c6e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfcvtnq2-untied.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfcvtnq2-untied.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2,7 +2,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-add-options arm_v8_2a_bf16_neon } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-additional-options "-save-temps" } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { check-function-bodies "**" "" {-O[^0]} } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { check-function-bodies "**" "" {-O[^0]} { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-skip-if "" { *-*-* } { "-fno-fat-lto-objects" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <arm_neon.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfdot-1.c gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfdot-1.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index ad51507731b..cf3a66a4fb4 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfdot-1.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfdot-1.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2,7 +2,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-add-options arm_v8_2a_bf16_neon } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-additional-options "-save-temps" } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { check-function-bodies "**" "" {-O[^0]} } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { check-function-bodies "**" "" {-O[^0]} { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-skip-if "" { *-*-* } { "-fno-fat-lto-objects" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <arm_neon.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 58bdee5ac9d..055cf62b78a 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2,7 +2,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-add-options arm_v8_2a_bf16_neon } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-additional-options "-mbig-endian --save-temps" } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { check-function-bodies "**" "" {-O[^0]} } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { check-function-bodies "**" "" {-O[^0]} { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-skip-if "" { *-*-* } { "-fno-fat-lto-objects" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <arm_neon.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfmlalbt-compile.c gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfmlalbt-compile.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 9810e4ba374..37baea2fb05 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfmlalbt-compile.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfmlalbt-compile.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2,7 +2,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-add-options arm_v8_2a_bf16_neon } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-additional-options "-save-temps" } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <arm_neon.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfmmla-compile.c gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfmmla-compile.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 0aaa69f0037..fdd69b52d67 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfmmla-compile.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfmmla-compile.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2,7 +2,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-add-options arm_v8_2a_bf16_neon } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-additional-options "-save-temps" } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <arm_neon.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vdot-3-1.c gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vdot-3-1.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index ac4f821e771..f20608de05c 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vdot-3-1.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vdot-3-1.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2,7 +2,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-require-effective-target arm_v8_2a_i8mm_ok } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-add-options arm_v8_2a_i8mm } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-additional-options "-save-temps" } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { check-function-bodies "**" "" {-O[^0]} } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { check-function-bodies "**" "" {-O[^0]} { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-skip-if "" { *-*-* } { "-fno-fat-lto-objects" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <arm_neon.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 96bca2356e4..f833486b6d9 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2,7 +2,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-require-effective-target arm_v8_2a_i8mm_ok } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-add-options arm_v8_2a_i8mm } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-additional-options "-mbig-endian -save-temps" } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { check-function-bodies "**" "" {-O[^0]} } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { check-function-bodies "**" "" {-O[^0]} { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-skip-if "" { *-*-* } { "-fno-fat-lto-objects" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <arm_neon.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/bfloat16_scalar_1.c gcc/testsuite/gcc.target/aarch64/bfloat16_scalar_1.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index ef43766495c..ff2801ddaa5 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/bfloat16_scalar_1.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/bfloat16_scalar_1.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2,7 +2,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-add-options arm_v8_2a_bf16_neon } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-additional-options "-O3 --save-temps -std=gnu90" } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { check-function-bodies "**" "" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { check-function-bodies "**" "" "" { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <arm_bf16.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/bfloat16_scalar_2.c gcc/testsuite/gcc.target/aarch64/bfloat16_scalar_2.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index df8e7518c24..6c0f0275345 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/bfloat16_scalar_2.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/bfloat16_scalar_2.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,7 +1,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-do assemble { target { aarch64*-*-* } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-additional-options "-march=armv8.2-a -O3 --save-temps -std=gnu90" } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { check-function-bodies "**" "" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { check-function-bodies "**" "" "" { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <arm_bf16.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/bfloat16_scalar_3.c gcc/testsuite/gcc.target/aarch64/bfloat16_scalar_3.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 5d7a4317cee..83517a450cf 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/bfloat16_scalar_3.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/bfloat16_scalar_3.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,7 +1,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-do assemble { target { aarch64*-*-* } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-additional-options "-march=armv8.2-a -O3 --save-temps -std=gnu90" } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { check-function-bodies "**" "" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { check-function-bodies "**" "" "" { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <arm_bf16.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/bfloat16_simd_1.c gcc/testsuite/gcc.target/aarch64/bfloat16_simd_1.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6cad557ebf2..b9bddb368f0 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/bfloat16_simd_1.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/bfloat16_simd_1.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2,7 +2,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-add-options arm_v8_2a_bf16_neon } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-additional-options "-O3 --save-temps" } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { check-function-bodies "**" "" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { check-function-bodies "**" "" "" { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <arm_neon.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/bfloat16_simd_2.c gcc/testsuite/gcc.target/aarch64/bfloat16_simd_2.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 3891dcfc900..73e5ec9d158 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/bfloat16_simd_2.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/bfloat16_simd_2.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,7 +1,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-do assemble { target { aarch64*-*-* } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-additional-options "-march=armv8.2-a -O3 --save-temps" } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { check-function-bodies "**" "" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { check-function-bodies "**" "" "" { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <arm_neon.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/bfloat16_simd_3.c gcc/testsuite/gcc.target/aarch64/bfloat16_simd_3.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index b35f5e527be..0737f0d4060 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/bfloat16_simd_3.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/bfloat16_simd_3.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,7 +1,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-do assemble { target { aarch64*-*-* } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-additional-options "-march=armv8.2-a -O3 --save-temps" } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { check-function-bodies "**" "" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { check-function-bodies "**" "" "" { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <arm_neon.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/movk_2.c gcc/testsuite/gcc.target/aarch64/movk_2.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a0477ad5d42..43420b5a06b 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/movk_2.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/movk_2.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,6 +1,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-do compile } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-options "-O" } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { check-function-bodies "**" "" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { check-function-bodies "**" "" "" { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <stdint.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/pr92424-1.c gcc/testsuite/gcc.target/aarch64/pr92424-1.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index c413a2c306e..995b48eeb9f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/pr92424-1.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/pr92424-1.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,6 +1,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-do "compile" } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-options "-O1" } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { check-function-bodies "**" "" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { check-function-bodies "**" "" "" { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Note: this test only checks the instructions in the function bodies,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ not the placement of the patch label or nops before the futncion. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/pr94697.c gcc/testsuite/gcc.target/aarch64/pr94697.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index fcc9ab87f15..36e9cfdaa2e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/pr94697.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/pr94697.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,7 +1,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-do compile } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-require-effective-target lp64 } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-options "-O2 -mbranch-protection=standard" } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { check-function-bodies "**" "" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { check-function-bodies "**" "" "" { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void bar (int *);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void *addr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/torture/simd-abi-9.c gcc/testsuite/gcc.target/aarch64/torture/simd-abi-9.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 1119d004b3e..1205a6082fc 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/torture/simd-abi-9.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/torture/simd-abi-9.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,7 +1,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-do compile } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-options "-fshrink-wrap -ffat-lto-objects" } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { check-function-bodies "**" "" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { check-function-bodies "**" "" "" { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int callee (void);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/testsuite/gcc.target/aarch64/vect_mixed_sizes_14.c gcc/testsuite/gcc.target/aarch64/vect_mixed_sizes_14.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 00c90e4efdb..da121ceb39a 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/testsuite/gcc.target/aarch64/vect_mixed_sizes_14.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/testsuite/gcc.target/aarch64/vect_mixed_sizes_14.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,5 +1,5 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* { dg-options "-O2 -ftree-vectorize" } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* { dg-final { check-function-bodies "**" "" } } */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* { dg-final { check-function-bodies "**" "" "" { target { ! aarch64*-*-darwin* } } } } */
</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;'>+ ** foo:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0066-Darwin-Arm64-Allow-m64-on-the-command-line.patch b/lang/gcc10-bootstrap/files/0066-Darwin-Arm64-Allow-m64-on-the-command-line.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..45fe2b4957f
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0066-Darwin-Arm64-Allow-m64-on-the-command-line.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,32 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 1c1fc8640f4610e57ed5a5e1cf47d6036366e2ef Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Thu, 21 Jan 2021 11:28:09 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, Arm64 : Allow m64 on the command line.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+It seems that some people have makefiles etc. that put '-m64' for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+arm64 Darwin. This is allowed by clang. For the GCC version we make it
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+an alias of -mabi=darwinpcs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit cd8ba743bf5fa020b38b724ae7a2c09ae930ea52)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64.opt | 4 ++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 4 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/aarch64.opt gcc/config/aarch64/aarch64.opt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 85f98ad6384..feec59a68e4 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64.opt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64.opt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -155,6 +155,10 @@ Enum(aarch64_abi) String(lp64) Value(AARCH64_ABI_LP64)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ EnumValue
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Enum(aarch64_abi) String(darwinpcs) Value(AARCH64_ABI_LP64)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++m64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Target RejectNegative Alias(mabi=, darwinpcs)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++On Darwin for compatibility with other platform variants.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mpc-relative-literal-loads
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Target Report Save Var(pcrelative_literal_loads) Init(2) Save
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PC relative literal loads.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0067-aarch64-Darwin-Restrict-offsets-for-prfm.patch b/lang/gcc10-bootstrap/files/0067-aarch64-Darwin-Restrict-offsets-for-prfm.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..8caca8b0b1e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0067-aarch64-Darwin-Restrict-offsets-for-prfm.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,67 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 906733d1f1e122baf87fca2e1a305a866327cfd0 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sat, 20 Feb 2021 12:14:08 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] aarch64, Darwin : Restrict offsets for prfm.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The current LLVM-based assemblers reject offsets that are not suitable
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+for prfm as written in the local section. However, there is advice
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+elsewhere that says that this category of instruction should attempt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+to use the 9bit unscaled version before falling back to the scaled one.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+In the short-term reject values that the assembler will not accept.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This partially addresses Issue #43
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/aarch64/aarch64.c (aarch64_address_valid_for_prefetch_p):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Reject values incompatible with pfrum and out of range for pfrm.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ For Mach-O, reject values that require prfum.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 76e872ee44318cafbd24b58e23234889164b67fd)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64.c | 28 +++++++++++++++++++++++++---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 25 insertions(+), 3 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 0c6827cb807..d29edbd0ad3 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9579,9 +9579,31 @@ aarch64_address_valid_for_prefetch_p (rtx x, bool strict_p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (!res)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- /* Darwinpcs allows addresses on the stack that are not DImode aligned. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (TARGET_MACHO && addr.offset && (INTVAL (addr.offset) & 0x07))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* For ELF targets using GAS, we emit prfm unconditionally; GAS will alter
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ the instruction to pick the prfum form where possible (i.e. when the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ offset is in the range -256..255) and fall back to prfm otherwise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ We can reject cases where the offset exceeds the range usable by both
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ insns [-256..32760], or for offsets > 255 when the value is not divisible
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ by 8.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ For Mach-O (Darwin) where the assembler uses the LLVM back end, that does
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ not yet do the substitution, so we must reject all prfum cases. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (addr.offset)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ HOST_WIDE_INT offs = INTVAL (addr.offset);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (offs < -256) /* Out of range for both prfum and prfm. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (offs > 32760) /* Out of range for prfm. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (offs & 0x07)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (offs > 255) /* Out of range for prfum. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (TARGET_MACHO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (TARGET_MACHO && offs < 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 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;'>+ /* ... except writeback forms. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return addr.type != ADDRESS_REG_WB;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0068-aarch64-Darwin-Match-conditions-for-a-PRFUM-insn.patch b/lang/gcc10-bootstrap/files/0068-aarch64-Darwin-Match-conditions-for-a-PRFUM-insn.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..0c3b982c53f
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0068-aarch64-Darwin-Match-conditions-for-a-PRFUM-insn.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,146 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 3f8f496c5d1fdff098d5f4ec75c06b96d79f74fe Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sat, 20 Feb 2021 13:19:10 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] aarch64, Darwin : Match conditions for a PRFUM insn.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This unpessimizes the prefetch cases for Darwin where the assembler
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+is not able to substitute the prfum instructions automagically.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This improves the fix for Issue #43.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/aarch64/aarch64-protos.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/aarch64/constraints.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/aarch64/predicates.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit bd796f1b0d4f8ff170ce51831916e9038dd8b1b9)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64-protos.h | 1 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64.c | 23 +++++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/aarch64.md | 31 +++++++++++++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/constraints.md | 5 +++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/aarch64/predicates.md | 3 +++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 5 files changed, 63 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/aarch64-protos.h gcc/config/aarch64/aarch64-protos.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index ae4a05c1952..8704c4cf324 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64-protos.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64-protos.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -501,6 +501,7 @@ void aarch64_post_cfi_startproc (void);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ poly_int64 aarch64_initial_elimination_offset (unsigned, unsigned);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int aarch64_get_condition_code (rtx);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool aarch64_address_valid_for_prefetch_p (rtx, bool);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++bool aarch64_address_valid_for_unscaled_prefetch_p (rtx, bool);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool aarch64_bitmask_imm (HOST_WIDE_INT val, machine_mode);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ unsigned HOST_WIDE_INT aarch64_and_split_imm1 (HOST_WIDE_INT val_in);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ unsigned HOST_WIDE_INT aarch64_and_split_imm2 (HOST_WIDE_INT val_in);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d29edbd0ad3..38de3fb088c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9609,6 +9609,29 @@ aarch64_address_valid_for_prefetch_p (rtx x, bool strict_p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return addr.type != ADDRESS_REG_WB;
</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;'>++/* Return true if the address X is valid for a PRFUM instruction.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ STRICT_P is true if we should do strict checking with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ aarch64_classify_address. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++bool
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++aarch64_address_valid_for_unscaled_prefetch_p (rtx x, bool strict_p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ struct aarch64_address_info addr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* PRFUM accepts the same addresses as DImode, but constrained to a range
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -256..255. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ bool res = aarch64_classify_address (&addr, x, DImode, strict_p);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (!res)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (addr.offset && ((INTVAL (addr.offset) > 255)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ || (INTVAL (addr.offset) < -256)))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* ... except writeback forms. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return addr.type != ADDRESS_REG_WB;
</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;'>+ bool
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64_symbolic_address_p (rtx x)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/aarch64.md gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index dece932dd3e..89fa22d72e7 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -828,6 +828,37 @@ (define_insn "prefetch"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(set_attr "type" "load_4")]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++(define_insn "prefetch_unscaled"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ [(prefetch (match_operand:DI 0 "aarch64_unscaled_prefetch_operand" "Du")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (match_operand:QI 1 "const_int_operand" "")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (match_operand:QI 2 "const_int_operand" ""))]
</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;'>++ const char * pftype[2][4] =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {"prfum\\tPLDL1STRM, %0",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "prfum\\tPLDL3KEEP, %0",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "prfum\\tPLDL2KEEP, %0",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "prfum\\tPLDL1KEEP, %0"},
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {"prfum\\tPSTL1STRM, %0",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "prfum\\tPSTL3KEEP, %0",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "prfum\\tPSTL2KEEP, %0",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "prfum\\tPSTL1KEEP, %0"},
</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 locality = INTVAL (operands[2]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gcc_assert (IN_RANGE (locality, 0, 3));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* PRFUM accepts the same addresses as a 64-bit LDR so wrap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ the address into a DImode MEM so that aarch64_print_operand knows
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ how to print it. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ operands[0] = gen_rtx_MEM (DImode, operands[0]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return pftype[INTVAL(operands[1])][locality];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ [(set_attr "type" "load_4")]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (define_insn "trap"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [(trap_if (const_int 1) (const_int 8))]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/constraints.md gcc/config/aarch64/constraints.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 8cc6f508881..704470cd40d 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/constraints.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/constraints.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -472,6 +472,11 @@ (define_address_constraint "Dp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ An address valid for a prefetch instruction."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (match_test "aarch64_address_valid_for_prefetch_p (op, true)"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++(define_address_constraint "Du"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "@internal
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ An address valid for a prefetch instruction with an unscaled offset."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (match_test "aarch64_address_valid_for_unscaled_prefetch_p (op, true)"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (define_constraint "vgb"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "@internal
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ A constraint that matches an immediate offset valid for SVE LD1B
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/aarch64/predicates.md gcc/config/aarch64/predicates.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 91b51483f33..63c14c6dccd 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/aarch64/predicates.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/aarch64/predicates.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -255,6 +255,9 @@ (define_predicate "aarch64_mem_pair_lanes_operand"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (define_predicate "aarch64_prefetch_operand"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (match_test "aarch64_address_valid_for_prefetch_p (op, false)"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++(define_predicate "aarch64_unscaled_prefetch_operand"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (match_test "aarch64_address_valid_for_unscaled_prefetch_p (op, false)"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (define_predicate "aarch64_valid_symref"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (match_code "const, symbol_ref, label_ref")
</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;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0069-Darwin-crts-Build-Darwin10-unwinder-shim-as-a-librar.patch b/lang/gcc10-bootstrap/files/0069-Darwin-crts-Build-Darwin10-unwinder-shim-as-a-librar.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..fac184ebdaa
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0069-Darwin-crts-Build-Darwin10-unwinder-shim-as-a-librar.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,77 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 4895bc50a3999d3967451eea858996b90ba15ad6 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sat, 18 Sep 2021 17:08:42 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, crts: Build Darwin10 unwinder shim as a library.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+We have a small unwinder shim that is only used for Darwin10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(and only then in quite specific cases). To avoid linking
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+this code for every executable or DSO, we can present the crt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+as a convenience library (rather than a .o file).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/darwin.h (LINK_COMMAND_SPEC_A): Use Darwin10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ unwinder shim as a convenience library.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libgcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config.host: Use convenience library for Darwin10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ unwinder shim.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/t-darwin: Build Darwin10 unwinder shim as a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ convenience library.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 873854387865d18484bd0d39324773cd1e76df85)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/darwin.h | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config.host | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/t-darwin | 6 ++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 3 files changed, 8 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/darwin.h gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 1b03a213960..45c19aee884 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -240,7 +240,7 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %{%:sanitize(address): -lasan } \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %{%:sanitize(undefined): -lubsan } \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %(link_ssp) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- %:version-compare(>< 10.6 10.7 mmacosx-version-min= -ld10-uwfef.o) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ %:version-compare(>< 10.6 10.7 mmacosx-version-min= -ld10-uwfef) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %(link_gcc_c_sequence) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %{!nodefaultexport:%{dylib|dynamiclib|bundle: \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %:version-compare(>= 10.11 asm_macosx_version_min= -U) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config.host libgcc/config.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index fe7ce3f02ed..7c9a5427a93 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -262,7 +262,7 @@ case ${host} in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "Warning: libgcc configured to support macOS 10.5" 1>&2
</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;'>+- extra_parts="crt3.o d10-uwfef.o crttms.o crttme.o libemutls_w.a"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ extra_parts="crt3.o libd10-uwfef.a crttms.o crttme.o libemutls_w.a"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *-*-dragonfly*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/t-darwin libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f7ad5c70dce..8601c5522d5 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -29,6 +29,12 @@ libemutls_w.a: emutls.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ d10-uwfef.o: $(srcdir)/config/darwin10-unwind-find-enc-func.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(crt_compile) -mmacosx-version-min=10.6 -c $<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Using this crt as a library means that it will not be added to an exe
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# (or module) unless needed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libd10-uwfef.a: d10-uwfef.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(AR_CREATE_FOR_TARGET) $@ d10-uwfef.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(RANLIB_FOR_TARGET) $@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Start with an empty list and allow the arch-specific t-darwin files to add in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # any extras, with the main set added by t-slibgcc-darwin.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SHLIB_MAPFILES =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0070-Darwin-PPC-Fix-R13-for-PPC64.patch b/lang/gcc10-bootstrap/files/0070-Darwin-PPC-Fix-R13-for-PPC64.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..227f232975a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0070-Darwin-PPC-Fix-R13-for-PPC64.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,49 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From b73c45e14cb2ce388162cd19b40b9cf132706ce9 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri, 11 Dec 2020 00:29:42 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, PPC : Fix R13 for PPC64.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+We have a somewhat unusual situation in that for PPC64, R13 is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+both reserved and callee-saved (it is used internally by the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pthreads implementation to contain pthread_self).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+So add R13 to the fixed regs, but also keep it in the callee-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+saved set.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/rs6000/darwin.h (FIXED_R13): Add for PPC64.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (FIRST_SAVED_GP_REGNO): Save from R13 even when it is one
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ of the fixed regs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit b12d6e79899fd27833c53ffc3c973538244f62e1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/rs6000/darwin.h | 5 ++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 4 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/rs6000/darwin.h gcc/config/rs6000/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index ce27508afcb..627ca805498 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/rs6000/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/rs6000/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -203,7 +203,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Make both r2 and r13 available for allocation. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define FIXED_R2 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define FIXED_R13 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define FIXED_R13 TARGET_64BIT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Base register for access to local variables of the function. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -213,6 +213,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef RS6000_PIC_OFFSET_TABLE_REGNUM
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define RS6000_PIC_OFFSET_TABLE_REGNUM 31
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef FIRST_SAVED_GP_REGNO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define FIRST_SAVED_GP_REGNO 13
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Darwin's stack must remain 16-byte aligned for both 32 and 64 bit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ABIs. */
</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;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0071-collect2-Fix-missing-cleanups.patch b/lang/gcc10-bootstrap/files/0071-collect2-Fix-missing-cleanups.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..03909b478e5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0071-collect2-Fix-missing-cleanups.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,44 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 0afb1a7175b75cc99f9d427dce75a58deb0c0dd5 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Wed, 6 Oct 2021 14:58:33 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] collect2: Fix missing cleanups.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The code that checks to see if objects have LTO content via
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+simple-object was not releasing resources, fixed thus.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * collect2.c (is_lto_object_file): Release simple-object
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ resources, close files.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 43ae43f654749d291d871ca6ef7c96ea16580fad)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/collect2.c | 7 ++++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 6 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/collect2.c gcc/collect2.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 8260863c04e..b3862daeedd 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/collect2.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/collect2.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2301,10 +2301,15 @@ is_lto_object_file (const char *prog_name)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LTO_SEGMENT_NAME,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ &errmsg, &err);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (!inobj)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ close (infd);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 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;'>+ errmsg = simple_object_find_sections (inobj, has_lto_section,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (void *) &found, &err);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ simple_object_release_read (inobj);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ close (infd);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (! errmsg && found)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return true;
</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;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0072-IPA-Provide-a-mechanism-to-register-static-DTORs-via.patch b/lang/gcc10-bootstrap/files/0072-IPA-Provide-a-mechanism-to-register-static-DTORs-via.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..4cf9844c3bc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0072-IPA-Provide-a-mechanism-to-register-static-DTORs-via.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,390 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From afda29c8de5159e4d3741dfb6802353006b161f1 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Thu, 4 Nov 2021 09:37:14 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] IPA: Provide a mechanism to register static DTORs via
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cxa_atexit.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+For at least one target (Darwin) the platform convention is to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+register static destructors (i.e. __attribute__((destructor)))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+with __cxa_atexit rather than placing them into a list that is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+run by some other mechanism.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This patch provides a target hook that allows a target to opt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+into this and handling for the process in ipa_cdtor_merge ().
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+When the mode is enabled (dtors_from_cxa_atexit is set) we:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Generate new CTORs to register static destructors with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ __cxa_atexit and add them to the existing list of CTORs;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ we then process the revised CTORs list.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * We sort the DTORs into priority and then TU order, this
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ means that they are registered in that order with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ __cxa_atexit () and therefore will be run in the reverse
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ order.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Likewise, CTORs are sorted into priority and then TU order,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ which means that they will run in that order.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This matches the behavior of using init/fini (or
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+mod_init_func/mod_term_func) sections.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This also fixes a bug where Fortran needs a DTOR to be run to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+close IO.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PR fortran/102992
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/darwin.h (TARGET_DTORS_FROM_CXA_ATEXIT): New.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * doc/tm.texi: Regenerated.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * doc/tm.texi.in: Add TARGET_DTORS_FROM_CXA_ATEXIT hook.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * ipa.c (cgraph_build_static_cdtor_1): Return the built
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ function decl.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (build_cxa_atexit_decl): New.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (build_dso_handle_decl): New.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (build_cxa_dtor_registrations): New.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (compare_cdtor_tu_order): New.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (build_cxa_atexit_fns): New.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (ipa_cdtor_merge): If dtors_from_cxa_atexit is set,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ process the DTORs/CTORs accordingly.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (pass_ipa_cdtor_merge::gate): Also run if
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dtors_from_cxa_atexit is set.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * target.def (dtors_from_cxa_atexit): New hook.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit fabe8cc41e9b01913e2016861237d1d99d7567bf)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/darwin.h | 5 ++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/doc/tm.texi | 8 ++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/doc/tm.texi.in | 2 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/ipa.c | 200 +++++++++++++++++++++++++++++++++++++++++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/target.def | 10 +++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 5 files changed, 221 insertions(+), 4 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/darwin.h gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 45c19aee884..b625199be98 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -55,6 +55,11 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define DO_GLOBAL_DTORS_BODY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Register static destructors to run from __cxa_atexit instead of putting
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ them into a .mod_term_funcs section. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define TARGET_DTORS_FROM_CXA_ATEXIT true
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* The string value for __SIZE_TYPE__. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifndef SIZE_TYPE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/doc/tm.texi gcc/doc/tm.texi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 7c4613212d5..5774023da55 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/doc/tm.texi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/doc/tm.texi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9122,6 +9122,14 @@ collecting constructors and destructors to be run at startup and exit.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ It is false if we must use @command{collect2}.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @end deftypevr
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@deftypevr {Target Hook} bool TARGET_DTORS_FROM_CXA_ATEXIT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++This value is true if the target wants destructors to be queued to be
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++run from __cxa_atexit. If this is the case then, for each priority level,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++a new constructor will be entered that registers the destructors for that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++level with __cxa_atexit (and there will be no destructors emitted).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++It is false the method implied by @code{have_ctors_dtors} is used.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@end deftypevr
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @deftypefn {Target Hook} void TARGET_ASM_CONSTRUCTOR (rtx @var{symbol}, int @var{priority})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ If defined, a function that outputs assembler code to arrange to call
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ the function referenced by @var{symbol} at initialization time.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/doc/tm.texi.in gcc/doc/tm.texi.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 869f16cef1d..f642bc04b85 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/doc/tm.texi.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/doc/tm.texi.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6085,6 +6085,8 @@ encountering an @code{init_priority} attribute.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @hook TARGET_HAVE_CTORS_DTORS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@hook TARGET_DTORS_FROM_CXA_ATEXIT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @hook TARGET_ASM_CONSTRUCTOR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @hook TARGET_ASM_DESTRUCTOR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/ipa.c gcc/ipa.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 55481931668..dd4e3531281 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/ipa.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/ipa.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -834,7 +834,7 @@ ipa_discover_variable_flags (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ FINAL specify whether the externally visible name for collect2 should
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ be produced. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-static void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static tree
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cgraph_build_static_cdtor_1 (char which, tree body, int priority, bool final,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tree optimization,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tree target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -913,6 +913,7 @@ cgraph_build_static_cdtor_1 (char which, tree body, int priority, bool final,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set_cfun (NULL);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ current_function_decl = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return decl;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Generate and emit a static constructor or destructor. WHICH must
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1019,6 +1020,124 @@ build_cdtor (bool ctor_p, const vec<tree> &cdtors)
</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;'>++/* Helper functions for build_cxa_dtor_registrations ().
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Build a decl for __cxa_atexit (). */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static tree
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++build_cxa_atexit_decl ()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* The parameter to "__cxa_atexit" is "void (*)(void *)". */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tree fn_type = build_function_type_list (void_type_node,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ptr_type_node, NULL_TREE);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tree fn_ptr_type = build_pointer_type (fn_type);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* The declaration for `__cxa_atexit' is:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int __cxa_atexit (void (*)(void *), void *, void *). */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ const char *name = "__cxa_atexit";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tree cxa_name = get_identifier (name);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fn_type = build_function_type_list (integer_type_node, fn_ptr_type,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ptr_type_node, ptr_type_node, NULL_TREE);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tree atexit_fndecl = build_decl (BUILTINS_LOCATION, FUNCTION_DECL,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cxa_name, fn_type);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ SET_DECL_ASSEMBLER_NAME (atexit_fndecl, cxa_name);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DECL_VISIBILITY (atexit_fndecl) = VISIBILITY_DEFAULT;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DECL_VISIBILITY_SPECIFIED (atexit_fndecl) = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set_call_expr_flags (atexit_fndecl, ECF_LEAF | ECF_NOTHROW);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ TREE_PUBLIC (atexit_fndecl) = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DECL_EXTERNAL (atexit_fndecl) = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DECL_ARTIFICIAL (atexit_fndecl) = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return atexit_fndecl;
</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;'>++/* Build a decl for __dso_handle. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static tree
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++build_dso_handle_decl ()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Declare the __dso_handle variable. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tree dso_handle_decl = build_decl (UNKNOWN_LOCATION, VAR_DECL,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ get_identifier ("__dso_handle"),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ptr_type_node);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ TREE_PUBLIC (dso_handle_decl) = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DECL_EXTERNAL (dso_handle_decl) = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DECL_ARTIFICIAL (dso_handle_decl) = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef HAVE_GAS_HIDDEN
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (dso_handle_decl != error_mark_node)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DECL_VISIBILITY (dso_handle_decl) = VISIBILITY_HIDDEN;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DECL_VISIBILITY_SPECIFIED (dso_handle_decl) = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return dso_handle_decl;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* This builds one or more constructor functions that register DTORs with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ __cxa_atexit (). Within a priority level, DTORs are registered in TU
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ order - which means that they will run in reverse TU order from cxa_atexit.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ This is the same behavior as using a .fini / .mod_term_funcs section.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ As the functions are built, they are appended to the CTORs vector. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++build_cxa_dtor_registrations (const vec<tree> &dtors, vec<tree> *ctors)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ size_t i,j;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ size_t len = dtors.length ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ location_t sav_loc = input_location;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ input_location = UNKNOWN_LOCATION;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tree atexit_fndecl = build_cxa_atexit_decl ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tree dso_handle_decl = build_dso_handle_decl ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* We want &__dso_handle. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tree dso_ptr = build1_loc (UNKNOWN_LOCATION, ADDR_EXPR,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ptr_type_node, dso_handle_decl);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ i = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ while (i < len)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ priority_type priority = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tree body = NULL_TREE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ j = i;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ priority_type p;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tree fn = dtors[j];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ p = DECL_FINI_PRIORITY (fn);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (j == i)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ priority = p;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else if (p != priority)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ j++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ while (j < len);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Find the next batch of destructors with the same initialization
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ priority. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for (;i < j; i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tree fn = dtors[i];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DECL_STATIC_DESTRUCTOR (fn) = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tree dtor_ptr = build1_loc (UNKNOWN_LOCATION, ADDR_EXPR,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ptr_type_node, fn);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tree call_cxa_atexit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ = build_call_expr_loc (UNKNOWN_LOCATION, atexit_fndecl, 3,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dtor_ptr, null_pointer_node, dso_ptr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ TREE_SIDE_EFFECTS (call_cxa_atexit) = 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ append_to_statement_list (call_cxa_atexit, &body);
</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;'>++ gcc_assert (body != NULL_TREE);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Generate a function to register the DTORs at this priority. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tree new_ctor
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ = cgraph_build_static_cdtor_1 ('I', body, priority, true,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DECL_FUNCTION_SPECIFIC_OPTIMIZATION (dtors[0]),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DECL_FUNCTION_SPECIFIC_TARGET (dtors[0]));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Add this to the list of ctors. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ctors->safe_push (new_ctor);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ input_location = sav_loc;
</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;'>+ /* Comparison function for qsort. P1 and P2 are actually of type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "tree *" and point to static constructors. DECL_INIT_PRIORITY is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ used to determine the sort order. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1068,7 +1187,46 @@ compare_dtor (const void *p1, const void *p2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else if (priority1 > priority2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- /* Ensure a stable sort. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Ensure a stable sort - into TU order. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return DECL_UID (f1) - DECL_UID (f2);
</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;'>++/* Comparison function for qsort. P1 and P2 are of type "tree *" and point to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ a pair of static constructors or destructors. We first sort on the basis of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ priority and then into TU order (on the strict assumption that DECL_UIDs are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ordered in the same way as the original functions). ???: this seems quite
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fragile. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++compare_cdtor_tu_order (const void *p1, const void *p2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tree f1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tree f2;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int priority1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int priority2;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ f1 = *(const tree *)p1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ f2 = *(const tree *)p2;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* We process the DTORs first, and then remove their flag, so this order
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ allows for functions that are declared as both CTOR and DTOR. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (DECL_STATIC_DESTRUCTOR (f1))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gcc_checking_assert (DECL_STATIC_DESTRUCTOR (f2));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ priority1 = DECL_FINI_PRIORITY (f1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ priority2 = DECL_FINI_PRIORITY (f2);
</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;'>++ priority1 = DECL_INIT_PRIORITY (f1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ priority2 = DECL_INIT_PRIORITY (f2);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (priority1 < priority2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return -1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else if (priority1 > priority2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* For equal priority, sort into the order of definition in the TU. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return DECL_UID (f1) - DECL_UID (f2);
</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;'>+@@ -1094,6 +1252,37 @@ build_cdtor_fns (vec<tree> *ctors, vec<tree> *dtors)
</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;'>++/* Generate new CTORs to register static destructors with __cxa_atexit and add
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ them to the existing list of CTORs; we then process the revised CTORs list.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ We sort the DTORs into priority and then TU order, this means that they are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ registered in that order with __cxa_atexit () and therefore will be run in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ the reverse order.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Likewise, CTORs are sorted into priority and then TU order, which means that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ they will run in that order.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ This matches the behavior of using init/fini or mod_init_func/mod_term_func
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ sections. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++build_cxa_atexit_fns (vec<tree> *ctors, vec<tree> *dtors)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (!dtors->is_empty ())
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gcc_assert (targetm.dtors_from_cxa_atexit);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ dtors->qsort (compare_cdtor_tu_order);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ build_cxa_dtor_registrations (*dtors, ctors);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (!ctors->is_empty ())
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gcc_assert (targetm.dtors_from_cxa_atexit);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ctors->qsort (compare_cdtor_tu_order);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ build_cdtor (/*ctor_p=*/true, *ctors);
</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;'>+ /* Look for constructors and destructors and produce function calling them.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ This is needed for targets not supporting ctors or dtors, but we perform the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ transformation also at linktime to merge possibly numerous
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1112,7 +1301,10 @@ ipa_cdtor_merge (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (DECL_STATIC_CONSTRUCTOR (node->decl)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ || DECL_STATIC_DESTRUCTOR (node->decl))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ record_cdtor_fn (node, &ctors, &dtors);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- build_cdtor_fns (&ctors, &dtors);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (targetm.dtors_from_cxa_atexit)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ build_cxa_atexit_fns (&ctors, &dtors);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ build_cdtor_fns (&ctors, &dtors);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return 0;
</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;'>+@@ -1159,7 +1351,7 @@ pass_ipa_cdtor_merge::gate (function *)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Perform the pass when we have no ctors/dtors support
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ or at LTO time to merge multiple constructors into single
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ function. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return !targetm.have_ctors_dtors || in_lto_p;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return !targetm.have_ctors_dtors || in_lto_p || targetm.dtors_from_cxa_atexit;
</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;'>+ } // anon namespace
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/target.def gcc/target.def
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index c70eb162021..5482f2c9d19 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/target.def
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/target.def
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6712,6 +6712,16 @@ collecting constructors and destructors to be run at startup and exit.\n\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ It is false if we must use @command{collect2}.",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool, false)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* True if the target wants DTORs to be run from cxa_atexit. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++DEFHOOKPOD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++(dtors_from_cxa_atexit,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "This value is true if the target wants destructors to be queued to be\n\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++run from __cxa_atexit. If this is the case then, for each priority level,\n\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++a new constructor will be entered that registers the destructors for that\n\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++level with __cxa_atexit (and there will be no destructors emitted).\n\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++It is false the method implied by @code{have_ctors_dtors} is used.",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ bool, false)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* True if thread-local storage is supported. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DEFHOOKPOD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (have_tls,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0073-libgcc-emutls-Allow-building-weak-definitions-of-the.patch b/lang/gcc10-bootstrap/files/0073-libgcc-emutls-Allow-building-weak-definitions-of-the.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..75020eab964
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0073-libgcc-emutls-Allow-building-weak-definitions-of-the.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,94 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From c31fb96d118a255516f2d3842277e0b73531bfbc Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 19 Sep 2021 12:35:46 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] libgcc, emutls: Allow building weak definitions of the emutls
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ functions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+In order to better support use of the emulated TLS between objects with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+DSO dependencies and static-linked libgcc, allow a target to make weak
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+definitions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libgcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/t-darwin: Build weak-defined emutls objects.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * emutls.c (__emutls_get_address): Add optional attributes.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (__emutls_register_common): Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (EMUTLS_ATTR): New.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit b9873b4e2c9a9955789318f4d550147ef9405b07)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/t-darwin | 15 ++++++++++-----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/emutls.c | 15 ++++++++++-----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 20 insertions(+), 10 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/t-darwin libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 8601c5522d5..70bf2d1dea7 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15,11 +15,16 @@ crttme.o: $(srcdir)/config/darwin-crt-tm.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/config/unwind-dw2-fde-darwin.c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Make a weak version to use in static lib and as a crt.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-emutls.o: HOST_LIBGCC2_CFLAGS += -DEMUTLS_ATTR='__attribute__((__weak__))'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Make it a convenience lib so that it can be linked optionally.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-libemutls_w.a: emutls.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Make emutls weak so that we can deal with -static-libgcc, override the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# hidden visibility when this is present in libgcc_eh.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++emutls.o: HOST_LIBGCC2_CFLAGS += \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -DEMUTLS_ATTR='__attribute__((__weak__,__visibility__("default")))'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++emutls_s.o: HOST_LIBGCC2_CFLAGS += \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -DEMUTLS_ATTR='__attribute__((__weak__,__visibility__("default")))'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Make the emutls crt as a convenience lib so that it can be linked
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# optionally, use the shared version so that we can link with DSO.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libemutls_w.a: emutls_s.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(AR_CREATE_FOR_TARGET) $@ $<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(RANLIB_FOR_TARGET) $@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/emutls.c libgcc/emutls.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 95fbb0d65b5..968b689013e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/emutls.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/emutls.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -57,9 +57,10 @@ struct __emutls_array
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # define EMUTLS_ATTR
</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;'>+-void *__emutls_get_address (struct __emutls_object *) EMUTLS_ATTR;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-void __emutls_register_common (struct __emutls_object *,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- word, word, void *) EMUTLS_ATTR;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++EMUTLS_ATTR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++void *__emutls_get_address (struct __emutls_object *);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++EMUTLS_ATTR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++void __emutls_register_common (struct __emutls_object *, word, word, void *);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef __GTHREADS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef __GTHREAD_MUTEX_INIT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -131,7 +132,11 @@ emutls_alloc (struct __emutls_object *obj)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return ret;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-void *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Despite applying the attribute to the declaration, in this case the mis-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ match between the builtin's declaration [void * (*)(void *)] and the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ implementation here, causes the decl. attributes to be discarded. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++EMUTLS_ATTR void *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ __emutls_get_address (struct __emutls_object *obj)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (! __gthread_active_p ())
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -195,7 +200,7 @@ __emutls_get_address (struct __emutls_object *obj)
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++EMUTLS_ATTR void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ __emutls_register_common (struct __emutls_object *obj,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ word size, word align, void *templ)
</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;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0074-Darwin-crts-Fix-a-build-warning.patch b/lang/gcc10-bootstrap/files/0074-Darwin-crts-Fix-a-build-warning.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..048e83b8bd0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0074-Darwin-crts-Fix-a-build-warning.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,35 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 29cbeea186537e0bc0f72fa3ba903a5b4003892e Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 1 Nov 2021 16:58:20 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, crts: Fix a build warning.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+We have a shim crt for Darwin10 that implements functionality
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+missing in libSystem. Provide this with a prototype to silence the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+warning about this.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libgcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/darwin10-unwind-find-enc-func.c: Include libgcc_tm.h.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/i386/darwin-lib.h: Declare Darwin10 crt function.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 7a300b413a62e1989bd89064fd5594aabe371d3a)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/darwin10-unwind-find-enc-func.c | 1 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 1 insertion(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/darwin10-unwind-find-enc-func.c libgcc/config/darwin10-unwind-find-enc-func.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 67c43757e50..882ec3a2372 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config/darwin10-unwind-find-enc-func.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config/darwin10-unwind-find-enc-func.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,6 +1,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "tconfig.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "tsystem.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "unwind-dw2-fde.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "libgcc_tm.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ _darwin10_Unwind_FindEnclosingFunction (void *pc)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0075-Darwin-Amend-pie-options-when-linking-mdynamic-no-pi.patch b/lang/gcc10-bootstrap/files/0075-Darwin-Amend-pie-options-when-linking-mdynamic-no-pi.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..cf7f78e1e46
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0075-Darwin-Amend-pie-options-when-linking-mdynamic-no-pi.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,50 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 0b5e56e424347457b1b36395c66a7a69a2c5c53f Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 6 Dec 2021 13:17:10 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin: Amend pie options when linking mdynamic-no-pic.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+On i686 Darwin from macOS 10.7 onwards the default is to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+link executables as PIE, which conflicts with code generated
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+using mdynamic-no-pic. Rather than warn about this and then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+get the user to add -Wl,-no_pie, we can inject this in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+link specs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/darwin.h (DARWIN_PIE_SPEC): Add -no_pie when
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ linking mdynamic-no-pic code on macOS > 10.7.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 1c1563fb8ff227590eb5ab0fc3d22f3b0a57c241)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/darwin.h | 8 ++++++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 6 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/darwin.h gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index b625199be98..53046285152 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -150,13 +150,17 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define DARWIN_RDYNAMIC "%{rdynamic:%nrdynamic is not supported}"
</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;'>+-/* FIXME: we should check that the linker supports the -pie and -no_pie.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Code built with mdynamic-no-pic does not support PIE/PIC, so we disallow
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ these combinations; we also ensure that the no_pie option is passed to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ld64 on system versions that default to PIE when mdynamic-no-pic is given.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ FIXME: we should check that the linker supports the -pie and -no_pie.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ options. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define DARWIN_PIE_SPEC \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "%{pie|fpie|fPIE:\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %{mdynamic-no-pic: \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %n'-mdynamic-no-pic' overrides '-pie', '-fpie' or '-fPIE'; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- :%:version-compare(>= 10.5 mmacosx-version-min= -pie) }} "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ :%:version-compare(>= 10.5 mmacosx-version-min= -pie) }; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ mdynamic-no-pic:%:version-compare(>= 10.7 mmacosx-version-min= -no_pie) } "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define DARWIN_NOPIE_SPEC \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "%{no-pie|fno-pie|fno-PIE: \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0076-libgcc-Darwin-Build-a-libgcc_s.1-for-backwards-compa.patch b/lang/gcc10-bootstrap/files/0076-libgcc-Darwin-Build-a-libgcc_s.1-for-backwards-compa.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..06a334c4b09
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0076-libgcc-Darwin-Build-a-libgcc_s.1-for-backwards-compa.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,385 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 9a6cc6a16dad111f4f243b1dde34046c5a67001a Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 21 Nov 2021 17:19:24 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] libgcc, Darwin: Build a libgcc_s.1 for backwards
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ compatibility.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+In order to reslve a long-standing issue with inter-operation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+with libSystem, we have bumped the SO name for libgcc_s.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Distributions might wish to install this new version into a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+structure where exisiting code is already linked with the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler-local libgcc_s.1 (providing symbols exported by the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+now-retired libgcc_ext.10.x shims).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The replacement libgcc_s.1 forwards the symbols from the new SO.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+In order to support DYLD_LIBRARY_PATH on systems (where it works)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+we forward the libSystem unwinder symbols from 10.7+ and a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler-local version of the libgcc unwinder on earlier.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+For macOS 10.4 to 10.6 this is 'bug-compatible' with existing uses.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+For 10.7+ the behaviour will now actually be correct.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This should be squashed with the initial libgcc changes for PR80556
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+in any backport (r12-5418-gd4943ce939d)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libgcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config.host (*-*-darwin*): Add logic to build a shared
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ unwinder library for Darwin8-10.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/i386/t-darwin: Build legacy libgcc_s.1.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/rs6000/t-darwin: Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/t-darwin: Reorganise the EH fragments to place
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ them for inclusion in a shared EH lib.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/t-slibgcc-darwin: Build a legacy libgcc_s.1 and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ the supporting pieces (all FAT libs).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/t-darwin-noeh: Removed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/darwin-unwind.ver: New file.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/rs6000/t-darwin-ehs: New file.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/t-darwin-ehs: New file.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 7add7f7bb3d35726a0c45322ffdbbab2bbf6a348)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config.host | 11 ++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/darwin-unwind.ver | 30 +++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/i386/t-darwin | 3 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/rs6000/t-darwin | 3 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/rs6000/t-darwin-ehs | 5 ++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/t-darwin | 19 ++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/t-darwin-ehs | 4 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/t-darwin-noeh | 4 -
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/t-slibgcc-darwin | 129 +++++++++++++++++++++++++++---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 9 files changed, 187 insertions(+), 21 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create mode 100644 libgcc/config/darwin-unwind.ver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create mode 100644 libgcc/config/rs6000/t-darwin-ehs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create mode 100644 libgcc/config/t-darwin-ehs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ delete mode 100644 libgcc/config/t-darwin-noeh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config.host libgcc/config.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 7c9a5427a93..0ad3f448157 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -219,8 +219,15 @@ case ${host} in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ asm_hidden_op=.private_extern
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tmake_file="$tmake_file t-darwin ${cpu_type}/t-darwin t-libgcc-pic"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # The unwinder is provided by the system shared libraries, do not add one
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # to the shared libgcc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- tmake_file="$tmake_file t-darwin-noeh t-slibgcc-darwin"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # to the shared libgcc but, for older systems, we build a shared unwinder
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # separately so that we can construct a libgcc_s.1 to use for binaries
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # linked against the old libgcc_ext.10.x stubs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case ${host} in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-*-darwin[89]* | *-*-darwin10*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tmake_file="$tmake_file t-darwin-ehs ${cpu_type}/t-darwin-ehs"
</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;'>++ tmake_file="$tmake_file t-slibgcc-darwin"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # We are not using libtool to build the libs here, so we need to replicate
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # a little of the logic around setting Darwin rpaths. Setting an explicit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # yes or no is honoured, otherwise we choose a suitable default.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/darwin-unwind.ver libgcc/config/darwin-unwind.ver
</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 00000000000..fb74cb2c5d2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config/darwin-unwind.ver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,30 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# unwinder
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++__Unwind_DeleteException
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++__Unwind_Find_FDE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++__Unwind_ForcedUnwind
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++__Unwind_GetGR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++__Unwind_GetIP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++__Unwind_GetLanguageSpecificData
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++__Unwind_GetRegionStart
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++__Unwind_GetTextRelBase
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++__Unwind_GetDataRelBase
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++__Unwind_RaiseException
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++__Unwind_Resume
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++__Unwind_SetGR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++__Unwind_SetIP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++__Unwind_FindEnclosingFunction
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++__Unwind_GetCFA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++__Unwind_Backtrace
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++__Unwind_Resume_or_Rethrow
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++__Unwind_GetIPInfo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++___register_frame
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++___register_frame_table
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++___register_frame_info
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++___register_frame_info_bases
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++___register_frame_info_table
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++___register_frame_info_table_bases
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++___deregister_frame
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++___deregister_frame_info
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++___deregister_frame_info_bases
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/i386/t-darwin libgcc/config/i386/t-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 64eea1cd5f9..c728acc8b40 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config/i386/t-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config/i386/t-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3,3 +3,6 @@ LIB2ADD = $(srcdir)/config/darwin-64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIB2FUNCS_EXCLUDE = _fixtfdi _fixunstfdi _floatditf _floatunditf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SHLIB_MAPFILES += $(srcdir)/config/$(cpu_type)/libgcc-darwin.ver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Build a legacy libgcc_s.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++BUILD_LIBGCCS1 = YES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/rs6000/t-darwin libgcc/config/rs6000/t-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 8b513bdb1d7..183d0df92ce 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config/rs6000/t-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config/rs6000/t-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -56,3 +56,6 @@ unwind-dw2_s.o: HOST_LIBGCC2_CFLAGS += -maltivec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ unwind-dw2.o: HOST_LIBGCC2_CFLAGS += -maltivec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIB2ADDEH += $(srcdir)/config/rs6000/darwin-fallback.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Build a legacy libgcc_s.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++BUILD_LIBGCCS1 = YES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/rs6000/t-darwin-ehs libgcc/config/rs6000/t-darwin-ehs
</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 00000000000..3047f53cb70
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config/rs6000/t-darwin-ehs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,5 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# We need the save_world code for the EH library.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++LIBEHSOBJS += darwin-world_s.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$(LIBEHSOBJS): libef_ppc.a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/t-darwin libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 70bf2d1dea7..7c0f1a64ff4 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11,10 +11,6 @@ crttms.o: $(srcdir)/config/darwin-crt-tm.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ crttme.o: $(srcdir)/config/darwin-crt-tm.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(crt_compile) $(DARWIN_MIN_CRT_VERSION) -DEND -c $<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Use unwind-dw2-fde-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/config/unwind-dw2-fde-darwin.c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Make emutls weak so that we can deal with -static-libgcc, override the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # hidden visibility when this is present in libgcc_eh.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ emutls.o: HOST_LIBGCC2_CFLAGS += \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -40,6 +36,21 @@ libd10-uwfef.a: d10-uwfef.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(AR_CREATE_FOR_TARGET) $@ d10-uwfef.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(RANLIB_FOR_TARGET) $@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++###### Unwinder #######
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Most Darwin versions get their unwinder from libSystem; older versions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# have an installed /usr/lib/libgcc_s.1.dylib.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# So do not add the unwinder to the shared libgcc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++LIB2ADDEHSHARED =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# We still need it in the _eh.a for earlier platform versions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Use unwind-dw2-fde-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++LIB2ADDEH = $(srcdir)/unwind-dw2.c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(srcdir)/config/unwind-dw2-fde-darwin.c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(srcdir)/unwind-c.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Do not build a shared unwind lib by default.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++LIBEHSOBJS=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Start with an empty list and allow the arch-specific t-darwin files to add in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # any extras, with the main set added by t-slibgcc-darwin.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SHLIB_MAPFILES =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/t-darwin-ehs libgcc/config/t-darwin-ehs
</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 00000000000..8481898d98a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config/t-darwin-ehs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,4 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Build the unwinder separately so that we can construct a replacement for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# libgcc_s.1 on systems that used the unwinder in libgcc_s.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++LIBEHSOBJS = unwind-dw2_s.o unwind-dw2-fde-darwin_s.o unwind-c_s.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/t-darwin-noeh libgcc/config/t-darwin-noeh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+deleted file mode 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 08d9c1affd3..00000000000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config/t-darwin-noeh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,4 +0,0 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Most Darwin versions get their unwinder from libSystem.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# so remove the unwinder from the shared lib.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# We still need it in the _eh.a for Darwin8/9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-LIB2ADDEHSHARED =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/t-slibgcc-darwin libgcc/config/t-slibgcc-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index bf55762766c..9ccee91aff2 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config/t-slibgcc-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config/t-slibgcc-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2,11 +2,17 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SHLIB_SOVERSION = 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SHLIB_SO_MINVERSION = 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-SHLIB_VERSTRING = -compatibility_version $(SHLIB_SO_MINVERSION) -current_version $(SHLIB_SOVERSION)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++SHLIB_VERSTRING = -compatibility_version $(SHLIB_SO_MINVERSION) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -current_version $(SHLIB_SOVERSION)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SHLIB_EXT = .dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SHLIB_LC = -lc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++SHLIB_INSTALL_DIR = $(slibdir)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Shorthand expressions for the LINK below.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++SHLIB_MKMAP_OPTS = -v leading_underscore=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Shorthand expressions for the LINK below, these are substituted in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# link expression.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SHLIB_INSTALL_NAME = @shlib_base_name@.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SHLIB_MAP = @shlib_map_file@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SHLIB_DIR = @multilib_dir@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16,15 +22,13 @@ SHLIB_SONAME = @shlib_base_name@$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # and dylibs that depend on this.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SHLIB_RPATH = @shlib_slibdir@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-SHLIB_LINK = $(CC) $(LIBGCC2_CFLAGS) -dynamiclib -nodefaultlibs \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++SHLIB_LINK = $(CC) $(LIBGCC2_CFLAGS) $(LDFLAGS) -dynamiclib -nodefaultlibs \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -install_name $(SHLIB_RPATH)/$(SHLIB_INSTALL_NAME) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -single_module -o $(SHLIB_DIR)/$(SHLIB_SONAME) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -Wl,-exported_symbols_list,$(SHLIB_MAP) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(SHLIB_VERSTRING) -nodefaultrpath \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @multilib_flags@ @shlib_objs@ $(SHLIB_LC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-SHLIB_MKMAP_OPTS = -v leading_underscore=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SHLIB_MAPFILES += libgcc-std.ver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LGCC_FILES = libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -34,7 +38,55 @@ INSTALL_FILES=$(LGCC_FILES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # we do our own thing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SHLIB_INSTALL =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# For the toplevel multilib, build a fat archive including all the multilibs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++LGCC_FILES = libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ifeq ($(BUILD_LIBGCCS1),YES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# We are going to build a libgcc_s.1.dylib so that distributions can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# install it for compatibility with binaries linked against the old
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# libgcc_ext.10.x.dylib stubs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# For systems after macOS 10.7 we can forward the correct unwinder symbols
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# from libSystem.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# For older systems we have to forward an entire library (since they cannot
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# selectively forward symbols, which means that we cannot forward the unwinder
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# in /usr/lib/libgcc_s.1.dylib). We also cannot forward the entire library
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# since that creates a self-referencing loop when DYLD_LIBRARY_PATH is used.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# To provide the unwinder symbols in this case, we build the unwinder into a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# separate shared lib (libgcc_ehs) and forward that.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# These targets are local to this make fragment, which means that they do not
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# get the substitutions seen in SHLIB_LINK.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ifneq ($(LIBEHSOBJS),)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++EHS_INSTNAME = libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# multilib build for a shared EH lib.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$(LIBEHSOBJS): libgcc_tm.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libgcc_ehs$(SHLIB_EXT): $(LIBEHSOBJS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ mkdir -p $(MULTIDIR)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(CC) $(LIBGCC2_CFLAGS) $(LDFLAGS) -dynamiclib -nodefaultlibs \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -install_name $(SHLIB_INSTALL_DIR)/$(EHS_INSTNAME) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -o $(MULTIDIR)/libgcc_ehs$(SHLIB_EXT) $(SHLIB_VERSTRING) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(LIBEHSOBJS) $(SHLIB_LC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++all: libgcc_ehs$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++LGCC_FILES += libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</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;'>++# Provide libgcc_s.1 for backwards compatibility.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++LGCC_FILES += libgcc_s.1.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</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;'>++INSTALL_FILES=$(LGCC_FILES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# For the toplevel multilib, build FAT dylibs including all the multilibs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ifeq ($(MULTIBUILDTOP),)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ifeq ($(enable_shared),yes)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -52,7 +104,62 @@ libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT): all-multi libgcc_s$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -create libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rm libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Install the shared library.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ifeq ($(BUILD_LIBGCCS1),YES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ifneq ($(LIBEHSOBJS),)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT): all-multi libgcc_ehs$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ MLIBS=`$(CC) --print-multi-lib | sed -e 's/;.*$$//'` ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for mlib in $$MLIBS ; do \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cp ../$${mlib}/libgcc/$${mlib}/libgcc_ehs$(SHLIB_EXT) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ./libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T_$${mlib} || exit 1 ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(LIPO) -output libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -create libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rm libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T*
</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;'>++libgcc_s.1.dylib: libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT) libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ MLIBS=`$(CC) --print-multi-lib | sed -e 's/;.*$$//'` ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for mlib in $$MLIBS ; do \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cp ../$${mlib}/libgcc/$${mlib}/libgcc_s$(SHLIB_EXT) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ./libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T_$${mlib} || exit 1 ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cp ../$${mlib}/libgcc/$${mlib}/libgcc_ehs$(SHLIB_EXT) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ./libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T_$${mlib} || exit 1 ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ arch=`$(LIPO) -info libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T_$${mlib} | sed -e 's/.*:\ //'` ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(CC) -arch $${arch} -nodefaultlibs -dynamiclib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -o libgcc_s.1$(SHLIB_EXT)_T_$${mlib} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -Wl,-reexport_library,libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T_$${mlib} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -Wl,-reexport_library,libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T_$${mlib} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -install_name $(SHLIB_INSTALL_DIR)/libgcc_s.1.dylib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -compatibility_version 1 -current_version 1 ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(LIPO) -output libgcc_s.1$(SHLIB_EXT) -create libgcc_s.1$(SHLIB_EXT)_T*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rm libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rm libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T*
</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;'>++libgcc_s.1.dylib: libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ MLIBS=`$(CC) --print-multi-lib | sed -e 's/;.*$$//'` ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for mlib in $$MLIBS ; do \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cp ../$${mlib}/libgcc/$${mlib}/libgcc_s$(SHLIB_EXT) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ./libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T_$${mlib} || exit 1 ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ arch=`$(LIPO) -info libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T_$${mlib} | sed -e 's/.*:\ //'` ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(CC) -arch $${arch} -nodefaultlibs -dynamiclib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -o libgcc_s.1$(SHLIB_EXT)_T_$${mlib} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -Wl,-reexport_library,libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T_$${mlib} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -lSystem \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -Wl,-reexported_symbols_list,$(srcdir)/config/darwin-unwind.ver \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -install_name $(SHLIB_INSTALL_DIR)/libgcc_s.1.dylib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ -compatibility_version 1 -current_version 1 ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(LIPO) -output libgcc_s.1$(SHLIB_EXT) -create libgcc_s.1$(SHLIB_EXT)_T*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rm libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</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;'>++# Install the shared libraries.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ install-darwin-libgcc-stubs :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(mkinstalldirs) $(DESTDIR)$(slibdir)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -62,10 +169,10 @@ install-darwin-libgcc-stubs :
</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;'>+-# Do not install shared libraries for any other multilibs. Unless we are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# putting them in the gcc directory during a build, for compatibility with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# the pre-top-level layout. In that case we provide symlinks to the FAT lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# from the sub-directories.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Do not install shared libraries for multilibs. Unless we are putting them
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# in the gcc directory during a build, for compatibility with the pre-top-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# level layout. In that case we provide symlinks to the FAT lib from the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# multilib sub-directories.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ifeq ($(enable_shared),yes)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ all: install-darwin-libgcc-links
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0077-libgcc-Darwin-Update-darwin10-unwinder-shim-dependen.patch b/lang/gcc10-bootstrap/files/0077-libgcc-Darwin-Update-darwin10-unwinder-shim-dependen.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..614d717f831
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0077-libgcc-Darwin-Update-darwin10-unwinder-shim-dependen.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,36 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 459683464cfa96b7a49a13297f4ce30efc1c7b4c Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri, 10 Dec 2021 21:20:38 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] libgcc, Darwin: Update darwin10 unwinder shim dependencies.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+We include libgcc_tm.h to provide a prototype for this shim
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+so add that to the make dependencies.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libgcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/t-darwin: Add libgcc_tm.h to the dependencies
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for darwin10-unwind-find-enc-func.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit b504917e43b9a559c9ac779e08784ad412125f2e)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/t-darwin | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/t-darwin libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 7c0f1a64ff4..2aab1273287 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -27,7 +27,7 @@ libemutls_w.a: emutls_s.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Patch to __Unwind_Find_Enclosing_Function for Darwin10.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # This has to be built for 10.6, even if the toolchain will not target that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-d10-uwfef.o: $(srcdir)/config/darwin10-unwind-find-enc-func.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++d10-uwfef.o: $(srcdir)/config/darwin10-unwind-find-enc-func.c libgcc_tm.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(crt_compile) -mmacosx-version-min=10.6 -c $<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Using this crt as a library means that it will not be added to an exe
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0078-libgcc-Darwin-Add-missing-build-dependencies.patch b/lang/gcc10-bootstrap/files/0078-libgcc-Darwin-Add-missing-build-dependencies.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..b4813824057
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0078-libgcc-Darwin-Add-missing-build-dependencies.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,113 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From cc0c9747b3a7243b09470e4a611c96f742894603 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Wed, 15 Dec 2021 14:11:58 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] libgcc, Darwin: Add missing build dependencies.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+There was a race condition where the link for the new shared EH library
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(only used on earlier Darwin) could fail because the new crts had not been
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+copied to the gcc directory. This can cause a build failure (although
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+currently only seen on powerpc-darwin).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fixed by adding specific dependency on the crts and on the multi target.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+We also add the declaration header for the Darwin10 unwinder shim to the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+powerpc cases, since we build that there for Rosetta use.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libgcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config.host: Add shim declaration header to powerpc*-darwin builds.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/rs6000/t-darwin-ehs: Remove dependency on the powerpc end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/t-darwin-ehs: Add dependencies to the shared unwinder
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ objects.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/t-slibgcc-darwin: Add extra_parts to the dependencies for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ the shared EH lib. Add all-multi to the dependencies for the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc_s.1.dylib redirections.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 574c09da48a5a0ff4c32dd4577eaf65bac8c94a0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config.host | 4 ++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/rs6000/t-darwin-ehs | 4 +---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/t-darwin-ehs | 3 +++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/t-slibgcc-darwin | 8 ++++----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 4 files changed, 12 insertions(+), 7 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config.host libgcc/config.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 0ad3f448157..950a8c088c5 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1206,10 +1206,14 @@ powerpc-*-darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ md_unwind_header=rs6000/darwin-unwind.h
</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;'>++ # We build the darwin10 EH shim for Rosetta (running on x86 machines).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tm_file="$tm_file i386/darwin-lib.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tmake_file="$tmake_file rs6000/t-ppc64-fp rs6000/t-ibm-ldouble"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extra_parts="$extra_parts crt2.o crt3_2.o libef_ppc.a dw_ppc.o"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ powerpc64-*-darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # We build the darwin10 EH shim for Rosetta (running on x86 machines).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tm_file="$tm_file i386/darwin-lib.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tmake_file="$tmake_file rs6000/t-darwin64 rs6000/t-ibm-ldouble"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extra_parts="$extra_parts crt2.o crt3_2.o libef_ppc.a dw_ppc.o"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/rs6000/t-darwin-ehs libgcc/config/rs6000/t-darwin-ehs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 3047f53cb70..42f521411af 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config/rs6000/t-darwin-ehs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config/rs6000/t-darwin-ehs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,5 +1,3 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # We need the save_world code for the EH library.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-LIBEHSOBJS += darwin-world_s.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-$(LIBEHSOBJS): libef_ppc.a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++LIBEHSOBJS += darwin-world_s.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/t-darwin-ehs libgcc/config/t-darwin-ehs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 8481898d98a..95275023dac 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config/t-darwin-ehs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config/t-darwin-ehs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2,3 +2,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # libgcc_s.1 on systems that used the unwinder in libgcc_s.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIBEHSOBJS = unwind-dw2_s.o unwind-dw2-fde-darwin_s.o unwind-c_s.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++unwind-dw2_s.o: gthr-default.h md-unwind-support.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$(LIBEHSOBJS): libgcc_tm.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config/t-slibgcc-darwin libgcc/config/t-slibgcc-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 9ccee91aff2..41ff8023522 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config/t-slibgcc-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config/t-slibgcc-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -64,9 +64,8 @@ ifneq ($(LIBEHSOBJS),)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ EHS_INSTNAME = libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # multilib build for a shared EH lib.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-$(LIBEHSOBJS): libgcc_tm.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-libgcc_ehs$(SHLIB_EXT): $(LIBEHSOBJS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libgcc_ehs$(SHLIB_EXT): $(LIBEHSOBJS) $(extra-parts)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mkdir -p $(MULTIDIR)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(CC) $(LIBGCC2_CFLAGS) $(LDFLAGS) -dynamiclib -nodefaultlibs \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -install_name $(SHLIB_INSTALL_DIR)/$(EHS_INSTNAME) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -118,7 +117,8 @@ libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT): all-multi libgcc_ehs$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rm libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T*
</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;'>+-libgcc_s.1.dylib: libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT) libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libgcc_s.1.dylib: all-multi libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ MLIBS=`$(CC) --print-multi-lib | sed -e 's/;.*$$//'` ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for mlib in $$MLIBS ; do \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cp ../$${mlib}/libgcc/$${mlib}/libgcc_s$(SHLIB_EXT) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -139,7 +139,7 @@ libgcc_s.1.dylib: libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT) libgcc_ehs.$(SHLIB_SOV
</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;'>+-libgcc_s.1.dylib: libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libgcc_s.1.dylib: all-multi libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ MLIBS=`$(CC) --print-multi-lib | sed -e 's/;.*$$//'` ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for mlib in $$MLIBS ; do \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cp ../$${mlib}/libgcc/$${mlib}/libgcc_s$(SHLIB_EXT) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0079-Darwin-config-Amend-for-Darwin-21-macOS-12.patch b/lang/gcc10-bootstrap/files/0079-Darwin-config-Amend-for-Darwin-21-macOS-12.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..f30d2ad5683
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0079-Darwin-config-Amend-for-Darwin-21-macOS-12.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,95 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 046fe8ba34c0dec02500dfc7978b9d613550530c Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Saagar Jha <saagar@saagarjha.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Tue, 15 Jun 2021 04:08:23 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, config: Amend for Darwin 21 / macOS 12.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+It seems that the OS major version is now tracking the kernel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+major version - 9. Minor version has been set to kerne
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+min - 1.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Saagar Jha <saagar@saagarjha.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config.gcc: Adjust for Darwin21.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/darwin-c.c (macosx_version_as_macro): Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/darwin-driver.c (validate_macosx_version_min):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (darwin_find_version_from_kernel): Likewise.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 11b967577483e51f97d540e9c2c9d1ea76da8122)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config.gcc | 6 +++---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/darwin-c.c | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/darwin-driver.c | 10 +++++-----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 3 files changed, 9 insertions(+), 9 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config.gcc gcc/config.gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d942edfb371..853ce7cc663 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config.gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config.gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -691,9 +691,9 @@ case ${target} in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *-*-darwin[4-9]* | *-*-darwin1[0-9]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ macos_min=`expr $darwin_maj - 4`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- *-*-darwin20*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # Darwin 20 corresponds to macOS 11.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- macos_maj=11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-*-darwin2*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Darwin 20 corresponds to macOS 11, Darwin 21 to macOS 12.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ macos_maj=`expr $darwin_maj - 9`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ def_ld64=609.0
</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;'>+diff --git gcc/config/darwin-c.c gcc/config/darwin-c.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 96172305711..3c2afe56522 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/darwin-c.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/darwin-c.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -691,7 +691,7 @@ macosx_version_as_macro (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (!version_array)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ goto fail;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (version_array[MAJOR] < 10 || version_array[MAJOR] > 11)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (version_array[MAJOR] < 10 || version_array[MAJOR] > 12)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ goto fail;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (version_array[MAJOR] == 10 && version_array[MINOR] < 10)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/darwin-driver.c gcc/config/darwin-driver.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 57acbefeb41..8876be6e0dc 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/darwin-driver.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/darwin-driver.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -64,17 +64,17 @@ validate_macosx_version_min (const char *version_str)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ major = strtoul (version_str, &end, 10);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (major < 10 || major > 11 ) /* MacOS 10 and 11 are known. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (major < 10 || major > 12 ) /* macOS 10, 11, and 12 are known. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Skip a separating period, if there's one. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ version_str = end + ((*end == '.') ? 1 : 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (major == 11 && *end != '\0' && !ISDIGIT (version_str[0]))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- /* For MacOS 11, we allow just the major number, but if the minor is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (major > 10 && *end != '\0' && !ISDIGIT (version_str[0]))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* For macOS 11+, we allow just the major number, but if the minor is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ there it must be numeric. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- else if (major == 11 && *end == '\0')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else if (major > 10 && *end == '\0')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* We will rewrite 11 => 11.0.0. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ need_rewrite = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else if (major == 10 && (*end == '\0' || !ISDIGIT (version_str[0])))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -172,7 +172,7 @@ darwin_find_version_from_kernel (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (minor_vers > 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ minor_vers -= 1; /* Kernel 20.3 => macOS 11.2. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* It's not yet clear whether patch level will be considered. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- asprintf (&new_flag, "11.%02d.00", minor_vers);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ asprintf (&new_flag, "%d.%02d.00", major_vers - 9, minor_vers);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else if (major_vers - 4 <= 4)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* On 10.4 and earlier, the old linker is used which does not
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0080-Force-to-use-C-11-on-macOS-11.patch b/lang/gcc10-bootstrap/files/0080-Force-to-use-C-11-on-macOS-11.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..789d06773a3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0080-Force-to-use-C-11-on-macOS-11.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,65 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 7f4e7422d7dbd85f7d2714a33e355044d282d629 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: "Kirill A. Korinsky" <kirill@korins.ky>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 20 Feb 2022 02:28:51 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Force to use C++11 on macOS 11+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The root cause is fixing linking issue on build like:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Undefined symbols for architecture x86_64:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "_cfun", referenced from:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ___cxx_global_var_init.101 in gencondmd.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "_const_int_rtx", referenced from:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ___cxx_global_var_init.101 in gencondmd.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "_const_tiny_rtx", referenced from:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ___cxx_global_var_init.101 in gencondmd.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "_epilogue_completed", referenced from:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+See: https://trac.macports.org/ticket/64316
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure | 8 +++++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.ac | 8 +++++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 14 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git configure configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 9367a6db04b..40f41a89f11 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5538,8 +5538,14 @@ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # When bootstrapping with GCC, build stage 1 in C++98 mode to ensure that a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # C++98 compiler can still start the bootstrap.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Anyway, for macOS 11+ force to use C++11.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$enable_bootstrap:$GXX" = "yes:yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- CXX="$CXX -std=gnu++98"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case "${target}" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-*-darwin2*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ CXX="$CXX -std=c++11" ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ CXX="$CXX -std=gnu++98" ;;
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Used for setting $lt_cv_objdir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git configure.ac configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 079259b5365..e8528db6489 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1469,8 +1469,14 @@ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # When bootstrapping with GCC, build stage 1 in C++98 mode to ensure that a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # C++98 compiler can still start the bootstrap.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Anyway, for macOS 11+ force to use C++11.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$enable_bootstrap:$GXX" = "yes:yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- CXX="$CXX -std=gnu++98"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case "${target}" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-*-darwin2*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ CXX="$CXX -std=c++11" ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ CXX="$CXX -std=gnu++98" ;;
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Used for setting $lt_cv_objdir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/patch-darwin21.diff b/lang/gcc10-bootstrap/files/0081-Darwin-Allow-to-using-rpaths-after-darwin20.patch
</span>similarity index 79%
rename from lang/gcc10-bootstrap/files/patch-darwin21.diff
rename to lang/gcc10-bootstrap/files/0081-Darwin-Allow-to-using-rpaths-after-darwin20.patch
<span style='display:block; white-space:pre;color:#808080;'>index 2e284e06bac..20a3b566cbe 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc10-bootstrap/files/patch-darwin21.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0081-Darwin-Allow-to-using-rpaths-after-darwin20.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,169 +1,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 96d8d5e4178130380197c66a0ce982e52e361bd7 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Saagar Jha <saagar@saagarjha.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Tue, 15 Jun 2021 04:08:23 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 1/4] Darwin, config: Amend for Darwin 21 / macOS 12.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-It seems that the OS major version is now tracking the kernel
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-major version - 9. Minor version has been set to kerne
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-min - 1.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Signed-off-by: Saagar Jha <saagar@saagarjha.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config.gcc: Adjust for Darwin21.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/darwin-c.c (macosx_version_as_macro): Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/darwin-driver.c (validate_macosx_version_min):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (darwin_find_version_from_kernel): Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 11b967577483e51f97d540e9c2c9d1ea76da8122)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config.gcc | 6 +++---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/darwin-c.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/darwin-driver.c | 10 +++++-----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 3 files changed, 9 insertions(+), 9 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config.gcc gcc/config.gcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index d942edfb371..853ce7cc663 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config.gcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config.gcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -691,9 +691,9 @@ case ${target} in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *-*-darwin[4-9]* | *-*-darwin1[0-9]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- macos_min=`expr $darwin_maj - 4`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- *-*-darwin20*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- # Darwin 20 corresponds to macOS 11.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- macos_maj=11
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-*-darwin2*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Darwin 20 corresponds to macOS 11, Darwin 21 to macOS 12.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ macos_maj=`expr $darwin_maj - 9`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- def_ld64=609.0
</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;'>-diff --git gcc/config/darwin-c.c gcc/config/darwin-c.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 96172305711..3c2afe56522 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/darwin-c.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/darwin-c.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -691,7 +691,7 @@ 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] > 11)
</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;'>- 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><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/darwin-driver.c gcc/config/darwin-driver.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 57acbefeb41..8876be6e0dc 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/darwin-driver.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/darwin-driver.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -64,17 +64,17 @@ validate_macosx_version_min (const char *version_str)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- major = strtoul (version_str, &end, 10);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (major < 10 || major > 11 ) /* MacOS 10 and 11 are known. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (major < 10 || major > 12 ) /* macOS 10, 11, and 12 are known. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Skip a separating period, if there's one. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- version_str = end + ((*end == '.') ? 1 : 0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (major == 11 && *end != '\0' && !ISDIGIT (version_str[0]))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- /* For MacOS 11, we allow just the major number, but if the minor is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (major > 10 && *end != '\0' && !ISDIGIT (version_str[0]))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* For macOS 11+, we allow just the major number, but if the minor is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- there it must be numeric. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- else if (major == 11 && *end == '\0')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else if (major > 10 && *end == '\0')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* We will rewrite 11 => 11.0.0. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- need_rewrite = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else if (major == 10 && (*end == '\0' || !ISDIGIT (version_str[0])))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -172,7 +172,7 @@ darwin_find_version_from_kernel (void)
</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, "11.%02d.00", minor_vers);
</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;'>- }
</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;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 2b37d7d3175ae545efcb3d4c26f6db533620611c Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: "Kirill A. Korinsky" <kirill@korins.ky>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sun, 20 Feb 2022 02:28:51 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 2/4] Force to use C++11 on macOS 11+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The root cause is fixing linking issue on build like:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Undefined symbols for architecture x86_64:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "_cfun", referenced from:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ___cxx_global_var_init.101 in gencondmd.o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "_const_int_rtx", referenced from:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ___cxx_global_var_init.101 in gencondmd.o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "_const_tiny_rtx", referenced from:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ___cxx_global_var_init.101 in gencondmd.o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "_epilogue_completed", referenced from:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-See: https://trac.macports.org/ticket/64316
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure | 8 +++++++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.ac | 8 +++++++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 14 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git configure configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 9367a6db04b..40f41a89f11 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -5538,8 +5538,14 @@ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # When bootstrapping with GCC, build stage 1 in C++98 mode to ensure that a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # C++98 compiler can still start the bootstrap.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Anyway, for macOS 11+ force to use C++11.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$enable_bootstrap:$GXX" = "yes:yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- CXX="$CXX -std=gnu++98"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case "${target}" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-*-darwin2*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ CXX="$CXX -std=c++11" ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ CXX="$CXX -std=gnu++98" ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</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;'>- # Used for setting $lt_cv_objdir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git configure.ac configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 079259b5365..e8528db6489 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1469,8 +1469,14 @@ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # When bootstrapping with GCC, build stage 1 in C++98 mode to ensure that a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # C++98 compiler can still start the bootstrap.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Anyway, for macOS 11+ force to use C++11.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$enable_bootstrap:$GXX" = "yes:yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- CXX="$CXX -std=gnu++98"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case "${target}" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-*-darwin2*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ CXX="$CXX -std=c++11" ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ CXX="$CXX -std=gnu++98" ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</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;'>- # Used for setting $lt_cv_objdir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 5fb4e76870a3b83aba80d67fa3f9bbda98201794 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 932123a540799051c9fcaf6b150afb302fdb91cd Mon Sep 17 00:00:00 2001
</span> From: "Kirill A. Korinsky" <kirill@korins.ky>
Date: Sun, 20 Feb 2022 22:04:55 +0100
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 3/4] Darwin: Allow to using rpaths after darwin20
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin: Allow to using rpaths after darwin20
</span>
This issue was introduced at previous commit:
```
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -614,38 +452,5 @@ index fdd8e89973e..89ea0b22647 100755
</span> enable_darwin_at_rpath=yes
;;
--
<span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From b34c1f6a1442490d3c8fe62aee81bb20debd5cfd Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: "Kirill A. Korinsky" <kirill@korins.ky>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sun, 20 Feb 2022 22:19:43 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 4/4] Darwin, libgcc: include support macOS 12+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This issue was introduced at previous commit:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-```
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Author: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sun Jan 3 12:24:45 2021 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Darwin, libgcc : Adjust min version supported for the OS.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-```
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config.host | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config.host libgcc/config.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 950a8c088c5..e35d3eda490 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -249,7 +249,7 @@ case ${host} in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "enable_darwin_at_rpath is '$enable_darwin_at_rpath'" 1>&2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case ${host} in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- *-*-darwin20* | *-*-darwin1[89]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-*-darwin2* | *-*-darwin1[89]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tmake_file="t-darwin-min-8 $tmake_file"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *-*-darwin9* | *-*-darwin1[0-7]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span>
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0082-Darwin-libgcc-include-support-macOS-12.patch b/lang/gcc10-bootstrap/files/0082-Darwin-libgcc-include-support-macOS-12.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..de283b7317d
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0082-Darwin-libgcc-include-support-macOS-12.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,32 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From ac0e364fc18ee9f450aa4270e4c75b3e845e9345 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: "Kirill A. Korinsky" <kirill@korins.ky>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 20 Feb 2022 22:19:43 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, libgcc: include support macOS 12+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This issue was introduced at previous commit:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+```
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Author: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun Jan 3 12:24:45 2021 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Darwin, libgcc : Adjust min version supported for the OS.
</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;'>+ libgcc/config.host | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/config.host libgcc/config.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 950a8c088c5..e35d3eda490 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/config.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/config.host
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -249,7 +249,7 @@ case ${host} in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "enable_darwin_at_rpath is '$enable_darwin_at_rpath'" 1>&2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case ${host} in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- *-*-darwin20* | *-*-darwin1[89]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *-*-darwin2* | *-*-darwin1[89]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tmake_file="t-darwin-min-8 $tmake_file"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *-*-darwin9* | *-*-darwin1[0-7]*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/patch-extra-ppc.diff b/lang/gcc10-bootstrap/files/0083-LRA-rs6000-Darwin-Amend-lo_sum-use-for-forced-consta.patch
</span>similarity index 99%
rename from lang/gcc10-bootstrap/files/patch-extra-ppc.diff
rename to lang/gcc10-bootstrap/files/0083-LRA-rs6000-Darwin-Amend-lo_sum-use-for-forced-consta.patch
<span style='display:block; white-space:pre;color:#808080;'>index db1fe3a82f9..4346873e82b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc10-bootstrap/files/patch-extra-ppc.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0083-LRA-rs6000-Darwin-Amend-lo_sum-use-for-forced-consta.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -136,5 +136,5 @@ index 7cc479b3042..0adcc2b6654 100644
</span> }
if (code < 0)
--
<span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span>
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0084-Darwin-config-Revise-host-config-fragment.patch b/lang/gcc10-bootstrap/files/0084-Darwin-config-Revise-host-config-fragment.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..ac50c812281
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0084-Darwin-config-Revise-host-config-fragment.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,138 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From e04b5c5e0315c8249ab37d3f307512261fad28a5 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sat, 3 Jul 2021 15:42:16 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, config: Revise host config fragment.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+There were two uses for the Darwin host config fragment:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The first is to arrange for targets that support mdynamic-no-pic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+to be built with that enabled (since it makes a significant
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+difference to the compiler performance). We can be more specific
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+in the application of this, since it only applies to 32b hosts
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+plus powerpc64-darwin9.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The second was to work around a tool bug where -fno-PIE was not
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+propagated to the link stage. This second use is redundant,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+since the buggy toolchain cannot bootstrap current GCC sources
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+anyway.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This makes the host fragment more specific and reduces the number
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+of toolchains for which it is included which reduces clutter in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure lines.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+config/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * mh-darwin: Make this specific to handling the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mdynamic-no-pic case.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure.ac: Adjust cases for which it is necessary to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ include the Darwin host config fragment.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 54258e22b0846aaa6bd3265f592feb161eecda75)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ config/mh-darwin | 57 ++++++++++++++++++++++++++++--------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.ac | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 3 files changed, 35 insertions(+), 26 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git config/mh-darwin config/mh-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 148b73038c3..fb2bb5ad1d9 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- config/mh-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ config/mh-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,29 +1,38 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # The -mdynamic-no-pic ensures that the compiler executable is built without
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# position-independent-code -- the usual default on Darwin. This fix speeds
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# compiles by 3-5%. Don't add it if the compiler doesn't also support
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# -mno-dynamic-no-pic to undo it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-DARWIN_MDYNAMIC_NO_PIC := \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-`case ${host} in i?86-*-darwin* | powerpc-*-darwin*) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $(CC) -S -xc /dev/null -o /dev/null -mno-dynamic-no-pic 2>/dev/null \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- && echo -mdynamic-no-pic ;; esac`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-DARWIN_GCC_MDYNAMIC_NO_PIC := \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-`case ${host} in i?86-*-darwin* | powerpc-*-darwin*) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $(CC) -S -xc /dev/null -o /dev/null -mno-dynamic-no-pic 2>/dev/null \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- || echo -mdynamic-no-pic ;; esac`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# position-independent-code -- the usual default on Darwin. This speeds compiles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# by 8-20% (measurements made against GCC-11).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# However, we cannot add it unless the bootstrap compiler supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# -mno-dynamic-no-pic to undo it, since libiberty, at least, needs this.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# ld on Darwin versions >= 10.7 defaults to PIE executables. Disable this for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# gcc components, since it is incompatible with our pch implementation.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-DARWIN_NO_PIE := `case ${host} in *-*-darwin[1][1-9]*) echo -Wl,-no_pie ;; esac;`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# We use Werror, since some versions of clang report unknown command line flags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# as a warning only.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-BOOT_CFLAGS += $(DARWIN_MDYNAMIC_NO_PIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-BOOT_LDFLAGS += $(DARWIN_NO_PIE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# We only need to determine this for the host tool used to build stage1 (or a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# non-bootstrapped compiler), later stages will be built by GCC which supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# the required flags.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Similarly, for cross-compilation.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-STAGE1_CFLAGS += $(DARWIN_MDYNAMIC_NO_PIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-STAGE1_LDFLAGS += $(DARWIN_NO_PIE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++BOOTSTRAP_TOOL_CAN_USE_MDYNAMIC_NO_PIC := $(shell \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(CC) -S -xc /dev/null -o /dev/null -Werror -mno-dynamic-no-pic 2>/dev/null \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ && echo true)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Without -mno-dynamic-no-pic support, add -mdynamic-no-pic just to later
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# stages when we know it is built with gcc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-STAGE2_CFLAGS += $(DARWIN_GCC_MDYNAMIC_NO_PIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-STAGE3_CFLAGS += $(DARWIN_GCC_MDYNAMIC_NO_PIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-STAGE4_CFLAGS += $(DARWIN_GCC_MDYNAMIC_NO_PIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@if gcc-bootstrap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ifeq (${BOOTSTRAP_TOOL_CAN_USE_MDYNAMIC_NO_PIC},true)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++STAGE1_CFLAGS += -mdynamic-no-pic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++STAGE1_CFLAGS += -fPIC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Add -mdynamic-no-pic to later stages when we know it is built with GCC.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++BOOT_CFLAGS += -mdynamic-no-pic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@endif gcc-bootstrap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@unless gcc-bootstrap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ifeq (${BOOTSTRAP_TOOL_CAN_USE_MDYNAMIC_NO_PIC},true)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# FIXME: we should also enable this for cross and non-bootstrap builds but
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# that needs amendment to libcc1.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# CFLAGS += -mdynamic-no-pic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# CXXFLAGS += -mdynamic-no-pic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++CFLAGS += -fPIC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++CXXFLAGS += -fPIC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@endunless gcc-bootstrap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git configure configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 40f41a89f11..8fe7a9d873c 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -4087,7 +4087,7 @@ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64-*-darwin* | arm64*-*-darwin*)
</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;'>++ i?86-*-darwin[89]* | i?86-*-darwin1[0-7]* | powerpc*-*-darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ host_makefile_frag="config/mh-darwin"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ powerpc-*-aix*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git configure.ac configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index e8528db6489..204baa2375e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1335,7 +1335,7 @@ case "${host}" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ aarch64-*-darwin* | arm64*-*-darwin*)
</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;'>++ i?86-*-darwin[[89]]* | i?86-*-darwin1[[0-7]]* | powerpc*-*-darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ host_makefile_frag="config/mh-darwin"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ powerpc-*-aix*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0085-configure-Avoid-unnecessary-constraints-on-executabl.patch b/lang/gcc10-bootstrap/files/0085-configure-Avoid-unnecessary-constraints-on-executabl.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..e8edcc3929b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0085-configure-Avoid-unnecessary-constraints-on-executabl.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,155 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 52f3a53b800de62af70bf643ccfb63bf2b25f4dc Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Thu, 26 Aug 2021 12:52:29 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] configure: Avoid unnecessary constraints on executables for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $build.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The executables for GCC's c-family compilers must be built with no-PIE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+because they use PCH and the current model for this requires that the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+exe is always lauched at the same address. Since the other language
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compilers share code with the c-family this constraint is also applied
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+to them.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+However, the executables that run on $build (generators, and parsers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+for md and def files) need not have any such constraint they do not
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+consume PCH files.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This change simplifies the configuration and Makefile content by
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+removing the code enforcing no-PIE on these exes. This also fixes a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bootstrap issue with some Darwin versions and clang as the bootstrap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler, where -no-PIE causes the correct relocation model to be
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+switched off leading to invalid user-space code.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Makefile.in: Remove variables related to applying no-PIE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ to the exes on $build.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * configure.ac: Remove configuration related to applying
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ no-PIE to the exes on $build.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit fb32372651882adee2d41052f1e59012e8bb32a7)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/Makefile.in | 7 -------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/configure | 18 ++----------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/configure.ac | 10 ----------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 3 files changed, 2 insertions(+), 33 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/Makefile.in gcc/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index ebba6ae3754..68623110e27 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -786,13 +786,8 @@ DIR = ../gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Native compiler for the build machine and its switches.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CC_FOR_BUILD = @CC_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CXX_FOR_BUILD = @CXX_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-NO_PIE_CFLAGS_FOR_BUILD = @NO_PIE_CFLAGS_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-NO_PIE_FLAG_FOR_BUILD = @NO_PIE_FLAG_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ BUILD_CFLAGS= @BUILD_CFLAGS@ $(GENERATOR_CFLAGS) -DGENERATOR_FILE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ BUILD_CXXFLAGS = @BUILD_CXXFLAGS@ $(GENERATOR_CFLAGS) -DGENERATOR_FILE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-BUILD_NO_PIE_CFLAGS = @BUILD_NO_PIE_CFLAGS@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-BUILD_CFLAGS += $(BUILD_NO_PIE_CFLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-BUILD_CXXFLAGS += $(BUILD_NO_PIE_CFLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Native compiler that we use. This may be C++ some day.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ COMPILER_FOR_BUILD = $(CXX_FOR_BUILD)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -804,8 +799,6 @@ BUILD_LINKERFLAGS = $(BUILD_CXXFLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Native linker and preprocessor flags. For x-fragment overrides.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ BUILD_LDFLAGS=@BUILD_LDFLAGS@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-BUILD_NO_PIE_FLAG = @BUILD_NO_PIE_FLAG@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-BUILD_LDFLAGS += $(BUILD_NO_PIE_FLAG)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ BUILD_CPPFLAGS= -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -I$(srcdir)/../include @INCINTL@ $(CPPINC) $(CPPFLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/configure gcc/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d821b7bb9b2..50e2310993c 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -753,10 +753,6 @@ FGREP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SED
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIBTOOL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ collect2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-NO_PIE_FLAG_FOR_BUILD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-NO_PIE_CFLAGS_FOR_BUILD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-BUILD_NO_PIE_FLAG
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-BUILD_NO_PIE_CFLAGS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ STMP_FIXINC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ BUILD_LDFLAGS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ BUILD_CXXFLAGS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12969,24 +12965,14 @@ BUILD_CXXFLAGS='$(ALL_CXXFLAGS)'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ BUILD_LDFLAGS='$(LDFLAGS)'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ STMP_FIXINC=stmp-fixinc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-BUILD_NO_PIE_CFLAGS='$(NO_PIE_CFLAGS)'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-BUILD_NO_PIE_FLAG='$(NO_PIE_FLAG)'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # And these apply if build != host, or we are generating coverage data
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test x$build != x$host || test "x$coverage_flags" != x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ BUILD_CXXFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CXXFLAGS_FOR_BUILD)'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ BUILD_LDFLAGS='$(LDFLAGS_FOR_BUILD)'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- NO_PIE_CFLAGS_FOR_BUILD=${NO_PIE_CFLAGS_FOR_BUILD-${NO_PIE_CFLAGS}}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- NO_PIE_FLAG_FOR_BUILD=${NO_PIE_FLAG_FOR_BUILD-${NO_PIE_FLAG}}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- BUILD_NO_PIE_CFLAGS='$(NO_PIE_CFLAGS_FOR_BUILD)'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- BUILD_NO_PIE_FLAG='$(NO_PIE_FLAG_FOR_BUILD)'
</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;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Expand extra_headers to include complete path.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # This substitutes for lots of t-* files.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extra_headers_list=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19182,7 +19168,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 19185 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 19171 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19288,7 +19274,7 @@ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#line 19291 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#line 19277 "configure"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/configure.ac gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f60311f8007..8624b7cabeb 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2377,23 +2377,13 @@ BUILD_CXXFLAGS='$(ALL_CXXFLAGS)' AC_SUBST(BUILD_CXXFLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ BUILD_LDFLAGS='$(LDFLAGS)' AC_SUBST(BUILD_LDFLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ STMP_FIXINC=stmp-fixinc AC_SUBST(STMP_FIXINC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-BUILD_NO_PIE_CFLAGS='$(NO_PIE_CFLAGS)' AC_SUBST(BUILD_NO_PIE_CFLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-BUILD_NO_PIE_FLAG='$(NO_PIE_FLAG)' AC_SUBST(BUILD_NO_PIE_FLAG)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # And these apply if build != host, or we are generating coverage data
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test x$build != x$host || test "x$coverage_flags" != x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ BUILD_CXXFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CXXFLAGS_FOR_BUILD)'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ BUILD_LDFLAGS='$(LDFLAGS_FOR_BUILD)'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- NO_PIE_CFLAGS_FOR_BUILD=${NO_PIE_CFLAGS_FOR_BUILD-${NO_PIE_CFLAGS}}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- NO_PIE_FLAG_FOR_BUILD=${NO_PIE_FLAG_FOR_BUILD-${NO_PIE_FLAG}}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- BUILD_NO_PIE_CFLAGS='$(NO_PIE_CFLAGS_FOR_BUILD)'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- BUILD_NO_PIE_FLAG='$(NO_PIE_FLAG_FOR_BUILD)'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-AC_SUBST(NO_PIE_CFLAGS_FOR_BUILD)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-AC_SUBST(NO_PIE_FLAG_FOR_BUILD)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Expand extra_headers to include complete path.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # This substitutes for lots of t-* files.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0086-Darwin-libcc1-Handle-hosts-with-mdynamic-no-pic-supp.patch b/lang/gcc10-bootstrap/files/0086-Darwin-libcc1-Handle-hosts-with-mdynamic-no-pic-supp.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..cb6f6d26c7b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0086-Darwin-libcc1-Handle-hosts-with-mdynamic-no-pic-supp.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,49 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From da49f6d940a6a97398d8d83721d3450b25a1ba60 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 4 Jul 2021 17:56:05 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, libcc1: Handle hosts with mdynamic-no-pic support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The default for building host-side binaries for mdynamic-no-pic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+hosts is to enable this. However, it is not compatible with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+dynamic libraries, so must be switched off for libcc1.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libcc1/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Makefile.am: Switch mdynamic-no-pic to fPIC.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Makefile.in: Regenerated.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit b240450b630da511fadda98bba4862033ff56950)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libcc1/Makefile.am | 1 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libcc1/Makefile.in | 1 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 2 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcc1/Makefile.am libcc1/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 393d3273235..6a5e3d1a4c2 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libcc1/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcc1/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -28,6 +28,7 @@ AM_CXXFLAGS = $(WARN_FLAGS) $(WERROR) $(visibility)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if DARWIN_DYNAMIC_LOOKUP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AM_CXXFLAGS += -Wl,-undefined,dynamic_lookup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++override CXXFLAGS := $(subst -mdynamic-no-pic,-fPIC,$(CXXFLAGS))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ override CXXFLAGS := $(filter-out -fsanitize=address,$(CXXFLAGS))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ override LDFLAGS := $(filter-out -fsanitize=address,$(LDFLAGS))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Can be simplified when libiberty becomes a normal convenience library.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcc1/Makefile.in libcc1/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 2be35afedd5..b67dd2e0b13 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libcc1/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcc1/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -808,6 +808,7 @@ uninstall-am: uninstall-cc1libLTLIBRARIES uninstall-pluginLTLIBRARIES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .PRECIOUS: Makefile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++override CXXFLAGS := $(subst -mdynamic-no-pic,-fPIC,$(CXXFLAGS))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ override CXXFLAGS := $(filter-out -fsanitize=address,$(CXXFLAGS))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ override LDFLAGS := $(filter-out -fsanitize=address,$(LDFLAGS))
</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;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/patch-xcode12-fix.diff b/lang/gcc10-bootstrap/files/0087-Darwin-X86-config-Adjust-as-command-lines-PR100340.patch
</span>similarity index 99%
rename from lang/gcc10-bootstrap/files/patch-xcode12-fix.diff
rename to lang/gcc10-bootstrap/files/0087-Darwin-X86-config-Adjust-as-command-lines-PR100340.patch
<span style='display:block; white-space:pre;color:#808080;'>index 3ff50b5fffa..d8f1e44ed1f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc10-bootstrap/files/patch-xcode12-fix.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0087-Darwin-X86-config-Adjust-as-command-lines-PR100340.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -144,5 +144,5 @@ index 8624b7cabeb..5bea862a70a 100644
</span> gcc_GAS_CHECK_FEATURE([-xbrace_comment], gcc_cv_as_ix86_xbrace_comment,,
[-xbrace_comment=no], [.text],,
--
<span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span>
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/patch-darwin8.diff b/lang/gcc10-bootstrap/files/0088-Darwin-libgcc-Fix-build-errors-on-powerpc-darwin8.patch
</span>similarity index 50%
rename from lang/gcc10-bootstrap/files/patch-darwin8.diff
rename to lang/gcc10-bootstrap/files/0088-Darwin-libgcc-Fix-build-errors-on-powerpc-darwin8.patch
<span style='display:block; white-space:pre;color:#808080;'>index db4568b930f..1396990cbcf 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc10-bootstrap/files/patch-darwin8.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0088-Darwin-libgcc-Fix-build-errors-on-powerpc-darwin8.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,21 +1,24 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-commit be0a1a32207595c0b6dc952f48630f1b077d7aeb
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Author: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Fri Mar 4 12:34:15 2022 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From be0a1a32207595c0b6dc952f48630f1b077d7aeb Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri, 4 Mar 2022 12:34:15 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin, libgcc: Fix build errors on powerpc-darwin8.
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- Darwin, libgcc: Fix build errors on powerpc-darwin8.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PowerPC Darwin8 is the last version to use an unwind frame fallback routine.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- This had been omitted from the new shared EH library, along with one more
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- header dependency that only fires there.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/rs6000/t-darwin-ehs: Add darwin-fallback.o.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/t-darwin-ehs: Add dependency on unwind.h.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (cherry picked from commit c18ddb05b0391a397f8882fc6a12a1bab7e0df52)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PowerPC Darwin8 is the last version to use an unwind frame fallback routine.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This had been omitted from the new shared EH library, along with one more
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+header dependency that only fires there.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libgcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/rs6000/t-darwin-ehs: Add darwin-fallback.o.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/t-darwin-ehs: Add dependency on unwind.h.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit c18ddb05b0391a397f8882fc6a12a1bab7e0df52)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/rs6000/t-darwin-ehs | 4 ++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/config/t-darwin-ehs | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 3 insertions(+), 3 deletions(-)
</span>
diff --git libgcc/config/rs6000/t-darwin-ehs libgcc/config/rs6000/t-darwin-ehs
index 42f521411af..581344e862a 100644
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -38,3 +41,6 @@ index 95275023dac..df46f8a6529 100644
</span> -unwind-dw2_s.o: gthr-default.h md-unwind-support.h
+unwind-dw2_s.o: gthr-default.h md-unwind-support.h unwind.h
$(LIBEHSOBJS): libgcc_tm.h
<span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0089-Darwin-Future-proof-mmacosx-version-min.patch b/lang/gcc10-bootstrap/files/0089-Darwin-Future-proof-mmacosx-version-min.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..f4175bc0024
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0089-Darwin-Future-proof-mmacosx-version-min.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,54 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 90f9ae82ae5b948b2bb12296181c84d575252a0f Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Mark Mentovai <mark@mentovai.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri, 10 Jun 2022 15:56:42 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin: Future-proof -mmacosx-version-min
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+f18cbc1ee1f4 (2021-12-18) updated various parts of gcc to not impose a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Darwin or macOS version maximum of the current known release. Different
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+parts of gcc accept, variously, Darwin version numbers matching
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+darwin2*, and macOS major version numbers up to 99. The current released
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version is Darwin 21 and macOS 12, with Darwin 22 and macOS 13 expected
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+for public release later this year. With one major OS release per year,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+this strategy is expected to provide another 8 years of headroom.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+However, f18cbc1ee1f4 missed config/darwin-c.c (now .cc), which
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+continued to impose a maximum of macOS 12 on the -mmacosx-version-min
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler driver argument. This was last updated from 11 to 12 in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+11b967577483 (2021-10-27), but kicking the can down the road one year at
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+a time is not a viable strategy, and is not in line with the more recent
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+technique from f18cbc1ee1f4.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Prior to 556ab5125912 (2020-11-06), config/darwin-c.c did not impose a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maximum that needed annual maintenance, as at that point, all macOS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+releases had used a major version of 10. The stricter approach imposed
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+since then was valuable for a time until the particulars of the new
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+versioning scheme were established and understood, but now that they
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+are, it's prudent to restore a more permissive approach.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Mark Mentovai <mark@mentovai.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 6725f186cb70d48338f69456864bf469a12ee5be)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc/config/darwin-c.c | 3 ++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 2 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/config/darwin-c.c gcc/config/darwin-c.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 3c2afe56522..0f746e933c1 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/darwin-c.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/darwin-c.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -691,7 +691,8 @@ macosx_version_as_macro (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (!version_array)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ goto fail;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (version_array[MAJOR] < 10 || version_array[MAJOR] > 12)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* System tools accept up to 99 as a major version. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (version_array[MAJOR] < 10 || version_array[MAJOR] > 99)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ goto fail;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (version_array[MAJOR] == 10 && version_array[MINOR] < 10)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/0090-libstdc-Rename-__null_terminated-to-avoid-collision-.patch b/lang/gcc10-bootstrap/files/0090-libstdc-Rename-__null_terminated-to-avoid-collision-.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..32b56097ca9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0090-libstdc-Rename-__null_terminated-to-avoid-collision-.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,134 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 4595a90aa7ab440c5ff7434dde34929713e2d4a1 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Mark Mentovai <mark@mentovai.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 13 Jun 2022 16:40:19 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] libstdc++: Rename __null_terminated to avoid collision with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Apple SDK
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The macOS 13 SDK (and equivalent-version iOS and other Apple OS SDKs)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+contain this definition in <sys/cdefs.h>:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+863 #define __null_terminated
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This collides with the use of __null_terminated in libstdc++'s
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+experimental fs_path.h.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+As libstdc++'s use of this token is entirely internal to fs_path.h, the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+simplest workaround, renaming it, is most appropriate. Here, it's
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+renamed to __nul_terminated, referencing the NUL ('\0') value that is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+used to terminate the strings in the context in which this tag structure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+is used.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libstdc++-v3/ChangeLog:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * include/experimental/bits/fs_path.h (__detail::__null_terminated):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Rename to __nul_terminated to avoid colliding with a macro in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Apple's SDK.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Mark Mentovai <mark@mentovai.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 254e88b3d7e8abcc236be3451609834371cf4d5d)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libstdc++-v3/include/bits/fs_path.h | 12 ++++++------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libstdc++-v3/include/experimental/bits/fs_path.h | 12 ++++++------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 12 insertions(+), 12 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libstdc++-v3/include/bits/fs_path.h libstdc++-v3/include/bits/fs_path.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 0b9911e638a..83e944b0a30 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libstdc++-v3/include/bits/fs_path.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libstdc++-v3/include/bits/fs_path.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -130,10 +130,10 @@ namespace __detail
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ _Source
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ _S_range_begin(_Source __begin) { return __begin; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- struct __null_terminated { };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ struct __nul_terminated { };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<typename _Source>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- __null_terminated
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ __nul_terminated
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ _S_range_end(_Source) { return {}; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<typename _CharT, typename _Traits, typename _Alloc>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -533,11 +533,11 @@ namespace __detail
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct _Cvt;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static basic_string_view<value_type>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- _S_convert(value_type* __src, __detail::__null_terminated)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ _S_convert(value_type* __src, __detail::__nul_terminated)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { return __src; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static basic_string_view<value_type>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- _S_convert(const value_type* __src, __detail::__null_terminated)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ _S_convert(const value_type* __src, __detail::__nul_terminated)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { return __src; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static basic_string_view<value_type>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -559,7 +559,7 @@ namespace __detail
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<typename _InputIterator>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static string_type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- _S_convert(_InputIterator __src, __detail::__null_terminated)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ _S_convert(_InputIterator __src, __detail::__nul_terminated)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Read from iterator into basic_string until a null value is seen:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ auto __s = _S_string_from_iter(__src);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -581,7 +581,7 @@ namespace __detail
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<typename _InputIterator>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static string_type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- _S_convert_loc(_InputIterator __src, __detail::__null_terminated,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ _S_convert_loc(_InputIterator __src, __detail::__nul_terminated,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const std::locale& __loc)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const std::string __s = _S_string_from_iter(__src);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+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:#e0ffe0;'>+index 69b823a3466..7c1bb239e66 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libstdc++-v3/include/experimental/bits/fs_path.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libstdc++-v3/include/experimental/bits/fs_path.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -140,10 +140,10 @@ namespace __detail
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ inline _Source
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ _S_range_begin(_Source __begin) { return __begin; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- struct __null_terminated { };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ struct __nul_terminated { };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<typename _Source>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- inline __null_terminated
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ inline __nul_terminated
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ _S_range_end(_Source) { return {}; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<typename _CharT, typename _Traits, typename _Alloc>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -467,11 +467,11 @@ namespace __detail
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct _Cvt;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static string_type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- _S_convert(value_type* __src, __detail::__null_terminated)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ _S_convert(value_type* __src, __detail::__nul_terminated)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { return string_type(__src); }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static string_type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- _S_convert(const value_type* __src, __detail::__null_terminated)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ _S_convert(const value_type* __src, __detail::__nul_terminated)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { return string_type(__src); }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<typename _Iter>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -485,7 +485,7 @@ namespace __detail
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<typename _InputIterator>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static string_type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- _S_convert(_InputIterator __src, __detail::__null_terminated)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ _S_convert(_InputIterator __src, __detail::__nul_terminated)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ auto __s = _S_string_from_iter(__src);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return _S_convert(__s.c_str(), __s.c_str() + __s.size());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -505,7 +505,7 @@ namespace __detail
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<typename _InputIterator>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static string_type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- _S_convert_loc(_InputIterator __src, __detail::__null_terminated,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ _S_convert_loc(_InputIterator __src, __detail::__nul_terminated,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const std::locale& __loc)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const std::string __s = _S_string_from_iter(__src);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/patch-darwin22.diff b/lang/gcc10-bootstrap/files/0091-Darwin-Future-proof-and-homogeneize-detection-of-dar.patch
</span>similarity index 51%
rename from lang/gcc10-bootstrap/files/patch-darwin22.diff
rename to lang/gcc10-bootstrap/files/0091-Darwin-Future-proof-and-homogeneize-detection-of-dar.patch
<span style='display:block; white-space:pre;color:#808080;'>index 61fd90a6696..fdeb33d639d 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc10-bootstrap/files/patch-darwin22.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/files/0091-Darwin-Future-proof-and-homogeneize-detection-of-dar.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,197 +1,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 90f9ae82ae5b948b2bb12296181c84d575252a0f Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Mark Mentovai <mark@mentovai.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Fri, 10 Jun 2022 15:56:42 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 1/3] Darwin: Future-proof -mmacosx-version-min
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-f18cbc1ee1f4 (2021-12-18) updated various parts of gcc to not impose a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Darwin or macOS version maximum of the current known release. Different
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-parts of gcc accept, variously, Darwin version numbers matching
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-darwin2*, and macOS major version numbers up to 99. The current released
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-version is Darwin 21 and macOS 12, with Darwin 22 and macOS 13 expected
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-for public release later this year. With one major OS release per year,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-this strategy is expected to provide another 8 years of headroom.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-However, f18cbc1ee1f4 missed config/darwin-c.c (now .cc), which
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-continued to impose a maximum of macOS 12 on the -mmacosx-version-min
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler driver argument. This was last updated from 11 to 12 in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-11b967577483 (2021-10-27), but kicking the can down the road one year at
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-a time is not a viable strategy, and is not in line with the more recent
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-technique from f18cbc1ee1f4.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Prior to 556ab5125912 (2020-11-06), config/darwin-c.c did not impose a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-maximum that needed annual maintenance, as at that point, all macOS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-releases had used a major version of 10. The stricter approach imposed
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-since then was valuable for a time until the particulars of the new
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-versioning scheme were established and understood, but now that they
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-are, it's prudent to restore a more permissive approach.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Signed-off-by: Mark Mentovai <mark@mentovai.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 6725f186cb70d48338f69456864bf469a12ee5be)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/darwin-c.c | 3 ++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 2 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/darwin-c.c gcc/config/darwin-c.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 3c2afe56522..0f746e933c1 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/darwin-c.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/darwin-c.c
</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><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.38.2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 4595a90aa7ab440c5ff7434dde34929713e2d4a1 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Mark Mentovai <mark@mentovai.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Mon, 13 Jun 2022 16:40:19 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 2/3] libstdc++: Rename __null_terminated to avoid collision
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with Apple SDK
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The macOS 13 SDK (and equivalent-version iOS and other Apple OS SDKs)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-contain this definition in <sys/cdefs.h>:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-863 #define __null_terminated
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This collides with the use of __null_terminated in libstdc++'s
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-experimental fs_path.h.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-As libstdc++'s use of this token is entirely internal to fs_path.h, the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-simplest workaround, renaming it, is most appropriate. Here, it's
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-renamed to __nul_terminated, referencing the NUL ('\0') value that is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-used to terminate the strings in the context in which this tag structure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-is used.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-libstdc++-v3/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * include/experimental/bits/fs_path.h (__detail::__null_terminated):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Rename to __nul_terminated to avoid colliding with a macro in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Apple's SDK.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Signed-off-by: Mark Mentovai <mark@mentovai.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 254e88b3d7e8abcc236be3451609834371cf4d5d)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libstdc++-v3/include/bits/fs_path.h | 12 ++++++------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libstdc++-v3/include/experimental/bits/fs_path.h | 12 ++++++------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 12 insertions(+), 12 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libstdc++-v3/include/bits/fs_path.h libstdc++-v3/include/bits/fs_path.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 0b9911e638a..83e944b0a30 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libstdc++-v3/include/bits/fs_path.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libstdc++-v3/include/bits/fs_path.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -130,10 +130,10 @@ namespace __detail
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- _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;'>-- __null_terminated
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __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;'>-@@ -533,11 +533,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 basic_string_view<value_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 __src; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static basic_string_view<value_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 __src; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static basic_string_view<value_type>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -559,7 +559,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;'>- // Read from iterator into basic_string until a null value is seen:
</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;'>-@@ -581,7 +581,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:#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 69b823a3466..7c1bb239e66 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;'>-@@ -467,11 +467,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;'>-@@ -485,7 +485,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;'>-@@ -505,7 +505,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:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.38.2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> From e3b0f417b5dbcf5fb3696f5f37fc756528cfa99c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois-Xavier=20Coudert?= <fxcoudert@gcc.gnu.org>
Date: Fri, 17 Dec 2021 19:30:36 +0100
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 3/3] Darwin: Future-proof and homogeneize detection of darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Darwin: Future-proof and homogeneize detection of darwin
</span> versions
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -361,5 +171,5 @@ index 8102a5a532f..1b2d9674969 100644
</span> /* { dg-prune-output "cc1obj: warning: '-fobjc-gc' is ignored for '-fgnu-runtime'" } */
--
<span style='display:block; white-space:pre;background:#ffe0e0;'>-2.38.2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span>
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/patch-build-i686.diff b/lang/gcc10-bootstrap/files/patch-build-i686.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 513dd5747f8..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc10-bootstrap/files/patch-build-i686.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,345 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From e04b5c5e0315c8249ab37d3f307512261fad28a5 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sat, 3 Jul 2021 15:42:16 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 1/3] Darwin, config: Revise host config fragment.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-There were two uses for the Darwin host config fragment:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The first is to arrange for targets that support mdynamic-no-pic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-to be built with that enabled (since it makes a significant
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-difference to the compiler performance). We can be more specific
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-in the application of this, since it only applies to 32b hosts
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-plus powerpc64-darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The second was to work around a tool bug where -fno-PIE was not
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-propagated to the link stage. This second use is redundant,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-since the buggy toolchain cannot bootstrap current GCC sources
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-anyway.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This makes the host fragment more specific and reduces the number
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-of toolchains for which it is included which reduces clutter in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure lines.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-config/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * mh-darwin: Make this specific to handling the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- mdynamic-no-pic case.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure.ac: Adjust cases for which it is necessary to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- include the Darwin host config fragment.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 54258e22b0846aaa6bd3265f592feb161eecda75)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- config/mh-darwin | 57 ++++++++++++++++++++++++++++--------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.ac | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 3 files changed, 35 insertions(+), 26 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git config/mh-darwin config/mh-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 148b73038c3..fb2bb5ad1d9 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- config/mh-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ config/mh-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,29 +1,38 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # The -mdynamic-no-pic ensures that the compiler executable is built without
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# position-independent-code -- the usual default on Darwin. This fix speeds
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# compiles by 3-5%. Don't add it if the compiler doesn't also support
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# -mno-dynamic-no-pic to undo it.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--DARWIN_MDYNAMIC_NO_PIC := \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--`case ${host} in i?86-*-darwin* | powerpc-*-darwin*) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- $(CC) -S -xc /dev/null -o /dev/null -mno-dynamic-no-pic 2>/dev/null \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- && echo -mdynamic-no-pic ;; esac`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--DARWIN_GCC_MDYNAMIC_NO_PIC := \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--`case ${host} in i?86-*-darwin* | powerpc-*-darwin*) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- $(CC) -S -xc /dev/null -o /dev/null -mno-dynamic-no-pic 2>/dev/null \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- || echo -mdynamic-no-pic ;; esac`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# position-independent-code -- the usual default on Darwin. This speeds compiles
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# by 8-20% (measurements made against GCC-11).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# However, we cannot add it unless the bootstrap compiler supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# -mno-dynamic-no-pic to undo it, since libiberty, at least, needs this.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# ld on Darwin versions >= 10.7 defaults to PIE executables. Disable this for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# gcc components, since it is incompatible with our pch implementation.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--DARWIN_NO_PIE := `case ${host} in *-*-darwin[1][1-9]*) echo -Wl,-no_pie ;; esac;`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# We use Werror, since some versions of clang report unknown command line flags
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# as a warning only.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--BOOT_CFLAGS += $(DARWIN_MDYNAMIC_NO_PIC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--BOOT_LDFLAGS += $(DARWIN_NO_PIE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# We only need to determine this for the host tool used to build stage1 (or a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# non-bootstrapped compiler), later stages will be built by GCC which supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# the required flags.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# Similarly, for cross-compilation.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--STAGE1_CFLAGS += $(DARWIN_MDYNAMIC_NO_PIC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--STAGE1_LDFLAGS += $(DARWIN_NO_PIE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+BOOTSTRAP_TOOL_CAN_USE_MDYNAMIC_NO_PIC := $(shell \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(CC) -S -xc /dev/null -o /dev/null -Werror -mno-dynamic-no-pic 2>/dev/null \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ && echo true)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# Without -mno-dynamic-no-pic support, add -mdynamic-no-pic just to later
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# stages when we know it is built with gcc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--STAGE2_CFLAGS += $(DARWIN_GCC_MDYNAMIC_NO_PIC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--STAGE3_CFLAGS += $(DARWIN_GCC_MDYNAMIC_NO_PIC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--STAGE4_CFLAGS += $(DARWIN_GCC_MDYNAMIC_NO_PIC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@if gcc-bootstrap
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ifeq (${BOOTSTRAP_TOOL_CAN_USE_MDYNAMIC_NO_PIC},true)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+STAGE1_CFLAGS += -mdynamic-no-pic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+STAGE1_CFLAGS += -fPIC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Add -mdynamic-no-pic to later stages when we know it is built with GCC.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+BOOT_CFLAGS += -mdynamic-no-pic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@endif gcc-bootstrap
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@unless gcc-bootstrap
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ifeq (${BOOTSTRAP_TOOL_CAN_USE_MDYNAMIC_NO_PIC},true)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# FIXME: we should also enable this for cross and non-bootstrap builds but
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# that needs amendment to libcc1.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# CFLAGS += -mdynamic-no-pic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# CXXFLAGS += -mdynamic-no-pic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+CFLAGS += -fPIC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+CXXFLAGS += -fPIC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@endunless gcc-bootstrap
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git configure configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 40f41a89f11..8fe7a9d873c 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -4087,7 +4087,7 @@ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64-*-darwin* | arm64*-*-darwin*)
</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;'>-+ i?86-*-darwin[89]* | i?86-*-darwin1[0-7]* | powerpc*-*-darwin*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- host_makefile_frag="config/mh-darwin"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- powerpc-*-aix*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git configure.ac configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index e8528db6489..204baa2375e 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1335,7 +1335,7 @@ case "${host}" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64-*-darwin* | arm64*-*-darwin*)
</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;'>-+ i?86-*-darwin[[89]]* | i?86-*-darwin1[[0-7]]* | powerpc*-*-darwin*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- host_makefile_frag="config/mh-darwin"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- powerpc-*-aix*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 52f3a53b800de62af70bf643ccfb63bf2b25f4dc Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Thu, 26 Aug 2021 12:52:29 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 2/3] configure: Avoid unnecessary constraints on executables
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- for $build.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The executables for GCC's c-family compilers must be built with no-PIE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-because they use PCH and the current model for this requires that the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-exe is always lauched at the same address. Since the other language
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compilers share code with the c-family this constraint is also applied
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-to them.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-However, the executables that run on $build (generators, and parsers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-for md and def files) need not have any such constraint they do not
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-consume PCH files.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This change simplifies the configuration and Makefile content by
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-removing the code enforcing no-PIE on these exes. This also fixes a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-bootstrap issue with some Darwin versions and clang as the bootstrap
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler, where -no-PIE causes the correct relocation model to be
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-switched off leading to invalid user-space code.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Makefile.in: Remove variables related to applying no-PIE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- to the exes on $build.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure.ac: Remove configuration related to applying
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- no-PIE to the exes on $build.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit fb32372651882adee2d41052f1e59012e8bb32a7)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/Makefile.in | 7 -------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/configure | 18 ++----------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/configure.ac | 10 ----------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 3 files changed, 2 insertions(+), 33 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/Makefile.in gcc/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index ebba6ae3754..68623110e27 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -786,13 +786,8 @@ DIR = ../gcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Native compiler for the build machine and its switches.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CC_FOR_BUILD = @CC_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CXX_FOR_BUILD = @CXX_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--NO_PIE_CFLAGS_FOR_BUILD = @NO_PIE_CFLAGS_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--NO_PIE_FLAG_FOR_BUILD = @NO_PIE_FLAG_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- BUILD_CFLAGS= @BUILD_CFLAGS@ $(GENERATOR_CFLAGS) -DGENERATOR_FILE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- BUILD_CXXFLAGS = @BUILD_CXXFLAGS@ $(GENERATOR_CFLAGS) -DGENERATOR_FILE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--BUILD_NO_PIE_CFLAGS = @BUILD_NO_PIE_CFLAGS@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--BUILD_CFLAGS += $(BUILD_NO_PIE_CFLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--BUILD_CXXFLAGS += $(BUILD_NO_PIE_CFLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Native compiler that we use. This may be C++ some day.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- COMPILER_FOR_BUILD = $(CXX_FOR_BUILD)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -804,8 +799,6 @@ BUILD_LINKERFLAGS = $(BUILD_CXXFLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Native linker and preprocessor flags. For x-fragment overrides.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- BUILD_LDFLAGS=@BUILD_LDFLAGS@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--BUILD_NO_PIE_FLAG = @BUILD_NO_PIE_FLAG@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--BUILD_LDFLAGS += $(BUILD_NO_PIE_FLAG)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- BUILD_CPPFLAGS= -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -I$(srcdir)/../include @INCINTL@ $(CPPINC) $(CPPFLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/configure gcc/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index d821b7bb9b2..50e2310993c 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -753,10 +753,6 @@ FGREP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIBTOOL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- collect2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--NO_PIE_FLAG_FOR_BUILD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--NO_PIE_CFLAGS_FOR_BUILD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--BUILD_NO_PIE_FLAG
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--BUILD_NO_PIE_CFLAGS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- STMP_FIXINC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- BUILD_LDFLAGS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- BUILD_CXXFLAGS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12969,24 +12965,14 @@ BUILD_CXXFLAGS='$(ALL_CXXFLAGS)'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- BUILD_LDFLAGS='$(LDFLAGS)'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- STMP_FIXINC=stmp-fixinc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--BUILD_NO_PIE_CFLAGS='$(NO_PIE_CFLAGS)'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--BUILD_NO_PIE_FLAG='$(NO_PIE_FLAG)'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # And these apply if build != host, or we are generating coverage data
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test x$build != x$host || test "x$coverage_flags" != x
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- BUILD_CXXFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CXXFLAGS_FOR_BUILD)'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- BUILD_LDFLAGS='$(LDFLAGS_FOR_BUILD)'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- NO_PIE_CFLAGS_FOR_BUILD=${NO_PIE_CFLAGS_FOR_BUILD-${NO_PIE_CFLAGS}}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- NO_PIE_FLAG_FOR_BUILD=${NO_PIE_FLAG_FOR_BUILD-${NO_PIE_FLAG}}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- BUILD_NO_PIE_CFLAGS='$(NO_PIE_CFLAGS_FOR_BUILD)'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- BUILD_NO_PIE_FLAG='$(NO_PIE_FLAG_FOR_BUILD)'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Expand extra_headers to include complete path.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # This substitutes for lots of t-* files.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extra_headers_list=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19182,7 +19168,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 19185 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 19171 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19288,7 +19274,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 19291 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 19277 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/configure.ac gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index f60311f8007..8624b7cabeb 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2377,23 +2377,13 @@ BUILD_CXXFLAGS='$(ALL_CXXFLAGS)' AC_SUBST(BUILD_CXXFLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- BUILD_LDFLAGS='$(LDFLAGS)' AC_SUBST(BUILD_LDFLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- STMP_FIXINC=stmp-fixinc AC_SUBST(STMP_FIXINC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--BUILD_NO_PIE_CFLAGS='$(NO_PIE_CFLAGS)' AC_SUBST(BUILD_NO_PIE_CFLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--BUILD_NO_PIE_FLAG='$(NO_PIE_FLAG)' AC_SUBST(BUILD_NO_PIE_FLAG)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # And these apply if build != host, or we are generating coverage data
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test x$build != x$host || test "x$coverage_flags" != x
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- BUILD_CXXFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CXXFLAGS_FOR_BUILD)'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- BUILD_LDFLAGS='$(LDFLAGS_FOR_BUILD)'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- NO_PIE_CFLAGS_FOR_BUILD=${NO_PIE_CFLAGS_FOR_BUILD-${NO_PIE_CFLAGS}}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- NO_PIE_FLAG_FOR_BUILD=${NO_PIE_FLAG_FOR_BUILD-${NO_PIE_FLAG}}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- BUILD_NO_PIE_CFLAGS='$(NO_PIE_CFLAGS_FOR_BUILD)'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- BUILD_NO_PIE_FLAG='$(NO_PIE_FLAG_FOR_BUILD)'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--AC_SUBST(NO_PIE_CFLAGS_FOR_BUILD)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--AC_SUBST(NO_PIE_FLAG_FOR_BUILD)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Expand extra_headers to include complete path.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # This substitutes for lots of t-* files.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From da49f6d940a6a97398d8d83721d3450b25a1ba60 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sun, 4 Jul 2021 17:56:05 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 3/3] Darwin, libcc1: Handle hosts with mdynamic-no-pic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The default for building host-side binaries for mdynamic-no-pic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-hosts is to enable this. However, it is not compatible with
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-dynamic libraries, so must be switched off for libcc1.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-libcc1/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Makefile.am: Switch mdynamic-no-pic to fPIC.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Makefile.in: Regenerated.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit b240450b630da511fadda98bba4862033ff56950)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libcc1/Makefile.am | 1 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libcc1/Makefile.in | 1 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 2 insertions(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libcc1/Makefile.am libcc1/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 393d3273235..6a5e3d1a4c2 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libcc1/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libcc1/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -28,6 +28,7 @@ AM_CXXFLAGS = $(WARN_FLAGS) $(WERROR) $(visibility)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if DARWIN_DYNAMIC_LOOKUP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AM_CXXFLAGS += -Wl,-undefined,dynamic_lookup
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+override CXXFLAGS := $(subst -mdynamic-no-pic,-fPIC,$(CXXFLAGS))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- override CXXFLAGS := $(filter-out -fsanitize=address,$(CXXFLAGS))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- override LDFLAGS := $(filter-out -fsanitize=address,$(LDFLAGS))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Can be simplified when libiberty becomes a normal convenience library.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libcc1/Makefile.in libcc1/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 2be35afedd5..b67dd2e0b13 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libcc1/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libcc1/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -808,6 +808,7 @@ uninstall-am: uninstall-cc1libLTLIBRARIES uninstall-pluginLTLIBRARIES
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .PRECIOUS: Makefile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+override CXXFLAGS := $(subst -mdynamic-no-pic,-fPIC,$(CXXFLAGS))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- override CXXFLAGS := $(filter-out -fsanitize=address,$(CXXFLAGS))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- override LDFLAGS := $(filter-out -fsanitize=address,$(LDFLAGS))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/patch-iains-apple-si.diff b/lang/gcc10-bootstrap/files/patch-iains-apple-si.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index b3186e5e8f1..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc10-bootstrap/files/patch-iains-apple-si.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,18493 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 2c2c083bb012a58dd5506de0136ffc66156fb84d Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sun, 13 Dec 2020 17:21:16 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 01/68] Darwin, configury : Allow for specification and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- detection of dsymutil.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-In order to enable DWARF versions > 2 we need a sufficiently modern
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-version of dsymutil (in addition to the assembler / linker). This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-allows the user to configure a different path from the installed one.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-In addition, there are several sources of dsymutil so we differentiate
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-these in order to be get accurate version information.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure.ac: Handle --with-dsymutil in the same way as we
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- do for the assembler and linker. (DEFAULT_DSYMUTIL): New.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Extract the type and version for the dsymutil configured or
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- found by the default searches.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config.in: Regenerated.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure: Regenerated.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * collect2.c (do_dsymutil): Handle locating dsymutil in the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- same way as for the assembler and linker.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/darwin.h (DSYMUTIL): Delete.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * gcc.c: Report a configured dsymutil correctly.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Makefile.def: Add dsymutil defs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Makefile.in: Regenerated.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Makefile.tpl: Add dsymutil to flags.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure: Regenerated.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure.ac: Add dsymutil to target and build recipes.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Makefile.def | 1 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Makefile.in | 10 ++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Makefile.tpl | 9 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure | 413 ++++++++++++++++++++++++++++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.ac | 6 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/collect2.c | 41 ++++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config.in | 12 ++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/darwin.h | 2 -
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/configure | 166 +++++++++++++++++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/configure.ac | 96 +++++++++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/exec-tool.in | 8 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/gcc.c | 5 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 12 files changed, 758 insertions(+), 11 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git Makefile.def Makefile.def
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 36fd26b0367..3fa425905fc 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- Makefile.def
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ Makefile.def
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -283,6 +283,7 @@ flags_to_pass = { flag= CFLAGS_FOR_TARGET ; };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- flags_to_pass = { flag= CPPFLAGS_FOR_TARGET ; };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- flags_to_pass = { flag= CXXFLAGS_FOR_TARGET ; };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- flags_to_pass = { flag= DLLTOOL_FOR_TARGET ; };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+flags_to_pass = { flag= DSYMUTIL_FOR_TARGET ; };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- flags_to_pass = { flag= FLAGS_FOR_TARGET ; };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- flags_to_pass = { flag= GFORTRAN_FOR_TARGET ; };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- flags_to_pass = { flag= GOC_FOR_TARGET ; };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git Makefile.in Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 36e369df6e7..5610c3355e8 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -159,6 +159,7 @@ BUILD_EXPORTS = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GDC="$(GDC_FOR_BUILD)"; export GDC; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GDCFLAGS="$(GDCFLAGS_FOR_BUILD)"; export GDCFLAGS; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DLLTOOL="$(DLLTOOL_FOR_BUILD)"; export DLLTOOL; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DSYMUTIL="$(DSYMUTIL_FOR_BUILD)"; export DSYMUTIL; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LD="$(LD_FOR_BUILD)"; export LD; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LDFLAGS="$(LDFLAGS_FOR_BUILD)"; export LDFLAGS; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- NM="$(NM_FOR_BUILD)"; export NM; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -200,6 +201,7 @@ HOST_EXPORTS = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CXX_FOR_BUILD="$(CXX_FOR_BUILD)"; export CXX_FOR_BUILD; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DSYMUTIL="$(DSYMUTIL)"; export DSYMUTIL; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LD="$(LD)"; export LD; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LDFLAGS="$(STAGE1_LDFLAGS) $(LDFLAGS)"; export LDFLAGS; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- NM="$(NM)"; export NM; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -212,6 +214,7 @@ HOST_EXPORTS = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- READELF="$(READELF)"; export READELF; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AR_FOR_TARGET="$(AR_FOR_TARGET)"; export AR_FOR_TARGET; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AS_FOR_TARGET="$(AS_FOR_TARGET)"; export AS_FOR_TARGET; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DSYMUTIL_FOR_TARGET="$(DSYMUTIL_FOR_TARGET)"; export DSYMUTIL_FOR_TARGET; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GCC_FOR_TARGET="$(GCC_FOR_TARGET)"; export GCC_FOR_TARGET; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LD_FOR_TARGET="$(LD_FOR_TARGET)"; export LD_FOR_TARGET; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- NM_FOR_TARGET="$(NM_FOR_TARGET)"; export NM_FOR_TARGET; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -294,6 +297,7 @@ BASE_TARGET_EXPORTS = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GOC="$(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GOC; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GDC="$(GDC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GDC; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DSYMUTIL="$(DSYMUTIL_FOR_TARGET)"; export DSYMUTIL; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LD="$(COMPILER_LD_FOR_TARGET)"; export LD; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO="$(LIPO_FOR_TARGET)"; export LIPO; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -356,6 +360,7 @@ CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CXXFLAGS_FOR_BUILD = @CXXFLAGS_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CXX_FOR_BUILD = @CXX_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+DSYMUTIL_FOR_BUILD = @DSYMUTIL_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GFORTRAN_FOR_BUILD = @GFORTRAN_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GOC_FOR_BUILD = @GOC_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GDC_FOR_BUILD = @GDC_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -406,6 +411,7 @@ AR_FLAGS = rc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CC = @CC@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CXX = @CXX@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DLLTOOL = @DLLTOOL@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+DSYMUTIL = @DSYMUTIL@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LD = @LD@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO = @LIPO@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- NM = @NM@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -596,6 +602,7 @@ GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GOC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GOC_FOR_TARGET@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GDC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GDC_FOR_TARGET@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+DSYMUTIL_FOR_TARGET=@DSYMUTIL_FOR_TARGET@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LD_FOR_TARGET=@LD_FOR_TARGET@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO_FOR_TARGET=@LIPO_FOR_TARGET@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -814,6 +821,7 @@ BASE_FLAGS_TO_PASS = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "CPPFLAGS_FOR_TARGET=$(CPPFLAGS_FOR_TARGET)" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "CXXFLAGS_FOR_TARGET=$(CXXFLAGS_FOR_TARGET)" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "DLLTOOL_FOR_TARGET=$(DLLTOOL_FOR_TARGET)" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "DSYMUTIL_FOR_TARGET=$(DSYMUTIL_FOR_TARGET)" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "FLAGS_FOR_TARGET=$(FLAGS_FOR_TARGET)" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "GFORTRAN_FOR_TARGET=$(GFORTRAN_FOR_TARGET)" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "GOC_FOR_TARGET=$(GOC_FOR_TARGET)" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -889,6 +897,7 @@ EXTRA_HOST_FLAGS = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 'CC=$(CC)' \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 'CXX=$(CXX)' \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 'DLLTOOL=$(DLLTOOL)' \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ 'DSYMUTIL=$(DSYMUTIL)' \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 'GFORTRAN=$(GFORTRAN)' \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 'GOC=$(GOC)' \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 'GDC=$(GDC)' \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -947,6 +956,7 @@ EXTRA_TARGET_FLAGS = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ 'DSYMUTIL=$$(DSYMUTIL_FOR_TARGET)' \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 'GFORTRAN=$$(GFORTRAN_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 'GOC=$$(GOC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 'GOCFLAGS=$$(GOCFLAGS_FOR_TARGET)' \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git Makefile.tpl Makefile.tpl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index efed1511750..751aacb45b9 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- Makefile.tpl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ Makefile.tpl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -162,6 +162,7 @@ BUILD_EXPORTS = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GDC="$(GDC_FOR_BUILD)"; export GDC; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GDCFLAGS="$(GDCFLAGS_FOR_BUILD)"; export GDCFLAGS; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DLLTOOL="$(DLLTOOL_FOR_BUILD)"; export DLLTOOL; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DSYMUTIL="$(DSYMUTIL_FOR_BUILD)"; export DSYMUTIL; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LD="$(LD_FOR_BUILD)"; export LD; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LDFLAGS="$(LDFLAGS_FOR_BUILD)"; export LDFLAGS; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- NM="$(NM_FOR_BUILD)"; export NM; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -203,6 +204,7 @@ HOST_EXPORTS = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CXX_FOR_BUILD="$(CXX_FOR_BUILD)"; export CXX_FOR_BUILD; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DSYMUTIL="$(DSYMUTIL)"; export DSYMUTIL; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LD="$(LD)"; export LD; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LDFLAGS="$(STAGE1_LDFLAGS) $(LDFLAGS)"; export LDFLAGS; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- NM="$(NM)"; export NM; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -215,6 +217,7 @@ HOST_EXPORTS = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- READELF="$(READELF)"; export READELF; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AR_FOR_TARGET="$(AR_FOR_TARGET)"; export AR_FOR_TARGET; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AS_FOR_TARGET="$(AS_FOR_TARGET)"; export AS_FOR_TARGET; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DSYMUTIL_FOR_TARGET="$(DSYMUTIL_FOR_TARGET)"; export DSYMUTIL_FOR_TARGET; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GCC_FOR_TARGET="$(GCC_FOR_TARGET)"; export GCC_FOR_TARGET; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LD_FOR_TARGET="$(LD_FOR_TARGET)"; export LD_FOR_TARGET; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- NM_FOR_TARGET="$(NM_FOR_TARGET)"; export NM_FOR_TARGET; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -297,6 +300,7 @@ BASE_TARGET_EXPORTS = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GOC="$(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GOC; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GDC="$(GDC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GDC; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DSYMUTIL="$(DSYMUTIL_FOR_TARGET)"; export DSYMUTIL; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LD="$(COMPILER_LD_FOR_TARGET)"; export LD; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO="$(LIPO_FOR_TARGET)"; export LIPO; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -359,6 +363,7 @@ CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CXXFLAGS_FOR_BUILD = @CXXFLAGS_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CXX_FOR_BUILD = @CXX_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+DSYMUTIL_FOR_BUILD = @DSYMUTIL_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GFORTRAN_FOR_BUILD = @GFORTRAN_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GOC_FOR_BUILD = @GOC_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GDC_FOR_BUILD = @GDC_FOR_BUILD@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -409,6 +414,7 @@ AR_FLAGS = rc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CC = @CC@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CXX = @CXX@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DLLTOOL = @DLLTOOL@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+DSYMUTIL = @DSYMUTIL@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LD = @LD@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO = @LIPO@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- NM = @NM@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -519,6 +525,7 @@ GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GOC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GOC_FOR_TARGET@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GDC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GDC_FOR_TARGET@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+DSYMUTIL_FOR_TARGET=@DSYMUTIL_FOR_TARGET@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LD_FOR_TARGET=@LD_FOR_TARGET@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO_FOR_TARGET=@LIPO_FOR_TARGET@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -644,6 +651,7 @@ EXTRA_HOST_FLAGS = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 'CC=$(CC)' \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 'CXX=$(CXX)' \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 'DLLTOOL=$(DLLTOOL)' \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ 'DSYMUTIL=$(DSYMUTIL)' \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 'GFORTRAN=$(GFORTRAN)' \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 'GOC=$(GOC)' \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 'GDC=$(GDC)' \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -702,6 +710,7 @@ EXTRA_TARGET_FLAGS = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ 'DSYMUTIL=$$(DSYMUTIL_FOR_TARGET)' \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 'GFORTRAN=$$(GFORTRAN_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 'GOC=$$(GOC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 'GOCFLAGS=$$(GOCFLAGS_FOR_TARGET)' \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git configure configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index f2ec106a86e..7b6ca31f5ed 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -609,6 +609,7 @@ OBJCOPY_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- NM_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LD_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+DSYMUTIL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DLLTOOL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AS_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AR_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -629,6 +630,7 @@ RANLIB
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- NM
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+DSYMUTIL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DLLTOOL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -649,6 +651,7 @@ LDFLAGS_FOR_BUILD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GDC_FOR_BUILD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GOC_FOR_BUILD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GFORTRAN_FOR_BUILD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+DSYMUTIL_FOR_BUILD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DLLTOOL_FOR_BUILD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CXX_FOR_BUILD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CXXFLAGS_FOR_BUILD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -851,6 +854,7 @@ target_configargs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DLLTOOL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+DSYMUTIL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- NM
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -871,6 +875,7 @@ GDC_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AR_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AS_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DLLTOOL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+DSYMUTIL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LD_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- NM_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1634,6 +1639,7 @@ Some influential environment variables:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AR AR for the host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AS AS for the host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DLLTOOL DLLTOOL for the host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DSYMUTIL DSYMUTIL for the host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LD LD for the host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO LIPO for the host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- NM NM for the host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1663,6 +1669,8 @@ Some influential environment variables:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AS for the target
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DLLTOOL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DLLTOOL for the target
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DSYMUTIL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DSYMUTIL for the target
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LD_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LD for the target
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -4094,6 +4102,7 @@ if test "${build}" != "${host}" ; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AS_FOR_BUILD=${AS_FOR_BUILD-as}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CXX_FOR_BUILD=${CXX_FOR_BUILD-g++}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DSYMUTIL_FOR_BUILD=${DSYMUTIL_FOR_BUILD-dsymutil}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GOC_FOR_BUILD=${GOC_FOR_BUILD-gccgo}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GDC_FOR_BUILD=${GDC_FOR_BUILD-gdc}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -4108,6 +4117,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AS_FOR_BUILD="\$(AS)"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CC_FOR_BUILD="\$(CC)"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CXX_FOR_BUILD="\$(CXX)"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DSYMUTIL_FOR_BUILD="\$(DSYMUTIL)"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GFORTRAN_FOR_BUILD="\$(GFORTRAN)"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GOC_FOR_BUILD="\$(GOC)"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GDC_FOR_BUILD="\$(GDC)"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -7883,6 +7893,7 @@ done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Generate default definitions for YACC, M4, LEX and other programs that run
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # on the build machine. These are used if the Makefile can't locate these
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # programs in objdir.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -8715,6 +8726,147 @@ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -n "$DSYMUTIL"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_cv_prog_DSYMUTIL=$DSYMUTIL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+elif test -n "$ac_cv_prog_DSYMUTIL"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DSYMUTIL=$ac_cv_prog_DSYMUTIL
</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;'>-+if test -n "$ac_cv_prog_DSYMUTIL"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ for ncn_progname in dsymutil; do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set dummy ${ncn_progname}; ac_word=$2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo_n "checking for $ac_word... " >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ${ac_cv_prog_DSYMUTIL+:} false; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $as_echo_n "(cached) " >&6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test -n "$DSYMUTIL"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+for as_dir in $PATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ IFS=$as_save_IFS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ test -z "$as_dir" && as_dir=.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ for ac_exec_ext in '' $ac_executable_extensions; do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_cv_prog_DSYMUTIL="${ncn_progname}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break 2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+IFS=$as_save_IFS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+DSYMUTIL=$ac_cv_prog_DSYMUTIL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -n "$DSYMUTIL"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "$DSYMUTIL" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "no" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ done
</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;'>-+for ncn_progname in dsymutil; do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test -n "$ncn_tool_prefix"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo_n "checking for $ac_word... " >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ${ac_cv_prog_DSYMUTIL+:} false; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $as_echo_n "(cached) " >&6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test -n "$DSYMUTIL"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+for as_dir in $PATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ IFS=$as_save_IFS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ test -z "$as_dir" && as_dir=.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ for ac_exec_ext in '' $ac_executable_extensions; do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_cv_prog_DSYMUTIL="${ncn_tool_prefix}${ncn_progname}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break 2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+IFS=$as_save_IFS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+DSYMUTIL=$ac_cv_prog_DSYMUTIL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -n "$DSYMUTIL"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "$DSYMUTIL" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "no" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test -z "$ac_cv_prog_DSYMUTIL" && test $build = $host ; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set dummy ${ncn_progname}; ac_word=$2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo_n "checking for $ac_word... " >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ${ac_cv_prog_DSYMUTIL+:} false; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $as_echo_n "(cached) " >&6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test -n "$DSYMUTIL"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+for as_dir in $PATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ IFS=$as_save_IFS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ test -z "$as_dir" && as_dir=.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ for ac_exec_ext in '' $ac_executable_extensions; do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_cv_prog_DSYMUTIL="${ncn_progname}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break 2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+IFS=$as_save_IFS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+DSYMUTIL=$ac_cv_prog_DSYMUTIL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -n "$DSYMUTIL"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "$DSYMUTIL" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "no" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ test -n "$ac_cv_prog_DSYMUTIL" && break
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "$ac_cv_prog_DSYMUTIL" ; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ set dummy dsymutil
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test $build = $host ; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DSYMUTIL="$2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DSYMUTIL="${ncn_tool_prefix}$2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test -n "$LD"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ac_cv_prog_LD=$LD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- elif test -n "$ac_cv_prog_LD"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11945,6 +12097,236 @@ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "$ac_cv_path_DSYMUTIL_FOR_TARGET" ; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test -n "$with_build_time_tools"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dsymutil in $with_build_time_tools" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo_n "checking for dsymutil in $with_build_time_tools... " >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test -x $with_build_time_tools/dsymutil; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DSYMUTIL_FOR_TARGET=`cd $with_build_time_tools && pwd`/dsymutil
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_cv_path_DSYMUTIL_FOR_TARGET=$DSYMUTIL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_DSYMUTIL_FOR_TARGET" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "$ac_cv_path_DSYMUTIL_FOR_TARGET" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "no" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ elif test $build != $host && test $have_gcc_for_target = yes; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DSYMUTIL_FOR_TARGET=`$GCC_FOR_TARGET --print-prog-name=dsymutil`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ test $DSYMUTIL_FOR_TARGET = dsymutil && DSYMUTIL_FOR_TARGET=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ test -n "$DSYMUTIL_FOR_TARGET" && ac_cv_path_DSYMUTIL_FOR_TARGET=$DSYMUTIL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "$ac_cv_path_DSYMUTIL_FOR_TARGET" && test -n "$gcc_cv_tool_dirs"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Extract the first word of "dsymutil", so it can be a program name with args.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set dummy dsymutil; ac_word=$2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo_n "checking for $ac_word... " >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ${ac_cv_path_DSYMUTIL_FOR_TARGET+:} false; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $as_echo_n "(cached) " >&6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case $DSYMUTIL_FOR_TARGET in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [\\/]* | ?:[\\/]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_cv_path_DSYMUTIL_FOR_TARGET="$DSYMUTIL_FOR_TARGET" # Let the user override the test with a path.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+for as_dir in $gcc_cv_tool_dirs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ IFS=$as_save_IFS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ test -z "$as_dir" && as_dir=.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ for ac_exec_ext in '' $ac_executable_extensions; do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_cv_path_DSYMUTIL_FOR_TARGET="$as_dir/$ac_word$ac_exec_ext"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break 2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+IFS=$as_save_IFS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+DSYMUTIL_FOR_TARGET=$ac_cv_path_DSYMUTIL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -n "$DSYMUTIL_FOR_TARGET"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL_FOR_TARGET" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "$DSYMUTIL_FOR_TARGET" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "no" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "$ac_cv_path_DSYMUTIL_FOR_TARGET" ; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -n "$DSYMUTIL_FOR_TARGET"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_cv_prog_DSYMUTIL_FOR_TARGET=$DSYMUTIL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+elif test -n "$ac_cv_prog_DSYMUTIL_FOR_TARGET"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DSYMUTIL_FOR_TARGET=$ac_cv_prog_DSYMUTIL_FOR_TARGET
</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;'>-+if test -n "$ac_cv_prog_DSYMUTIL_FOR_TARGET"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ for ncn_progname in dsymutil; do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set dummy ${ncn_progname}; ac_word=$2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo_n "checking for $ac_word... " >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ${ac_cv_prog_DSYMUTIL_FOR_TARGET+:} false; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $as_echo_n "(cached) " >&6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test -n "$DSYMUTIL_FOR_TARGET"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_cv_prog_DSYMUTIL_FOR_TARGET="$DSYMUTIL_FOR_TARGET" # Let the user override the test.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+for as_dir in $PATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ IFS=$as_save_IFS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ test -z "$as_dir" && as_dir=.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ for ac_exec_ext in '' $ac_executable_extensions; do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_cv_prog_DSYMUTIL_FOR_TARGET="${ncn_progname}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break 2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+IFS=$as_save_IFS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+DSYMUTIL_FOR_TARGET=$ac_cv_prog_DSYMUTIL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -n "$DSYMUTIL_FOR_TARGET"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL_FOR_TARGET" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "$DSYMUTIL_FOR_TARGET" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "no" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ done
</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;'>-+if test -z "$ac_cv_prog_DSYMUTIL_FOR_TARGET" && test -n "$with_build_time_tools"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ for ncn_progname in dsymutil; do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ncn_progname} in $with_build_time_tools" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo_n "checking for ${ncn_progname} in $with_build_time_tools... " >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test -x $with_build_time_tools/${ncn_progname}; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_cv_prog_DSYMUTIL_FOR_TARGET=$with_build_time_tools/${ncn_progname}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "yes" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "no" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ done
</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;'>-+if test -z "$ac_cv_prog_DSYMUTIL_FOR_TARGET"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ for ncn_progname in dsymutil; do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test -n "$ncn_target_tool_prefix"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo_n "checking for $ac_word... " >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ${ac_cv_prog_DSYMUTIL_FOR_TARGET+:} false; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $as_echo_n "(cached) " >&6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test -n "$DSYMUTIL_FOR_TARGET"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_cv_prog_DSYMUTIL_FOR_TARGET="$DSYMUTIL_FOR_TARGET" # Let the user override the test.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+for as_dir in $PATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ IFS=$as_save_IFS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ test -z "$as_dir" && as_dir=.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ for ac_exec_ext in '' $ac_executable_extensions; do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_cv_prog_DSYMUTIL_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break 2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+IFS=$as_save_IFS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+DSYMUTIL_FOR_TARGET=$ac_cv_prog_DSYMUTIL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -n "$DSYMUTIL_FOR_TARGET"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL_FOR_TARGET" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "$DSYMUTIL_FOR_TARGET" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "no" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test -z "$ac_cv_prog_DSYMUTIL_FOR_TARGET" && test $build = $target ; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Extract the first word of "${ncn_progname}", so it can be a program name with args.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set dummy ${ncn_progname}; ac_word=$2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo_n "checking for $ac_word... " >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ${ac_cv_prog_DSYMUTIL_FOR_TARGET+:} false; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $as_echo_n "(cached) " >&6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test -n "$DSYMUTIL_FOR_TARGET"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_cv_prog_DSYMUTIL_FOR_TARGET="$DSYMUTIL_FOR_TARGET" # Let the user override the test.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+for as_dir in $PATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ IFS=$as_save_IFS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ test -z "$as_dir" && as_dir=.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ for ac_exec_ext in '' $ac_executable_extensions; do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_cv_prog_DSYMUTIL_FOR_TARGET="${ncn_progname}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break 2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+IFS=$as_save_IFS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+DSYMUTIL_FOR_TARGET=$ac_cv_prog_DSYMUTIL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -n "$DSYMUTIL_FOR_TARGET"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL_FOR_TARGET" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "$DSYMUTIL_FOR_TARGET" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "no" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ test -n "$ac_cv_prog_DSYMUTIL_FOR_TARGET" && break
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ done
</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;'>-+if test -z "$ac_cv_prog_DSYMUTIL_FOR_TARGET" ; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ set dummy dsymutil
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test $build = $target ; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DSYMUTIL_FOR_TARGET="$2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DSYMUTIL_FOR_TARGET="${ncn_target_tool_prefix}$2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DSYMUTIL_FOR_TARGET="$ac_cv_prog_DSYMUTIL_FOR_TARGET"
</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;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DSYMUTIL_FOR_TARGET=$ac_cv_path_DSYMUTIL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test -z "$ac_cv_path_LD_FOR_TARGET" ; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test -n "$with_build_time_tools"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld in $with_build_time_tools" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -14733,6 +15115,37 @@ $as_echo "pre-installed" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</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;'>-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the target dsymutil" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo_n "checking where to find the target dsymutil... " >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "x${build}" != "x${host}" ; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if expr "x$DSYMUTIL_FOR_TARGET" : "x/" > /dev/null; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We already found the complete path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_dir=`dirname $DSYMUTIL_FOR_TARGET`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed in $ac_dir" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "pre-installed in $ac_dir" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Canadian cross, just use what we found
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "pre-installed" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if expr "x$DSYMUTIL_FOR_TARGET" : "x/" > /dev/null; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We already found the complete path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_dir=`dirname $DSYMUTIL_FOR_TARGET`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed in $ac_dir" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "pre-installed in $ac_dir" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ elif test "x$target" = "x$host"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We can use an host tool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DSYMUTIL_FOR_TARGET='$(DSYMUTIL)'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: host tool" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "host tool" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We need a cross tool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "pre-installed" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</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;'>- { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the target gcc" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $as_echo_n "checking where to find the target gcc... " >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "x${build}" != "x${host}" ; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git configure.ac configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 115db3f402a..a67a2c63cea 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1350,6 +1350,7 @@ if test "${build}" != "${host}" ; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AS_FOR_BUILD=${AS_FOR_BUILD-as}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CXX_FOR_BUILD=${CXX_FOR_BUILD-g++}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DSYMUTIL_FOR_BUILD=${DSYMUTIL_FOR_BUILD-dsymutil}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GOC_FOR_BUILD=${GOC_FOR_BUILD-gccgo}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GDC_FOR_BUILD=${GDC_FOR_BUILD-gdc}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1364,6 +1365,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AS_FOR_BUILD="\$(AS)"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CC_FOR_BUILD="\$(CC)"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CXX_FOR_BUILD="\$(CXX)"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DSYMUTIL_FOR_BUILD="\$(DSYMUTIL)"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GFORTRAN_FOR_BUILD="\$(GFORTRAN)"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GOC_FOR_BUILD="\$(GOC)"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GDC_FOR_BUILD="\$(GDC)"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3378,6 +3380,7 @@ AC_SUBST(CFLAGS_FOR_BUILD)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AC_SUBST(CXXFLAGS_FOR_BUILD)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AC_SUBST(CXX_FOR_BUILD)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AC_SUBST(DLLTOOL_FOR_BUILD)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+AC_SUBST(DSYMUTIL_FOR_BUILD)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AC_SUBST(GFORTRAN_FOR_BUILD)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AC_SUBST(GOC_FOR_BUILD)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AC_SUBST(GDC_FOR_BUILD)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3457,6 +3460,7 @@ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- NCN_STRICT_CHECK_TOOLS(AR, ar)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- NCN_STRICT_CHECK_TOOLS(AS, as)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- NCN_STRICT_CHECK_TOOLS(DLLTOOL, dlltool)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+NCN_STRICT_CHECK_TOOLS(DSYMUTIL, dsymutil)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- NCN_STRICT_CHECK_TOOLS(LD, ld)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- NCN_STRICT_CHECK_TOOLS(LIPO, lipo)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- NCN_STRICT_CHECK_TOOLS(NM, nm)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3496,6 +3500,7 @@ NCN_STRICT_CHECK_TARGET_TOOLS(GDC_FOR_TARGET, gdc)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ACX_CHECK_INSTALLED_TARGET_TOOL(AR_FOR_TARGET, ar)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ACX_CHECK_INSTALLED_TARGET_TOOL(AS_FOR_TARGET, as)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ACX_CHECK_INSTALLED_TARGET_TOOL(DLLTOOL_FOR_TARGET, dlltool)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ACX_CHECK_INSTALLED_TARGET_TOOL(DSYMUTIL_FOR_TARGET, dsymutil)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ACX_CHECK_INSTALLED_TARGET_TOOL(LD_FOR_TARGET, ld)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ACX_CHECK_INSTALLED_TARGET_TOOL(LIPO_FOR_TARGET, lipo)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ACX_CHECK_INSTALLED_TARGET_TOOL(NM_FOR_TARGET, nm)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3521,6 +3526,7 @@ GCC_TARGET_TOOL(c++ for libstdc++, RAW_CXX_FOR_TARGET, CXX,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [gcc/xgcc -shared-libgcc -B$$r/$(HOST_SUBDIR)/gcc -nostdinc++ -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- c++)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GCC_TARGET_TOOL(dlltool, DLLTOOL_FOR_TARGET, DLLTOOL, [binutils/dlltool])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+GCC_TARGET_TOOL(dsymutil, DSYMUTIL_FOR_TARGET, DSYMUTIL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GCC_TARGET_TOOL(gcc, GCC_FOR_TARGET, , [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GCC_TARGET_TOOL(gfortran, GFORTRAN_FOR_TARGET, GFORTRAN,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc/], fortran)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/collect2.c gcc/collect2.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index f8a5ce45994..8260863c04e 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/collect2.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/collect2.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3005,15 +3005,50 @@ process_args (int *argcp, char **argv) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- do_dsymutil (const char *output_file) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- const char *dsymutil = DSYMUTIL + 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ const char *dsymutil = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- struct pex_obj *pex;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- char **real_argv = XCNEWVEC (char *, 3);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ char **real_argv = XCNEWVEC (char *, verbose ? 4 : 3);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const char ** argv = CONST_CAST2 (const char **, char **,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- real_argv);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* For cross-builds search the PATH using target-qualified name if we
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ have not already found a suitable dsymutil. In practice, all modern
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ versions of dsymutil handle all supported archs, however the approach
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ here is consistent with the way other installations work (and one can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ always symlink a multitarget dsymutil with a target-specific name). */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ const char *dsname = "dsymutil";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef CROSS_DIRECTORY_STRUCTURE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ const char *qname = concat (target_machine, "-", dsname, NULL);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ const char *qname = dsname;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef DEFAULT_DSYMUTIL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Configured default takes priority. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (dsymutil == 0 && access (DEFAULT_DSYMUTIL, X_OK) == 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil = DEFAULT_DSYMUTIL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (dsymutil == 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef DSYMUTIL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Followed by one supplied in the target header, somewhat like the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ REAL_XX_NAME used elsewhere. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil = find_a_file (&cpath, DSYMUTIL, X_OK);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (dsymutil == 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil = find_a_file (&path, DSYMUTIL, X_OK);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (dsymutil == 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil = find_a_file (&cpath, dsname, X_OK);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (dsymutil == 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil = find_a_file (&path, qname, X_OK);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- argv[0] = dsymutil;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- argv[1] = output_file;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- argv[2] = (char *) 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (verbose)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ argv[2] = "-v";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ argv[3] = (char *) 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ argv[2] = (char *) 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pex = collect_execute (dsymutil, real_argv, NULL, NULL,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PEX_LAST | PEX_SEARCH, false);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config.in gcc/config.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 364eba47737..758eff4f709 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -55,6 +55,12 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Define to enable the use of a default debug linker. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef DEFAULT_DSYMUTIL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to enable the use of a default linker. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef DEFAULT_LINKER
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -94,6 +100,12 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Define to the dsymutil version. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef DSYMUTIL_VERSION
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define 0/1 if static analyzer feature is enabled. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef ENABLE_ANALYZER
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/darwin.h gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 02b04c8457b..4153bbee1aa 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -240,8 +240,6 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DARWIN_NOCOMPACT_UNWIND \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "}}}}}}} %<pie %<no-pie %<rdynamic "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define DSYMUTIL "\ndsymutil"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Spec that controls whether the debug linker is run automatically for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- a link step. This needs to be done if there is a source file on the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- command line which will result in a temporary object (and debug is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/configure gcc/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 8fe9c91fd7c..347ea8aee8c 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -719,6 +719,8 @@ thin_archive_support
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ld_soname_option
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ld_version_script_option
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc_visibility
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ORIGINAL_DSYMUTIL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+gcc_cv_dsymutil
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc_cv_otool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc_cv_readelf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc_cv_objdump
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -938,6 +940,7 @@ enable_generated_files_in_srcdir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_gnu_ld
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_ld
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_demangler_in_ld
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+with_dsymutil
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_gnu_as
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_as
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_largefile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1791,6 +1794,8 @@ Optional Packages:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --with-gnu-ld arrange to work with GNU ld
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --with-ld arrange to use the specified ld (full pathname)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --with-demangler-in-ld try to use demangler in GNU ld
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ --with-dsymutil arrange to use the specified dsymutil (full
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pathname)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --with-gnu-as arrange to work with GNU as
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --with-as arrange to use the specified as (full pathname)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --with-stabs arrange to use stabs instead of host debug format
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3765,8 +3770,14 @@ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case $target in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- *darwin*) ld64_flag=yes;; # Darwin can only use a ld64-compatible linker.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- *) ld64_flag=no;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *darwin*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ld64_flag=yes # Darwin can only use a ld64-compatible linker.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_flag=yes # Darwin uses dsymutil to link debug.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ld64_flag=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_flag=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # With pre-defined ld
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3816,6 +3827,40 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Allow the user to specify a dsymutil executable (used on Darwin only, so far)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Check whether --with-dsymutil was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${with_dsymutil+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ withval=$with_dsymutil; DEFAULT_DSYMUTIL="$with_dsymutil"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+dsymutil_vers=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test x"${DEFAULT_DSYMUTIL+set}" = x"set"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test ! -x "$DEFAULT_DSYMUTIL"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "cannot execute: $DEFAULT_DSYMUTIL: check --with-dsymutil or env. var. DEFAULT_DSYMUTIL" "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if dsymutil_vers=`$DEFAULT_DSYMUTIL -v /dev/null 2>&1`; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_flag=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</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;'>-+cat >>confdefs.h <<_ACEOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define DEFAULT_DSYMUTIL "$DEFAULT_DSYMUTIL"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+_ACEOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</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;'>-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a default dsymutil was specified" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo_n "checking whether a default dsymutil was specified... " >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test x"${DEFAULT_DSYMUTIL+set}" = x"set"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes ($DEFAULT_DSYMUTIL)" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "yes ($DEFAULT_DSYMUTIL)" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "no" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # ----------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Find default assembler
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # ----------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19022,7 +19067,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 19025 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 19070 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19128,7 +19173,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 19131 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 19176 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -23036,6 +23081,71 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $as_echo "$gcc_cv_otool" >&6; }
</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;'>-+# Figure out the dsymutil we will use.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ${gcc_cv_dsymutil+:} false; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -x "$DEFAULT_DSYMUTIL"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_cv_dsymutil="$DEFAULT_DSYMUTIL"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+elif test -x dsymutil$build_exeext; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_cv_dsymutil=./dsymutil$build_exeext
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+elif ( set dummy $DSYMUTIL_FOR_TARGET; test -x $2 ); then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_cv_dsymutil=$DSYMUTIL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+elif ( set dummy $DSYMUTIL; test -x $2 ); then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_cv_dsymutil=$DSYMUTIL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Extract the first word of "$DSYMUTIL_FOR_TARGET", so it can be a program name with args.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set dummy $DSYMUTIL_FOR_TARGET; ac_word=$2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo_n "checking for $ac_word... " >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ${ac_cv_path_gcc_cv_dsymutil+:} false; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $as_echo_n "(cached) " >&6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case $gcc_cv_dsymutil in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [\\/]* | ?:[\\/]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_cv_path_gcc_cv_dsymutil="$gcc_cv_dsymutil" # Let the user override the test with a path.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+for as_dir in $PATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ IFS=$as_save_IFS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ test -z "$as_dir" && as_dir=.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ for ac_exec_ext in '' $ac_executable_extensions; do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_cv_path_gcc_cv_dsymutil="$as_dir/$ac_word$ac_exec_ext"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break 2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+IFS=$as_save_IFS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+gcc_cv_dsymutil=$ac_cv_path_gcc_cv_dsymutil
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -n "$gcc_cv_dsymutil"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_dsymutil" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "$gcc_cv_dsymutil" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "no" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</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;'>-+ORIGINAL_DSYMUTIL_FOR_TARGET=$gcc_cv_dsymutil
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+case "$ORIGINAL_DSYMUTIL_FOR_TARGET" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ./dsymutil | ./dsymutil$build_exeext) ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *) ac_config_files="$ac_config_files dsymutil:exec-tool.in"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Figure out what assembler alignment features are present.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler flags" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $as_echo_n "checking assembler flags... " >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -29241,6 +29351,52 @@ _ACEOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</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;'>-+if test x"$dsymutil_flag" = x"yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # If the user specified a dsymutil path, then we will already have the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # version string, otherwise, pick it up.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test x"$gcc_cv_dsymutil" = x; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: dsymutil is a required tool for this system, but not found" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "$as_me: WARNING: dsymutil is a required tool for this system, but not found" >&2;}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_vers="tool unspecified"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ elif test x"$dsymutil_vers" = x; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_vers=`$gcc_cv_dsymutil -v /dev/null 2>&1`
</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;'>-+ dsymutil_temp=`echo $dsymutil_vers | sed 1q`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking dsymutil version \"$dsymutil_temp\"" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo_n "checking dsymutil version \"$dsymutil_temp\"... " >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if echo $dsymutil_temp | grep dwarfutils- > /dev/null; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_kind=DWARFUTILS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_vers=`echo $dsymutil_temp | sed 's/.*dwarfutils-\([0-9\.]*\).*/\1/'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ elif echo $dsymutil_temp | grep clang- > /dev/null; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_kind=CLANG
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_vers=`echo $dsymutil_temp | sed 's/.*clang-\([0-9\.]*\).*/\1/'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ elif echo $dsymutil_temp | grep 'LLVM version ' > /dev/null; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_kind=LLVM
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_vers=`echo $dsymutil_temp | sed 's/.*LLVM\ version\ \([0-9\.]*\).*/\1/'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_kind=UNKNOWN
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_vers="0.0"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_major=`expr "$dsymutil_vers" : '\([0-9]*\)'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_minor=`expr "$dsymutil_vers" : '[0-9]*\.\([0-9]*\)'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_tiny=`expr "$dsymutil_vers" : '[0-9]*\.[0-9]*\.\([0-9]*\)'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test x"${dsymutil_minor}" = x; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_minor=0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test x"${dsymutil_tiny}" = x; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_tiny=0
</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;'>-+cat >>confdefs.h <<_ACEOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define DSYMUTIL_VERSION $dsymutil_kind,${dsymutil_major},${dsymutil_minor},${dsymutil_tiny}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+_ACEOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dsymutil_vers : $dsymutil_kind ${dsymutil_major} ${dsymutil_minor} ${dsymutil_tiny} " >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "$dsymutil_vers : $dsymutil_kind ${dsymutil_major} ${dsymutil_minor} ${dsymutil_tiny} " >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # --------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # UNSORTED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # --------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -31541,6 +31697,7 @@ do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "as") CONFIG_FILES="$CONFIG_FILES as:exec-tool.in" ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "collect-ld") CONFIG_FILES="$CONFIG_FILES collect-ld:exec-tool.in" ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "nm") CONFIG_FILES="$CONFIG_FILES nm:exec-tool.in" ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "dsymutil") CONFIG_FILES="$CONFIG_FILES dsymutil:exec-tool.in" ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "clearcap.map") CONFIG_LINKS="$CONFIG_LINKS clearcap.map:${srcdir}/config/$clearcap_map" ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "$all_outputs") CONFIG_FILES="$CONFIG_FILES $all_outputs" ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -32175,6 +32332,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "as":F) chmod +x as ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "collect-ld":F) chmod +x collect-ld ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "nm":F) chmod +x nm ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "dsymutil":F) chmod +x dsymutil ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "default":C)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case ${CONFIG_HEADERS} in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *auto-host.h:config.in*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/configure.ac gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 84dceb8074a..b1487895f18 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -274,8 +274,14 @@ gnu_ld_flag="$with_gnu_ld",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gnu_ld_flag=no)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case $target in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- *darwin*) ld64_flag=yes;; # Darwin can only use a ld64-compatible linker.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- *) ld64_flag=no;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *darwin*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ld64_flag=yes # Darwin can only use a ld64-compatible linker.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_flag=yes # Darwin uses dsymutil to link debug.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ld64_flag=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_flag=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # With pre-defined ld
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -311,6 +317,31 @@ AC_ARG_WITH(demangler-in-ld,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- demangler_in_ld="$with_demangler_in_ld",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- demangler_in_ld=yes)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Allow the user to specify a dsymutil executable (used on Darwin only, so far)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+AC_ARG_WITH(dsymutil,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+[AS_HELP_STRING([--with-dsymutil], [arrange to use the specified dsymutil (full pathname)])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+DEFAULT_DSYMUTIL="$with_dsymutil")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+dsymutil_vers=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test x"${DEFAULT_DSYMUTIL+set}" = x"set"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test ! -x "$DEFAULT_DSYMUTIL"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ AC_MSG_ERROR([cannot execute: $DEFAULT_DSYMUTIL: check --with-dsymutil or env. var. DEFAULT_DSYMUTIL])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if dsymutil_vers=`$DEFAULT_DSYMUTIL -v /dev/null 2>&1`; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_flag=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ AC_DEFINE_UNQUOTED(DEFAULT_DSYMUTIL,"$DEFAULT_DSYMUTIL",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [Define to enable the use of a default debug linker.])
</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;'>-+AC_MSG_CHECKING([whether a default dsymutil was specified])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test x"${DEFAULT_DSYMUTIL+set}" = x"set"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ AC_MSG_RESULT([yes ($DEFAULT_DSYMUTIL)])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ AC_MSG_RESULT(no)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # ----------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Find default assembler
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # ----------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2714,6 +2745,27 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AC_MSG_RESULT($gcc_cv_otool)
</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;'>-+# Figure out the dsymutil we will use.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+AS_VAR_SET_IF(gcc_cv_dsymutil,, [
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -x "$DEFAULT_DSYMUTIL"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_cv_dsymutil="$DEFAULT_DSYMUTIL"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+elif test -x dsymutil$build_exeext; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_cv_dsymutil=./dsymutil$build_exeext
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+elif ( set dummy $DSYMUTIL_FOR_TARGET; test -x $[2] ); then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_cv_dsymutil=$DSYMUTIL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+elif ( set dummy $DSYMUTIL; test -x $[2] ); then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_cv_dsymutil=$DSYMUTIL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ AC_PATH_PROG(gcc_cv_dsymutil, $DSYMUTIL_FOR_TARGET)
</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;'>-+ORIGINAL_DSYMUTIL_FOR_TARGET=$gcc_cv_dsymutil
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+AC_SUBST(ORIGINAL_DSYMUTIL_FOR_TARGET)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+case "$ORIGINAL_DSYMUTIL_FOR_TARGET" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ./dsymutil | ./dsymutil$build_exeext) ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *) AC_CONFIG_FILES(dsymutil:exec-tool.in, [chmod +x dsymutil]) ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Figure out what assembler alignment features are present.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc_GAS_CHECK_FEATURE([.balign and .p2align], gcc_cv_as_balign_and_p2align,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [2,6,0],,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -5740,6 +5792,46 @@ if test x"$ld64_flag" = x"yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [Define to 1 if ld64 supports '-export_dynamic'.])
</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;'>-+if test x"$dsymutil_flag" = x"yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # If the user specified a dsymutil path, then we will already have the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # version string, otherwise, pick it up.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test x"$gcc_cv_dsymutil" = x; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ AC_MSG_WARN([dsymutil is a required tool for this system, but not found])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_vers="tool unspecified"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ elif test x"$dsymutil_vers" = x; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_vers=`$gcc_cv_dsymutil -v /dev/null 2>&1`
</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;'>-+ dsymutil_temp=`echo $dsymutil_vers | sed 1q`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ AC_MSG_CHECKING(dsymutil version "$dsymutil_temp")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if echo $dsymutil_temp | grep dwarfutils- > /dev/null; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_kind=DWARFUTILS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_vers=`echo $dsymutil_temp | sed 's/.*dwarfutils-\([[0-9\.]]*\).*/\1/'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ elif echo $dsymutil_temp | grep clang- > /dev/null; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_kind=CLANG
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_vers=`echo $dsymutil_temp | sed 's/.*clang-\([[0-9\.]]*\).*/\1/'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ elif echo $dsymutil_temp | grep 'LLVM version ' > /dev/null; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_kind=LLVM
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_vers=`echo $dsymutil_temp | sed 's/.*LLVM\ version\ \([[0-9\.]]*\).*/\1/'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_kind=UNKNOWN
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_vers="0.0"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_major=`expr "$dsymutil_vers" : '\([[0-9]]*\)'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_minor=`expr "$dsymutil_vers" : '[[0-9]]*\.\([[0-9]]*\)'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_tiny=`expr "$dsymutil_vers" : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test x"${dsymutil_minor}" = x; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_minor=0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test x"${dsymutil_tiny}" = x; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil_tiny=0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ AC_DEFINE_UNQUOTED(DSYMUTIL_VERSION, [$dsymutil_kind,${dsymutil_major},${dsymutil_minor},${dsymutil_tiny}],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [Define to the dsymutil version.])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ AC_MSG_RESULT($dsymutil_vers : $dsymutil_kind ${dsymutil_major} ${dsymutil_minor} ${dsymutil_tiny} )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # --------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # UNSORTED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # --------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/exec-tool.in gcc/exec-tool.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 45530848296..2c04269bf67 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/exec-tool.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/exec-tool.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -25,6 +25,7 @@ ORIGINAL_LD_BFD_FOR_TARGET="@ORIGINAL_LD_BFD_FOR_TARGET@"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ORIGINAL_LD_GOLD_FOR_TARGET="@ORIGINAL_LD_GOLD_FOR_TARGET@"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ORIGINAL_PLUGIN_LD_FOR_TARGET="@ORIGINAL_PLUGIN_LD_FOR_TARGET@"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ORIGINAL_NM_FOR_TARGET="@ORIGINAL_NM_FOR_TARGET@"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ORIGINAL_DSYMUTIL_FOR_TARGET="@ORIGINAL_DSYMUTIL_FOR_TARGET@"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exeext=@host_exeext@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fast_install=@enable_fast_install@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- objdir=@objdir@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -71,6 +72,13 @@ case "$invoked" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- prog=nm-new$exeext
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- dir=binutils
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dsymutil)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ original=$ORIGINAL_DSYMUTIL_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We do not build this in tree - but still want to be able to execute
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # a configured version from the build dir.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ prog=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dir=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case "$original" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/gcc.c gcc/gcc.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 9f790db0daf..6d0f8570ab5 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/gcc.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/gcc.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2864,6 +2864,11 @@ find_a_file (const struct path_prefix *pprefix, const char *name, int mode,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return xstrdup (DEFAULT_LINKER);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef DEFAULT_DSYMUTIL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (! strcmp (name, "dsymutil") && access (DEFAULT_DSYMUTIL, mode) == 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return xstrdup (DEFAULT_DSYMUTIL);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Determine the filename to execute (special case for absolute paths). */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (IS_ABSOLUTE_PATH (name))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 7a2b9a12bafb2dbf5701d34a7d5b4dfdd70cec20 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@codesourcery.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Thu, 20 Dec 2018 09:00:38 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 02/68] Driver: Provide a spec to insert rpaths for compiler
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lib dirs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This provides a spec to insert "-rpath DDD" for each DDD corresponding
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-to a compiler startfile directory. This allows a target to use @rpath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-as the install path for libraries, and have the compiler provide the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-necessary rpath to handle this.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/darwin.h (LINK_COMMAND_SPEC_A): Add handling for rpath.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (DARWIN_RPATH_SPEC): New.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * gcc.c (do_spec_1): Provide '%P' as a spec to insert rpaths for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- each compiler startfile path.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/darwin.h | 19 +++++++++++++++----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/gcc.c | 18 ++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 33 insertions(+), 4 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/darwin.h gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 4153bbee1aa..a2220dc77bb 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -238,6 +238,7 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DARWIN_NOPIE_SPEC \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DARWIN_RDYNAMIC \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DARWIN_NOCOMPACT_UNWIND \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "%{!r:%{!nostdlib:%{!rpath:%(darwin_rpaths)}}}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "}}}}}}} %<pie %<no-pie %<rdynamic "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Spec that controls whether the debug linker is run automatically for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -305,7 +306,7 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %{Zbundle_loader*:-bundle_loader %*} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %{client_name*} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %{compatibility_version*:%e-compatibility_version only allowed with -dynamiclib\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ } \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %{current_version*:%e-current_version only allowed with -dynamiclib} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %{Zforce_flat_namespace:-force_flat_namespace} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %{Zinstall_name*:%e-install_name only allowed with -dynamiclib} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -368,7 +369,6 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %{whatsloaded} %{dylinker_install_name*} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %{dylinker} "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Machine dependent libraries. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define LIB_SPEC "%{!static:-lSystem}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -416,7 +416,7 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %{!object:%{preload:-lgcrt0.o} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %{!preload:-lgcrt1.o \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %:version-compare(>= 10.8 mmacosx-version-min= -no_new_main) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %(darwin_crt2)}}}} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ %(darwin_crt2)}}}} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %{!pg:%{static:-lcrt0.o} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %{!static:%{object:-lcrt0.o} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %{!object:%{preload:-lcrt0.o} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -426,6 +426,7 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* We want a destructor last in the list. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define TM_DESTRUCTOR "%{fgnu-tm: -lcrttme.o}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define ENDFILE_SPEC TM_DESTRUCTOR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define DARWIN_EXTRA_SPECS \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -433,7 +434,8 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { "darwin_crt2", DARWIN_CRT2_SPEC }, \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { "darwin_crt3", DARWIN_CRT3_SPEC }, \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { "darwin_dylib1", DARWIN_DYLIB1_SPEC }, \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- { "darwin_bundle1", DARWIN_BUNDLE1_SPEC },
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { "darwin_bundle1", DARWIN_BUNDLE1_SPEC }, \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { "darwin_rpaths", DARWIN_RPATH_SPEC },
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define DARWIN_CRT1_SPEC \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "%:version-compare(!> 10.5 mmacosx-version-min= -lcrt1.o) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -459,6 +461,15 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "%{!static:%:version-compare(< 10.6 mmacosx-version-min= -lbundle1.o) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %{fgnu-tm: -lcrttms.o}}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* FIXME: it would be great to have a version-compare that accepts multiple
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ arguments. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define DARWIN_RPATH_SPEC \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "%:version-compare(>= 10.5 mmacosx-version-min= -rpath) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ %:version-compare(>= 10.5 mmacosx-version-min= @loader_path/.) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ %:version-compare(>= 10.5 mmacosx-version-min= -rpath) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ %:version-compare(>= 10.5 mmacosx-version-min= @loader_path/../lib) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ %P "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef HAVE_AS_MMACOSX_VERSION_MIN_OPTION
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Emit macosx version (but only major). */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define ASM_MMACOSX_VERSION_MIN_SPEC \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/gcc.c gcc/gcc.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 6d0f8570ab5..bb68eb97603 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/gcc.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/gcc.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -5414,6 +5414,24 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case 'P':
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ struct spec_path_info info;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ info.option = "-rpath";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ info.append_len = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef RELATIVE_PREFIX_NOT_LINKDIR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* See comment above. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ info.omit_relative = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ info.omit_relative = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ info.separate_options = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ for_each_path (&startfile_prefixes, true, 0, spec_path, &info);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case 'e':
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* %efoo means report an error with `foo' as error message
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- and don't execute any more commands for this file. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 1659e66540a3d967502d0eebcec6dcd97970c852 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sun, 28 Mar 2021 14:48:17 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 03/68] Darwin : Handle rpaths given on the command line.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-We want to produce a situation where a default rpath can be added
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-to each executable (or dylib), but that can be overridden by any
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-specific rpath provided by the user.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config.gcc: Include rpath.opt/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/darwin-driver.c (darwin_driver_init): Detect cases
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- where the user has added rpaths via a -Wl or -Xlinker command
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- and suppress default rpaths in that case.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/darwin.h (DRIVER_SELF_SPECS): Handle -rpath.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (DARWIN_RPATH_SPEC): Adjust.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/darwin.opt: Add nodefaultrpath option.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config.gcc | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/darwin-driver.c | 18 ++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/darwin.h | 11 +++++------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/darwin.opt | 4 ++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 4 files changed, 28 insertions(+), 7 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config.gcc gcc/config.gcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 6fcdd771d4c..081aba3bf06 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config.gcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config.gcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -722,7 +722,7 @@ case ${target} in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tm_file="${tm_file} ${cpu_type}/darwin.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tm_p_file="${tm_p_file} darwin-protos.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- target_gtfiles="$target_gtfiles \$(srcdir)/config/darwin.c"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- extra_options="${extra_options} darwin.opt"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ extra_options="${extra_options} rpath.opt darwin.opt"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- c_target_objs="${c_target_objs} darwin-c.o"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cxx_target_objs="${cxx_target_objs} darwin-c.o"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fortran_target_objs="darwin-f.o"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/darwin-driver.c gcc/config/darwin-driver.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index f00d5a02d1d..4698a845da5 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/darwin-driver.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/darwin-driver.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -284,6 +284,7 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const char *vers_string = NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- bool seen_version_min = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- bool seen_sysroot_p = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ bool seen_rpath_p = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- for (i = 1; i < *decoded_options_count; i++)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -369,6 +370,13 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- seen_sysroot_p = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case OPT_Xlinker:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case OPT_Wl_:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_checking_assert ((*decoded_options)[i].arg);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (strncmp ((*decoded_options)[i].arg, "-rpath", 6) == 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ seen_rpath_p = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- default:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -486,4 +494,14 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- &(*decoded_options)[*decoded_options_count - 1]);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (seen_rpath_p)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ++*decoded_options_count;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *decoded_options = XRESIZEVEC (struct cl_decoded_option,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *decoded_options,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *decoded_options_count);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ generate_option (OPT_nodefaultrpath, NULL, 1, CL_DRIVER,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ &(*decoded_options)[*decoded_options_count - 1]);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/darwin.h gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index a2220dc77bb..2128554eaa3 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -132,6 +132,7 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "%{gsplit-dwarf:%ngsplit-dwarf is not supported on this platform} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %<gsplit-dwarf", \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "%{gused:-g -feliminate-unused-debug-symbols} %<gused", \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+"%{rpath*: -Xlinker -rpath -Xlinker %*}", \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "%{shared:-Zdynamiclib} %<shared", \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "%{static:%{Zdynamic:%e conflicting code gen style switches are used}}",\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "%{y*:%nthe y option is obsolete and ignored} %<y*", \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -238,8 +239,8 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DARWIN_NOPIE_SPEC \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DARWIN_RDYNAMIC \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DARWIN_NOCOMPACT_UNWIND \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "%{!r:%{!nostdlib:%{!rpath:%(darwin_rpaths)}}}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "}}}}}}} %<pie %<no-pie %<rdynamic "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "%{!r:%{!nostdlib:%{!rpath:%{!nodefaultrpath:%(darwin_rpaths)}}}} " \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "}}}}}}} %<pie %<no-pie %<rdynamic %<rpath "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Spec that controls whether the debug linker is run automatically for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- a link step. This needs to be done if there is a source file on the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -464,10 +465,8 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* FIXME: it would be great to have a version-compare that accepts multiple
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- arguments. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define DARWIN_RPATH_SPEC \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "%:version-compare(>= 10.5 mmacosx-version-min= -rpath) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(>= 10.5 mmacosx-version-min= @loader_path/.) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(>= 10.5 mmacosx-version-min= -rpath) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(>= 10.5 mmacosx-version-min= @loader_path/../lib) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "%:version-compare(>= 10.5 mmacosx-version-min= -rpath) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ %:version-compare(>= 10.5 mmacosx-version-min= @loader_path) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %P "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef HAVE_AS_MMACOSX_VERSION_MIN_OPTION
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/darwin.opt gcc/config/darwin.opt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 5b75536378d..07981053f54 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/darwin.opt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/darwin.opt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -232,6 +232,10 @@ no_dead_strip_inits_and_terms
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Driver RejectNegative Alias(Zno_dead_strip_inits_and_terms)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (Obsolete) Current linkers never dead-strip these items, so the option is not needed.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+nodefaultrpath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Driver RejectNegative
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Do not add a default rpath to executables, modules or dynamic libraries.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- nofixprebinding
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Driver RejectNegative
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (Obsolete after 10.3.9) Set MH_NOPREFIXBINDING, in an executable.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From ad7d5054efc357e3d8d090a2e490dd7c7ad8b07e Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@codesourcery.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Tue, 18 Dec 2018 13:00:04 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 04/68] Darwin : Allow for configuring Darwin to use embedded
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- runpath.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Recent Darwin versions place contraints on the use of run paths
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-specified in environment variables. This breaks some assumptions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-in the GCC build.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This change allows the user to configure a Darwin build to use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-'@rpath/libraryname.dylib' in library names and then to add an
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-embedded runpath to executables (and libraries with dependents).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The embedded runpath is added by default unless:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-1. the user adds an explicit -rpath / -Wl,-rpath,....
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2. the user adds '-nodefaultrpath'.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-For an installed compiler, it means that any executable built with
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-that compiler will reference the runtimes installed with the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler (equivalent to hard-coding the library path into the name
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-of the library).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-During build-time configurations any "-B" entries will be added to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-the runpath thus the newly-built libraries will be found by exes.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Since the install name is set in libtool, that decision needs to be
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-available here (but might also cause dependent ones in Makefiles,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-so we need to export a conditional).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This facility is not available for Darwin 8 or earlier, however the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-existing environment variable runpath does work there.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-We default this on for systems where the external DYLD_LIBRARY_PATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-does not work and off for Darwin 8 or earlier. For systems that can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-use either method, if the value is unset, we use the default (which
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-is currently DYLD_LIBRARY_PATH).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure.ac: Do not add default runpaths to GCC exes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- when we are building -static-libstdc++/-static-libgcc (the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- default).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * libtool.m4: Add 'enable-darwin-at-runpath'. Act on the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable flag to alter Darwin libraries to use @rpath names.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure.ac: Append a define to tm_defines if we should
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- allow for rpaths in the linker command lines.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/darwin.h: Conditionalise the addition of default
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * aclocal.m4: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-libatomic/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * testsuite/Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-libcc1/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-libffi/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-libgcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/t-slibgcc-darwin: Generate libgcc_s
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with an @rpath name.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-libgfortran/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure.ac: Handle Darwin rpaths
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-libgomp/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-libhsail-rt/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-libitm/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-libobjc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure.ac: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-liboffloadmic/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * plugin/Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * plugin/aclocal.m4: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * plugin/configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-libphobos/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * libdruntime/Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * libdruntime/Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * src/Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * src/Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-libquadmath/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure.ac: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-libsanitizer/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * asan/Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * asan/Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * hwasan/Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * hwasan/Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * lsan/Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * lsan/Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * tsan/Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * tsan/Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * ubsan/Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * ubsan/Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-libssp/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-libstdc++-v3/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * src/Makefile.am: Handle Darwin rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * src/Makefile.in: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Darwin, libtool : Provide a mechanism to enable embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-We need to be able to build libraries with install names that begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-with @rpath so that we can use rpaths in DSOs that depend on
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-them. Since the install name is set in libtool, that decision needs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-to be available here (but might also cause dependent ones in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Makefiles, so we need to export a conditional).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure | 5 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.ac | 5 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fixincludes/config.h.in | 204 ---------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fixincludes/configure | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/aclocal.m4 | 50 +++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/darwin.h | 27 +++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/configure | 178 ++++++++++++++++++++++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/configure.ac | 21 +++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libatomic/Makefile.am | 6 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libatomic/Makefile.in | 5 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libatomic/configure | 80 ++++++++++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libbacktrace/configure | 80 ++++++++++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libcc1/Makefile.am | 9 ++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libcc1/Makefile.in | 12 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libcc1/configure | 157 +++++++++++++++++++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libffi/Makefile.am | 7 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libffi/Makefile.in | 6 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libffi/configure | 157 +++++++++++++++++++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config.host | 22 ++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/t-darwin-rpath | 5 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/t-slibgcc-darwin | 29 +---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgfortran/Makefile.am | 3 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgfortran/Makefile.in | 30 ++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgfortran/configure | 155 +++++++++++++++++++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgfortran/configure.ac | 4 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgomp/Makefile.am | 6 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgomp/Makefile.in | 3 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgomp/configure | 151 ++++++++++++++++++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libhsail-rt/configure | 157 +++++++++++++++++++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libitm/Makefile.am | 5 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libitm/Makefile.in | 3 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libitm/configure | 157 +++++++++++++++++++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libobjc/configure | 94 +++++++++++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libobjc/configure.ac | 14 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- liboffloadmic/configure | 187 +++++++++++++++++++++----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- liboffloadmic/plugin/Makefile.in | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- liboffloadmic/plugin/aclocal.m4 | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- liboffloadmic/plugin/configure | 187 +++++++++++++++++++++----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libphobos/configure | 151 ++++++++++++++++++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libphobos/libdruntime/Makefile.am | 5 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libphobos/libdruntime/Makefile.in | 3 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libphobos/src/Makefile.am | 5 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libphobos/src/Makefile.in | 3 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libquadmath/Makefile.am | 6 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libquadmath/Makefile.in | 4 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libquadmath/configure | 223 +++++++++++++++++++++++++++++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libquadmath/configure.ac | 2 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libsanitizer/asan/Makefile.am | 6 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libsanitizer/asan/Makefile.in | 5 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libsanitizer/configure | 157 +++++++++++++++++++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libsanitizer/lsan/Makefile.am | 7 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libsanitizer/lsan/Makefile.in | 6 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libsanitizer/tsan/Makefile.am | 6 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libsanitizer/tsan/Makefile.in | 5 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libsanitizer/ubsan/Makefile.am | 6 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libsanitizer/ubsan/Makefile.in | 5 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libssp/Makefile.am | 5 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libssp/Makefile.in | 3 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libssp/configure | 80 ++++++++++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libstdc++-v3/configure | 171 ++++++++++++++++++++---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libstdc++-v3/src/Makefile.am | 7 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libstdc++-v3/src/Makefile.in | 4 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libtool.m4 | 64 ++++++++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libvtv/configure | 157 +++++++++++++++++++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- zlib/configure | 80 ++++++++++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 65 files changed, 2897 insertions(+), 506 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- create mode 100644 libgcc/config/t-darwin-rpath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git configure configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 7b6ca31f5ed..750bc3f9967 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6043,6 +6043,11 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</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;'>-+if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$host_shared" != "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ poststage1_ldflags="$poststage1_ldflags -nodefaultrpath"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # GCC GRAPHITE dependency isl.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git configure.ac configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index a67a2c63cea..1ca98001081 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1776,6 +1776,11 @@ AC_ARG_WITH(boot-ldflags,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$poststage1_libs" = ""; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- poststage1_ldflags="-static-libstdc++ -static-libgcc"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi])
</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;'>-+ if test "x$host_shared" != "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ poststage1_ldflags="$poststage1_ldflags -nodefaultrpath"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AC_SUBST(poststage1_ldflags)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # GCC GRAPHITE dependency isl.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git fixincludes/config.h.in fixincludes/config.h.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 3f6cf1e574e..69a67f5f116 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- fixincludes/config.h.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ fixincludes/config.h.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,397 +1,211 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* config.h.in. Generated from configure.ac by autoheader. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Defined to the executable file extension on the host system */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef EXE_EXT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the `clearerr_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_CLEARERR_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the declaration of `abort', and to 0 if you don't.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_DECL_ABORT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the declaration of `asprintf', and to 0 if you
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- don't. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_DECL_ASPRINTF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the declaration of `basename(char *)', and to 0 if
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- you don't. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_DECL_BASENAME
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- you don't. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_DECL_CLEARERR_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the declaration of `errno', and to 0 if you don't.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_DECL_ERRNO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- don't. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_DECL_FEOF_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- you don't. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_DECL_FERROR_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- you don't. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_DECL_FFLUSH_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the declaration of `fgetc_unlocked', and to 0 if
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- you don't. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_DECL_FGETC_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- you don't. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_DECL_FGETS_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the declaration of `fileno_unlocked', and to 0 if
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- you don't. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_DECL_FILENO_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the declaration of `fprintf_unlocked', and to 0 if
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- you don't. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_DECL_FPRINTF_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- you don't. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_DECL_FPUTC_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- you don't. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_DECL_FPUTS_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- you don't. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_DECL_FREAD_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- you don't. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_DECL_FWRITE_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- you don't. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_DECL_GETCHAR_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- don't. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_DECL_GETC_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- you don't. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_DECL_PUTCHAR_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- don't. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_DECL_PUTC_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the declaration of `vasprintf', and to 0 if you
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- don't. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_DECL_VASPRINTF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the <fcntl.h> header file. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_FCNTL_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the `feof_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_FEOF_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the `ferror_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_FERROR_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the `fflush_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_FFLUSH_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the `fgetc_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_FGETC_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the `fgets_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_FGETS_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the `fileno_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_FILENO_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the `fprintf_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_FPRINTF_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the `fputc_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_FPUTC_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the `fputs_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_FPUTS_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the `fread_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_FREAD_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the `fwrite_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_FWRITE_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the `getchar_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_GETCHAR_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the `getc_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_GETC_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the <inttypes.h> header file. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_INTTYPES_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the <memory.h> header file. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_MEMORY_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define if mmap with MAP_ANON(YMOUS) works. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_MMAP_ANON
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define if mmap of /dev/zero works. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_MMAP_DEV_ZERO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define if read-only mmap of a plain file works. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_MMAP_FILE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the `putchar_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_PUTCHAR_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the `putc_unlocked' function. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_PUTC_UNLOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the <stddef.h> header file. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_STDDEF_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the <stdint.h> header file. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_STDINT_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the <stdlib.h> header file. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_STDLIB_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the <strings.h> header file. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_STRINGS_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the <string.h> header file. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_STRING_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the <sys/file.h> header file. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_SYS_FILE_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the <sys/stat.h> header file. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_SYS_STAT_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the <sys/types.h> header file. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_SYS_TYPES_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the <unistd.h> header file. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_UNISTD_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to the address where bug reports for this package should be sent. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef PACKAGE_BUGREPORT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to the full name of this package. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef PACKAGE_NAME
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to the full name and version of this package. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef PACKAGE_STRING
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to the one symbol short name of this package. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef PACKAGE_TARNAME
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to the home page for this package. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef PACKAGE_URL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to the version of this package. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef PACKAGE_VERSION
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Defined to the best working sed program on the host system */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef SED_PROGRAM
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define if testing and fixing are done by separate process */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef SEPARATE_FIX_PROC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the ANSI C header files. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef STDC_HEADERS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Enable extensions on AIX 3, Interix. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifndef _ALL_SOURCE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -416,38 +230,20 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if on MINIX. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef _MINIX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 2 if the system does not provide POSIX.1 features except with
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- this defined. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef _POSIX_1_SOURCE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you need to in order for `stat' and other things to work. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef _POSIX_SOURCE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to xatexit if the host system does not support atexit */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef atexit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to empty if `const' does not conform to ANSI C. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef const
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to xexit if the host system does not support atexit */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef exit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git fixincludes/configure fixincludes/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 6e2d67b655b..b3bca666a4d 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- fixincludes/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ fixincludes/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2644,7 +2644,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # _LT_DARWIN_LINKER_FEATURES
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # --------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# Checks for linker and compiler features on darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Checks for linker and compiler features on Darwin / macOS / iOS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # _LT_SYS_MODULE_PATH_AIX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/aclocal.m4 gcc/aclocal.m4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index e208071d236..404ceb976bc 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/aclocal.m4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/aclocal.m4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12,6 +12,56 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # PARTICULAR PURPOSE.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# AM_CONDITIONAL -*- Autoconf -*-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# This file is free software; the Free Software Foundation
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# gives unlimited permission to copy and/or distribute it,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# with or without modifications, as long as this notice is preserved.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# -------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Define a conditional.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+AC_DEFUN([AM_CONDITIONAL],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+[AC_PREREQ([2.52])dnl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+AC_SUBST([$1_TRUE])dnl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+AC_SUBST([$1_FALSE])dnl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+m4_define([_AM_COND_VALUE_$1], [$2])dnl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if $2; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $1_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $1_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $1_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $1_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+AC_CONFIG_COMMANDS_PRE(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ AC_MSG_ERROR([[conditional "$1" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally.]])
</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;'>-+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# This file is free software; the Free Software Foundation
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# gives unlimited permission to copy and/or distribute it,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# with or without modifications, as long as this notice is preserved.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# _AM_SUBST_NOTMAKE(VARIABLE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# ---------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# This macro is traced by Automake.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+AC_DEFUN([_AM_SUBST_NOTMAKE])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# AM_SUBST_NOTMAKE(VARIABLE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# --------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Public sister of _AM_SUBST_NOTMAKE.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- m4_include([../libtool.m4])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- m4_include([../ltoptions.m4])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- m4_include([../ltsugar.m4])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/darwin.h gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 2128554eaa3..fec8dba7f0a 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -196,6 +196,14 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define DARWIN_NOCOMPACT_UNWIND \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- " %:version-compare(>= 10.6 mmacosx-version-min= -no_compact_unwind) "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* If we enabled default embedded rpaths, then add them. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef USE_DEFAULT_RPATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define DARWIN_DEFAULT_RPATH \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+"%{!r:%{!nostdlib:%{!rpath:%{!nodefaultrpath:%(darwin_rpaths)}}}} "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define DARWIN_DEFAULT_RPATH "%<nodefaultrpath "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* In Darwin linker specs we can put -lcrt0.o and ld will search the library
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- path for crt0.o or -lcrtx.a and it will search for for libcrtx.a. As for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- other ports, we can also put xxx.{o,a}%s and get the appropriate complete
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -239,7 +247,7 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DARWIN_NOPIE_SPEC \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DARWIN_RDYNAMIC \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DARWIN_NOCOMPACT_UNWIND \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "%{!r:%{!nostdlib:%{!rpath:%{!nodefaultrpath:%(darwin_rpaths)}}}} " \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DARWIN_DEFAULT_RPATH \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "}}}}}}} %<pie %<no-pie %<rdynamic %<rpath "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Spec that controls whether the debug linker is run automatically for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -462,12 +470,15 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "%{!static:%:version-compare(< 10.6 mmacosx-version-min= -lbundle1.o) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %{fgnu-tm: -lcrttms.o}}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* FIXME: it would be great to have a version-compare that accepts multiple
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- arguments. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef USE_DEFAULT_RPATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Find dylibs in the same dir as the exe and in the compiler's lib dirs. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define DARWIN_RPATH_SPEC \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "%:version-compare(>= 10.5 mmacosx-version-min= -rpath) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %:version-compare(>= 10.5 mmacosx-version-min= @loader_path) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %P "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define DARWIN_RPATH_SPEC ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef HAVE_AS_MMACOSX_VERSION_MIN_OPTION
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Emit macosx version (but only major). */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1110,10 +1121,14 @@ extern void darwin_driver_init (unsigned int *,struct cl_decoded_option **);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- needed, and there is no need for the compiler to emit them. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define MIN_LD64_OMIT_STUBS "62.1"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* If we have no definition for the linker version, pick the minimum version
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ that will bootstrap the compiler. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifndef LD64_VERSION
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define LD64_VERSION "62.1"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define DEF_LD64 LD64_VERSION
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# ifndef DEF_LD64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# define LD64_VERSION "85.2.1"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# define LD64_VERSION DEF_LD64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif /* CONFIG_DARWIN_H */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/configure gcc/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 347ea8aee8c..0b9a572bbd2 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -735,6 +735,8 @@ ORIGINAL_AS_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc_cv_as
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_fast_install
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- objdir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -991,6 +993,7 @@ enable_static
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_pic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_fast_install
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_ld
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_gold
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_plugin_ld
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1721,6 +1724,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-ld[=ARG] build ld [ARG={default,yes,no}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-gold[=ARG] build gold [ARG={default,yes,no}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-gnu-indirect-function
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -17251,6 +17256,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -17268,10 +17323,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19067,7 +19131,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 19070 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 19134 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19173,7 +19237,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 19176 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 19240 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -20049,6 +20113,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc_CXX=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct_CXX=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic_CXX=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -20066,12 +20180,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$lt_cv_apple_cc_single_mod" != "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds_CXX="\$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_dsymutil}"
</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;'>-+ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 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}"
</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;'>-@@ -29351,6 +29478,27 @@ _ACEOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</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;'>-+# We cannot test this in config.gcc because that is included before
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# AC_PROG_LIBTOOL. Match the default from libtool but for the target in this
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# case, (we need the macro for tm.h)
</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;'>-+ #
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case "$target" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # It is valid for targets from Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-darwin20* | *-darwin1[0-9]* | *-darwin9*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tm_defines="$tm_defines USE_DEFAULT_RPATH "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+elif test "x$enable_darwin_at_rpath" = "x"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Match the default from libtool (we need the macro for tm.h)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case "$target" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # It is default for targets from Darwin15.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-darwin20* | *-darwin1[5-9]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tm_defines="$tm_defines USE_DEFAULT_RPATH "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</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;'>- if test x"$dsymutil_flag" = x"yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # If the user specified a dsymutil path, then we will already have the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -31095,6 +31243,14 @@ LTLIBOBJS=$ac_ltlibobjs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- : "${CONFIG_STATUS=./config.status}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ac_write_fail=0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/configure.ac gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index b1487895f18..38551dabb62 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -5792,6 +5792,27 @@ if test x"$ld64_flag" = x"yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [Define to 1 if ld64 supports '-export_dynamic'.])
</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;'>-+# We cannot test this in config.gcc because that is included before
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# AC_PROG_LIBTOOL. Match the default from libtool but for the target in this
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# case, (we need the macro for tm.h)
</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;'>-+ #
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case "$target" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # It is valid for targets from Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-darwin20* | *-darwin1[[0-9]]* | *-darwin9*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tm_defines="$tm_defines USE_DEFAULT_RPATH "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+elif test "x$enable_darwin_at_rpath" = "x"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Match the default from libtool (we need the macro for tm.h)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case "$target" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # It is default for targets from Darwin15.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-darwin20* | *-darwin1[[5-9]]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tm_defines="$tm_defines USE_DEFAULT_RPATH "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</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;'>- if test x"$dsymutil_flag" = x"yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # If the user specified a dsymutil path, then we will already have the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libatomic/Makefile.am libatomic/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 133fbbca77e..e80d93aa7ca 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libatomic/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libatomic/Makefile.am
</span><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:#ffe0e0;'>- libatomic_version_dep =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libatomic_version_info = -version-info $(libtool_VERSION)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libatomic_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--libatomic_la_LDFLAGS = $(libatomic_version_info) $(libatomic_version_script) $(lt_host_flags)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libatomic_la_LDFLAGS = $(libatomic_version_info) $(libatomic_version_script) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(lt_host_flags) $(libatomic_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libatomic_la_SOURCES = gload.c gstore.c gcas.c gexch.c glfree.c lock.c init.c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fenv.c fence.c flag.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libatomic/Makefile.in libatomic/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index a51807e95c9..1208f8c568e 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libatomic/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libatomic/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -400,7 +400,10 @@ noinst_LTLIBRARIES = libatomic_convenience.la
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @LIBAT_BUILD_VERSIONED_SHLIB_GNU_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@libatomic_version_dep = $(top_srcdir)/libatomic.map
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @LIBAT_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@libatomic_version_dep = libatomic.map-sun
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libatomic_version_info = -version-info $(libtool_VERSION)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--libatomic_la_LDFLAGS = $(libatomic_version_info) $(libatomic_version_script) $(lt_host_flags)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@ENABLE_DARWIN_AT_RPATH_TRUE@libatomic_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libatomic_la_LDFLAGS = $(libatomic_version_info) $(libatomic_version_script) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(lt_host_flags) $(libatomic_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libatomic_la_SOURCES = gload.c gstore.c gcas.c gexch.c glfree.c lock.c init.c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fenv.c fence.c flag.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libatomic/configure libatomic/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 6e706e90636..d9d4da230a8 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libatomic/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libatomic/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -664,6 +664,8 @@ enable_static
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_shared
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_host_flags
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CPP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -802,6 +804,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_fast_install
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_gnu_ld
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_maintainer_mode
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_symvers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_cet
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1450,6 +1453,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-maintainer-mode
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable make rules and dependencies not useful (and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sometimes confusing) to the casual installer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9573,6 +9578,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9590,10 +9645,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11389,7 +11453,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 11392 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 11456 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11495,7 +11559,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 11498 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 11562 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -15873,6 +15937,10 @@ if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libbacktrace/configure libbacktrace/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 6a0dd7602fe..3bb2ac002e3 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libbacktrace/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libbacktrace/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -662,6 +662,8 @@ PIC_FLAG
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- WARN_FLAGS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- EXTRA_FLAGS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- BACKTRACE_FILE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -786,6 +788,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_fast_install
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_gnu_ld
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_largefile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_cet
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_system_libunwind
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1431,6 +1434,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-largefile omit support for large files
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-cet enable Intel CET in target libraries [default=no]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-host-shared build host code as shared libraries
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9685,6 +9690,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9702,10 +9757,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11501,7 +11565,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 11504 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 11568 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11607,7 +11671,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 11610 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 11674 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -13699,6 +13763,10 @@ if test -z "${HAVE_DWZ_TRUE}" && test -z "${HAVE_DWZ_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"HAVE_DWZ\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test -z "${HAVE_ELF_TRUE}" && test -z "${HAVE_ELF_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"HAVE_ELF\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libcc1/Makefile.am libcc1/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index fe7b64cbc6f..393d3273235 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libcc1/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libcc1/Makefile.am
</span><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:#ffe0e0;'>- marshall_cxx_source = marshall-cp.hh
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libcc1plugin_la_LDFLAGS = -module -export-symbols $(srcdir)/libcc1plugin.sym
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libcc1plugin_la_LDFLAGS += -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libcc1plugin_la_SOURCES = libcc1plugin.cc $(shared_source) $(marshall_c_source)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libcc1plugin.lo_CPPFLAGS = $(CPPFLAGS_FOR_C)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libcc1plugin_la_LIBADD = $(libiberty)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -64,6 +67,9 @@ libcc1plugin_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(CXXFLAGS) $(libcc1plugin_la_LDFLAGS) $(LTLDFLAGS) -o $@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libcp1plugin_la_LDFLAGS = -module -export-symbols $(srcdir)/libcp1plugin.sym
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libcp1plugin_la_LDFLAGS += -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libcp1plugin_la_SOURCES = libcp1plugin.cc $(shared_source) $(marshall_cxx_source)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libcp1plugin.lo_CPPFLAGS = $(CPPFLAGS_FOR_CXX)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libcp1plugin_la_LIBADD = $(libiberty)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -74,6 +80,9 @@ libcp1plugin_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libcc1_la_LDFLAGS = -module -export-symbols $(srcdir)/libcc1.sym
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libcc1_la_LDFLAGS += -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libcc1_la_SOURCES = findcomp.cc libcc1.cc libcp1.cc \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- names.cc names.hh $(shared_source) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(marshall_c_source) $(marshall_cxx_source)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libcc1/Makefile.in libcc1/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 2def836cb06..2be35afedd5 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libcc1/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libcc1/Makefile.in
</span><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:#ffe0e0;'>- host_triplet = @host@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- target_triplet = @target@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @DARWIN_DYNAMIC_LOOKUP_TRUE@am__append_1 = -Wl,-undefined,dynamic_lookup
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@ENABLE_DARWIN_AT_RPATH_TRUE@am__append_2 = -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 = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- subdir = .
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -403,7 +406,8 @@ shared_source = callbacks.cc callbacks.hh connection.cc connection.hh \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- marshall_c_source = marshall-c.hh
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- marshall_cxx_source = marshall-cp.hh
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--libcc1plugin_la_LDFLAGS = -module -export-symbols $(srcdir)/libcc1plugin.sym
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libcc1plugin_la_LDFLAGS = -module -export-symbols \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(srcdir)/libcc1plugin.sym $(am__append_2)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libcc1plugin_la_SOURCES = libcc1plugin.cc $(shared_source) $(marshall_c_source)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libcc1plugin.lo_CPPFLAGS = $(CPPFLAGS_FOR_C)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libcc1plugin_la_LIBADD = $(libiberty)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -412,7 +416,8 @@ libcc1plugin_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(CXXFLAGS) $(libcc1plugin_la_LDFLAGS) $(LTLDFLAGS) -o $@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--libcp1plugin_la_LDFLAGS = -module -export-symbols $(srcdir)/libcp1plugin.sym
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libcp1plugin_la_LDFLAGS = -module -export-symbols \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(srcdir)/libcp1plugin.sym $(am__append_3)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libcp1plugin_la_SOURCES = libcp1plugin.cc $(shared_source) $(marshall_cxx_source)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libcp1plugin.lo_CPPFLAGS = $(CPPFLAGS_FOR_CXX)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libcp1plugin_la_LIBADD = $(libiberty)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -422,7 +427,8 @@ libcp1plugin_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(CXXFLAGS) $(libcp1plugin_la_LDFLAGS) $(LTLDFLAGS) -o $@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--libcc1_la_LDFLAGS = -module -export-symbols $(srcdir)/libcc1.sym
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libcc1_la_LDFLAGS = -module -export-symbols $(srcdir)/libcc1.sym \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(am__append_4)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libcc1_la_SOURCES = findcomp.cc libcc1.cc libcp1.cc \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- names.cc names.hh $(shared_source) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(marshall_c_source) $(marshall_cxx_source)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libcc1/configure libcc1/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index f1c64d86b52..b3312070ca5 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libcc1/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libcc1/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -652,6 +652,8 @@ CXXDEPMODE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ac_ct_CXX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CXXFLAGS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CXX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -786,6 +788,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_fast_install
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_gnu_ld
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_gcc_major_version_only
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_werror_always
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_plugin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1437,6 +1440,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-werror-always enable -Werror despite compiler version
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-plugin enable plugin support
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -8968,6 +8973,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -8985,10 +9040,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10784,7 +10848,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 10787 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 10851 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10890,7 +10954,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 10893 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 10957 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12172,6 +12236,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc_CXX=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct_CXX=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic_CXX=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12189,12 +12303,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$lt_cv_apple_cc_single_mod" != "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds_CXX="\$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_dsymutil}"
</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;'>-+ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 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}"
</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;'>-@@ -15162,10 +15289,18 @@ if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test -z "${DARWIN_DYNAMIC_LOOKUP_TRUE}" && test -z "${DARWIN_DYNAMIC_LOOKUP_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"DARWIN_DYNAMIC_LOOKUP\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libffi/Makefile.am libffi/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 203b7d10a42..46fa6dce919 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libffi/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libffi/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -233,7 +233,12 @@ libffi_version_info = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libffi.map: $(top_srcdir)/libffi.map.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(COMPILE) -D$(TARGET) -E -x assembler-with-cpp -o $@ $<
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--libffi_la_LDFLAGS = -no-undefined $(libffi_version_info) $(libffi_version_script) $(LTLDFLAGS) $(AM_LTLDFLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libffi_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libffi_la_LDFLAGS = -no-undefined $(libffi_version_info) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(libffi_version_script) $(LTLDFLAGS) $(AM_LTLDFLAGS) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(libffi_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libffi_la_DEPENDENCIES = $(libffi_la_LIBADD) $(libffi_version_dep)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libffi/Makefile.in libffi/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 745bdd80777..11ff229e561 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libffi/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libffi/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -612,7 +612,11 @@ AM_CFLAGS = -Wall -g -fexceptions $(am__append_2)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @LIBAT_BUILD_VERSIONED_SHLIB_GNU_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@libffi_version_dep = libffi.map
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @LIBAT_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@libffi_version_dep = libffi.map-sun
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libffi_version_info = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--libffi_la_LDFLAGS = -no-undefined $(libffi_version_info) $(libffi_version_script) $(LTLDFLAGS) $(AM_LTLDFLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@ENABLE_DARWIN_AT_RPATH_TRUE@libffi_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libffi_la_LDFLAGS = -no-undefined $(libffi_version_info) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(libffi_version_script) $(LTLDFLAGS) $(AM_LTLDFLAGS) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(libffi_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libffi_la_DEPENDENCIES = $(libffi_la_LIBADD) $(libffi_version_dep)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AM_CCASFLAGS = $(AM_CPPFLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libffi/configure libffi/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index b32e109f030..4d432635a30 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libffi/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libffi/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -666,6 +666,8 @@ MAINTAINER_MODE_FALSE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- MAINTAINER_MODE_TRUE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CXXCPP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CPP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -807,6 +809,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_fast_install
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_gnu_ld
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_maintainer_mode
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_pax_emutramp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_debug
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1460,6 +1463,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-maintainer-mode
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable make rules and dependencies not useful (and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sometimes confusing) to the casual installer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9747,6 +9752,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9764,10 +9819,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11563,7 +11627,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 11566 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 11630 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11669,7 +11733,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 11672 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 11736 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12545,6 +12609,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc_CXX=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct_CXX=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic_CXX=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12562,12 +12676,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$lt_cv_apple_cc_single_mod" != "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds_CXX="\$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_dsymutil}"
</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;'>-+ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 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}"
</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;'>-@@ -16821,6 +16948,14 @@ if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config.host libgcc/config.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index c529cc40f0c..a1bdc29b5de 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -217,7 +217,27 @@ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case ${host} in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *-*-darwin*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- asm_hidden_op=.private_extern
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- tmake_file="$tmake_file t-darwin ${cpu_type}/t-darwin t-libgcc-pic t-slibgcc-darwin"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tmake_file="$tmake_file t-darwin ${cpu_type}/t-darwin "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tmake_file="$tmake_file t-libgcc-pic t-slibgcc-darwin "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We are not using libtool to build the libs here, so we need to replicate
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # a little of the logic around setting Darwin rpaths. Setting an explicit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # yes or no is honoured, otherwise we choose a suitable default.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Sadly, this has to be kept in line with the rules in libtool.m4.
</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;'>-+ tmake_file="$tmake_file t-darwin-rpath "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ elif test "x$enable_darwin_at_rpath" = "x"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "enable_darwin_at_rpath is unset" 1>&2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${host} in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-darwin[45678]*) ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-darwin9* | *-darwin1[01234]*) ;; # We might default these on later.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-darwin*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "but is needed after macOS 10.11 (setting it on)" 1>&2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tmake_file="$tmake_file t-darwin-rpath "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "enable_darwin_at_rpath is '$enable_darwin_at_rpath'" 1>&2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extra_parts="crt3.o d10-uwfef.o crttms.o crttme.o"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *-*-dragonfly*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/t-darwin-rpath libgcc/config/t-darwin-rpath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-new file mode 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 00000000000..7cf63d9cb6b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config/t-darwin-rpath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,5 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Use @rpath and add a search path to exes and dylibs that depend on this.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+SHLIB_RPATH = @rpath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Which does not work for Darwin < 9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+HOST_LIBGCC2_CFLAGS += -mmacosx-version-min=10.5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/t-slibgcc-darwin libgcc/config/t-slibgcc-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 9970d003436..537944ad6b5 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config/t-slibgcc-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config/t-slibgcc-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10,17 +10,16 @@ SHLIB_OBJS = @shlib_objs@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SHLIB_DIR = @multilib_dir@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SHLIB_LC = -lc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# Darwin only searches in /usr/lib for shared libraries, not in subdirectories,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# so the libgcc variants have different names not different locations.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# Note that this version is used for the loader, not the linker; the linker
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# uses the stub versions named by the versioned members of $(INSTALL_FILES).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Instead of using @shlib_slibdir@, use @rpath and add a search path to exes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# and dylibs that depend on this.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+SHLIB_RPATH = @shlib_slibdir@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SHLIB_LINK = $(CC) $(LIBGCC2_CFLAGS) -dynamiclib -nodefaultlibs \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- -install_name @shlib_slibdir@/$(SHLIB_INSTALL_NAME) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -install_name $(SHLIB_RPATH)/$(SHLIB_INSTALL_NAME) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -single_module -o $(SHLIB_DIR)/$(SHLIB_SONAME) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -Wl,-exported_symbols_list,$(SHLIB_MAP) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- $(SHLIB_VERSTRING) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- @multilib_flags@ $(SHLIB_OBJS) $(SHLIB_LC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(SHLIB_VERSTRING) -nodefaultrpath \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ @multilib_flags@ @shlib_objs@ $(SHLIB_LC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SHLIB_MKMAP_OPTS = -v leading_underscore=1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -97,13 +96,6 @@ install-darwin-libgcc-stubs :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if [ -f $(DESTDIR)$(slibdir)/libgcc_s_ppc64.1.dylib ]; then \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rm -f $(DESTDIR)$(slibdir)/libgcc_s_ppc64.1.dylib; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else true; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- $(LN_S) libgcc_s.1.dylib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- $(DESTDIR)$(slibdir)/libgcc_s_ppc64.1.dylib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if [ -f $(DESTDIR)$(slibdir)/libgcc_s_x86_64.1.dylib ]; then \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- rm -f $(DESTDIR)$(slibdir)/libgcc_s_x86_64.1.dylib; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- else true; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- $(LN_S) libgcc_s.1.dylib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- $(DESTDIR)$(slibdir)/libgcc_s_x86_64.1.dylib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -122,13 +114,4 @@ install-darwin-libgcc-links:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rm -f $(gcc_objdir)$(MULTISUBDIR)/$$file; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(LN_S) ../$$file $(gcc_objdir)$(MULTISUBDIR)/; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- rm -f $(gcc_objdir)$(MULTISUBDIR)/libgcc_s_x86_64.1.dylib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- $(LN_S) libgcc_s.1.dylib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- $(gcc_objdir)$(MULTISUBDIR)/libgcc_s_x86_64.1.dylib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- rm -f $(gcc_objdir)$(MULTISUBDIR)/libgcc_s_ppc64.1.dylib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- $(LN_S) libgcc_s.1.dylib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- $(gcc_objdir)$(MULTISUBDIR)/libgcc_s_ppc64.1.dylib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgfortran/Makefile.am libgfortran/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index a8a2191acc3..a268d43e599 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgfortran/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgfortran/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -29,6 +29,9 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- version_arg =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- version_dep =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ENABLE_DARWIN_AT_RPATH
</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:#ffe0e0;'>-+endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gfor_c_HEADERS = $(srcdir)/ISO_Fortran_binding.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gfor_cdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgfortran/Makefile.in libgfortran/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 312a682b45d..f24af57bacf 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgfortran/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgfortran/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -91,8 +91,9 @@ POST_UNINSTALL = :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- build_triplet = @build@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- host_triplet = @host@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- target_triplet = @target@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--@LIBGFOR_MINIMAL_TRUE@am__append_1 = -DLIBGFOR_MINIMAL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--@LIBGFOR_MINIMAL_FALSE@am__append_2 = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@ENABLE_DARWIN_AT_RPATH_TRUE@am__append_1 = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@LIBGFOR_MINIMAL_TRUE@am__append_2 = -DLIBGFOR_MINIMAL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@LIBGFOR_MINIMAL_FALSE@am__append_3 = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @LIBGFOR_MINIMAL_FALSE@io/close.c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @LIBGFOR_MINIMAL_FALSE@io/file_pos.c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @LIBGFOR_MINIMAL_FALSE@io/format.c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -110,7 +111,7 @@ target_triplet = @target@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @LIBGFOR_MINIMAL_FALSE@io/fbuf.c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @LIBGFOR_MINIMAL_FALSE@io/async.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--@LIBGFOR_MINIMAL_FALSE@am__append_3 = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@LIBGFOR_MINIMAL_FALSE@am__append_4 = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @LIBGFOR_MINIMAL_FALSE@intrinsics/access.c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @LIBGFOR_MINIMAL_FALSE@intrinsics/c99_functions.c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @LIBGFOR_MINIMAL_FALSE@intrinsics/chdir.c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -143,9 +144,9 @@ target_triplet = @target@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @LIBGFOR_MINIMAL_FALSE@intrinsics/umask.c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @LIBGFOR_MINIMAL_FALSE@intrinsics/unlink.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--@IEEE_SUPPORT_TRUE@am__append_4 = ieee/ieee_helper.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--@LIBGFOR_MINIMAL_TRUE@am__append_5 = runtime/minimal.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--@LIBGFOR_MINIMAL_FALSE@am__append_6 = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@IEEE_SUPPORT_TRUE@am__append_5 = ieee/ieee_helper.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@LIBGFOR_MINIMAL_TRUE@am__append_6 = runtime/minimal.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@LIBGFOR_MINIMAL_FALSE@am__append_7 = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @LIBGFOR_MINIMAL_FALSE@runtime/backtrace.c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @LIBGFOR_MINIMAL_FALSE@runtime/convert_char.c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @LIBGFOR_MINIMAL_FALSE@runtime/environ.c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -157,7 +158,7 @@ target_triplet = @target@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # dummy sources for libtool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--@onestep_TRUE@am__append_7 = libgfortran_c.c libgfortran_f.f90
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@onestep_TRUE@am__append_8 = libgfortran_c.c libgfortran_f.f90
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- subdir = .
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -569,7 +570,7 @@ AMTAR = @AMTAR@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Some targets require additional compiler options for IEEE compatibility.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AM_CFLAGS = @AM_CFLAGS@ -fcx-fortran-rules $(SECTION_FLAGS) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- $(IEEE_FLAGS) $(am__append_1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(IEEE_FLAGS) $(am__append_2)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AM_FCFLAGS = @AM_FCFLAGS@ $(IEEE_FLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AR = @AR@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -670,7 +671,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:#ffe0e0;'>-+ $(am__append_1)
</span><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:#ffe0e0;'>-@@ -752,7 +754,7 @@ AM_CPPFLAGS = -iquote$(srcdir)/io -I$(srcdir)/$(MULTISRCTOP)../gcc \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -I$(MULTIBUILDTOP)../libbacktrace \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -I../libbacktrace
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--gfor_io_src = io/size_from_kind.c $(am__append_2)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+gfor_io_src = io/size_from_kind.c $(am__append_3)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gfor_io_headers = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- io/io.h \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- io/fbuf.h \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -774,7 +776,7 @@ gfor_helper_src = intrinsics/associated.c intrinsics/abort.c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- intrinsics/selected_int_kind.f90 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- intrinsics/selected_real_kind.f90 intrinsics/trigd.c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- intrinsics/unpack_generic.c runtime/in_pack_generic.c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- runtime/in_unpack_generic.c $(am__append_3) $(am__append_4)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ runtime/in_unpack_generic.c $(am__append_4) $(am__append_5)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @IEEE_SUPPORT_FALSE@gfor_ieee_src =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @IEEE_SUPPORT_TRUE@gfor_ieee_src = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @IEEE_SUPPORT_TRUE@ieee/ieee_arithmetic.F90 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -782,8 +784,8 @@ gfor_helper_src = intrinsics/associated.c intrinsics/abort.c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @IEEE_SUPPORT_TRUE@ieee/ieee_features.F90
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gfor_src = runtime/bounds.c runtime/compile_options.c runtime/memory.c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- runtime/string.c runtime/select.c $(am__append_5) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- $(am__append_6)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ runtime/string.c runtime/select.c $(am__append_6) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(am__append_7)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- i_all_c = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(srcdir)/generated/all_l1.c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(srcdir)/generated/all_l2.c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1537,7 +1539,7 @@ intrinsics/random_init.f90
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- BUILT_SOURCES = $(gfor_built_src) $(gfor_built_specific_src) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(gfor_built_specific2_src) $(gfor_misc_specifics) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- $(am__append_7)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(am__append_8)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- prereq_SRC = $(gfor_src) $(gfor_built_src) $(gfor_io_src) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(gfor_helper_src) $(gfor_ieee_src) $(gfor_io_headers) $(gfor_specific_src)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgfortran/configure libgfortran/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 1b4a8b10609..c6da3450947 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgfortran/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgfortran/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -657,6 +657,8 @@ FC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_static
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_shared
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_host_flags
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -818,6 +820,7 @@ enable_static
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_pic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_fast_install
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_largefile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_libquadmath_support
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_gcc_major_version_only
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1473,6 +1476,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-largefile omit support for large files
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-libquadmath-support
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- disable libquadmath support for Fortran
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10884,6 +10889,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10901,10 +10956,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12721,7 +12785,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 12724 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 12788 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12827,7 +12891,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 12830 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 12894 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -14731,6 +14795,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc_FC=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct_FC=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic_FC=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -14748,10 +14862,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds_FC="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds_FC="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds_FC="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds_FC="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_FC="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds_FC="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds_FC="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds_FC="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_FC="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds_FC="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds_FC="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds_FC="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ld_shlibs_FC=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -16015,8 +16138,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # extra LD Flags which are required for targets
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case "${host}" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- *-darwin*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- # Darwin needs -single_module when linking libgfortran
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-*-darwin[4567]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Earlier Darwin needs -single_module when linking libgfortran
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extra_ldflags_libgfortran=-Wl,-single_module
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -27392,6 +27515,14 @@ if test -z "${HAVE_HWCAP_TRUE}" && test -z "${HAVE_HWCAP_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"HAVE_HWCAP\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test -z "${LIBGFOR_BUILD_QUAD_TRUE}" && test -z "${LIBGFOR_BUILD_QUAD_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"LIBGFOR_BUILD_QUAD\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgfortran/configure.ac libgfortran/configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 711dc60ff78..fa6935e3f60 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgfortran/configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgfortran/configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -263,8 +263,8 @@ AC_PROG_FC(gfortran)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # extra LD Flags which are required for targets
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case "${host}" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- *-darwin*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- # Darwin needs -single_module when linking libgfortran
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-*-darwin[[4567]]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Earlier Darwin needs -single_module when linking libgfortran
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extra_ldflags_libgfortran=-Wl,-single_module
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgomp/Makefile.am libgomp/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 669b9e4defd..b57c90f1a10 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgomp/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgomp/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -53,9 +53,13 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgomp_version_script =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgomp_version_dep =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgomp_version_info = -version-info $(libtool_VERSION)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libgomp_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgomp_la_LDFLAGS = $(libgomp_version_info) $(libgomp_version_script) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- $(lt_host_flags)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(lt_host_flags) $(libgomp_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgomp_la_DEPENDENCIES = $(libgomp_version_dep)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgomp_la_LINK = $(LINK) $(libgomp_la_LDFLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgomp/Makefile.in libgomp/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index ae5d9d54705..ffe8d6481a9 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgomp/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgomp/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -560,8 +560,9 @@ nodist_toolexeclib_HEADERS = libgomp.spec
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @LIBGOMP_BUILD_VERSIONED_SHLIB_GNU_TRUE@@LIBGOMP_BUILD_VERSIONED_SHLIB_TRUE@libgomp_version_dep = libgomp.ver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @LIBGOMP_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBGOMP_BUILD_VERSIONED_SHLIB_TRUE@libgomp_version_dep = libgomp.ver-sun
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgomp_version_info = -version-info $(libtool_VERSION)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@ENABLE_DARWIN_AT_RPATH_TRUE@libgomp_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgomp_la_LDFLAGS = $(libgomp_version_info) $(libgomp_version_script) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- $(lt_host_flags)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(lt_host_flags) $(libgomp_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgomp_la_DEPENDENCIES = $(libgomp_version_dep)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgomp_la_LINK = $(LINK) $(libgomp_la_LDFLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgomp/configure libgomp/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 5240f7e9d39..3a939e6c1b3 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgomp/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgomp/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -699,6 +699,8 @@ enable_static
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_shared
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_host_flags
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CPP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -834,6 +836,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_fast_install
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_gnu_ld
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_maintainer_mode
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_cuda_driver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_cuda_driver_include
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1494,6 +1497,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-maintainer-mode
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable make rules and dependencies not useful (and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sometimes confusing) to the casual installer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9618,6 +9623,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9635,10 +9690,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11434,7 +11498,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 11437 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 11501 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11540,7 +11604,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 11543 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 11607 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -13476,6 +13540,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc_FC=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct_FC=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic_FC=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -13493,10 +13607,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds_FC="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds_FC="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds_FC="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds_FC="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_FC="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds_FC="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds_FC="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds_FC="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_FC="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds_FC="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds_FC="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds_FC="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ld_shlibs_FC=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -17199,10 +17322,18 @@ if test -z "${BUILD_INFO_TRUE}" && test -z "${BUILD_INFO_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"BUILD_INFO\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test -z "${PLUGIN_NVPTX_TRUE}" && test -z "${PLUGIN_NVPTX_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"PLUGIN_NVPTX\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libhsail-rt/configure libhsail-rt/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 33e61484333..22a5060284c 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libhsail-rt/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libhsail-rt/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -640,6 +640,8 @@ toolexeclibdir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- toolexecdir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CXXCPP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CPP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -780,6 +782,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_fast_install
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_gnu_ld
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_gcc_major_version_only
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- '
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ac_precious_vars='build_alias
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1432,6 +1435,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Optional Packages:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9425,6 +9430,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9442,10 +9497,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11241,7 +11305,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 11244 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 11308 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11347,7 +11411,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 11350 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 11414 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12223,6 +12287,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc_CXX=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct_CXX=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic_CXX=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12240,12 +12354,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$lt_cv_apple_cc_single_mod" != "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds_CXX="\$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_dsymutil}"
</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;'>-+ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 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}"
</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;'>-@@ -14843,6 +14970,14 @@ if test -z "${MAC_LINKER_SCRIPT_TRUE}" && test -z "${MAC_LINKER_SCRIPT_FALSE}";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"MAC_LINKER_SCRIPT\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- : "${CONFIG_STATUS=./config.status}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ac_write_fail=0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libitm/Makefile.am libitm/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 3f31ad30556..053a54fb093 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libitm/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libitm/Makefile.am
</span><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:#ffe0e0;'>- # want or need libstdc++.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libitm_la_DEPENDENCIES = $(libitm_version_dep)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libitm_la_LINK = $(LINK) $(libitm_la_LDFLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--libitm_la_LDFLAGS = $(libitm_version_info) $(libitm_version_script)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libitm_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif
</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:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libitm_la_SOURCES = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aatree.cc alloc.cc alloc_c.cc alloc_cpp.cc barrier.cc beginend.cc \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libitm/Makefile.in libitm/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 7f53ea9b9db..c7a8b437427 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libitm/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libitm/Makefile.in
</span><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:#ffe0e0;'>- # want or need libstdc++.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libitm_la_DEPENDENCIES = $(libitm_version_dep)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libitm_la_LINK = $(LINK) $(libitm_la_LDFLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--libitm_la_LDFLAGS = $(libitm_version_info) $(libitm_version_script)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@ENABLE_DARWIN_AT_RPATH_TRUE@libitm_darwin_rpath = -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:#ffe0e0;'>- libitm_la_SOURCES = aatree.cc alloc.cc alloc_c.cc alloc_cpp.cc \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- barrier.cc beginend.cc clone.cc eh_cpp.cc local.cc query.cc \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- retry.cc rwlock.cc useraction.cc util.cc sjlj.S tls.cc \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libitm/configure libitm/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index ea31a1d5cdd..7736f8c5647 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libitm/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libitm/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -664,6 +664,8 @@ enable_static
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_shared
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CXXCPP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CPP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -810,6 +812,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_fast_install
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_gnu_ld
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_maintainer_mode
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_linux_futex
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_tls
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1461,6 +1464,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-maintainer-mode
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable make rules and dependencies not useful (and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sometimes confusing) to the casual installer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10250,6 +10255,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10267,10 +10322,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12066,7 +12130,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 12069 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 12133 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12172,7 +12236,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 12175 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 12239 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -13048,6 +13112,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc_CXX=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct_CXX=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic_CXX=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -13065,12 +13179,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$lt_cv_apple_cc_single_mod" != "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds_CXX="\$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_dsymutil}"
</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;'>-+ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 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}"
</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;'>-@@ -18173,6 +18300,14 @@ if test -z "${BUILD_INFO_TRUE}" && test -z "${BUILD_INFO_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"BUILD_INFO\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libobjc/configure libobjc/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 32c389f1385..2f8c7ec71c2 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libobjc/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libobjc/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -638,6 +638,8 @@ OBJC_BOEHM_GC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OBJC_GCFLAGS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SET_MAKE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CPP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -755,6 +757,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_fast_install
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_gnu_ld
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_tls
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_objc_gc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_target_bdw_gc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1392,6 +1395,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-tls Use thread-local storage [default=yes]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-objc-gc enable use of Boehm's garbage collector with the GNU
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Objective-C runtime
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3431,10 +3436,20 @@ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case "${host}" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- *-darwin*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- # Darwin needs -single_module when linking libobjc
</span><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;'>-@@ -8940,6 +8955,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -8957,10 +9022,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10777,7 +10851,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 10780 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 10854 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10883,7 +10957,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 10886 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 10960 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11896,6 +11970,10 @@ if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- : "${CONFIG_STATUS=./config.status}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ac_write_fail=0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libobjc/configure.ac libobjc/configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 9c8aa829cd7..6cbf90e0f01 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libobjc/configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libobjc/configure.ac
</span><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:#ffe0e0;'>- # extra LD Flags which are required for targets
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ACX_LT_HOST_FLAGS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case "${host}" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- *-darwin*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- # Darwin needs -single_module when linking libobjc
</span><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;'>-diff --git liboffloadmic/configure liboffloadmic/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index cd011799a6c..881ad0ed968 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- liboffloadmic/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ liboffloadmic/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -640,6 +640,8 @@ lt_cv_dlopen_libs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- toolexeclibdir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- toolexecdir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CXXCPP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -782,6 +784,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_fast_install
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_gnu_ld
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_gcc_major_version_only
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- '
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ac_precious_vars='build_alias
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1434,6 +1437,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Optional Packages:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -7900,23 +7905,25 @@ _LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $as_echo "$lt_cv_ld_force_load" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- case $host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- rhapsody* | darwin1.[012])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Allow for Darwin 4-7 (macOS 10.0-10.3) although these are not expect to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # build without first building modern cctools / linker.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case $host_cpu-$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-rhapsody* | *-darwin1.[012])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- darwin1.*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-darwin1.*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- darwin*) # darwin 5.x on
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- # if running on 10.5 or later, the deployment target defaults
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- # to the OS version, if on x86, and 10.4, the deployment
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- # target defaults to 10.4. Don't you love it?
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-darwin*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # darwin 5.x (macOS 10.1) onwards we only need to adjust when the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # deployment target is forced to an earlier version.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,*-darwin[89]*|UNSET,*-darwin[12][0123456789]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 10.[012][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- 10.*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9614,6 +9621,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9631,10 +9688,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11430,7 +11496,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 11433 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 11499 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11536,7 +11602,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 11539 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 11605 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12412,6 +12478,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc_CXX=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct_CXX=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic_CXX=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12429,12 +12545,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$lt_cv_apple_cc_single_mod" != "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds_CXX="\$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_dsymutil}"
</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;'>-+ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 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}"
</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;'>-@@ -15009,6 +15138,14 @@ if test -z "${LIBOFFLOADMIC_HOST_TRUE}" && test -z "${LIBOFFLOADMIC_HOST_FALSE}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"LIBOFFLOADMIC_HOST\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- : "${CONFIG_STATUS=./config.status}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ac_write_fail=0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git liboffloadmic/plugin/Makefile.in liboffloadmic/plugin/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 8d5ad0025c2..c53f2d32b3b 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- liboffloadmic/plugin/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ liboffloadmic/plugin/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -123,10 +123,10 @@ subdir = .
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- am__aclocal_m4_deps = $(top_srcdir)/../../config/acx.m4 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(top_srcdir)/../../config/depstand.m4 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- $(top_srcdir)/../../config/toolexeclibdir.m4 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(top_srcdir)/../../config/lead-dot.m4 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(top_srcdir)/../../config/multi.m4 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(top_srcdir)/../../config/override.m4 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(top_srcdir)/../../config/toolexeclibdir.m4 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(top_srcdir)/../../libtool.m4 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(top_srcdir)/../../ltoptions.m4 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(top_srcdir)/../../ltsugar.m4 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git liboffloadmic/plugin/aclocal.m4 liboffloadmic/plugin/aclocal.m4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 9fa1d1216c1..1bb91402f66 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- liboffloadmic/plugin/aclocal.m4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ liboffloadmic/plugin/aclocal.m4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1169,10 +1169,10 @@ AC_SUBST([am__untar])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- m4_include([../../config/acx.m4])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- m4_include([../../config/depstand.m4])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--m4_include([../../config/toolexeclibdir.m4])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- m4_include([../../config/lead-dot.m4])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- m4_include([../../config/multi.m4])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- m4_include([../../config/override.m4])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+m4_include([../../config/toolexeclibdir.m4])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- m4_include([../../libtool.m4])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- m4_include([../../ltoptions.m4])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- m4_include([../../ltsugar.m4])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git liboffloadmic/plugin/configure liboffloadmic/plugin/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index cf485223f41..4afa3abc6e3 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- liboffloadmic/plugin/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ liboffloadmic/plugin/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -637,6 +637,8 @@ toolexeclibdir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- toolexecdir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CXXCPP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CPP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -778,6 +780,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_fast_install
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_gnu_ld
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_gcc_major_version_only
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- '
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ac_precious_vars='build_alias
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1431,6 +1434,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Optional Packages:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -7280,23 +7285,25 @@ _LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $as_echo "$lt_cv_ld_force_load" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- case $host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- rhapsody* | darwin1.[012])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Allow for Darwin 4-7 (macOS 10.0-10.3) although these are not expect to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # build without first building modern cctools / linker.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case $host_cpu-$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-rhapsody* | *-darwin1.[012])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- darwin1.*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-darwin1.*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- darwin*) # darwin 5.x on
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- # if running on 10.5 or later, the deployment target defaults
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- # to the OS version, if on x86, and 10.4, the deployment
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- # target defaults to 10.4. Don't you love it?
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-darwin*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # darwin 5.x (macOS 10.1) onwards we only need to adjust when the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # deployment target is forced to an earlier version.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,*-darwin[89]*|UNSET,*-darwin[12][0123456789]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 10.[012][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- 10.*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9261,6 +9268,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9278,10 +9335,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11077,7 +11143,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 11080 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 11146 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11183,7 +11249,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 11186 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 11252 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12059,6 +12125,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc_CXX=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct_CXX=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic_CXX=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12076,12 +12192,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$lt_cv_apple_cc_single_mod" != "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds_CXX="\$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_dsymutil}"
</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;'>-+ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 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}"
</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;'>-@@ -14644,6 +14773,14 @@ if test -z "${PLUGIN_HOST_TRUE}" && test -z "${PLUGIN_HOST_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"PLUGIN_HOST\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- : "${CONFIG_STATUS=./config.status}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ac_write_fail=0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libphobos/configure libphobos/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 29595b938f6..60cb59ed94f 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libphobos/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libphobos/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -705,6 +705,8 @@ libphobos_builddir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- get_gcc_base_ver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- phobos_compiler_shared_flag
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- phobos_compiler_pic_flag
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -830,6 +832,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_fast_install
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_gnu_ld
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_gcc_major_version_only
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_werror
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_libatomic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1481,6 +1484,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-werror turns on -Werror [default=no]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-version-specific-runtime-libs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Specify that runtime libraries should be installed
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9833,6 +9838,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9850,10 +9905,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11649,7 +11713,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 11652 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 11716 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11755,7 +11819,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 11758 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 11822 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -13280,6 +13344,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc_D=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct_D=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic_D=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -13297,10 +13411,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds_D="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds_D="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds_D="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds_D="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_D="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds_D="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds_D="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds_D="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_D="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds_D="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds_D="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds_D="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ld_shlibs_D=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -15578,6 +15701,14 @@ if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test -z "${DRUNTIME_CPU_AARCH64_TRUE}" && test -z "${DRUNTIME_CPU_AARCH64_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"DRUNTIME_CPU_AARCH64\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libphobos/libdruntime/Makefile.am libphobos/libdruntime/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 1d340a0041c..740a8f2cb47 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libphobos/libdruntime/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libphobos/libdruntime/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -121,8 +121,11 @@ ALL_DRUNTIME_SOURCES = $(DRUNTIME_DSOURCES) $(DRUNTIME_CSOURCES) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- toolexeclib_LTLIBRARIES = libgdruntime.la
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgdruntime_la_SOURCES = $(ALL_DRUNTIME_SOURCES)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgdruntime_la_LIBTOOLFLAGS =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libgdruntime_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgdruntime_la_LDFLAGS = -Wc,-nophoboslib,-dstartfiles,-B../src,-Bgcc \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- -version-info $(libtool_VERSION)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -version-info $(libtool_VERSION) $(libgdruntime_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgdruntime_la_LIBADD = $(LIBATOMIC) $(LIBBACKTRACE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgdruntime_la_DEPENDENCIES = $(DRTSTUFF)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Also override library link commands: This is not strictly
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libphobos/libdruntime/Makefile.in libphobos/libdruntime/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 3fddbc340de..f441ce46b3d 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libphobos/libdruntime/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libphobos/libdruntime/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -753,8 +753,9 @@ ALL_DRUNTIME_SOURCES = $(DRUNTIME_DSOURCES) $(DRUNTIME_CSOURCES) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- toolexeclib_LTLIBRARIES = libgdruntime.la
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgdruntime_la_SOURCES = $(ALL_DRUNTIME_SOURCES)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgdruntime_la_LIBTOOLFLAGS =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@ENABLE_DARWIN_AT_RPATH_TRUE@libgdruntime_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgdruntime_la_LDFLAGS = -Wc,-nophoboslib,-dstartfiles,-B../src,-Bgcc \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- -version-info $(libtool_VERSION)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -version-info $(libtool_VERSION) $(libgdruntime_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgdruntime_la_LIBADD = $(LIBATOMIC) $(LIBBACKTRACE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgdruntime_la_DEPENDENCIES = $(DRTSTUFF)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libphobos/src/Makefile.am libphobos/src/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 9fb416ecc32..4efa69f62a2 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libphobos/src/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libphobos/src/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -40,8 +40,11 @@ toolexeclib_DATA = libgphobos.spec
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- toolexeclib_LTLIBRARIES = libgphobos.la
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgphobos_la_SOURCES = $(ALL_PHOBOS_SOURCES)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgphobos_la_LIBTOOLFLAGS =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libgphobos_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgphobos_la_LDFLAGS = -Wc,-nophoboslib,-dstartfiles,-B../libdruntime/gcc \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- -version-info $(libtool_VERSION)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -version-info $(libtool_VERSION) $(libgphobos_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgphobos_la_LIBADD = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ../libdruntime/libgdruntime_convenience.la $(LIBZ)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgphobos_la_DEPENDENCIES = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libphobos/src/Makefile.in libphobos/src/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 4b1ae863a3f..4da0021f958 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libphobos/src/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libphobos/src/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -488,8 +488,9 @@ toolexeclib_DATA = libgphobos.spec
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- toolexeclib_LTLIBRARIES = libgphobos.la
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgphobos_la_SOURCES = $(ALL_PHOBOS_SOURCES)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgphobos_la_LIBTOOLFLAGS =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@ENABLE_DARWIN_AT_RPATH_TRUE@libgphobos_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgphobos_la_LDFLAGS = -Wc,-nophoboslib,-dstartfiles,-B../libdruntime/gcc \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- -version-info $(libtool_VERSION)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -version-info $(libtool_VERSION) $(libgphobos_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgphobos_la_LIBADD = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ../libdruntime/libgdruntime_convenience.la $(LIBZ)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libquadmath/Makefile.am libquadmath/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 35dffb46f6e..ca79ab7cbb8 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libquadmath/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libquadmath/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -36,8 +36,12 @@ endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- toolexeclib_LTLIBRARIES = libquadmath.la
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libquadmath_la_LIBADD =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libquadmath_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libquadmath_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- $(version_arg) $(lt_host_flags) -lm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(version_arg) $(lt_host_flags) $(LIBM) $(libquadmath_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libquadmath_la_DEPENDENCIES = $(version_dep) $(libquadmath_la_LIBADD)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- nodist_libsubinclude_HEADERS = quadmath.h quadmath_weak.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libquadmath/Makefile.in libquadmath/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 8c011212258..cb26674e9ea 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libquadmath/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libquadmath/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -355,6 +355,7 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LD = @LD@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LDFLAGS = @LDFLAGS@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+LIBM = @LIBM@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIBOBJS = @LIBOBJS@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIBS = @LIBS@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIBTOOL = @LIBTOOL@
</span><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:#ffe0e0;'>- @BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@version_dep = quadmath.map-sun
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @BUILD_LIBQUADMATH_TRUE@toolexeclib_LTLIBRARIES = libquadmath.la
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @BUILD_LIBQUADMATH_TRUE@libquadmath_la_LIBADD =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@BUILD_LIBQUADMATH_TRUE@@ENABLE_DARWIN_AT_RPATH_TRUE@libquadmath_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @BUILD_LIBQUADMATH_TRUE@libquadmath_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--@BUILD_LIBQUADMATH_TRUE@ $(version_arg) $(lt_host_flags) -lm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@BUILD_LIBQUADMATH_TRUE@ $(version_arg) $(lt_host_flags) $(LIBM) $(libquadmath_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @BUILD_LIBQUADMATH_TRUE@libquadmath_la_DEPENDENCIES = $(version_dep) $(libquadmath_la_LIBADD)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @BUILD_LIBQUADMATH_TRUE@nodist_libsubinclude_HEADERS = quadmath.h quadmath_weak.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libquadmath/configure libquadmath/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index b5b212c0639..d9790a25cd9 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libquadmath/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libquadmath/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -644,6 +644,7 @@ LIBQUAD_USE_SYMVER_GNU_FALSE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIBQUAD_USE_SYMVER_GNU_TRUE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIBQUAD_USE_SYMVER_FALSE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIBQUAD_USE_SYMVER_TRUE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+LIBM
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- toolexeclibdir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- toolexecdir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- MAINT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -652,6 +653,8 @@ MAINTAINER_MODE_TRUE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_static
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_shared
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_host_flags
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -785,6 +788,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_fast_install
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_gnu_ld
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_maintainer_mode
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_toolexeclibdir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_symvers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1435,6 +1439,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-maintainer-mode
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable make rules and dependencies not useful (and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sometimes confusing) to the casual installer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -8979,6 +8985,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -8996,10 +9052,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10816,7 +10881,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 10819 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 10884 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10922,7 +10987,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 10925 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 10990 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12147,6 +12212,148 @@ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+LIBM=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+case $host in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # These system don't have libm, or don't need it
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+*-ncr-sysv4.3*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _mwvalidcheckl in -lmw" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo_n "checking for _mwvalidcheckl in -lmw... " >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ${ac_cv_lib_mw__mwvalidcheckl+:} false; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $as_echo_n "(cached) " >&6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_check_lib_save_LIBS=$LIBS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+LIBS="-lmw $LIBS"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test x$gcc_no_link = xyes; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* end confdefs.h. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Override any GCC internal prototype to avoid an error.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Use char because int might match the return type of a GCC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ builtin and then its argument prototype would still apply. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __cplusplus
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+extern "C"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+char _mwvalidcheckl ();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+main ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+return _mwvalidcheckl ();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+_ACEOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ac_fn_c_try_link "$LINENO"; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_cv_lib_mw__mwvalidcheckl=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_cv_lib_mw__mwvalidcheckl=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+rm -f core conftest.err conftest.$ac_objext \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ conftest$ac_exeext conftest.$ac_ext
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+LIBS=$ac_check_lib_save_LIBS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mw__mwvalidcheckl" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "$ac_cv_lib_mw__mwvalidcheckl" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "x$ac_cv_lib_mw__mwvalidcheckl" = xyes; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ LIBM="-lmw"
</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;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cos in -lm" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo_n "checking for cos in -lm... " >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ${ac_cv_lib_m_cos+:} false; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $as_echo_n "(cached) " >&6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_check_lib_save_LIBS=$LIBS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+LIBS="-lm $LIBS"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test x$gcc_no_link = xyes; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* end confdefs.h. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Override any GCC internal prototype to avoid an error.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Use char because int might match the return type of a GCC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ builtin and then its argument prototype would still apply. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __cplusplus
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+extern "C"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+char cos ();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+main ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+return cos ();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+_ACEOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ac_fn_c_try_link "$LINENO"; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_cv_lib_m_cos=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_cv_lib_m_cos=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+rm -f core conftest.err conftest.$ac_objext \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ conftest$ac_exeext conftest.$ac_ext
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+LIBS=$ac_check_lib_save_LIBS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_cos" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "$ac_cv_lib_m_cos" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "x$ac_cv_lib_m_cos" = xyes; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ LIBM="$LIBM -lm"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cos in -lm" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo_n "checking for cos in -lm... " >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ${ac_cv_lib_m_cos+:} false; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $as_echo_n "(cached) " >&6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_check_lib_save_LIBS=$LIBS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+LIBS="-lm $LIBS"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test x$gcc_no_link = xyes; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* end confdefs.h. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Override any GCC internal prototype to avoid an error.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Use char because int might match the return type of a GCC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ builtin and then its argument prototype would still apply. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __cplusplus
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+extern "C"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+char cos ();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+main ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+return cos ();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+_ACEOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ac_fn_c_try_link "$LINENO"; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_cv_lib_m_cos=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ac_cv_lib_m_cos=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+rm -f core conftest.err conftest.$ac_objext \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ conftest$ac_exeext conftest.$ac_ext
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+LIBS=$ac_check_lib_save_LIBS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_cos" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "$ac_cv_lib_m_cos" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "x$ac_cv_lib_m_cos" = xyes; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ LIBM="-lm"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- for ac_header in fenv.h langinfo.h locale.h wchar.h wctype.h limits.h ctype.h printf.h errno.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- do :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -13379,6 +13586,10 @@ if test -z "${BUILD_INFO_TRUE}" && test -z "${BUILD_INFO_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"BUILD_INFO\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libquadmath/configure.ac libquadmath/configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index f9d745e60ca..7b4b9e8d140 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libquadmath/configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libquadmath/configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -121,6 +121,8 @@ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AC_SUBST(toolexecdir)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AC_SUBST(toolexeclibdir)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+AC_CHECK_LIBM
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AC_CHECK_HEADERS(fenv.h langinfo.h locale.h wchar.h wctype.h limits.h ctype.h printf.h errno.h)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIBQUAD_CHECK_MATH_H_SIGNGAM
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libsanitizer/asan/Makefile.am libsanitizer/asan/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 7bba555b171..db26df6cd13 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libsanitizer/asan/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libsanitizer/asan/Makefile.am
</span><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:#ffe0e0;'>- endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libasan_la_LIBADD += $(LIBSTDCXX_RAW_CXX_LDFLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--libasan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(link_libasan)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libasan_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libasan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(link_libasan) $(libasan_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libasan_preinit.o: asan_preinit.o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cp $< $@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libsanitizer/asan/Makefile.in libsanitizer/asan/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index bad15b7984f..d67b9ae1a60 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libsanitizer/asan/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libsanitizer/asan/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -462,7 +462,10 @@ libasan_la_LIBADD = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(top_builddir)/sanitizer_common/libsanitizer_common.la \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(top_builddir)/lsan/libsanitizer_lsan.la $(am__append_2) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(am__append_3) $(LIBSTDCXX_RAW_CXX_LDFLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--libasan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(link_libasan)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@ENABLE_DARWIN_AT_RPATH_TRUE@libasan_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libasan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(link_libasan) $(libasan_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Work around what appears to be a GNU make bug handling MAKEFLAGS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # values defined in terms of make variables, as is the case for CC and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libsanitizer/configure libsanitizer/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index ed0c15e37fc..ed3f2645a7b 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libsanitizer/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libsanitizer/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -665,6 +665,8 @@ TSAN_SUPPORTED_TRUE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_static
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_shared
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CXXCPP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -813,6 +815,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_fast_install
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_gnu_ld
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_gcc_major_version_only
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_cet
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- '
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1466,6 +1469,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-cet enable Intel CET in target libraries [default=no]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Optional Packages:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10547,6 +10552,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10564,10 +10619,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12363,7 +12427,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 12366 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 12430 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12469,7 +12533,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 12472 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 12536 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -13345,6 +13409,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc_CXX=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct_CXX=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic_CXX=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -13362,12 +13476,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$lt_cv_apple_cc_single_mod" != "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds_CXX="\$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_dsymutil}"
</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;'>-+ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 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}"
</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;'>-@@ -17075,6 +17202,14 @@ if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test -z "${TSAN_SUPPORTED_TRUE}" && test -z "${TSAN_SUPPORTED_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"TSAN_SUPPORTED\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libsanitizer/lsan/Makefile.am libsanitizer/lsan/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 62ea17dccec..7b695e0e94d 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libsanitizer/lsan/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libsanitizer/lsan/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -39,8 +39,11 @@ if LIBBACKTRACE_SUPPORTED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- liblsan_la_LIBADD += $(top_builddir)/libbacktrace/libsanitizer_libbacktrace.la
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- liblsan_la_LIBADD += $(LIBSTDCXX_RAW_CXX_LDFLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--liblsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(link_liblsan)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ENABLE_DARWIN_AT_RPATH
</span><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:#ffe0e0;'>-+endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+liblsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(link_liblsan) $(liblsan_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- liblsan_preinit.o: lsan_preinit.o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cp $< $@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libsanitizer/lsan/Makefile.in libsanitizer/lsan/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index acc76ca1342..d9ab004b715 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libsanitizer/lsan/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libsanitizer/lsan/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -408,7 +408,10 @@ liblsan_la_LIBADD = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(top_builddir)/sanitizer_common/libsanitizer_common.la \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(top_builddir)/interception/libinterception.la \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(am__append_1) $(LIBSTDCXX_RAW_CXX_LDFLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--liblsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(link_liblsan)
</span><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:#ffe0e0;'>-+liblsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(link_liblsan) $(liblsan_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Work around what appears to be a GNU make bug handling MAKEFLAGS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # values defined in terms of make variables, as is the case for CC and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -782,7 +785,6 @@ uninstall-am: uninstall-nodist_toolexeclibHEADERS \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .PRECIOUS: Makefile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- liblsan_preinit.o: lsan_preinit.o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cp $< $@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libsanitizer/tsan/Makefile.am libsanitizer/tsan/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 5d37abd20de..9506ae24a9b 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libsanitizer/tsan/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libsanitizer/tsan/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -57,7 +57,11 @@ libtsan_la_LIBADD += $(top_builddir)/libbacktrace/libsanitizer_libbacktrace.la
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libtsan_la_DEPENDENCIES +=$(top_builddir)/libbacktrace/libsanitizer_libbacktrace.la
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libtsan_la_LIBADD += $(LIBSTDCXX_RAW_CXX_LDFLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--libtsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(link_libtsan)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libtsan_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libtsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(link_libtsan) $(libtsan_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libtsan_preinit.o: tsan_preinit.o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cp $< $@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libsanitizer/tsan/Makefile.in libsanitizer/tsan/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 74896427edf..584886c198e 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libsanitizer/tsan/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libsanitizer/tsan/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -461,7 +461,10 @@ libtsan_la_DEPENDENCIES = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(top_builddir)/sanitizer_common/libsanitizer_common.la \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(top_builddir)/interception/libinterception.la \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(TSAN_TARGET_DEPENDENT_OBJECTS) $(am__append_2)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--libtsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(link_libtsan)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@ENABLE_DARWIN_AT_RPATH_TRUE@libtsan_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libtsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(link_libtsan) $(libtsan_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Work around what appears to be a GNU make bug handling MAKEFLAGS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # values defined in terms of make variables, as is the case for CC and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libsanitizer/ubsan/Makefile.am libsanitizer/ubsan/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 46021d6c8fa..c93926a6078 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libsanitizer/ubsan/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libsanitizer/ubsan/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -35,7 +35,11 @@ if LIBBACKTRACE_SUPPORTED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libubsan_la_LIBADD += $(top_builddir)/libbacktrace/libsanitizer_libbacktrace.la
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libubsan_la_LIBADD += $(LIBSTDCXX_RAW_CXX_LDFLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--libubsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(link_libubsan)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libubsan_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libubsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(link_libubsan) $(libubsan_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Use special rules for files that require RTTI support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ubsan_handlers_cxx.% ubsan_type_hash.% ubsan_type_hash_itanium.% : AM_CXXFLAGS += -frtti
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libsanitizer/ubsan/Makefile.in libsanitizer/ubsan/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 654cb648540..3a94c187b69 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libsanitizer/ubsan/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libsanitizer/ubsan/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -396,7 +396,10 @@ libubsan_la_SOURCES = $(ubsan_files)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libubsan_la_LIBADD = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(top_builddir)/sanitizer_common/libsanitizer_common.la \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(am__append_1) $(am__append_2) $(LIBSTDCXX_RAW_CXX_LDFLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--libubsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(link_libubsan)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@ENABLE_DARWIN_AT_RPATH_TRUE@libubsan_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libubsan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(link_libubsan) $(libubsan_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Work around what appears to be a GNU make bug handling MAKEFLAGS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # values defined in terms of make variables, as is the case for CC and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libssp/Makefile.am libssp/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 45fee02da4f..e332c9c9245 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libssp/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libssp/Makefile.am
</span><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:#ffe0e0;'>- vsnprintf-chk.c vsprintf-chk.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libssp_la_LIBADD =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libssp_la_DEPENDENCIES = $(version_dep) $(libssp_la_LIBADD)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libssp_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libssp_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- $(version_arg) $(lt_host_flags)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(version_arg) $(lt_host_flags) $(libssp_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libssp_nonshared_la_SOURCES = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ssp-local.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libssp/Makefile.in libssp/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index bc8a0dc2b28..9b6411cc32d 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libssp/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libssp/Makefile.in
</span><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:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libssp_la_LIBADD =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libssp_la_DEPENDENCIES = $(version_dep) $(libssp_la_LIBADD)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@ENABLE_DARWIN_AT_RPATH_TRUE@libssp_darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libssp_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- $(version_arg) $(lt_host_flags)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(version_arg) $(lt_host_flags) $(libssp_darwin_rpath)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libssp_nonshared_la_SOURCES = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ssp-local.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libssp/configure libssp/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index db527f47519..5c02b4945a2 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libssp/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libssp/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -639,6 +639,8 @@ toolexecdir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_static
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_shared
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_host_flags
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -781,6 +783,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_fast_install
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_gnu_ld
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_toolexeclibdir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_gcc_major_version_only
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- '
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1426,6 +1429,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Optional Packages:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9161,6 +9166,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9178,10 +9233,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10998,7 +11062,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 11001 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 11065 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11104,7 +11168,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 11107 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 11171 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11591,6 +11655,10 @@ if test -z "${LIBSSP_USE_SYMVER_SUN_TRUE}" && test -z "${LIBSSP_USE_SYMVER_SUN_F
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"LIBSSP_USE_SYMVER_SUN\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- : "${CONFIG_STATUS=./config.status}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ac_write_fail=0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libstdc++-v3/configure libstdc++-v3/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 766a0a8d504..94bd3590e92 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libstdc++-v3/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libstdc++-v3/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -775,6 +775,8 @@ enable_static
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_shared
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_host_flags
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CXXCPP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -906,6 +908,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_fast_install
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_gnu_ld
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_hosted_libstdcxx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_libstdcxx_verbose
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_libstdcxx_pch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1591,6 +1594,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-hosted-libstdcxx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- only build freestanding C++ runtime support
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-libstdcxx-verbose
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10224,6 +10229,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10241,10 +10296,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12061,7 +12125,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 12064 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 12128 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12167,7 +12231,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 12170 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 12234 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -13049,6 +13113,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc_CXX=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct_CXX=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic_CXX=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -13066,12 +13180,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$lt_cv_apple_cc_single_mod" != "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds_CXX="\$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_dsymutil}"
</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;'>-+ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 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}"
</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;'>-@@ -15859,7 +15986,7 @@ $as_echo "$glibcxx_cv_atomic_long_long" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Fake what AC_TRY_COMPILE does.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext << EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 15862 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 15989 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int main()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- typedef bool atomic_type;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -15894,7 +16021,7 @@ $as_echo "$glibcxx_cv_atomic_bool" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rm -f conftest*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext << EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 15897 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 16024 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int main()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- typedef short atomic_type;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -15929,7 +16056,7 @@ $as_echo "$glibcxx_cv_atomic_short" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rm -f conftest*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext << EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 15932 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 16059 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int main()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // NB: _Atomic_word not necessarily int.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -15965,7 +16092,7 @@ $as_echo "$glibcxx_cv_atomic_int" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rm -f conftest*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext << EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 15968 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 16095 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int main()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- typedef long long atomic_type;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -16118,7 +16245,7 @@ $as_echo "mutex" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # unnecessary for this test.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext << EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 16121 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 16248 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int main()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- _Decimal32 d1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -16160,7 +16287,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # unnecessary for this test.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext << EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 16163 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 16290 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- template<typename T1, typename T2>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- struct same
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { typedef T2 type; };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -16194,7 +16321,7 @@ $as_echo "$enable_int128" >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rm -f conftest*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext << EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 16197 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 16324 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- template<typename T1, typename T2>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- struct same
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { typedef T2 type; };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -77540,6 +77667,14 @@ if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test -z "${GLIBCXX_HOSTED_TRUE}" && test -z "${GLIBCXX_HOSTED_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"GLIBCXX_HOSTED\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libstdc++-v3/src/Makefile.am libstdc++-v3/src/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index a139adc81b3..b0fc1a1afbf 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libstdc++-v3/src/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libstdc++-v3/src/Makefile.am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -104,8 +104,13 @@ libstdc___la_DEPENDENCIES = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(top_builddir)/src/c++11/libc++11convenience.la \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(top_builddir)/src/c++17/libc++17convenience.la
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if ENABLE_DARWIN_AT_RPATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libstdc___darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libstdc___la_LDFLAGS = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- -version-info $(libtool_VERSION) ${version_arg} -lm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -version-info $(libtool_VERSION) ${version_arg} -lm \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(libstdc___darwin_rpath)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libstdc___la_LINK = $(CXXLINK) $(libstdc___la_LDFLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libstdc++-v3/src/Makefile.in libstdc++-v3/src/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index ea37a962a9a..9dfd2f0e3d0 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libstdc++-v3/src/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libstdc++-v3/src/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -513,8 +513,10 @@ libstdc___la_DEPENDENCIES = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(top_builddir)/src/c++11/libc++11convenience.la \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(top_builddir)/src/c++17/libc++17convenience.la
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@ENABLE_DARWIN_AT_RPATH_TRUE@libstdc___darwin_rpath = -Wl,-rpath,@loader_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libstdc___la_LDFLAGS = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- -version-info $(libtool_VERSION) ${version_arg} -lm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -version-info $(libtool_VERSION) ${version_arg} -lm \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(libstdc___darwin_rpath)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libstdc___la_LINK = $(CXXLINK) $(libstdc___la_LDFLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libtool.m4 libtool.m4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 00206549f54..2d247273b0a 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libtool.m4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libtool.m4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1039,6 +1039,47 @@ _LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- m4_defun([_LT_DARWIN_LINKER_FEATURES],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- m4_require([_LT_REQUIRED_DARWIN_CHECKS])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ AC_ARG_ENABLE([darwin-at-rpath],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ AS_HELP_STRING([--enable-darwin-at-path],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [install libraries with @rpath/library-name, requires rpaths to be added to executables]),
</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;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[[45678]]*|UNSET,rhapsody*|10.[[01234]][[,.]]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&AS_MESSAGE_LOG_FD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[[45678]]*|UNSET,rhapsody*|10.[[01234]][[,.]]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[[56789]]*|UNSET,darwin20*|10.1[[123456789]][[,.]]*|11.*[[,.]]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&AS_MESSAGE_LOG_FD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ AM_CONDITIONAL([ENABLE_DARWIN_AT_RPATH], [test "x$enable_darwin_at_rpath" = "xyes"])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- _LT_TAGVAR(hardcode_direct, $1)=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- _LT_TAGVAR(hardcode_automatic, $1)=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1056,13 +1097,26 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&AS_MESSAGE_LOG_FD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&AS_MESSAGE_LOG_FD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- m4_if([$1], [CXX],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- _LT_TAGVAR(archive_cmds, $1)="\$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_dsymutil}"
</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;'>-+ _LT_TAGVAR(archive_cmds, $1)="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ _LT_TAGVAR(archive_cmds, $1)="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- _LT_TAGVAR(archive_expsym_cmds, $1)="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}"
</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;'>-diff --git libvtv/configure libvtv/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 4de60cf5e50..43f8e09b562 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libvtv/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libvtv/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -644,6 +644,8 @@ enable_static
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_shared
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_host_flags
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CXXCPP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -797,6 +799,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_fast_install
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_gnu_ld
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_cet
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_gcc_major_version_only
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- '
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1446,6 +1449,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-cet enable Intel CET in target libraries [default=no]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Optional Packages:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10448,6 +10453,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10465,10 +10520,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12264,7 +12328,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 12267 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 12331 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12370,7 +12434,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 12373 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 12437 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -13246,6 +13310,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc_CXX=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct_CXX=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic_CXX=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -13263,12 +13377,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$lt_cv_apple_cc_single_mod" != "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds_CXX="\$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_dsymutil}"
</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;'>-+ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds_CXX="\$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_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 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}"
</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;'>-@@ -15993,6 +16120,14 @@ if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test -z "${VTV_CYGMIN_TRUE}" && test -z "${VTV_CYGMIN_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"VTV_CYGMIN\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git zlib/configure zlib/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 46a35918ddb..fdd8e89973e 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- zlib/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ zlib/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -640,6 +640,8 @@ TARGET_LIBRARY_TRUE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- toolexeclibdir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- toolexecdir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CPP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_FALSE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ENABLE_DARWIN_AT_RPATH_TRUE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OTOOL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIPO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -774,6 +776,7 @@ with_pic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_fast_install
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_gnu_ld
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_libtool_lock
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+enable_darwin_at_rpath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_toolexeclibdir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_host_shared
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- '
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1416,6 +1419,8 @@ Optional Features:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-fast-install[=PKGS]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- optimize for fast installation [default=yes]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-libtool-lock avoid locking (might break parallel builds)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ --enable-darwin-at-path install libraries with @rpath/library-name, requires
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ rpaths to be added to executables
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-host-shared build host code as shared libraries
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Optional Packages:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -8817,6 +8822,56 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin* | rhapsody*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Publish an arg to allow the user to select that Darwin host (and target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # libraries should be given install-names like @rpath/libfoo.dylib. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # requires that the user of the library then adds an 'rpath' to the DSO that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # needs access.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: there are defaults below, for systems that support rpaths. The person
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # configuring can override the defaults for any system version that supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # them - they are, however, forced off for system versions without support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Check whether --enable-darwin-at-rpath was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${enable_darwin_at_rpath+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enableval=$enable_darwin_at_rpath; if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This is not supported before macOS 10.5 / Darwin9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "WARNING: Darwin @rpath library names are incompatible with macOS versions earlier than 10.5 (rpaths disabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${MACOSX_DEPLOYMENT_TARGET-UNSET},$host_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # As above, before 10.5 / Darwin9 this does not work.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin[45678]*|UNSET,rhapsody*|10.[01234][,.]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We cannot build and test reliably on macOS 10.11+ (Darwin15+) without use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # of rpaths, since runpaths set via DYLD_LIBRARY_PATH are elided by key
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system executables (e.g. /bin/sh). Force rpaths on for these systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSET,darwin1[56789]*|UNSET,darwin20*|10.1[123456789][,.]*|11.*[,.]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "@rpath library names are needed on macOS versions later than 10.11 (rpaths enabled)" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # NOTE: we are not (yet) doing anything for 10.5 .. 10.10, since they can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # work with either DYLD_LIBRARY_PATH or embedded rpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "x$enable_darwin_at_rpath" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_TRUE='#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ENABLE_DARWIN_AT_RPATH_FALSE=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- archive_cmds_need_lc=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_direct=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hardcode_automatic=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -8834,10 +8889,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$_lt_dar_can_shared" = "yes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_verbose_link_cmd=func_echo_all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>-+ echo "using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name @rpath/\$soname \$verstring ${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "NOT using Darwin @rpath" 1>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
</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;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ld_shlibs=no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10654,7 +10718,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 10657 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 10721 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10760,7 +10824,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 10763 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 10827 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11627,6 +11691,10 @@ if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test -z "${ENABLE_DARWIN_AT_RPATH_TRUE}" && test -z "${ENABLE_DARWIN_AT_RPATH_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ as_fn_error $? "conditional \"ENABLE_DARWIN_AT_RPATH\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test -z "${TARGET_LIBRARY_TRUE}" && test -z "${TARGET_LIBRARY_FALSE}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- as_fn_error $? "conditional \"TARGET_LIBRARY\" was never defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usually this means the macro was only invoked conditionally." "$LINENO" 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 541ac5f5f65ffe7acd53a108f6f08097973c98e5 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Mon, 29 Mar 2021 08:53:09 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 05/68] Darwin, Ada : Add loader path as a default rpath.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/ada/gcc-interface/Makefile.in | 2 ++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 2 insertions(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/ada/gcc-interface/Makefile.in gcc/ada/gcc-interface/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 3342e33b4b1..c4622ed542e 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/ada/gcc-interface/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/ada/gcc-interface/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -780,6 +780,7 @@ gnatlib-shared-darwin:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(SO_OPTS) \
</span><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:#ffe0e0;'>-+ -Wl,-rpath,@loader_path \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(MISCLIB)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -dynamiclib $(PICFLAG_FOR_TARGET) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -787,6 +788,7 @@ gnatlib-shared-darwin:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(GNATRTL_TASKING_OBJS) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(SO_OPTS) \
</span><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;'>-+ -Wl,-rpath,@loader_path \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(THREADSLIB) -Wl,libgnat$(hyphen)$(LIBRARY_VERSION)$(soext)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cd $(RTSDIR); $(LN_S) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgnat$(soext)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 0b8867f9640eb79c92ccfb7cd677dd5096d12026 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sat, 10 Apr 2021 14:10:45 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 06/68] configure, Darwin : Adjust RPATH_ENVVAR for embedded
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- run-paths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Darwin versions later than Darwin14 cannot use DYLD_LIBRARY_PATH to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-provide the run-path for stage 1 target and stage 2+ configure, since
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-system tools like /bin/sh remove the environment variable. If we want
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-to access this info we will have to do so explicitly; so provide a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-separate (non DYLD_) environment variable for this. We default to an
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-embedded run-path for these OS versions.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Embedded run-paths are optional (but recommended) on Darwin9 to 14.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure | 16 +++++++++++++++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.ac | 16 +++++++++++++++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 30 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git configure configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 750bc3f9967..a9b41249686 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -7218,7 +7218,21 @@ rm -f conftest*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Decide which environment variable is used to find dynamic libraries.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case "${host}" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- *-*-darwin*) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-*-darwin[45678]*) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-*-darwin*)
</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;'>-+ RPATH_ENVVAR=DYLD_LIBRARY_PATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Darwin versions later than Darwin14 cannot use DYLD_LIBRARY_PATH to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # provide the run-path for stage 1 target and stage 2+ configure, since
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system tools like /bin/sh remove the environment variable. If we want
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # to access this info we will have to do so explicitly; so provide a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # separate (non DYLD_) environment variable for this. We default to an
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # embedded run-path for these OS versions.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Embedded run-paths are optional (but recommended) on Darwin9 to 14.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ RPATH_ENVVAR=GCC_HOST_LIBRARY_PATH
</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;'>- *-*-mingw* | *-*-cygwin ) RPATH_ENVVAR=PATH ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git configure.ac configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 1ca98001081..38b61964f0f 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2720,7 +2720,21 @@ rm -f conftest*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Decide which environment variable is used to find dynamic libraries.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case "${host}" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- *-*-darwin*) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-*-darwin[[45678]]*) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-*-darwin*)
</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;'>-+ RPATH_ENVVAR=DYLD_LIBRARY_PATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Darwin versions later than Darwin14 cannot use DYLD_LIBRARY_PATH to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # provide the run-path for stage 1 target and stage 2+ configure, since
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # system tools like /bin/sh remove the environment variable. If we want
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # to access this info we will have to do so explicitly; so provide a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # separate (non DYLD_) environment variable for this. We default to an
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # embedded run-path for these OS versions.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Embedded run-paths are optional (but recommended) on Darwin9 to 14.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ RPATH_ENVVAR=GCC_HOST_LIBRARY_PATH
</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;'>- *-*-mingw* | *-*-cygwin ) RPATH_ENVVAR=PATH ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 04daaf6bbdf630f19344667482ba6a01b1cdd570 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Fri, 9 Apr 2021 13:40:11 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 07/68] libiberty, Darwin : Fix simple-object LTO table for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cross-endian case.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-We encapsulate streamed IR in three special sections with a table
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-that describes their entries. The table is expected to be written
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-with native endianness for the target, but for cross-endian cross-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compilation the swapping was omitted. Fixed thus.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-libiberty/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * simple-object-mach-o.c (simple_object_mach_o_write_segment):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Arrange to swap the LTO index tables where needed.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libiberty/simple-object-mach-o.c | 5 +++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 5 insertions(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libiberty/simple-object-mach-o.c libiberty/simple-object-mach-o.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 14f53428643..bae7cb63ffe 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libiberty/simple-object-mach-o.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libiberty/simple-object-mach-o.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1225,6 +1225,11 @@ simple_object_mach_o_write_segment (simple_object_write *sobj, int descriptor,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- index[4 * i] -= index[0];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- index[0] = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Swap the indices, if required. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ for (i = 0; i < (nsects_in * 4); ++i)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ set_32 (&index[i], index[i]);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sechdr_offset += sechdrsize;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Write out the section names.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 4241230a0d9864dd2810e5940dd82829bfa4fee3 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Mon, 17 Jun 2019 12:59:29 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 08/68] Darwin: Rework handling for unwinder code in libgcc_s
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- and specs [PR80556].
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This addresses a long-standing problem where a work-around for an unwinder
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-issue (also a regression) regresses other functionality. The patch replaces
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-the work-arounds.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-TL;DR:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * we provide a bumped libgcc_s.1.1 that contains the routines that were
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- previously exported via symbols in libgcc_ext
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * we always use the builtins from the [new] compiler's libgcc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This allows us to clean up a bunch of stuff and back out of the various work-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-arounds. (With 20:20 hindsight, we should have done this in the first place
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-but the libgcc_ext solution, described below, appeared less invasive at the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-time).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-====
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-MacOS system configurations are considered immutable by end-users - there is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-no general equivalent of "apt-getting" additions to the system components,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-instead updates come from Apple, at least, until an OS version is out of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-support. Additions typically come from one of the macOS OSS 'distributions'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(e.g. macports, homebrew, fink).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-OSS distributions install alongside the system rather than into it - and policy
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(for at least the major distributions) is that they do not modify the Apple-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-provided one. As far as the Darwin maintainers of GCC are concerned, this is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-the only realistically supportable policy here too.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The issue here concerns the shared libgcc which not only provides the compiler
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-built-ins but also support for emulated TLS and the language-neutral parts of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-the unwinder.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-On macOS, there is no user-space equivalent of a completely "static" executable
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-they are all launched via the dynamic loader (dyld) and use the shared libc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(libSystem) which is only available as a dynamic library. Nevertheless, the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-static linker can use convenience libraries - so that (other than libSystem) an
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-executable can be statically-linked.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Until 10.3.9, there was no shared libgcc (or libstdc++) and all exceptions-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-handling code was added from convenience libraries by the static linker.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Between 10.3.9 and 10.5.8, there is a shared libgcc_s, which provides the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-unwinder and is based on gcc-4.2.1. This is /usr/lib/libgcc_s.1.dylib.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 10.6 onwards the unwinder is provided (via libSystem) by libunwind which
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-is part of the LLVM project. However, for backwards compatibility, there is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-a symlink /usr/lib/libgcc_s.1.dylib => /usr/lib/libSystem.B.dylib. Note, that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-this link has (currently) been removed from macOS 11 systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-We want to be able to install a new version of GCC alongside existing system
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compilers, but policy dictates that we are not able to overwrite or replace
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-the system unwinder with the one in the new libgcc_s (it would be essentially
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-unworkable on any system after 10.6 anyway).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-On Darwin systems /path1/to/library.dylib and /path2/to/library.dylib are
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-considered to be different libraries (so-called, two-level library namespace).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Darwin can also provide 'stub' libraries that simply re-export a sub-set of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-the symbols from another library.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-These two points allowed us to use two stub libraries; one containing the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-symbols from the original /usr/lib/libgcc_s.1.dylib and one containing new
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-symbols from /path/to/compiler/install/lib/libgcc_s.1.dylib. Since the two
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-libraries are distinct by the two-level namespace rules, there was no need to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-alter the library build (a complete set of builtins and unwinder components are
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-still present in the /path/to/compiler/install/lib/libgcc_s.1.dylib).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The system SDKs provide the stub libraries that export the symbols present in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-/usr/lib/libgcc_s.1.dylib; we added a 'libgcc_ext' stub (describing the new
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-symbols available with the updated GCC).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-NOTE (important) that this means that code referring to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-/path/to/compiler/install/lib/libgcc_s.1.dylib via libgcc_ext
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-will not reference any unwinder symbols in that lib [even though they were
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-present in the built libraries, they were not exposed via the stub].
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Unfortunately the system SDKs do not provide a libgcc_s.10.X for 10.6+ and we
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-are not able to add our own (since SDKs are considered part of the immutable
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-content). Since the systems *do* provide /usr/lib/libgcc_s.1.dylib as a link
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-to libSystem and /usr/lib is a necessary path for library searches, this
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-conflicts with any -lgcc_s.1 we add.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-A series of workarounds have been used to try and resolve this, but none are
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-completely satisfactory; hence this patch.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-=== dynamic objects
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This change removes all the stubs machinery and workarounds and:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * bumps the SO version for Darwin's libgcc_s => 1.1 avoiding the conflict.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * the new version does not contain an unwinder, so it can be symlinked as
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc_s.1 [in the compiler install path] and be backward-compatible with
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- the symbols exported by libgcc_ext (per NOTE above).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * builtins will be resolved from the new libgcc_s. Previously, we have
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- used the versions exported from /usr/lib/libgcc_s.1.dylib or libSystem
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- where these are present, and from the compiler version where not. This is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- no longer satisfactory, we need to use the versions from the compiler's
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- build to pick up bug fixes (part of this regression is caused by a buggy
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- conversion routine, now fixed in libgcc). This makes sense as a general
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- policy anyway - the builtins belong to the compiler, not the system (this
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- same policy is already used for other system compilers).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-=== static linking (noting that user-space executables are always dynamic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- but the static linker can use convenience libraries for runtimes etc.).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-For macOS 10.6+ (Darwin10+), we do not provide an (automatic) ability to link
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-an unwinder statically - this is because there is no system-provided unwinder
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-convenience library - and any version we added would conflict with the dynamic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-one in libSystem. An end-user can always add -lgcc_eh to override that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-decision (but that is not recommended).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-For 10.6+ and a "-static-libgcc", we need to provide an implementation of the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-emulated TLS routines - and we need to provide it in a non-conflicting manner.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This is resolved by linking a weak version of the routines in this case. Thus
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-such an executable can be operated together with a dynamically linked library
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-that refers to the version in /..../libgcc_s.1.1.dylib, because the version in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-that is non-weak it will override the one in the exe. If there is no non-weak
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-version then a weak version will be selected by the dynamic loaded (dyld).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-For macOS versions before 10.6, we provide the same pattern as for other GCC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-installs (libgcc.a libgcc_eh.a) and these have their usual content. Of course,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-it is the user's responsibility to avoid conflicts in that case (i.e ensure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-that all or none of the libraries are statically linked; noting that libSystem
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-is fine here since it does not contain the unwinder in these OS revisions).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-One final note:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-We are not able to add a symlink libgcc_s.1.dylib => libgcc_s.1.1.dylib [in the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler's install lib dir] at build time, since that breaks testing (because
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-of the way in which DYLD_LIBRARY_PATH works, ignoring the two-level names).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This needs fixing too but is outside the scope of the current patch.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-A distribution that wishes to have multiple GCC versions installed in the same
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-paths should, post-install, replace any existing older libgcc_s.1.dylib with a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-symlink to the new libgcc_s.1.1.dylib .
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PR target/80556
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/darwin.c (darwin_rename_builtins): Remove workaround.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/darwin.h (LINK_GCC_C_SEQUENCE_SPEC): Provide __eprintf via
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc for macOS <= 10.4. (REAL_LIBGCC_SPEC): Adjust for the revised
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- library naming.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/i386/darwin.h (REAL_LIBGCC_SPEC): Remove workaround.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/i386/darwin32-biarch.h (REAL_LIBGCC_SPEC): Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/i386/darwin64-biarch.h (REAL_LIBGCC_SPEC): Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-libgcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PR target/80556
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config.host: Adjust target fragments to omit the unwinder from
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Darwin libgcc builds. Add a weak emutls crt.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/i386/t-darwin: Add X86-specific libgcc symbols.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/t-darwin: Build a crat containing weak definitions for the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- emuTLS routines.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/t-slibgcc-darwin: Bump SO version, remove all the handling
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- for stub libraries.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * emutls.c (EMUTLS_ATTR): New.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (__emutls_get_address): Allow a target to add a weak
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- attribute if provided.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (__emutls_register_common): Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/i386/libgcc-darwin.10.4.ver: Removed.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/i386/libgcc-darwin.10.5.ver: Removed.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/libgcc-libsystem.ver: Removed.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/rs6000/libgcc-darwin.10.4.ver: Removed.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/rs6000/libgcc-darwin.10.5.ver: Removed.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/i386/libgcc-darwin.ver: New file.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/t-darwin-noeh: New file.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/testsuite/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PR target/80556
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * gcc.dg/torture/fp-int-convert-timode-3.c: Revert XFAIL.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * gcc.dg/torture/fp-int-convert-timode-4.c: Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/darwin-driver.c | 13 ++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/darwin.c | 24 ----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/darwin.h | 98 ++++++++++------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/darwin.opt | 4 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/i386/darwin.h | 27 -----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/i386/darwin32-biarch.h | 26 -----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/i386/darwin64-biarch.h | 26 -----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .../gcc.dg/torture/fp-int-convert-timode-3.c | 1 -
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .../gcc.dg/torture/fp-int-convert-timode-4.c | 1 -
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config.host | 12 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/i386/darwin-lib.h | 3 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/i386/libgcc-darwin.10.4.ver | 98 ----------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/i386/libgcc-darwin.10.5.ver | 102 -----------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/i386/libgcc-darwin.ver | 2 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/i386/t-darwin | 2 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/libgcc-libsystem.ver | 1 -
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/rs6000/libgcc-darwin.10.4.ver | 93 ---------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/rs6000/libgcc-darwin.10.5.ver | 106 ------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/t-darwin | 12 ++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/t-darwin-noeh | 4 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/t-slibgcc-darwin | 72 +++---------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/emutls.c | 12 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 22 files changed, 137 insertions(+), 602 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- delete mode 100644 libgcc/config/i386/libgcc-darwin.10.4.ver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- delete mode 100644 libgcc/config/i386/libgcc-darwin.10.5.ver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- create mode 100644 libgcc/config/i386/libgcc-darwin.ver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- delete mode 100644 libgcc/config/libgcc-libsystem.ver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- delete mode 100644 libgcc/config/rs6000/libgcc-darwin.10.4.ver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- delete mode 100644 libgcc/config/rs6000/libgcc-darwin.10.5.ver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- create mode 100644 libgcc/config/t-darwin-noeh
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/darwin-driver.c gcc/config/darwin-driver.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 4698a845da5..6ceccba1e98 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/darwin-driver.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/darwin-driver.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -285,6 +285,7 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- bool seen_version_min = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- bool seen_sysroot_p = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- bool seen_rpath_p = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ bool noexport_p = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- for (i = 1; i < *decoded_options_count; i++)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -375,6 +376,8 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc_checking_assert ((*decoded_options)[i].arg);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (strncmp ((*decoded_options)[i].arg, "-rpath", 6) == 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- seen_rpath_p = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (strncmp ((*decoded_options)[i].arg, "-exported_symbol", 16) == 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ noexport_p = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- default:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -495,13 +498,17 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (seen_rpath_p)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (seen_rpath_p || noexport_p)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ++*decoded_options_count;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *decoded_options = XRESIZEVEC (struct cl_decoded_option,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *decoded_options,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *decoded_options_count);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- generate_option (OPT_nodefaultrpath, NULL, 1, CL_DRIVER,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- &(*decoded_options)[*decoded_options_count - 1]);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (seen_rpath_p)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ generate_option (OPT_nodefaultrpath, NULL, 1, CL_DRIVER,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ &(*decoded_options)[*decoded_options_count - 1]);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (noexport_p)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ generate_option (OPT_nodefaultexport, NULL, 1, CL_DRIVER,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ &(*decoded_options)[*decoded_options_count - 1]);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/darwin.c gcc/config/darwin.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 89513c0d145..f064fbd1588 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/darwin.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/darwin.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3595,30 +3595,6 @@ darwin_fold_builtin (tree fndecl, int n_args, tree *argp,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin_rename_builtins (void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- /* The system ___divdc3 routine in libSystem on darwin10 is not
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- accurate to 1ulp, ours is, so we avoid ever using the system name
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- for this routine and instead install a non-conflicting name that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- is accurate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- When -ffast-math or -funsafe-math-optimizations is given, we can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- use the faster version. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (!flag_unsafe_math_optimizations)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- enum built_in_function dcode
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- = (enum built_in_function)(BUILT_IN_COMPLEX_DIV_MIN
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- + DCmode - MIN_MODE_COMPLEX_FLOAT);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- tree fn = builtin_decl_explicit (dcode);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- /* Fortran and c call TARGET_INIT_BUILTINS and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- TARGET_INIT_LIBFUNCS at different times, so we have to put a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- call into each to ensure that at least one of them is called
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- after build_common_builtin_nodes. A better fix is to add a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- new hook to run after build_common_builtin_nodes runs. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (fn)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- set_user_assembler_name (fn, "___ieee_divdc3");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- fn = builtin_decl_implicit (dcode);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (fn)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- set_user_assembler_name (fn, "___ieee_divdc3");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- bool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/darwin.h gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index fec8dba7f0a..52f4f8abf7d 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -241,6 +241,16 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %(link_ssp) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %:version-compare(>< 10.6 10.7 mmacosx-version-min= -ld10-uwfef.o) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %(link_gcc_c_sequence) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ %{!nodefaultexport:%{dylib|dynamiclib|bundle: \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ %:version-compare(>= 10.11 asm_macosx_version_min= -U) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ %:version-compare(>= 10.11 asm_macosx_version_min= ___emutls_get_address) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ %:version-compare(>= 10.11 asm_macosx_version_min= -exported_symbol) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ %:version-compare(>= 10.11 asm_macosx_version_min= ___emutls_get_address) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ %:version-compare(>= 10.11 asm_macosx_version_min= -U) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ %:version-compare(>= 10.11 asm_macosx_version_min= ___emutls_register_common) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ %:version-compare(>= 10.11 asm_macosx_version_min= -exported_symbol) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ %:version-compare(>= 10.11 asm_macosx_version_min= ___emutls_register_common) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }}}\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %{!nostdlib:%{!r:%{!nostartfiles:%E}}} %{T*} %{F*} "\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DARWIN_PIE_SPEC \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -268,14 +278,11 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Tell collect2 to run dsymutil for us as necessary. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define COLLECT_RUN_DSYMUTIL 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* Fix PR47558 by linking against libSystem ahead of libgcc. See also
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- PR 80556 and the fallout from this. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* We only want one instance of %G, since libSystem (Darwin's -lc) does not
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ depend on libgcc. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef LINK_GCC_C_SEQUENCE_SPEC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define LINK_GCC_C_SEQUENCE_SPEC \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--"%{!static:%{!static-libgcc: \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(>= 10.6 mmacosx-version-min= -lSystem) } } \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %G %{!nolibc:%L}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "%G %{!nolibc:%L} "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* ld64 supports a sysroot, it just has a different name and there's no easy
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- way to check for it at config time. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -382,37 +389,62 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define LIB_SPEC "%{!static:-lSystem}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* Support -mmacosx-version-min by supplying different (stub) libgcc_s.dylib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- libraries to link against, and by not linking against libgcc_s on
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- earlier-than-10.3.9. If we need exceptions, prior to 10.3.9, then we have
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- to link the static eh lib, since there's no shared version on the system.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- Note that by default, except as above, -lgcc_eh is not linked against.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Note that by default, -lgcc_eh is not linked against.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- This is because,in general, we need to unwind through system libraries that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- are linked with the shared unwinder in libunwind (or libgcc_s for 10.4/5).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- The static version of the current libgcc unwinder (which differs from the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- implementation in libunwind.dylib on systems Darwin10 [10.6]+) can be used
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- by specifying -static-libgcc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- If libgcc_eh is linked against, it has to be before -lgcc, because it might
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- need symbols from -lgcc. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ For -static-libgcc: < 10.6, use the unwinder in libgcc_eh (and find
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ the emultls impl. there too).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ For -static-libgcc: >= 10.6, the unwinder *still* comes from libSystem and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ we find the emutls impl from lemutls_w. In either case, the builtins etc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ are linked from -lgcc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ When we have specified shared-libgcc or any case that might require
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ exceptions, we pull the libgcc content (including emulated tls) from
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -lgcc_s.1 in GCC and the unwinder from /usr/lib/libgcc_s.1 for < 10.6 and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ libSystem for >= 10.6 respectively.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Otherwise, we just link the emutls/builtins from convenience libs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ If we need exceptions, prior to 10.3.9, then we have to link the static
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ eh lib, since there's no shared version on the system.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ In all cases, libgcc_s.1 will be installed with the compiler, or any app
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ built using it, so we can link the builtins and emutls shared on all.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ We have to work around that DYLD_XXXX are disabled in macOS 10.11+ which
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ means that any bootstrap trying to use a shared libgcc with a bumped SO-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ name will fail. This means that we do not accept shared libgcc for these
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ versions.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ For -static-libgcc: >= 10.6, the unwinder *still* comes from libSystem and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ we find the emutls impl from lemutls_w. In either case, the builtins etc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ are linked from -lgcc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Otherwise, we just link the shared version of gcc_s.1.1 and pick up
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ exceptions:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * Prior to 10.3.9, then we have to link the static eh lib, since there
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ is no shared version on the system.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * from 10.3.9 to 10.5, from /usr/lib/libgcc_s.1.dylib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * from 10.6 onwards, from libSystem.dylib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ In all cases, libgcc_s.1.1 will be installed with the compiler, or any app
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ built using it, so we can link the builtins and emutls shared on all.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+*/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef REAL_LIBGCC_SPEC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define REAL_LIBGCC_SPEC \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "%{static-libgcc|static: -lgcc_eh -lgcc; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- shared-libgcc|fexceptions|fobjc-exceptions|fgnu-runtime: \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(!> 10.3.9 mmacosx-version-min= -lgcc_eh) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_ext.10.4) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- -lgcc ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- :%:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_ext.10.4) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- -lgcc }"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define REAL_LIBGCC_SPEC \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+"%{static-libgcc|static: \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ %:version-compare(!> 10.6 mmacosx-version-min= -lgcc_eh) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ %:version-compare(>= 10.6 mmacosx-version-min= -lemutls_w) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ shared-libgcc|fexceptions|fobjc-exceptions|fgnu-runtime: \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ %:version-compare(!> 10.11 mmacosx-version-min= -lgcc_s.1.1) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ %:version-compare(>= 10.11 mmacosx-version-min= -lemutls_w) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ %:version-compare(!> 10.3.9 mmacosx-version-min= -lgcc_eh) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ %:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : -lemutls_w \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ } -lgcc "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* We specify crt0.o as -lcrt0.o so that ld will search the library path. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/darwin.opt gcc/config/darwin.opt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 07981053f54..151b7fc3793 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/darwin.opt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/darwin.opt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -236,6 +236,10 @@ nodefaultrpath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Driver RejectNegative
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Do not add a default rpath to executables, modules or dynamic libraries.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+nodefaultexport
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Driver RejectNegative
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Do not add a default symbol exports to modules or dynamic libraries.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- nofixprebinding
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Driver RejectNegative
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (Obsolete after 10.3.9) Set MH_NOPREFIXBINDING, in an executable.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/i386/darwin.h gcc/config/i386/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 5faa1f40089..8458342c099 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/i386/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/i386/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -39,33 +39,6 @@ along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* WORKAROUND pr80556:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- For x86_64 Darwin10 and later, the unwinder is in libunwind (redirected
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- from libSystem). This doesn't use the keymgr (see keymgr.c) and therefore
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- the calls that libgcc makes to obtain the KEYMGR_GCC3_DW2_OBJ_LIST are not
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- updated to include new images, and might not even be valid for a single
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- image.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- Therefore, for 64b exes at least, we must use the libunwind implementation,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- even when static-libgcc is specified. We put libSystem first so that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- unwinder symbols are satisfied from there.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- We default to 64b for single-arch builds, so apply this unconditionally. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#undef REAL_LIBGCC_SPEC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define REAL_LIBGCC_SPEC \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "%{static-libgcc|static: \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(>= 10.6 mmacosx-version-min= -lSystem) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- -lgcc_eh -lgcc; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- shared-libgcc|fexceptions|fgnu-runtime: \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_s.10.4) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- -lgcc ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- :%:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- -lgcc }"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Size of the Obj-C jump buffer. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define OBJC_JBLEN ((TARGET_64BIT) ? ((9 * 2) + 3 + 16) : (18))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/i386/darwin32-biarch.h gcc/config/i386/darwin32-biarch.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 2a9070960e7..6e0bbf18ce9 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/i386/darwin32-biarch.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/i386/darwin32-biarch.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -21,32 +21,6 @@ along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef DARWIN_ARCH_SPEC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define DARWIN_ARCH_SPEC "%{m64:x86_64;:i386}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* WORKAROUND pr80556:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- For x86_64 Darwin10 and later, the unwinder is in libunwind (redirected
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- from libSystem). This doesn't use the keymgr (see keymgr.c) and therefore
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- the calls that libgcc makes to obtain the KEYMGR_GCC3_DW2_OBJ_LIST are not
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- updated to include new images, and might not even be valid for a single
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- image.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- Therefore, for 64b exes at least, we must use the libunwind implementation,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- even when static-libgcc is specified. We put libSystem first so that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- unwinder symbols are satisfied from there. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#undef REAL_LIBGCC_SPEC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define REAL_LIBGCC_SPEC \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "%{static-libgcc|static: \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %{m64:%:version-compare(>= 10.6 mmacosx-version-min= -lSystem)} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- -lgcc_eh -lgcc; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- shared-libgcc|fexceptions|fgnu-runtime: \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_s.10.4) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- -lgcc ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- :%:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- -lgcc }"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef DARWIN_SUBARCH_SPEC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define DARWIN_SUBARCH_SPEC DARWIN_ARCH_SPEC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/i386/darwin64-biarch.h gcc/config/i386/darwin64-biarch.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index f20fa83c9b0..b2ca708075b 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/i386/darwin64-biarch.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/i386/darwin64-biarch.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -22,32 +22,6 @@ along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef DARWIN_ARCH_SPEC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define DARWIN_ARCH_SPEC "%{m32:i386;:x86_64}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* WORKAROUND pr80556:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- For x86_64 Darwin10 and later, the unwinder is in libunwind (redirected
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- from libSystem). This doesn't use the keymgr (see keymgr.c) and therefore
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- the calls that libgcc makes to obtain the KEYMGR_GCC3_DW2_OBJ_LIST are not
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- updated to include new images, and might not even be valid for a single
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- image.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- Therefore, for 64b exes at least, we must use the libunwind implementation,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- even when static-libgcc is specified. We put libSystem first so that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- unwinder symbols are satisfied from there. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#undef REAL_LIBGCC_SPEC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define REAL_LIBGCC_SPEC \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "%{static-libgcc|static: \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %{!m32:%:version-compare(>= 10.6 mmacosx-version-min= -lSystem)} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- -lgcc_eh -lgcc; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- shared-libgcc|fexceptions|fgnu-runtime: \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_s.10.4) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- -lgcc ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- :%:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- -lgcc }"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef DARWIN_SUBARCH_SPEC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define DARWIN_SUBARCH_SPEC DARWIN_ARCH_SPEC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.dg/torture/fp-int-convert-timode-3.c gcc/testsuite/gcc.dg/torture/fp-int-convert-timode-3.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 10702302bf8..707d539335f 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.dg/torture/fp-int-convert-timode-3.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.dg/torture/fp-int-convert-timode-3.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -4,7 +4,6 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-require-effective-target int128 } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-require-effective-target fenv } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-options "-frounding-math" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-xfail-run-if "see PR80556 c63" { x86_64-*-darwin* i68?-*-darwin* } { "*" } { "" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <fenv.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <stdlib.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.dg/torture/fp-int-convert-timode-4.c gcc/testsuite/gcc.dg/torture/fp-int-convert-timode-4.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 3facf32fb8b..09600f90903 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.dg/torture/fp-int-convert-timode-4.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.dg/torture/fp-int-convert-timode-4.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -4,7 +4,6 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-require-effective-target int128 } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-require-effective-target fenv } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-options "-frounding-math" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-xfail-run-if "see PR80556 c63" { x86_64-*-darwin* i68?-*-darwin* } { "*" } { "" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <fenv.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <stdlib.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config.host libgcc/config.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index a1bdc29b5de..9e77b4995a9 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -217,8 +217,10 @@ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case ${host} in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *-*-darwin*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- asm_hidden_op=.private_extern
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- tmake_file="$tmake_file t-darwin ${cpu_type}/t-darwin "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- tmake_file="$tmake_file t-libgcc-pic t-slibgcc-darwin "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tmake_file="$tmake_file t-darwin ${cpu_type}/t-darwin t-libgcc-pic"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # The unwinder is provided by the system shared libraries, do not add one
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # to the shared libgcc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tmake_file="$tmake_file t-darwin-noeh t-slibgcc-darwin"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # We are not using libtool to build the libs here, so we need to replicate
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # a little of the logic around setting Darwin rpaths. Setting an explicit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # yes or no is honoured, otherwise we choose a suitable default.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -238,7 +240,7 @@ case ${host} in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "enable_darwin_at_rpath is '$enable_darwin_at_rpath'" 1>&2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- extra_parts="crt3.o d10-uwfef.o crttms.o crttme.o"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ extra_parts="crt3.o d10-uwfef.o crttms.o crttme.o libemutls_w.a"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *-*-dragonfly*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -706,12 +708,12 @@ hppa*-*-netbsd*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- i[34567]86-*-darwin*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tmake_file="$tmake_file i386/t-crtpc t-crtfm i386/t-msabi"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- tm_file="$tm_file i386/darwin-lib.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tm_file="$tm_file "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- x86_64-*-darwin*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tmake_file="$tmake_file i386/t-crtpc t-crtfm i386/t-msabi"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- tm_file="$tm_file i386/darwin-lib.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tm_file="$tm_file "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- i[34567]86-*-elfiamcu)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/i386/darwin-lib.h libgcc/config/i386/darwin-lib.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 68616136a9e..186e99fb522 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config/i386/darwin-lib.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config/i386/darwin-lib.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -22,6 +22,7 @@ a copy of the GCC Runtime Library Exception along with this program;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- <http://www.gnu.org/licenses/>. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* The system ___divdc3 routine in libSystem on darwin10 is not
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- accurate to 1ulp, ours is, so we avoid ever using the system name
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- for this routine and instead install a non-conflicting name that is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -30,3 +31,5 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define DECLARE_LIBRARY_RENAMES \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- asm(".text; ___divdc3: jmp ___ieee_divdc3 ; .globl ___divdc3");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+extern void * _darwin10_Unwind_FindEnclosingFunction (void *);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/i386/libgcc-darwin.10.4.ver libgcc/config/i386/libgcc-darwin.10.4.ver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-deleted file mode 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 8b289f3bf80..00000000000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config/i386/libgcc-darwin.10.4.ver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,98 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# Copyright (C) 2005-2020 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# This file is part of GCC.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# GCC is free software; you can redistribute it and/or modify
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# it under the terms of the GNU General Public License as published by
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# the Free Software Foundation; either version 3, or (at your option)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# any later version.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# GCC is distributed in the hope that it will be useful,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# but WITHOUT ANY WARRANTY; without even the implied warranty of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# GNU General Public License for more details.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# You should have received a copy of the GNU General Public License
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# <http://www.gnu.org/licenses/>.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_Backtrace
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_DeleteException
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_FindEnclosingFunction
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_Find_FDE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_ForcedUnwind
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_GetCFA
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_GetDataRelBase
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_GetGR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_GetIP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_GetLanguageSpecificData
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_GetRegionStart
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_GetTextRelBase
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_RaiseException
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_Resume
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_Resume_or_Rethrow
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_SetGR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_SetIP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___absvdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___absvsi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___addvdi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___addvsi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___ashldi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___ashrdi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___clear_cache
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___clzdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___clzsi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___cmpdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___ctzdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___ctzsi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___deregister_frame
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___deregister_frame_info
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___deregister_frame_info_bases
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___divdc3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___divdi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___divsc3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___divxc3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___enable_execute_stack
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___ffsdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixdfdi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixsfdi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixunsdfdi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixunsdfsi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixunssfdi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixunssfsi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixunsxfdi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixunsxfsi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixxfdi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___floatdidf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___floatdisf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___floatdixf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___gcc_personality_v0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___lshrdi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___moddi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___muldc3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___muldi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___mulsc3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___mulvdi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___mulvsi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___mulxc3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___negdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___negvdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___negvsi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___paritydi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___paritysi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___popcountdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___popcountsi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___powidf2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___powisf2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___powixf2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___register_frame
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___register_frame_info
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___register_frame_info_bases
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___register_frame_info_table
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___register_frame_info_table_bases
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___register_frame_table
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___subvdi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___subvsi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___ucmpdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___udivdi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___udivmoddi4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___umoddi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/i386/libgcc-darwin.10.5.ver libgcc/config/i386/libgcc-darwin.10.5.ver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-deleted file mode 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index c848487b4f1..00000000000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config/i386/libgcc-darwin.10.5.ver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,102 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# Copyright (C) 2005-2020 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# This file is part of GCC.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# GCC is free software; you can redistribute it and/or modify
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# it under the terms of the GNU General Public License as published by
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# the Free Software Foundation; either version 3, or (at your option)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# any later version.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# GCC is distributed in the hope that it will be useful,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# but WITHOUT ANY WARRANTY; without even the implied warranty of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# GNU General Public License for more details.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# You should have received a copy of the GNU General Public License
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# <http://www.gnu.org/licenses/>.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_Backtrace
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_DeleteException
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_FindEnclosingFunction
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_Find_FDE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_ForcedUnwind
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_GetCFA
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_GetDataRelBase
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_GetGR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_GetIP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_GetIPInfo
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_GetLanguageSpecificData
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_GetRegionStart
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_GetTextRelBase
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_RaiseException
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_Resume
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_Resume_or_Rethrow
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_SetGR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_SetIP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___absvdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___absvsi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___addvdi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___addvsi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___ashldi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___ashrdi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___clear_cache
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___clzdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___clzsi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___cmpdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___ctzdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___ctzsi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___deregister_frame
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___deregister_frame_info
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___deregister_frame_info_bases
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___divdc3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___divdi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___divsc3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___divxc3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___enable_execute_stack
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___ffsdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixdfdi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixsfdi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixunsdfdi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixunsdfsi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixunssfdi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixunssfsi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixunsxfdi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixunsxfsi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixxfdi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___floatdidf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___floatdisf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___floatdixf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___floatundidf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___floatundisf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___floatundixf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___gcc_personality_v0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___lshrdi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___moddi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___muldc3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___muldi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___mulsc3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___mulvdi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___mulvsi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___mulxc3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___negdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___negvdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___negvsi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___paritydi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___paritysi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___popcountdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___popcountsi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___powidf2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___powisf2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___powixf2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___register_frame
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___register_frame_info
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___register_frame_info_bases
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___register_frame_info_table
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___register_frame_info_table_bases
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___register_frame_table
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___subvdi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___subvsi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___ucmpdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___udivdi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___udivmoddi4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___umoddi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/i386/libgcc-darwin.ver libgcc/config/i386/libgcc-darwin.ver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-new file mode 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 00000000000..9a6d26597f0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config/i386/libgcc-darwin.ver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,2 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__cpu_model
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__cpu_indicator_init
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/i386/t-darwin libgcc/config/i386/t-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 5f2c69725d0..64eea1cd5f9 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config/i386/t-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config/i386/t-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,3 +1,5 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIB2_SIDITI_CONV_FUNCS = yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIB2ADD = $(srcdir)/config/darwin-64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIB2FUNCS_EXCLUDE = _fixtfdi _fixunstfdi _floatditf _floatunditf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+SHLIB_MAPFILES += $(srcdir)/config/$(cpu_type)/libgcc-darwin.ver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/libgcc-libsystem.ver libgcc/config/libgcc-libsystem.ver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-deleted file mode 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 47631749dc2..00000000000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config/libgcc-libsystem.ver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--_darwin10_Unwind_FindEnclosingFunction
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/rs6000/libgcc-darwin.10.4.ver libgcc/config/rs6000/libgcc-darwin.10.4.ver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-deleted file mode 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index ac34a845eae..00000000000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config/rs6000/libgcc-darwin.10.4.ver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,93 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# Copyright (C) 2005-2020 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# This file is part of GCC.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# GCC is free software; you can redistribute it and/or modify
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# it under the terms of the GNU General Public License as published by
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# the Free Software Foundation; either version 3, or (at your option)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# any later version.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# GCC is distributed in the hope that it will be useful,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# but WITHOUT ANY WARRANTY; without even the implied warranty of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# GNU General Public License for more details.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# You should have received a copy of the GNU General Public License
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# <http://www.gnu.org/licenses/>.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_Backtrace
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_DeleteException
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_FindEnclosingFunction
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_Find_FDE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_ForcedUnwind
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_GetCFA
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_GetDataRelBase
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_GetGR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_GetIP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_GetLanguageSpecificData
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_GetRegionStart
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_GetTextRelBase
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_RaiseException
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_Resume
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_Resume_or_Rethrow
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_SetGR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_SetIP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___absvdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___absvsi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___addvdi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___addvsi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___ashldi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___ashrdi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___clear_cache
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___clzdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___clzsi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___cmpdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___ctzdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___ctzsi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___deregister_frame
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___deregister_frame_info
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___deregister_frame_info_bases
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___divdi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___enable_execute_stack
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___ffsdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixdfdi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixsfdi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixtfdi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixunsdfdi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixunsdfsi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixunssfdi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixunssfsi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixunstfdi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___floatdidf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___floatdisf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___floatditf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___gcc_personality_v0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___gcc_qadd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___gcc_qdiv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___gcc_qmul
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___gcc_qsub
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___lshrdi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___moddi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___muldi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___mulvdi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___mulvsi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___negdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___negvdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___negvsi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___paritydi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___paritysi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___popcountdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___popcountsi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___register_frame
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___register_frame_info
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___register_frame_info_bases
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___register_frame_info_table
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___register_frame_info_table_bases
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___register_frame_table
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___subvdi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___subvsi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___trampoline_setup
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___ucmpdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___udivdi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___udivmoddi4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___umoddi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/rs6000/libgcc-darwin.10.5.ver libgcc/config/rs6000/libgcc-darwin.10.5.ver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-deleted file mode 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 7dca6ae8013..00000000000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config/rs6000/libgcc-darwin.10.5.ver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,106 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# Copyright (C) 2005-2020 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# This file is part of GCC.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# GCC is free software; you can redistribute it and/or modify
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# it under the terms of the GNU General Public License as published by
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# the Free Software Foundation; either version 3, or (at your option)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# any later version.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# GCC is distributed in the hope that it will be useful,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# but WITHOUT ANY WARRANTY; without even the implied warranty of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# GNU General Public License for more details.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# You should have received a copy of the GNU General Public License
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# <http://www.gnu.org/licenses/>.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_Backtrace
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_DeleteException
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_FindEnclosingFunction
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_Find_FDE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_ForcedUnwind
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_GetCFA
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_GetDataRelBase
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_GetGR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_GetIP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_GetIPInfo
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_GetLanguageSpecificData
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_GetRegionStart
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_GetTextRelBase
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_RaiseException
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_Resume
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_Resume_or_Rethrow
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_SetGR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__Unwind_SetIP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___absvdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___absvsi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___addvdi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___addvsi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___ashldi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___ashrdi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___clear_cache
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___clzdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___clzsi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___cmpdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___ctzdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___ctzsi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___deregister_frame
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___deregister_frame_info
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___deregister_frame_info_bases
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___divdc3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___divdi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___divsc3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___divtc3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___enable_execute_stack
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___ffsdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixdfdi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixsfdi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixtfdi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixunsdfdi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixunsdfsi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixunssfdi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixunssfsi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___fixunstfdi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___floatdidf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___floatdisf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___floatditf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___floatundidf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___floatundisf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___floatunditf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___gcc_personality_v0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___gcc_qadd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___gcc_qdiv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___gcc_qmul
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___gcc_qsub
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___lshrdi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___moddi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___muldc3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___muldi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___mulsc3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___multc3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___mulvdi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___mulvsi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___negdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___negvdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___negvsi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___paritydi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___paritysi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___popcountdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___popcountsi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___powidf2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___powisf2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___powitf2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___register_frame
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___register_frame_info
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___register_frame_info_bases
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___register_frame_info_table
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___register_frame_info_table_bases
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___register_frame_table
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___subvdi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___subvsi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___trampoline_setup
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___ucmpdi2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___udivdi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___udivmoddi4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--___umoddi3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/t-darwin libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 3b5e3428958..3b348fd2a20 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -15,6 +15,18 @@ crttme.o: $(srcdir)/config/darwin-crt-tm.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/config/unwind-dw2-fde-darwin.c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Make a weak version to use in static lib and as a crt.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+emutls.o: HOST_LIBGCC2_CFLAGS += -DEMUTLS_ATTR='__attribute__((__weak__))'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Make it a convenience lib so that it can be linked optionally.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libemutls_w.a: emutls.o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(AR_CREATE_FOR_TARGET) $@ $<
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(RANLIB_FOR_TARGET) $@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Patch to __Unwind_Find_Enclosing_Function for Darwin10.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- d10-uwfef.o: $(srcdir)/config/darwin10-unwind-find-enc-func.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(crt_compile) -mmacosx-version-min=10.6 -c $<
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Start with an empty list and allow the arch-specific t-darwin files to add in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# any extras, with the main set added by t-slibgcc-darwin.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+SHLIB_MAPFILES =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/t-darwin-noeh libgcc/config/t-darwin-noeh
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-new file mode 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 00000000000..08d9c1affd3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config/t-darwin-noeh
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,4 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Most Darwin versions get their unwinder from libSystem.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# so remove the unwinder from the shared lib.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# We still need it in the _eh.a for Darwin8/9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+LIB2ADDEHSHARED =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/t-slibgcc-darwin libgcc/config/t-slibgcc-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 537944ad6b5..bf55762766c 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config/t-slibgcc-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config/t-slibgcc-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,14 +1,16 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# Build a shared libgcc library with the darwin linker.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--SHLIB_SOVERSION = 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--SHLIB_VERSTRING = -compatibility_version $(SHLIB_SOVERSION) -current_version $(SHLIB_SOVERSION).0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Build a shared libgcc library able to use embedded runpaths.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+SHLIB_SOVERSION = 1.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+SHLIB_SO_MINVERSION = 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+SHLIB_VERSTRING = -compatibility_version $(SHLIB_SO_MINVERSION) -current_version $(SHLIB_SOVERSION)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SHLIB_EXT = .dylib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+SHLIB_LC = -lc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Shorthand expressions for the LINK below.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SHLIB_INSTALL_NAME = @shlib_base_name@.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--SHLIB_SONAME = @shlib_base_name@$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--SHLIB_SOLINK = @shlib_base_name@.so
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SHLIB_MAP = @shlib_map_file@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--SHLIB_OBJS = @shlib_objs@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SHLIB_DIR = @multilib_dir@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--SHLIB_LC = -lc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+SHLIB_SONAME = @shlib_base_name@$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Instead of using @shlib_slibdir@, use @rpath and add a search path to exes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # and dylibs that depend on this.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -23,21 +25,10 @@ SHLIB_LINK = $(CC) $(LIBGCC2_CFLAGS) -dynamiclib -nodefaultlibs \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SHLIB_MKMAP_OPTS = -v leading_underscore=1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--SHLIB_MAPFILES = libgcc-std.ver $(srcdir)/config/libgcc-libsystem.ver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--SHLIB_VERPFX = $(srcdir)/config/$(cpu_type)/libgcc-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# we're only going to build the stubs if the target slib is /usr/lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# there is no other case in which they're useful in a live system.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--ifeq (/usr/lib,$(shlib_slibdir))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--LGCC_STUBS = libgcc_s.10.4.dylib libgcc_s.10.5.dylib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--LGCC_STUBS =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+SHLIB_MAPFILES += libgcc-std.ver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LGCC_FILES = libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--LGCC_FILES += $(LGCC_STUBS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--LEXT_STUBS = libgcc_ext.10.4$(SHLIB_EXT) libgcc_ext.10.5$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--LGCC_FILES += $(LEXT_STUBS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- INSTALL_FILES=$(LGCC_FILES)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # we do our own thing
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -51,33 +42,6 @@ all: $(INSTALL_FILES)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- install-leaf: install-darwin-libgcc-stubs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# In order to support -mmacosx-version-min, you need to have multiple
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# different libgcc_s libraries that actually get linked against, one for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# each system version supported. They are 'stub' libraries that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# contain no code, just a list of exported symbols.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# The actual use of the libraries is controlled by REAL_LIBGCC_SPEC.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# This assumes each multilib corresponds to a different architecture.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--libgcc_s.%.dylib : all-multi $(SHLIB_VERPFX).%.ver libgcc_s$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- MLIBS=`$(CC) --print-multi-lib | sed -e 's/;.*$$//'` ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- for mlib in $$MLIBS ; do \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- $(STRIP) -o $(@)_T$${mlib} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- -s $(SHLIB_VERPFX).$(*).ver -c -u \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ../$${mlib}/libgcc/$${mlib}/libgcc_s$(SHLIB_EXT) || exit 1 ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- $(LIPO) -output $@ -create $(@)_T*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- rm $(@)_T*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--libgcc_ext.%.dylib : all-multi $(SHLIB_VERPFX).%.ver libgcc_s$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- MLIBS=`$(CC) --print-multi-lib | sed -e 's/;.*$$//'` ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- for mlib in $$MLIBS ; do \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- $(STRIP) -o $(@)_T$${mlib} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- -R $(SHLIB_VERPFX).$(*).ver -c -urx \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ../$${mlib}/libgcc/$${mlib}/libgcc_s$(SHLIB_EXT) || exit 1 ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- $(LIPO) -output $@ -create $(@)_T*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- rm $(@)_T*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT): all-multi libgcc_s$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- MLIBS=`$(CC) --print-multi-lib | sed -e 's/;.*$$//'` ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- for mlib in $$MLIBS ; do \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -88,21 +52,20 @@ libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT): all-multi libgcc_s$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -create libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rm libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Install the shared library.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- install-darwin-libgcc-stubs :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(mkinstalldirs) $(DESTDIR)$(slibdir)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- for d in $(INSTALL_FILES) ; do \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(INSTALL_DATA) $$d $(DESTDIR)$(slibdir)/$$d || exit 1 ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if [ -f $(DESTDIR)$(slibdir)/libgcc_s_ppc64.1.dylib ]; then \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- rm -f $(DESTDIR)$(slibdir)/libgcc_s_ppc64.1.dylib; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- else true; fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# Do not install shared libraries for any other multilibs. Unless
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# we're putting them in the gcc directory during a build, for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# compatibility with the pre-top-level layout. In that case we
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# need symlinks.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Do not install shared libraries for any other multilibs. Unless we are
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# putting them in the gcc directory during a build, for compatibility with
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# the pre-top-level layout. In that case we provide symlinks to the FAT lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# from the sub-directories.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ifeq ($(enable_shared),yes)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- all: install-darwin-libgcc-links
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -114,4 +77,5 @@ install-darwin-libgcc-links:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rm -f $(gcc_objdir)$(MULTISUBDIR)/$$file; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(LN_S) ../$$file $(gcc_objdir)$(MULTISUBDIR)/; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/emutls.c libgcc/emutls.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index f8012f6d8d5..95fbb0d65b5 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/emutls.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/emutls.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -50,8 +50,16 @@ struct __emutls_array
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void **data[];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--void *__emutls_get_address (struct __emutls_object *);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--void __emutls_register_common (struct __emutls_object *, word, word, void *);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* EMUTLS_ATTR is provided to allow targets to build the emulated tls
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ routines as weak functions for inclusion in convenience libraries.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ If there is no definition, fall back to the default. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef EMUTLS_ATTR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# define EMUTLS_ATTR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void *__emutls_get_address (struct __emutls_object *) EMUTLS_ATTR;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void __emutls_register_common (struct __emutls_object *,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ word, word, void *) EMUTLS_ATTR;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef __GTHREADS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef __GTHREAD_MUTEX_INIT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 4c1533a242a8e83986247e02a9cf580db8db339a Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sat, 29 Aug 2020 22:05:30 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 09/68] Darwin : Mark the mod init/term section starts with a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- linker-visible sym.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Some newer assemblers emit section start temp symbols for mod init and term
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-sections if there is no suitable symbol present already.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The temp symbols are linker visible and therefore appear in the symbol tables.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Since the temp symbol number can vary when debug is enabled, that causes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compare-debug fails. The solution is to provide a stable linker-visible
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-symbol.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/darwin.c (finalize_ctors): Add a section-start linker-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- visible symbol.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (finalize_dtors): Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/darwin.c | 37 ++++++++++++++++++++++++++++++++-----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/darwin.h | 3 +++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 35 insertions(+), 5 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/darwin.c gcc/config/darwin.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index f064fbd1588..8d86f5e8398 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/darwin.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/darwin.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -108,6 +108,9 @@ static bool ld_uses_coal_sects = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- each FDE. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static bool ld_needs_eh_markers = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Emit a section-start symbol for mod init and term sections. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+static bool ld_init_term_start_labels = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Section names. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- section * darwin_sections[NUM_DARWIN_SECTIONS];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1843,6 +1846,11 @@ finalize_ctors ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- switch_to_section (darwin_sections[constructor_section]);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Where needed, provide a linker-visible section-start symbol so that we
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ have stable output between debug and non-debug. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (ld_init_term_start_labels)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fputs (MACHOPIC_INDIRECT ? "_Mod.init:\n" : "_CTOR.sect:\n", asm_out_file);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (vec_safe_length (ctors) > 1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ctors->qsort (sort_cdtor_records);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- FOR_EACH_VEC_SAFE_ELT (ctors, i, elt)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1863,6 +1871,11 @@ finalize_dtors ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- switch_to_section (darwin_sections[destructor_section]);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Where needed, provide a linker-visible section-start symbol so that we
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ have stable output between debug and non-debug. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (ld_init_term_start_labels)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fputs (MACHOPIC_INDIRECT ? "_Mod.term:\n" : "_DTOR.sect:\n", asm_out_file);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (vec_safe_length (dtors) > 1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- dtors->qsort (sort_cdtor_records);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- FOR_EACH_VEC_SAFE_ELT (dtors, i, elt)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3215,11 +3228,25 @@ darwin_override_options (void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Earlier versions are not specifically accounted, until required. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- /* Older Darwin ld could not coalesce weak entities without them being
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- placed in special sections. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (darwin_target_linker
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- && (strverscmp (darwin_target_linker, MIN_LD64_NO_COAL_SECTS) < 0))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ld_uses_coal_sects = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Some codegen needs to account for the capabilities of the target
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ linker. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (darwin_target_linker)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Older Darwin ld could not coalesce weak entities without them being
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ placed in special sections. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (strverscmp (darwin_target_linker, MIN_LD64_NO_COAL_SECTS) < 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ld_uses_coal_sects = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Some newer assemblers emit section start temp symbols for mod init
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ and term sections if there is no suitable symbol present already.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ The temp symbols are linker visible and therefore appear in the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ symbol tables. Since the temp symbol number can vary when debug is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enabled, that causes compare-debug fails. The solution is to provide
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ a stable linker-visible symbol. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (strverscmp (darwin_target_linker,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ MIN_LD64_INIT_TERM_START_LABELS) >= 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ld_init_term_start_labels = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* In principle, this should be c-family only. However, we really need to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set sensible defaults for LTO as well, since the section selection stuff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/darwin.h gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 52f4f8abf7d..0826adcf914 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1153,6 +1153,9 @@ extern void darwin_driver_init (unsigned int *,struct cl_decoded_option **);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- needed, and there is no need for the compiler to emit them. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define MIN_LD64_OMIT_STUBS "62.1"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Emit start labels for init and term sections from this version. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define MIN_LD64_INIT_TERM_START_LABELS "136.0"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* If we have no definition for the linker version, pick the minimum version
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- that will bootstrap the compiler. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifndef LD64_VERSION
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 8b62f5c28119ccaf0d30f71d433de3a8b22be9a3 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Mon, 18 Jan 2021 20:07:11 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 10/68] Darwin : Use a reserved name for the exception tables
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sect start.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-We were using "GCC_except_table". Use "_GCC_except_table"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-instead.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/darwin.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/darwin.c gcc/config/darwin.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 8d86f5e8398..91c2f54ca16 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/darwin.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/darwin.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2234,7 +2234,7 @@ darwin_emit_except_table_label (FILE *file)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- char section_start_label[30];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ASM_GENERATE_INTERNAL_LABEL (section_start_label, "GCC_except_table",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ASM_GENERATE_INTERNAL_LABEL (section_start_label, "_GCC_except_table",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- except_table_label_num++);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ASM_OUTPUT_LABEL (file, section_start_label);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 81661c09e136ec2d47b0f267ba263b4b7e60e0e7 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Mon, 16 Sep 2019 15:11:00 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 11/68] CFI-handling : Add a hook to allow target-specific
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Personality and LSDA indirections.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-At present, the output of .cfi_personality and .cfi_lsda assumes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-ELF semantics for indirections. This isn't suitable for all targets
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-and is one blocker to moving Darwin to use .cfi_xxxx.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The patch adds a target hook that allows non-ELF targets to use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-indirections appropriate to their needs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/darwin-protos.h (darwin_make_eh_symbol_indirect): New.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/darwin.c (darwin_make_eh_symbol_indirect): New. Use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Mach-O semantics for personality and ldsa indirections.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/darwin.h (TARGET_ASM_MAKE_EH_SYMBOL_INDIRECT): New.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * doc/tm.texi: Regenerate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * doc/tm.texi.in: Add TARGET_ASM_MAKE_EH_SYMBOL_INDIRECT hook.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * dwarf2out.c (dwarf2out_do_cfi_startproc): If the target defines
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- a hook for indirecting personality and ldsa references, use that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- otherwise default to ELF semantics.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * target.def (make_eh_symbol_indirect): New target hook.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 5d46ec3db21d8c8926f15a634b2d6570536db5f1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/darwin-protos.h | 1 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/darwin.c | 11 +++++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/darwin.h | 3 +++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/doc/tm.texi | 4 ++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/doc/tm.texi.in | 2 ++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/dwarf2out.c | 14 ++++++++++++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/target.def | 10 ++++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 7 files changed, 43 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/darwin-protos.h gcc/config/darwin-protos.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 0829b7ea232..74db4144f91 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/darwin-protos.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/darwin-protos.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -69,6 +69,7 @@ extern void darwin_non_lazy_pcrel (FILE *, rtx);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extern void darwin_emit_unwind_label (FILE *, tree, int, int);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extern void darwin_emit_except_table_label (FILE *);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+extern rtx darwin_make_eh_symbol_indirect (rtx, bool);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extern bool darwin_should_restore_cfa_state (void);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extern void darwin_pragma_ignore (struct cpp_reader *);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/darwin.c gcc/config/darwin.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 91c2f54ca16..511d4897306 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/darwin.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/darwin.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2239,6 +2239,17 @@ darwin_emit_except_table_label (FILE *file)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ASM_OUTPUT_LABEL (file, section_start_label);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+rtx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+darwin_make_eh_symbol_indirect (rtx orig, bool ARG_UNUSED (pubvis))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (DARWIN_PPC == 0 && TARGET_64BIT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return orig;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return gen_rtx_SYMBOL_REF (Pmode,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ machopic_indirection_name (orig,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /*stub_p=*/false));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* The unwinders in earlier Darwin versions are based on an old version
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- of libgcc_s and need current frame address stateto be reset after a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DW_CFA_restore_state recovers the register values. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/darwin.h gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 0826adcf914..e360e771c6d 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -662,6 +662,9 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Emit a label to separate the exception table. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL darwin_emit_except_table_label
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Make an EH (personality or LDSA) symbol indirect as needed. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define TARGET_ASM_MAKE_EH_SYMBOL_INDIRECT darwin_make_eh_symbol_indirect
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Some of Darwin's unwinders need current frame address state to be reset
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- after a DW_CFA_restore_state recovers the register values. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef TARGET_ASM_SHOULD_RESTORE_CFA_STATE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/doc/tm.texi gcc/doc/tm.texi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index fcb7245e95c..7c4613212d5 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/doc/tm.texi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/doc/tm.texi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9545,6 +9545,10 @@ given instruction. This is only used when @code{TARGET_EXCEPT_UNWIND_INFO}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- returns @code{UI_TARGET}.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @end deftypefn
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@deftypefn {Target Hook} rtx TARGET_ASM_MAKE_EH_SYMBOL_INDIRECT (rtx @var{origsymbol}, bool @var{pubvis})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+If necessary, modify personality and LSDA references to handle indirection. The original symbol is in @code{origsymbol} and if @code{pubvis} is true the symbol is visible outside the TU.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@end deftypefn
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @deftypevr {Target Hook} bool TARGET_ASM_UNWIND_EMIT_BEFORE_INSN
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- True if the @code{TARGET_ASM_UNWIND_EMIT} hook should be called before the assembly for @var{insn} has been emitted, false if the hook should be called afterward.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @end deftypevr
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/doc/tm.texi.in gcc/doc/tm.texi.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index c17209daa51..869f16cef1d 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/doc/tm.texi.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/doc/tm.texi.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6452,6 +6452,8 @@ the jump-table.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @hook TARGET_ASM_UNWIND_EMIT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@hook TARGET_ASM_MAKE_EH_SYMBOL_INDIRECT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @hook TARGET_ASM_UNWIND_EMIT_BEFORE_INSN
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @hook TARGET_ASM_SHOULD_RESTORE_CFA_STATE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/dwarf2out.c gcc/dwarf2out.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index d61cadb5208..4e11d7bf3fa 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/dwarf2out.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/dwarf2out.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -991,7 +991,12 @@ dwarf2out_do_cfi_startproc (bool second)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- in the assembler. Further, the assembler can't handle any
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- of the weirder relocation types. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (enc & DW_EH_PE_indirect)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ref = dw2_force_const_mem (ref, true);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (targetm.asm_out.make_eh_symbol_indirect != NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ref = targetm.asm_out.make_eh_symbol_indirect (ref, true);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ref = dw2_force_const_mem (ref, true);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fprintf (asm_out_file, "\t.cfi_personality %#x,", enc);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_addr_const (asm_out_file, ref);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1009,7 +1014,12 @@ dwarf2out_do_cfi_startproc (bool second)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SYMBOL_REF_FLAGS (ref) = SYMBOL_FLAG_LOCAL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (enc & DW_EH_PE_indirect)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ref = dw2_force_const_mem (ref, true);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (targetm.asm_out.make_eh_symbol_indirect != NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ref = targetm.asm_out.make_eh_symbol_indirect (ref, true);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ref = dw2_force_const_mem (ref, true);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fprintf (asm_out_file, "\t.cfi_lsda %#x,", enc);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_addr_const (asm_out_file, ref);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/target.def gcc/target.def
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index f5a6d507e91..c70eb162021 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/target.def
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/target.def
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -185,6 +185,16 @@ DEFHOOK
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void, (rtx personality),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* If necessary, modify personality and LSDA references to handle
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ indirection. This is used when the assembler supports CFI directives. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+DEFHOOK
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+(make_eh_symbol_indirect,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "If necessary, modify personality and LSDA references to handle indirection.\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ The original symbol is in @code{origsymbol} and if @code{pubvis} is true\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ the symbol is visible outside the TU.",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ rtx, (rtx origsymbol, bool pubvis),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Emit any directives required to unwind this instruction. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DEFHOOK
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (unwind_emit,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 9b3e69083be38639d49756ddf1691a96d84d3147 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sat, 25 Aug 2018 13:58:02 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 12/68] configury : Fix LEB128 support for non-GNU assemblers.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The current configuration test for LEB128 support in the assembler is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(a) specific to GNU assemblers and (b) only checks that the directives
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-are accepted, not that they give correct output.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The patch extends the asm test to cover one failure case present in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-assemblers based off an older version of GAS (where a 64 bit value with
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-the MSB set presented to a .uleb128 directive causes a fail).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The test is now generalized such that it does not make use of any
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-specific test for assembler source/version, but checks that the output
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-is as expected. We cater for scanning the object with objdump (either
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-binutils or LLVM) or Darwin otool.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure.ac (check leb128 support): Check that assemblers both
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- accept the LEB128 directives and also give the expected output.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Add a test for uleb128 with the MSB set for a 64 bit value.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure: Regenerated.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 2133e773ab855af036de5f6f29eae30d43f1422b)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/configure | 36 ++++++++++++++++++++----------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/configure.ac | 48 ++++++++++++++++++++++++++----------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 46 insertions(+), 38 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/configure gcc/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 0b9a572bbd2..6dd88792239 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -23997,6 +23997,8 @@ _ACEOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Check if we have .[us]leb128, and support symbol arithmetic with it.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Older versions of GAS and some non-GNU assemblers, have a bugs handling
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# these directives, even when they appear to accept them.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for .sleb128 and .uleb128" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $as_echo_n "checking assembler for .sleb128 and .uleb128... " >&6; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if ${gcc_cv_as_leb128+:} false; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -24014,7 +24016,9 @@ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- L1:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .uleb128 1280
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .sleb128 -1010
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--L2:' > conftest.s
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+L2:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ .uleb128 0x8000000000000000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+' > conftest.s
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if { ac_try='$gcc_cv_as $gcc_cv_as_flags -o conftest.o conftest.s >&5'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (eval $ac_try) 2>&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -24022,22 +24026,22 @@ L2:' > conftest.s
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- test $ac_status = 0; }; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- # GAS versions before 2.11 do not support uleb128,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- # despite appearing to.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- # ??? There exists an elf-specific test that will crash
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- # the assembler. Perhaps it's better to figure out whether
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- # arbitrary sections are supported and try the test.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- as_ver=`$gcc_cv_as --version 2>/dev/null | sed 1q`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if echo "$as_ver" | grep GNU > /dev/null; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- as_vers=`echo $as_ver | sed -n \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*.*\)$,\1,p'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- as_major=`expr "$as_vers" : '\([0-9]*\)'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- as_minor=`expr "$as_vers" : '[0-9]*\.\([0-9]*\)'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if test $as_major -eq 2 && test $as_minor -lt 11
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- else gcc_cv_as_leb128=yes
</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;'>-+if test "x$gcc_cv_objdump" != x; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if $gcc_cv_objdump -s conftest.o 2>/dev/null \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | grep '04800a8e 78808080 80808080 808001' >/dev/null; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_cv_as_leb128=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+elif test "x$gcc_cv_otool" != x; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if $gcc_cv_otool -d conftest.o 2>/dev/null \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | grep '04 80 0a 8e 78 80 80 80 80 80 80 80 80 80 01' >/dev/null; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_cv_as_leb128=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # play safe, assume the assembler is broken.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ :
</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;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "configure: failed program was" >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat conftest.s >&5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/configure.ac gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 38551dabb62..a6445e94e92 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3026,34 +3026,38 @@ AC_MSG_RESULT($gcc_cv_ld_ro_rw_mix)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc_AC_INITFINI_ARRAY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Check if we have .[us]leb128, and support symbol arithmetic with it.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Older versions of GAS and some non-GNU assemblers, have a bugs handling
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# these directives, even when they appear to accept them.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc_GAS_CHECK_FEATURE([.sleb128 and .uleb128], gcc_cv_as_leb128,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [elf,2,11,0],,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [elf,2,11,0],,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [ .data
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .uleb128 L2 - L1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- L1:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .uleb128 1280
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .sleb128 -1010
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--L2:],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--[[# GAS versions before 2.11 do not support uleb128,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- # despite appearing to.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- # ??? There exists an elf-specific test that will crash
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- # the assembler. Perhaps it's better to figure out whether
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- # arbitrary sections are supported and try the test.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- as_ver=`$gcc_cv_as --version 2>/dev/null | sed 1q`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if echo "$as_ver" | grep GNU > /dev/null; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- as_vers=`echo $as_ver | sed -n \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*.*\)$,\1,p'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- as_major=`expr "$as_vers" : '\([0-9]*\)'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- as_minor=`expr "$as_vers" : '[0-9]*\.\([0-9]*\)'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if test $as_major -eq 2 && test $as_minor -lt 11
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- else gcc_cv_as_leb128=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- fi]],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [AC_DEFINE(HAVE_AS_LEB128, 1,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [Define if your assembler supports .sleb128 and .uleb128.])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [AC_DEFINE(HAVE_AS_LEB128, 0,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [Define if your assembler supports .sleb128 and .uleb128.])])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+L2:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ .uleb128 0x8000000000000000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+[[
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "x$gcc_cv_objdump" != x; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if $gcc_cv_objdump -s conftest.o 2>/dev/null \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | grep '04800a8e 78808080 80808080 808001' >/dev/null; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_cv_as_leb128=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+elif test "x$gcc_cv_otool" != x; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if $gcc_cv_otool -d conftest.o 2>/dev/null \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | grep '04 80 0a 8e 78 80 80 80 80 80 80 80 80 80 01' >/dev/null; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_cv_as_leb128=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # play safe, assume the assembler is broken.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ :
</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;'>-+ [AC_DEFINE(HAVE_AS_LEB128, 1,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [Define if your assembler supports .sleb128 and .uleb128.])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [AC_DEFINE(HAVE_AS_LEB128, 0,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [Define if your assembler supports .sleb128 and .uleb128.])])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Determine if an .eh_frame section is read-only.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc_fn_eh_frame_ro () {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 17f2926089206fbfb6d5fd52651b18be1222ee4b Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Wed, 27 Nov 2019 13:58:10 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 13/68] C++ : Add the -stdlib= option.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This option allows the user to specifiy alternate C++ runtime libraries,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-for example when a platform uses libc++ as the installed C++ runtime.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-We introduce the command line option: -stdlib= which is the user-facing
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-mechanism to select the C++ runtime to be used when compiling and linking
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-code. This is the same option spelling as that used by clang to allow the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-use of libstdc++.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The availability (and thus function) of the option are a configure-time
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-choice using the configuration control:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---with-gxx-libcxx-include-dir=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Specification of the path for the libc++ headers, enables the -stdlib=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-option (using the path as given), default values are set when the path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-is unconfigured.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-If --with-gxx-libcxx-include-dir is given together with --with-sysroot=,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-then we test to see if the include path starts with the sysroot and, if so,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-record the sysroot-relative component as the local path. At runtime, we
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-prepend the sysroot that is actually active.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-At link time, we use the C++ runtime in force and (if that is libc++) also
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-append the libc++abi ABI library. As for other cases, if a target sets the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-name pointer for the ABI library to NULL the G++ driver will omit it from
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-the link line.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure.ac: Add gxx-libcxx-include-dir handled
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- in the same way as the regular cxx header directory.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Makefile.in: Regenerated.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config.in: Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * configure: Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * cppdefault.c: Pick up libc++ headers if the option
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- is enabled.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * cppdefault.h (struct default_include): Amend comments
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- to reflect the extended use of the cplusplus field.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * incpath.c (add_standard_paths): Allow for multiple
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- c++ header include path variants.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * doc/invoke.texi: Document the -stdlib= option.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/c-family/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * c.opt: Add -stdlib= option and enumerations for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libstdc++ and libc++.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/cp/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * g++spec.c (LIBCXX, LIBCXX_PROFILE, LIBCXX_STATIC): New.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (LIBCXXABI, LIBCXXABI_PROFILE, LIBCXXABI_STATIC): New.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (enum stdcxxlib_kind): New.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (lang_specific_driver): Allow selection amongst multiple
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- c++ runtime libraries.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 662b9c55cf06d3df6682ef865fb2b685820317a9)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/Makefile.in | 6 ++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/c-family/c.opt | 14 +++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config.in | 6 ++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/configure | 57 ++++++++++++++++++++++++++++++++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/configure.ac | 44 +++++++++++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/cp/g++spec.c | 74 ++++++++++++++++++++++++++++++++++++++++-----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/cppdefault.c | 5 +++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/cppdefault.h | 7 ++++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/doc/invoke.texi | 11 +++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/incpath.c | 6 ++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 10 files changed, 217 insertions(+), 13 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/Makefile.in gcc/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 646db219460..ebba6ae3754 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/Makefile.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -671,6 +671,9 @@ build_tooldir = $(exec_prefix)/$(target_noncanonical)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Directory in which the compiler finds target-independent g++ includes.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc_gxx_include_dir = @gcc_gxx_include_dir@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc_gxx_include_dir_add_sysroot = @gcc_gxx_include_dir_add_sysroot@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Directory in which the compiler finds libc++ includes.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+gcc_gxx_libcxx_include_dir = @gcc_gxx_libcxx_include_dir@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+gcc_gxx_libcxx_include_dir_add_sysroot = @gcc_gxx_libcxx_include_dir_add_sysroot@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Directory to search for site-specific includes.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- local_includedir = $(local_prefix)/include
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- includedir = $(prefix)/include
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1174,6 +1177,7 @@ FLAGS_TO_PASS = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "prefix=$(prefix)" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "local_prefix=$(local_prefix)" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "gxx_include_dir=$(gcc_gxx_include_dir)" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "gxx_libcxx_include_dir=$(gcc_gxx_libcxx_include_dir)" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "build_tooldir=$(build_tooldir)" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "gcc_tooldir=$(gcc_tooldir)" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "bindir=$(bindir)" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2953,6 +2957,8 @@ PREPROCESSOR_DEFINES = \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DGPLUSPLUS_TOOL_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/$(target_noncanonical)\" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DGPLUSPLUS_BACKWARD_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/backward\" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -DGPLUSPLUS_LIBCXX_INCLUDE_DIR=\"$(gcc_gxx_libcxx_include_dir)\" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -DGPLUSPLUS_LIBCXX_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_libcxx_include_dir_add_sysroot) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DLOCAL_INCLUDE_DIR=\"$(local_includedir)\" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DCROSS_INCLUDE_DIR=\"$(CROSS_SYSTEM_HEADER_DIR)\" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/c-family/c.opt gcc/c-family/c.opt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index c49da99d395..cc074e40cee 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/c-family/c.opt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/c-family/c.opt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2223,6 +2223,20 @@ std=iso9899:2018
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- C ObjC Alias(std=c17)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Conform to the ISO 2017 C standard (published in 2018).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+stdlib=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Driver C++ ObjC++ Common Condition(ENABLE_STDLIB_OPTION) Var(flag_stdlib_kind) Joined Enum(stdlib_kind) RejectNegative Init(1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+-stdlib=[libstdc++|libc++] The standard library to be used for C++ headers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+and runtime.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Enum
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Name(stdlib_kind) Type(int)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+EnumValue
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Enum(stdlib_kind) String(libstdc++) Value(1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+EnumValue
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Enum(stdlib_kind) String(libc++) Value(2)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- traditional
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Driver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config.in gcc/config.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 758eff4f709..31672f20b62 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -254,6 +254,12 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define if you want runtime assertions enabled. This is a cheap check. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef ENABLE_RUNTIME_CHECKING
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Define if the -stdlib= option should be enabled. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef USED_FOR_TARGET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef ENABLE_STDLIB_OPTION
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define if you want all operations on trees (the basic data structure of the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- front ends) to be checked for dynamic type safety at runtime. This is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- moderately expensive. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/configure gcc/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 6dd88792239..cb89dd71b77 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -674,6 +674,8 @@ host_xm_defines
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- host_xm_include_list
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- host_xm_file_list
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- host_exeext
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+gcc_gxx_libcxx_include_dir_add_sysroot
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+gcc_gxx_libcxx_include_dir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc_gxx_include_dir_add_sysroot
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc_gxx_include_dir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc_config_arguments
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -937,6 +939,7 @@ with_native_system_header_dir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_build_sysroot
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_sysroot
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_gxx_include_dir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+with_gxx_libcxx_include_dir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_cpp_install_dir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- enable_generated_files_in_srcdir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with_gnu_ld
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1793,6 +1796,8 @@ Optional Packages:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --with-sysroot[=DIR] search for usr/lib, usr/include, et al, within DIR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --with-gxx-include-dir=DIR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- specifies directory to put g++ header files
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ --with-gxx-libcxx-include-dir=DIR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ specifies directory to find libc++ header files
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --with-cpp-install-dir=DIR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- install the user visible C preprocessor in DIR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (relative to PREFIX) as well as PREFIX/bin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3723,6 +3728,52 @@ elif test "${with_sysroot+set}" = set; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</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;'>-+# Configuration for an alternate set of C++ headers.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+gcc_gxx_libcxx_include_dir=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Specify the alternate g++ header file directory
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Check whether --with-gxx-libcxx-include-dir was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "${with_gxx_libcxx_include_dir+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ withval=$with_gxx_libcxx_include_dir; case "${withval}" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+yes) as_fn_error $? "bad value ${withval} given for libc++ include directory" "$LINENO" 5 ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+no) ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+*) gcc_gxx_libcxx_include_dir=$with_gxx_libcxx_include_dir ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# If both --with-sysroot and --with-gxx-libcxx-include-dir are passed, we
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# check to see if the latter starts with the former and, upon success, compute
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# gcc_gxx_libcxx_include_dir as relative to the sysroot.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+gcc_gxx_libcxx_include_dir_add_sysroot=0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test x${gcc_gxx_libcxx_include_dir} != x; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$as_echo "#define ENABLE_STDLIB_OPTION 1" >>confdefs.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $as_echo "#define ENABLE_STDLIB_OPTION 0" >>confdefs.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# ??? This logic must match libstdc++-v3/acinclude.m4:GLIBCXX_EXPORT_INSTALL_INFO.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test x${gcc_gxx_libcxx_include_dir} = x; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test x${enable_version_specific_runtime_libs} = xyes; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_gxx_libcxx_include_dir='${libsubdir}/libc++_include/c++/v1'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ libcxx_incdir='libc++_include/c++/$(version)/v1'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test x$host != x$target; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ libcxx_incdir="$target_alias/$libcxx_incdir"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_gxx_libcxx_include_dir="\$(libsubdir)/\$(libsubdir_to_prefix)$libcxx_incdir"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+elif test "${with_sysroot+set}" = set; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_gxx_libcxx_without_sysroot=`expr "${gcc_gxx_libcxx_include_dir}" : "${with_sysroot}"'\(.*\)'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "${gcc_gxx_libcxx_without_sysroot}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_gxx_libcxx_include_dir="${gcc_gxx_libcxx_without_sysroot}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_gxx_libcxx_include_dir_add_sysroot=1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Check whether --with-cpp_install_dir was given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "${with_cpp_install_dir+set}" = set; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19131,7 +19182,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 19134 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 19185 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19237,7 +19288,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lt_status=$lt_dlunknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat > conftest.$ac_ext <<_LT_EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#line 19240 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#line 19291 "configure"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "confdefs.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_DLFCN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -30649,6 +30700,8 @@ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/configure.ac gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index a6445e94e92..d8aad32f59f 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -228,6 +228,48 @@ elif test "${with_sysroot+set}" = set; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</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;'>-+# Configuration for an alternate set of C++ headers.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+gcc_gxx_libcxx_include_dir=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Specify the alternate g++ header file directory
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+AC_ARG_WITH(gxx-libcxx-include-dir,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+[AS_HELP_STRING([--with-gxx-libcxx-include-dir=DIR],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [specifies directory to find libc++ header files])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+[case "${withval}" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+yes) AC_MSG_ERROR(bad value ${withval} given for libc++ include directory) ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+no) ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+*) gcc_gxx_libcxx_include_dir=$with_gxx_libcxx_include_dir ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+esac])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# If both --with-sysroot and --with-gxx-libcxx-include-dir are passed, we
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# check to see if the latter starts with the former and, upon success, compute
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# gcc_gxx_libcxx_include_dir as relative to the sysroot.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+gcc_gxx_libcxx_include_dir_add_sysroot=0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test x${gcc_gxx_libcxx_include_dir} != x; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ AC_DEFINE(ENABLE_STDLIB_OPTION, 1,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [Define if the -stdlib= option should be enabled.])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ AC_DEFINE(ENABLE_STDLIB_OPTION, 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# ??? This logic must match libstdc++-v3/acinclude.m4:GLIBCXX_EXPORT_INSTALL_INFO.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test x${gcc_gxx_libcxx_include_dir} = x; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test x${enable_version_specific_runtime_libs} = xyes; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_gxx_libcxx_include_dir='${libsubdir}/libc++_include/c++/v1'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ libcxx_incdir='libc++_include/c++/$(version)/v1'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test x$host != x$target; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ libcxx_incdir="$target_alias/$libcxx_incdir"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_gxx_libcxx_include_dir="\$(libsubdir)/\$(libsubdir_to_prefix)$libcxx_incdir"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+elif test "${with_sysroot+set}" = set; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_gxx_libcxx_without_sysroot=`expr "${gcc_gxx_libcxx_include_dir}" : "${with_sysroot}"'\(.*\)'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "${gcc_gxx_libcxx_without_sysroot}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_gxx_libcxx_include_dir="${gcc_gxx_libcxx_without_sysroot}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_gxx_libcxx_include_dir_add_sysroot=1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</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;'>- AC_ARG_WITH(cpp_install_dir,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [AC_HELP_STRING([--with-cpp-install-dir=DIR],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [install the user visible C preprocessor in DIR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6758,6 +6800,8 @@ AC_SUBST(float_h_file)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AC_SUBST(gcc_config_arguments)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AC_SUBST(gcc_gxx_include_dir)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AC_SUBST(gcc_gxx_include_dir_add_sysroot)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+AC_SUBST(gcc_gxx_libcxx_include_dir)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+AC_SUBST(gcc_gxx_libcxx_include_dir_add_sysroot)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AC_SUBST(host_exeext)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AC_SUBST(host_xm_file_list)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AC_SUBST(host_xm_include_list)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/cp/g++spec.c gcc/cp/g++spec.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 0ab63bcd211..32286902b90 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/cp/g++spec.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/cp/g++spec.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -55,6 +55,34 @@ along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define LIBSTDCXX_STATIC NULL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef LIBCXX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define LIBCXX "c++"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef LIBCXX_PROFILE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define LIBCXX_PROFILE LIBCXX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef LIBCXX_STATIC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define LIBCXX_STATIC NULL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef LIBCXXABI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define LIBCXXABI "c++abi"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef LIBCXXABI_PROFILE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define LIBCXXABI_PROFILE LIBCXXABI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef LIBCXXABI_STATIC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define LIBCXXABI_STATIC NULL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* The values used here must match those of the stdlib_kind enumeration
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ in c.opt. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+enum stdcxxlib_kind
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ USE_LIBSTDCXX = 1,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ USE_LIBCXX = 2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+};
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lang_specific_driver (struct cl_decoded_option **in_decoded_options,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- unsigned int *in_decoded_options_count,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -65,13 +93,16 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* If nonzero, the user gave us the `-p' or `-pg' flag. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int saw_profile_flag = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- /* What do with libstdc++:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- -1 means we should not link in libstdc++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- 0 means we should link in libstdc++ if it is needed
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- 1 means libstdc++ is needed and should be linked in.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- 2 means libstdc++ is needed and should be linked statically. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* What action to take for the c++ runtime library:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -1 means we should not link it in.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ 0 means we should link it if it is needed.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ 1 means it is needed and should be linked in.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ 2 means it is needed but should be linked statically. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int library = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Which c++ runtime library to link. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ stdcxxlib_kind which_library = USE_LIBSTDCXX;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* The number of arguments being added to what's in argv, other than
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libraries. We use this to track the number of times we've inserted
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -xc++/-xnone. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -208,6 +239,10 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- args[i] |= SKIPOPT;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case OPT_stdlib_:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ which_library = (stdcxxlib_kind) decoded_options[i].value;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case OPT_SPECIAL_input_file:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int len;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -264,6 +299,13 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Add one for shared_libgcc or extra static library. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- num_args = argc + added + need_math + (library > 0) * 4 + 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* For libc++, on most platforms, the ABI library (usually called libc++abi)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ is provided as a separate DSO, which we must also append.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ However, a platform might have the ability to forward the ABI library
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ from libc++, or combine it in some other way; in that case, LIBCXXABI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ should be set to NULL to signal that it need not be appended. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (which_library == USE_LIBCXX && LIBCXXABI != NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ num_args += 4;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- new_decoded_options = XNEWVEC (struct cl_decoded_option, num_args);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- i = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -343,9 +385,25 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- j++;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- generate_option (OPT_l,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- saw_profile_flag ? LIBSTDCXX_PROFILE : LIBSTDCXX, 1,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- CL_DRIVER, &new_decoded_options[j]);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (which_library == USE_LIBCXX)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ generate_option (OPT_l,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ saw_profile_flag ? LIBCXX_PROFILE : LIBCXX, 1,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ CL_DRIVER, &new_decoded_options[j]);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (LIBCXXABI != NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ j++;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ added_libraries++;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ generate_option (OPT_l,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ saw_profile_flag ? LIBCXXABI_PROFILE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : LIBCXXABI, 1,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ CL_DRIVER, &new_decoded_options[j]);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ generate_option (OPT_l,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ saw_profile_flag ? LIBSTDCXX_PROFILE : LIBSTDCXX, 1,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ CL_DRIVER, &new_decoded_options[j]);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- added_libraries++;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- j++;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Add target-dependent static library, if necessary. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/cppdefault.c gcc/cppdefault.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index af38cc494ea..eb6f94162cd 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/cppdefault.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/cppdefault.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -55,6 +55,11 @@ const struct default_include cpp_include_defaults[]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 },
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef GPLUSPLUS_LIBCXX_INCLUDE_DIR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Pick up libc++ include files, if we have -stdlib=libc++. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { GPLUSPLUS_LIBCXX_INCLUDE_DIR, "G++", 2, 1,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ GPLUSPLUS_LIBCXX_INCLUDE_DIR_ADD_SYSROOT, 0 },
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef GCC_INCLUDE_DIR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* This is the dir for gcc's private headers. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/cppdefault.h gcc/cppdefault.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index a681264f75e..35cf24ec29e 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/cppdefault.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/cppdefault.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -36,7 +36,12 @@ struct default_include
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const char *const fname; /* The name of the directory. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const char *const component; /* The component containing the directory
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (see update_path in prefix.c) */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- const char cplusplus; /* Only look here if we're compiling C++. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ const char cplusplus; /* When this is non-zero, we should only
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ consider this if we're compiling C++.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ When the -stdlib option is configured, this
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ may take values greater than 1 to indicate
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ which C++ standard library should be
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ used. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const char cxx_aware; /* Includes in this directory don't need to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- be wrapped in extern "C" when compiling
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- C++. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/doc/invoke.texi gcc/doc/invoke.texi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index eabeec944e7..1e14365b95a 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/doc/invoke.texi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/doc/invoke.texi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -231,6 +231,7 @@ in the following sections.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -fvisibility-inlines-hidden @gol
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -fvisibility-ms-compat @gol
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -fext-numeric-literals @gol
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+-stdlib=@var{libstdc++,libc++} @gol
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -Wabi-tag -Wcatch-value -Wcatch-value=@var{n} @gol
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -Wno-class-conversion -Wclass-memaccess @gol
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -Wcomma-subscript -Wconditionally-supported @gol
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2954,6 +2955,16 @@ for ISO C++11 onwards (@option{-std=c++11}, ...).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Do not search for header files in the standard directories specific to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- C++, but do still search the other standard directories. (This option
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- is used when building the C++ library.)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@item -stdlib=@var{libstdc++,libc++}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@opindex stdlib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+When G++ is configured to support this option, it allows specification of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+alternate C++ runtime libraries. Two options are available: @var{libstdc++}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+(the default, native C++ runtime for G++) and @var{libc++} which is the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+C++ runtime installed on some operating systems (e.g. Darwin versions from
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Darwin11 onwards). The option switches G++ to use the headers from the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+specified library and to emit @code{-lstdc++} or @code{-lc++} respectively,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+when a C++ runtime is required for linking.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @end table
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- In addition, these warning options have meanings only for C++ programs:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/incpath.c gcc/incpath.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 8a2bda00f80..45f903b78e8 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/incpath.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/incpath.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -137,7 +137,8 @@ add_standard_paths (const char *sysroot, const char *iprefix,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- IPREFIX and search them first. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- for (p = cpp_include_defaults; p->fname; p++)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (!p->cplusplus || cxx_stdinc)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (p->cplusplus == 0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ || (cxx_stdinc && (p->cplusplus == flag_stdlib_kind)))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Should we be translating sysrooted dirs too? Assume
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- that iprefix and sysroot are mutually exclusive, for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -168,7 +169,8 @@ add_standard_paths (const char *sysroot, const char *iprefix,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- for (p = cpp_include_defaults; p->fname; p++)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (!p->cplusplus || cxx_stdinc)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (p->cplusplus == 0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ || (cxx_stdinc && (p->cplusplus == flag_stdlib_kind)))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- char *str;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 407c5893637b102311fe73aabd04bd1761536640 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sun, 3 Jan 2021 12:24:45 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 14/68] Darwin, libgcc : Adjust min version supported for the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OS.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Tools from later versions of the OS deprecate or fail to support
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-earlier OS revisions.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-libgcc/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config.host: Arrange to set min Darwin OS versions from
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- the configured host version.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/i386/t-darwin: Amend to handle configured min OS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- versions.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/t-darwin : Use the configured min OS versions.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/t-darwin-min-1: New.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/t-darwin-min-4: New.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/t-darwin-min-5: New.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/t-darwin-min-8: New.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit a618c9ca6ba25235b23e403ec1b06dac6d760281)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config.host | 22 ++++++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/t-darwin | 10 ++++++----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/t-darwin-min-1 | 3 +++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/t-darwin-min-4 | 3 +++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/t-darwin-min-5 | 3 +++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/t-darwin-min-8 | 3 +++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/t-darwin-rpath | 3 ---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 7 files changed, 40 insertions(+), 7 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- create mode 100644 libgcc/config/t-darwin-min-1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- create mode 100644 libgcc/config/t-darwin-min-4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- create mode 100644 libgcc/config/t-darwin-min-5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- create mode 100644 libgcc/config/t-darwin-min-8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config.host libgcc/config.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 9e77b4995a9..dc80446b7fd 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -235,11 +235,33 @@ case ${host} in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *-darwin*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "but is needed after macOS 10.11 (setting it on)" 1>&2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tmake_file="$tmake_file t-darwin-rpath "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ enable_darwin_at_rpath=yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "enable_darwin_at_rpath is '$enable_darwin_at_rpath'" 1>&2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${host} in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-*-darwin20* | *-*-darwin1[89]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tmake_file="t-darwin-min-8 $tmake_file"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-*-darwin9* | *-*-darwin1[0-7]*)
</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;'>-+ tmake_file="t-darwin-min-5 $tmake_file"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tmake_file="t-darwin-min-4 $tmake_file"
</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;'>-+ *-*-darwin[4-8]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tmake_file="t-darwin-min-1 $tmake_file"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Fall back to configuring for the oldest system known to work with the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # current sources.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tmake_file="t-darwin-min-5 $tmake_file"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "Warning: libgcc configured to support macOS 10.5" 1>&2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extra_parts="crt3.o d10-uwfef.o crttms.o crttme.o libemutls_w.a"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *-*-dragonfly*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/t-darwin libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 3b348fd2a20..f7ad5c70dce 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,15 +1,15 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Set this as a minimum (unless overriden by arch t-files) since it's a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # reasonable lowest common denominator that works for all our archs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--HOST_LIBGCC2_CFLAGS += -mmacosx-version-min=10.4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+HOST_LIBGCC2_CFLAGS += $(DARWIN_MIN_LIB_VERSION)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- crt3.o: $(srcdir)/config/darwin-crt3.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- $(crt_compile) -mmacosx-version-min=10.4 -c $<
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(crt_compile) $(DARWIN_MIN_CRT_VERSION) -c $<
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- crttms.o: $(srcdir)/config/darwin-crt-tm.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- $(crt_compile) -mmacosx-version-min=10.4 -DSTART -c $<
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(crt_compile) $(DARWIN_MIN_CRT_VERSION) -DSTART -c $<
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- crttme.o: $(srcdir)/config/darwin-crt-tm.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- $(crt_compile) -mmacosx-version-min=10.4 -DEND -c $<
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(crt_compile) $(DARWIN_MIN_CRT_VERSION) -DEND -c $<
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Use unwind-dw2-fde-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/config/unwind-dw2-fde-darwin.c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -24,6 +24,8 @@ libemutls_w.a: emutls.o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(RANLIB_FOR_TARGET) $@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Patch to __Unwind_Find_Enclosing_Function for Darwin10.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# This has to be built for 10.6, even if the toolchain will not target that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# version
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- d10-uwfef.o: $(srcdir)/config/darwin10-unwind-find-enc-func.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(crt_compile) -mmacosx-version-min=10.6 -c $<
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/t-darwin-min-1 libgcc/config/t-darwin-min-1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-new file mode 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 00000000000..8c2cf8acd39
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config/t-darwin-min-1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,3 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Support building with -mmacosx-version-min back to 10.1.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+DARWIN_MIN_LIB_VERSION = -mmacosx-version-min=10.4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+DARWIN_MIN_CRT_VERSION = -mmacosx-version-min=10.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/t-darwin-min-4 libgcc/config/t-darwin-min-4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-new file mode 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 00000000000..04e980de4d5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config/t-darwin-min-4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,3 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Support building with -mmacosx-version-min back to 10.4.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+DARWIN_MIN_LIB_VERSION = -mmacosx-version-min=10.4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+DARWIN_MIN_CRT_VERSION = -mmacosx-version-min=10.4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/t-darwin-min-5 libgcc/config/t-darwin-min-5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-new file mode 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 00000000000..138193151e7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config/t-darwin-min-5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,3 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Support building with -mmacosx-version-min back to 10.5.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+DARWIN_MIN_LIB_VERSION = -mmacosx-version-min=10.5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+DARWIN_MIN_CRT_VERSION = -mmacosx-version-min=10.5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/t-darwin-min-8 libgcc/config/t-darwin-min-8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-new file mode 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 00000000000..9efc9dc0257
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config/t-darwin-min-8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,3 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Support building with -mmacosx-version-min back to 10.8.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+DARWIN_MIN_LIB_VERSION = -mmacosx-version-min=10.8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+DARWIN_MIN_CRT_VERSION = -mmacosx-version-min=10.8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/t-darwin-rpath libgcc/config/t-darwin-rpath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 7cf63d9cb6b..e73d7f378b0 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config/t-darwin-rpath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config/t-darwin-rpath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,5 +1,2 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Use @rpath and add a search path to exes and dylibs that depend on this.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SHLIB_RPATH = @rpath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# Which does not work for Darwin < 9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--HOST_LIBGCC2_CFLAGS += -mmacosx-version-min=10.5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From b2e5d7ce620148441ff444b64d68dd5a904b4f1e Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Alex Coplan <alex.coplan@arm.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Mon, 7 Sep 2020 15:23:44 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 15/68] aarch64: Remove redundant mult patterns
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Following on from the previous commit to fix up the syntax for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-add/sub/adds/subs and friends with a sign/zero-extended operand, this
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patch removes the "mult" variants of these patterns which are all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-redundant.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This patch removes the following patterns from the AArch64 backend:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *adds_mul_imm_<mode>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *subs_mul_imm_<mode>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *adds_<optab><mode>_multp2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *subs_<optab><mode>_multp2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *add_mul_imm_<mode>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *add_<optab><ALLX:mode>_mult_<GPI:mode>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *add_<optab><SHORT:mode>_mult_si_uxtw
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *add_<optab><mode>_multp2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *add_<optab>si_multp2_uxtw
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *add_uxt<mode>_multp2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *add_uxtsi_multp2_uxtw
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *sub_mul_imm_<mode>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *sub_mul_imm_si_uxtw
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *sub_<optab><mode>_multp2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *sub_<optab>si_multp2_uxtw
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *sub_uxt<mode>_multp2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *sub_uxtsi_multp2_uxtw
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *neg_mul_imm_<mode>2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *neg_mul_imm_si2_uxtw
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Together with the following predicates which were used only by these
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patterns:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64_pwr_imm3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64_pwr_2_si
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64_pwr_2_di
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-These patterns are all redundant since multiplications by powers of two
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-should be represented as shfits outside a (mem).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/aarch64/aarch64.md (*adds_mul_imm_<mode>): Delete.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*subs_mul_imm_<mode>): Delete.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*adds_<optab><mode>_multp2): Delete.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*subs_<optab><mode>_multp2): Delete.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*add_mul_imm_<mode>): Delete.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*add_<optab><ALLX:mode>_mult_<GPI:mode>): Delete.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*add_<optab><SHORT:mode>_mult_si_uxtw): Delete.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*add_<optab><mode>_multp2): Delete.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*add_<optab>si_multp2_uxtw): Delete.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*add_uxt<mode>_multp2): Delete.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*add_uxtsi_multp2_uxtw): Delete.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*sub_mul_imm_<mode>): Delete.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*sub_mul_imm_si_uxtw): Delete.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*sub_<optab><mode>_multp2): Delete.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*sub_<optab>si_multp2_uxtw): Delete.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*sub_uxt<mode>_multp2): Delete.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*sub_uxtsi_multp2_uxtw): Delete.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*neg_mul_imm_<mode>2): Delete.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*neg_mul_imm_si2_uxtw): Delete.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/aarch64/predicates.md (aarch64_pwr_imm3): Delete.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (aarch64_pwr_2_si): Delete.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (aarch64_pwr_2_di): Delete.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 2f8ae301f6a125f50b0a758047fcddae7b68daa8)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64.md | 271 -------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/predicates.md | 15 --
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 286 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64.md gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 58445dea941..7c4f0f214c3 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2346,38 +2346,6 @@ (define_insn "*subs_shift_imm_<mode>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set_attr "type" "alus_shift_imm")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--(define_insn "*adds_mul_imm_<mode>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set (reg:CC_NZ CC_REGNUM)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (compare:CC_NZ
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (plus:GPI (mult:GPI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand:GPI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand:QI 2 "aarch64_pwr_2_<mode>" "n"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand:GPI 3 "register_operand" "r"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (const_int 0)))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (set (match_operand:GPI 0 "register_operand" "=r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (plus:GPI (mult:GPI (match_dup 1) (match_dup 2))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_dup 3)))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "adds\\t%<w>0, %<w>3, %<w>1, lsl %p2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set_attr "type" "alus_shift_imm")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--(define_insn "*subs_mul_imm_<mode>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set (reg:CC_NZ CC_REGNUM)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (compare:CC_NZ
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (minus:GPI (match_operand:GPI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (mult:GPI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand:GPI 2 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand:QI 3 "aarch64_pwr_2_<mode>" "n")))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (const_int 0)))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (set (match_operand:GPI 0 "register_operand" "=r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (minus:GPI (match_dup 1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (mult:GPI (match_dup 2) (match_dup 3))))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "subs\\t%<w>0, %<w>1, %<w>2, lsl %p3"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set_attr "type" "alus_shift_imm")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (define_insn "*adds_<optab><ALLX:mode>_<GPI:mode>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set (reg:CC_NZ CC_REGNUM)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (compare:CC_NZ
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2442,46 +2410,6 @@ (define_insn "*subs_<optab><ALLX:mode>_shift_<GPI:mode>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set_attr "type" "alus_ext")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--(define_insn "*adds_<optab><mode>_multp2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set (reg:CC_NZ CC_REGNUM)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (compare:CC_NZ
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (plus:GPI (ANY_EXTRACT:GPI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (mult:GPI (match_operand:GPI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand 2 "aarch64_pwr_imm3" "Up3"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand 3 "const_int_operand" "n")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (const_int 0))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand:GPI 4 "register_operand" "rk"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (const_int 0)))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (set (match_operand:GPI 0 "register_operand" "=r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (plus:GPI (ANY_EXTRACT:GPI (mult:GPI (match_dup 1) (match_dup 2))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_dup 3)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (const_int 0))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_dup 4)))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "aarch64_is_extend_from_extract (<MODE>mode, operands[2], operands[3])"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "adds\\t%<w>0, %<w>4, %<w>1, <su>xt%e3 %p2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set_attr "type" "alus_ext")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--(define_insn "*subs_<optab><mode>_multp2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set (reg:CC_NZ CC_REGNUM)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (compare:CC_NZ
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (minus:GPI (match_operand:GPI 4 "register_operand" "rk")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (ANY_EXTRACT:GPI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (mult:GPI (match_operand:GPI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand 2 "aarch64_pwr_imm3" "Up3"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand 3 "const_int_operand" "n")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (const_int 0)))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (const_int 0)))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (set (match_operand:GPI 0 "register_operand" "=r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (minus:GPI (match_dup 4) (ANY_EXTRACT:GPI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (mult:GPI (match_dup 1) (match_dup 2))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_dup 3)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (const_int 0))))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "aarch64_is_extend_from_extract (<MODE>mode, operands[2], operands[3])"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "subs\\t%<w>0, %<w>4, %<w>1, <su>xt%e3 %p2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set_attr "type" "alus_ext")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (define_insn "*add<mode>3nr_compare0"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set (reg:CC_NZ CC_REGNUM)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (compare:CC_NZ
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2539,16 +2467,6 @@ (define_insn "*add_<shift>_si_uxtw"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set_attr "type" "alu_shift_imm")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--(define_insn "*add_mul_imm_<mode>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set (match_operand:GPI 0 "register_operand" "=r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (plus:GPI (mult:GPI (match_operand:GPI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand:QI 2 "aarch64_pwr_2_<mode>" "n"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand:GPI 3 "register_operand" "r")))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "add\\t%<w>0, %<w>3, %<w>1, lsl %p2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set_attr "type" "alu_shift_imm")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (define_insn "*add_<optab><ALLX:mode>_<GPI:mode>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set (match_operand:GPI 0 "register_operand" "=rk")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (plus:GPI (ANY_EXTEND:GPI (match_operand:ALLX 1 "register_operand" "r"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2593,57 +2511,6 @@ (define_insn "*add_<optab><SHORT:mode>_shft_si_uxtw"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set_attr "type" "alu_ext")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--(define_insn "*add_<optab><ALLX:mode>_mult_<GPI:mode>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set (match_operand:GPI 0 "register_operand" "=rk")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (plus:GPI (mult:GPI (ANY_EXTEND:GPI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand:ALLX 1 "register_operand" "r"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand 2 "aarch64_pwr_imm3" "Up3"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand:GPI 3 "register_operand" "r")))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "add\\t%<GPI:w>0, %<GPI:w>3, %<GPI:w>1, <su>xt<ALLX:size> %p2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set_attr "type" "alu_ext")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--;; zero_extend version of above
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--(define_insn "*add_<optab><SHORT:mode>_mult_si_uxtw"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set (match_operand:DI 0 "register_operand" "=rk")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (zero_extend:DI (plus:SI (mult:SI (ANY_EXTEND:SI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand:SHORT 1 "register_operand" "r"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand 2 "aarch64_pwr_imm3" "Up3"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand:SI 3 "register_operand" "r"))))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "add\\t%w0, %w3, %w1, <su>xt<SHORT:size> %p2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set_attr "type" "alu_ext")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--(define_insn "*add_<optab><mode>_multp2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set (match_operand:GPI 0 "register_operand" "=rk")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (plus:GPI (ANY_EXTRACT:GPI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (mult:GPI (match_operand:GPI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand 2 "aarch64_pwr_imm3" "Up3"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand 3 "const_int_operand" "n")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (const_int 0))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand:GPI 4 "register_operand" "r")))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "aarch64_is_extend_from_extract (<MODE>mode, operands[2], operands[3])"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "add\\t%<w>0, %<w>4, %<w>1, <su>xt%e3 %p2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set_attr "type" "alu_ext")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--;; zero_extend version of above
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--(define_insn "*add_<optab>si_multp2_uxtw"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set (match_operand:DI 0 "register_operand" "=rk")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (zero_extend:DI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (plus:SI (ANY_EXTRACT:SI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (mult:SI (match_operand:SI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand 2 "aarch64_pwr_imm3" "Up3"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand 3 "const_int_operand" "n")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (const_int 0))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand:SI 4 "register_operand" "r"))))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "aarch64_is_extend_from_extract (SImode, operands[2], operands[3])"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "add\\t%w0, %w4, %w1, <su>xt%e3 %p2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set_attr "type" "alu_ext")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (define_expand "add<mode>3_carryin"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set (match_operand:GPI 0 "register_operand")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (plus:GPI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2845,38 +2712,6 @@ (define_insn "*add_uxtsi_shift2_uxtw"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set_attr "type" "alu_ext")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--(define_insn "*add_uxt<mode>_multp2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set (match_operand:GPI 0 "register_operand" "=rk")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (plus:GPI (and:GPI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (mult:GPI (match_operand:GPI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand 2 "aarch64_pwr_imm3" "Up3"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand 3 "const_int_operand" "n"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand:GPI 4 "register_operand" "r")))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "aarch64_uxt_size (exact_log2 (INTVAL (operands[2])), INTVAL (operands[3])) != 0"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- operands[3] = GEN_INT (aarch64_uxt_size (exact_log2 (INTVAL (operands[2])),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- INTVAL (operands[3])));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- return \"add\t%<w>0, %<w>4, %<w>1, uxt%e3 %p2\";"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set_attr "type" "alu_ext")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--;; zero_extend version of above
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--(define_insn "*add_uxtsi_multp2_uxtw"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set (match_operand:DI 0 "register_operand" "=rk")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (zero_extend:DI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (plus:SI (and:SI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (mult:SI (match_operand:SI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand 2 "aarch64_pwr_imm3" "Up3"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand 3 "const_int_operand" "n"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand:SI 4 "register_operand" "r"))))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "aarch64_uxt_size (exact_log2 (INTVAL (operands[2])), INTVAL (operands[3])) != 0"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- operands[3] = GEN_INT (aarch64_uxt_size (exact_log2 (INTVAL (operands[2])),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- INTVAL (operands[3])));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- return \"add\t%w0, %w4, %w1, uxt%e3 %p2\";"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set_attr "type" "alu_ext")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (define_insn "subsi3"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set (match_operand:SI 0 "register_operand" "=rk")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (minus:SI (match_operand:SI 1 "register_operand" "rk")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3280,30 +3115,6 @@ (define_insn "*sub_<shift>_si_uxtw"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set_attr "type" "alu_shift_imm")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--(define_insn "*sub_mul_imm_<mode>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set (match_operand:GPI 0 "register_operand" "=r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (minus:GPI (match_operand:GPI 3 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (mult:GPI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand:GPI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand:QI 2 "aarch64_pwr_2_<mode>" "n"))))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "sub\\t%<w>0, %<w>3, %<w>1, lsl %p2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set_attr "type" "alu_shift_imm")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--;; zero_extend version of above
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--(define_insn "*sub_mul_imm_si_uxtw"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set (match_operand:DI 0 "register_operand" "=r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (zero_extend:DI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (minus:SI (match_operand:SI 3 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (mult:SI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand:SI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand:QI 2 "aarch64_pwr_2_si" "n")))))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "sub\\t%w0, %w3, %w1, lsl %p2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set_attr "type" "alu_shift_imm")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (define_insn "*sub_<optab><ALLX:mode>_<GPI:mode>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set (match_operand:GPI 0 "register_operand" "=rk")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (minus:GPI (match_operand:GPI 1 "register_operand" "rk")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3350,34 +3161,6 @@ (define_insn "*sub_<optab><SHORT:mode>_shft_si_uxtw"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set_attr "type" "alu_ext")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--(define_insn "*sub_<optab><mode>_multp2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set (match_operand:GPI 0 "register_operand" "=rk")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (minus:GPI (match_operand:GPI 4 "register_operand" "rk")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (ANY_EXTRACT:GPI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (mult:GPI (match_operand:GPI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand 2 "aarch64_pwr_imm3" "Up3"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand 3 "const_int_operand" "n")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (const_int 0))))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "aarch64_is_extend_from_extract (<MODE>mode, operands[2], operands[3])"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "sub\\t%<w>0, %<w>4, %<w>1, <su>xt%e3 %p2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set_attr "type" "alu_ext")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--;; zero_extend version of above
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--(define_insn "*sub_<optab>si_multp2_uxtw"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set (match_operand:DI 0 "register_operand" "=rk")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (zero_extend:DI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (minus:SI (match_operand:SI 4 "register_operand" "rk")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (ANY_EXTRACT:SI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (mult:SI (match_operand:SI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand 2 "aarch64_pwr_imm3" "Up3"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand 3 "const_int_operand" "n")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (const_int 0)))))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "aarch64_is_extend_from_extract (SImode, operands[2], operands[3])"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "sub\\t%w0, %w4, %w1, <su>xt%e3 %p2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set_attr "type" "alu_ext")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;; The hardware description is op1 + ~op2 + C.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;; = op1 + (-op2 + 1) + (1 - !C)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;; = op1 - op2 - 1 + 1 - !C
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3633,38 +3416,6 @@ (define_insn "*sub_uxtsi_shift2_uxtw"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set_attr "type" "alu_ext")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--(define_insn "*sub_uxt<mode>_multp2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set (match_operand:GPI 0 "register_operand" "=rk")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (minus:GPI (match_operand:GPI 4 "register_operand" "rk")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (and:GPI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (mult:GPI (match_operand:GPI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand 2 "aarch64_pwr_imm3" "Up3"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand 3 "const_int_operand" "n"))))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "aarch64_uxt_size (exact_log2 (INTVAL (operands[2])),INTVAL (operands[3])) != 0"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- operands[3] = GEN_INT (aarch64_uxt_size (exact_log2 (INTVAL (operands[2])),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- INTVAL (operands[3])));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- return \"sub\t%<w>0, %<w>4, %<w>1, uxt%e3 %p2\";"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set_attr "type" "alu_ext")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--;; zero_extend version of above
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--(define_insn "*sub_uxtsi_multp2_uxtw"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set (match_operand:DI 0 "register_operand" "=rk")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (zero_extend:DI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (minus:SI (match_operand:SI 4 "register_operand" "rk")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (and:SI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (mult:SI (match_operand:SI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand 2 "aarch64_pwr_imm3" "Up3"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand 3 "const_int_operand" "n")))))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "aarch64_uxt_size (exact_log2 (INTVAL (operands[2])),INTVAL (operands[3])) != 0"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- operands[3] = GEN_INT (aarch64_uxt_size (exact_log2 (INTVAL (operands[2])),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- INTVAL (operands[3])));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- return \"sub\t%w0, %w4, %w1, uxt%e3 %p2\";"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set_attr "type" "alu_ext")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (define_expand "abs<mode>2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(match_operand:GPI 0 "register_operand")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (match_operand:GPI 1 "register_operand")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3777,28 +3528,6 @@ (define_insn "*neg_<shift>_si2_uxtw"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set_attr "type" "alu_shift_imm")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--(define_insn "*neg_mul_imm_<mode>2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set (match_operand:GPI 0 "register_operand" "=r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (neg:GPI (mult:GPI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand:GPI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand:QI 2 "aarch64_pwr_2_<mode>" "n"))))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "neg\\t%<w>0, %<w>1, lsl %p2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set_attr "type" "alu_shift_imm")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--;; zero_extend version of above
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--(define_insn "*neg_mul_imm_si2_uxtw"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set (match_operand:DI 0 "register_operand" "=r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (zero_extend:DI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (neg:SI (mult:SI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand:SI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_operand:QI 2 "aarch64_pwr_2_si" "n")))))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "neg\\t%w0, %w1, lsl %p2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [(set_attr "type" "alu_shift_imm")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (define_insn "mul<mode>3"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set (match_operand:GPI 0 "register_operand" "=r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (mult:GPI (match_operand:GPI 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/predicates.md gcc/config/aarch64/predicates.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 1754b1eff9f..91b51483f33 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/predicates.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/predicates.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -235,21 +235,6 @@ (define_predicate "aarch64_imm24"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (and (match_code "const_int")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (match_test "IN_RANGE (UINTVAL (op), 0, 0xffffff)")))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--(define_predicate "aarch64_pwr_imm3"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (and (match_code "const_int")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_test "INTVAL (op) != 0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- && (unsigned) exact_log2 (INTVAL (op)) <= 4")))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--(define_predicate "aarch64_pwr_2_si"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (and (match_code "const_int")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_test "INTVAL (op) != 0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- && (unsigned) exact_log2 (INTVAL (op)) < 32")))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--(define_predicate "aarch64_pwr_2_di"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (and (match_code "const_int")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (match_test "INTVAL (op) != 0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- && (unsigned) exact_log2 (INTVAL (op)) < 64")))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (define_predicate "aarch64_mem_pair_offset"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (and (match_code "const_int")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (match_test "aarch64_offset_7bit_signed_scaled_p (mode, INTVAL (op))")))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 755136e478f235b03e62fd4d9cd8d98a7937ef56 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Alex Coplan <alex.coplan@arm.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Mon, 7 Sep 2020 15:20:21 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 16/68] aarch64: Don't emit invalid zero/sign-extend syntax
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Given the following C function:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-double *f(double *p, unsigned x)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return p + x;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-prior to this patch, GCC at -O2 would generate:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-f:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- add x0, x0, x1, uxtw 3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ret
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-but this add instruction uses architecturally-invalid syntax: the width
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-of the third operand conflicts with the width of the extension
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-specifier. The third operand is only permitted to be an x register when
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-the extension specifier is (u|s)xtx.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This instruction, and analogous insns for adds, sub, subs, and cmp, are
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-rejected by clang, but accepted by binutils. Assembling and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-disassembling such an insn with binutils gives the architecturally-valid
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-version in the disassembly:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 0: 8b214c00 add x0, x0, w1, uxtw #3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This patch fixes several patterns in the AArch64 backend to use the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-standard syntax as specified in the Arm ARM such that GCC's output can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-be assembled by assemblers other than GAS.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*adds_<optab><ALLX:mode>_<GPI:mode>): Ensure extended operand
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- agrees with width of extension specifier.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*subs_<optab><ALLX:mode>_<GPI:mode>): Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*adds_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*subs_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*add_<optab><ALLX:mode>_<GPI:mode>): Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*add_<optab><ALLX:mode>_shft_<GPI:mode>): Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*add_uxt<mode>_shift2): Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*sub_<optab><ALLX:mode>_<GPI:mode>): Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*sub_<optab><ALLX:mode>_shft_<GPI:mode>): Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*sub_uxt<mode>_shift2): Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*cmp_swp_<optab><ALLX:mode>_reg<GPI:mode>): Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*cmp_swp_<optab><ALLX:mode>_shft_<GPI:mode>): Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/testsuite/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * gcc.target/aarch64/adds3.c: Fix test w.r.t. new syntax.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * gcc.target/aarch64/cmp.c: Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * gcc.target/aarch64/subs3.c: Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * gcc.target/aarch64/subsp.c: Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * gcc.target/aarch64/extend-syntax.c: New test.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit d4febc75e8dfab23bd3132d5747eded918f85107)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64.md | 24 ++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/gcc.target/aarch64/adds3.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/gcc.target/aarch64/cmp.c | 3 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .../gcc.target/aarch64/extend-syntax.c | 120 ++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/gcc.target/aarch64/subs3.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/gcc.target/aarch64/subsp.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 6 files changed, 137 insertions(+), 16 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- create mode 100644 gcc/testsuite/gcc.target/aarch64/extend-syntax.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64.md gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 7c4f0f214c3..bb4138e0bfa 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2356,7 +2356,7 @@ (define_insn "*adds_<optab><ALLX:mode>_<GPI:mode>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (set (match_operand:GPI 0 "register_operand" "=r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (plus:GPI (ANY_EXTEND:GPI (match_dup 1)) (match_dup 2)))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "adds\\t%<GPI:w>0, %<GPI:w>2, %<GPI:w>1, <su>xt<ALLX:size>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "adds\\t%<GPI:w>0, %<GPI:w>2, %w1, <su>xt<ALLX:size>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set_attr "type" "alus_ext")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2370,7 +2370,7 @@ (define_insn "*subs_<optab><ALLX:mode>_<GPI:mode>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (set (match_operand:GPI 0 "register_operand" "=r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (minus:GPI (match_dup 1) (ANY_EXTEND:GPI (match_dup 2))))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "subs\\t%<GPI:w>0, %<GPI:w>1, %<GPI:w>2, <su>xt<ALLX:size>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "subs\\t%<GPI:w>0, %<GPI:w>1, %w2, <su>xt<ALLX:size>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set_attr "type" "alus_ext")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2388,7 +2388,7 @@ (define_insn "*adds_<optab><ALLX:mode>_shift_<GPI:mode>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (match_dup 2))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (match_dup 3)))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "adds\\t%<GPI:w>0, %<GPI:w>3, %<GPI:w>1, <su>xt<ALLX:size> %2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "adds\\t%<GPI:w>0, %<GPI:w>3, %w1, <su>xt<ALLX:size> %2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set_attr "type" "alus_ext")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2406,7 +2406,7 @@ (define_insn "*subs_<optab><ALLX:mode>_shift_<GPI:mode>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (ashift:GPI (ANY_EXTEND:GPI (match_dup 2))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (match_dup 3))))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "subs\\t%<GPI:w>0, %<GPI:w>1, %<GPI:w>2, <su>xt<ALLX:size> %3"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "subs\\t%<GPI:w>0, %<GPI:w>1, %w2, <su>xt<ALLX:size> %3"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set_attr "type" "alus_ext")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2472,7 +2472,7 @@ (define_insn "*add_<optab><ALLX:mode>_<GPI:mode>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (plus:GPI (ANY_EXTEND:GPI (match_operand:ALLX 1 "register_operand" "r"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (match_operand:GPI 2 "register_operand" "r")))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "add\\t%<GPI:w>0, %<GPI:w>2, %<GPI:w>1, <su>xt<ALLX:size>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "add\\t%<GPI:w>0, %<GPI:w>2, %w1, <su>xt<ALLX:size>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set_attr "type" "alu_ext")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2494,7 +2494,7 @@ (define_insn "*add_<optab><ALLX:mode>_shft_<GPI:mode>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (match_operand 2 "aarch64_imm3" "Ui3"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (match_operand:GPI 3 "register_operand" "r")))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "add\\t%<GPI:w>0, %<GPI:w>3, %<GPI:w>1, <su>xt<ALLX:size> %2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "add\\t%<GPI:w>0, %<GPI:w>3, %w1, <su>xt<ALLX:size> %2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set_attr "type" "alu_ext")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2691,7 +2691,7 @@ (define_insn "*add_uxt<mode>_shift2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- operands[3] = GEN_INT (aarch64_uxt_size (INTVAL(operands[2]),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- INTVAL (operands[3])));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- return \"add\t%<w>0, %<w>4, %<w>1, uxt%e3 %2\";"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return \"add\t%<w>0, %<w>4, %w1, uxt%e3 %2\";"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set_attr "type" "alu_ext")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3121,7 +3121,7 @@ (define_insn "*sub_<optab><ALLX:mode>_<GPI:mode>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (ANY_EXTEND:GPI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (match_operand:ALLX 2 "register_operand" "r"))))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "sub\\t%<GPI:w>0, %<GPI:w>1, %<GPI:w>2, <su>xt<ALLX:size>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "sub\\t%<GPI:w>0, %<GPI:w>1, %w2, <su>xt<ALLX:size>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set_attr "type" "alu_ext")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3144,7 +3144,7 @@ (define_insn "*sub_<optab><ALLX:mode>_shft_<GPI:mode>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (match_operand:ALLX 2 "register_operand" "r"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (match_operand 3 "aarch64_imm3" "Ui3"))))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "sub\\t%<GPI:w>0, %<GPI:w>1, %<GPI:w>2, <su>xt<ALLX:size> %3"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "sub\\t%<GPI:w>0, %<GPI:w>1, %w2, <su>xt<ALLX:size> %3"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set_attr "type" "alu_ext")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3395,7 +3395,7 @@ (define_insn "*sub_uxt<mode>_shift2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- operands[3] = GEN_INT (aarch64_uxt_size (INTVAL (operands[2]),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- INTVAL (operands[3])));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- return \"sub\t%<w>0, %<w>4, %<w>1, uxt%e3 %2\";"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return \"sub\t%<w>0, %<w>4, %w1, uxt%e3 %2\";"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set_attr "type" "alu_ext")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3788,7 +3788,7 @@ (define_insn "*cmp_swp_<optab><ALLX:mode>_reg<GPI:mode>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (match_operand:ALLX 0 "register_operand" "r"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (match_operand:GPI 1 "register_operand" "r")))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "cmp\\t%<GPI:w>1, %<GPI:w>0, <su>xt<ALLX:size>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "cmp\\t%<GPI:w>1, %w0, <su>xt<ALLX:size>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set_attr "type" "alus_ext")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3800,7 +3800,7 @@ (define_insn "*cmp_swp_<optab><ALLX:mode>_shft_<GPI:mode>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (match_operand 1 "aarch64_imm3" "Ui3"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (match_operand:GPI 2 "register_operand" "r")))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "cmp\\t%<GPI:w>2, %<GPI:w>0, <su>xt<ALLX:size> %1"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "cmp\\t%<GPI:w>2, %w0, <su>xt<ALLX:size> %1"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set_attr "type" "alus_ext")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/adds3.c gcc/testsuite/gcc.target/aarch64/adds3.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index c5518bdcaf2..e938c8049cf 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/adds3.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/adds3.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -58,4 +58,4 @@ int main ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { scan-assembler-times "adds\tx\[0-9\]+, x\[0-9\]+, x\[0-9\]+, sxtw" 2 } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { scan-assembler-times "adds\tx\[0-9\]+, x\[0-9\]+, w\[0-9\]+, sxtw" 2 } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/cmp.c gcc/testsuite/gcc.target/aarch64/cmp.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index ee57dd283bf..a6487a4f77a 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/cmp.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/cmp.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -58,4 +58,5 @@ cmp_di_test4 (int a, s64 b, s64 c)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler-times "cmp\tw\[0-9\]+, w\[0-9\]+" 2 } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { scan-assembler-times "cmp\tx\[0-9\]+, x\[0-9\]+" 4 } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { scan-assembler-times "cmp\tx\[0-9\]+, x\[0-9\]+" 2 } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { scan-assembler-times "cmp\tx\[0-9\]+, w\[0-9\]+, sxtw" 2 } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/extend-syntax.c gcc/testsuite/gcc.target/aarch64/extend-syntax.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-new file mode 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 00000000000..23fa9f4ffc5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/extend-syntax.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,120 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-do compile } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-options "-O2" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Hits *add_uxtdi_shift2 (*add_uxt<mode>_shift2).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+** add1:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+** add x0, x0, w1, uxtw 3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+** ret
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+*/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+unsigned long long *add1(unsigned long long *p, unsigned x)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return p + x;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Hits *add_zero_extendsi_di (*add_<optab><ALLX:mode>_<GPI:mode>).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+** add2:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+** add x0, x0, w1, uxtw
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+** ret
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+*/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+unsigned long long add2(unsigned long long x, unsigned y)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return x + y;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Hits *add_extendsi_shft_di (*add_<optab><ALLX:mode>_shft_<GPI:mode>).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+** add3:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+** add x0, x0, w1, sxtw 3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+** ret
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+*/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+double *add3(double *p, int x)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return p + x;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Hits *sub_zero_extendsi_di (*sub_<optab><ALLX:mode>_<GPI:mode>).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+** sub1:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+** sub x0, x0, w1, uxtw
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+** ret
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+*/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+unsigned long long sub1(unsigned long long x, unsigned n)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return x - n;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Hits *sub_uxtdi_shift2 (*sub_uxt<mode>_shift2).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+** sub2:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+** sub x0, x0, w1, uxtw 3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+** ret
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+*/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+double *sub2(double *x, unsigned n)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return x - n;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Hits *sub_extendsi_shft_di (*sub_<optab><ALLX:mode>_shft_<GPI:mode>).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+** sub3:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+** sub x0, x0, w1, sxtw 3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+** ret
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+*/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+double *sub3(double *p, int n)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return p - n;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Hits *adds_zero_extendsi_di (*adds_<optab><ALLX:mode>_<GPI:mode>).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int adds1(unsigned long long x, unsigned y)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* { dg-final { scan-assembler-times "adds\tx\[0-9\]+, x\[0-9\]+, w\[0-9\]+, uxtw" 1 } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ unsigned long long l = x + y;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return !!l;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Hits *adds_extendsi_shift_di (*adds_<optab><ALLX:mode>_shift_<GPI:mode>).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int adds2(long long x, int y)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* { dg-final { scan-assembler-times "adds\tx\[0-9\]+, x\[0-9\]+, w\[0-9\]+, sxtw 3" 1 } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ long long t = x + ((long long)y << 3);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return !!t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Hits *subs_zero_extendsi_di (*subs_<optab><ALLX:mode>_<GPI:mode>).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+unsigned long long z;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int subs1(unsigned long long x, unsigned y)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* { dg-final { scan-assembler-times "subs\tx\[0-9\]+, x\[0-9\]+, w\[0-9\]+, uxtw" 1 } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ unsigned long long t = x - y;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ z = t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return !!t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Hits *subs_extendsi_shift_di (*subs_<optab><ALLX:mode>_shift_<GPI:mode>).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+unsigned long long *w;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int subs2(unsigned long long *x, int y)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* { dg-final { scan-assembler-times "subs\tx\[0-9\]+, x\[0-9\]+, w\[0-9\]+, sxtw 3" 1 } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ unsigned long long *t = x - y;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ w = t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return !!t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Hits *cmp_swp_zero_extendsi_regdi (*cmp_swp_<optab><ALLX:mode>_reg<GPI:mode>).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int cmp(unsigned long long x, unsigned y)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* { dg-final { scan-assembler-times "cmp\tx\[0-9\]+, w\[0-9\]+, uxtw" 1 } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return !!(x - y);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Hits *cmp_swp_extendsi_shft_di (*cmp_swp_<optab><ALLX:mode>_shft_<GPI:mode>).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int cmp2(unsigned long long x, int y)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* { dg-final { scan-assembler-times "cmp\tx\[0-9\]+, w\[0-9\]+, sxtw 3" 1 } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return x == ((unsigned long long)y << 3);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { check-function-bodies "**" "" "" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/subs3.c gcc/testsuite/gcc.target/aarch64/subs3.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 59581bf1ab7..0470a3bde34 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/subs3.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/subs3.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -58,4 +58,4 @@ int main ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { scan-assembler-times "subs\tx\[0-9\]+, x\[0-9\]+, x\[0-9\]+, sxtw" 2 } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { scan-assembler-times "subs\tx\[0-9\]+, x\[0-9\]+, w\[0-9\]+, sxtw" 2 } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/subsp.c gcc/testsuite/gcc.target/aarch64/subsp.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 6ef6b2c90ae..341b83dca86 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/subsp.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/subsp.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -16,4 +16,4 @@ f2 (int *x, int y)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler "sub\tsp, sp, x\[0-9\]*\n" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { scan-assembler "sub\tsp, sp, x\[0-9\]*, sxtw 4\n" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { scan-assembler "sub\tsp, sp, w\[0-9\]*, sxtw 4\n" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 512748f173416dcebce19adaa8170fb23fe75cc6 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sun, 6 Sep 2020 18:24:50 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 17/68] fortran: caf_fail_image expects no argument
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/fortran/ChangeLog
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PR fortran/96947
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * trans-stmt.c (gfc_trans_fail_image): caf_fail_image
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- expects no argument.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/testsuite/ChangeLog
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * gfortran.dg/coarray_fail_st.f90: Adjust test.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 3489d80fee42764460cb06f7a2e9f126c18602b4)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/fortran/trans-stmt.c | 3 +--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/gfortran.dg/coarray_fail_st.f90 | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 2 insertions(+), 3 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/fortran/trans-stmt.c gcc/fortran/trans-stmt.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index a425c98c076..04c1b2a104c 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/fortran/trans-stmt.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/fortran/trans-stmt.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -689,8 +689,7 @@ gfc_trans_fail_image (gfc_code *code ATTRIBUTE_UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (flag_coarray == GFC_FCOARRAY_LIB)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return build_call_expr_loc (input_location,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- gfor_fndecl_caf_fail_image, 1,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- build_int_cst (pchar_type_node, 0));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gfor_fndecl_caf_fail_image, 0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const char *name = gfc_get_string (PREFIX ("exit_i%d"), 4);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gfortran.dg/coarray_fail_st.f90 gcc/testsuite/gfortran.dg/coarray_fail_st.f90
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index d4eb8e2c240..8c86f55690b 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gfortran.dg/coarray_fail_st.f90
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gfortran.dg/coarray_fail_st.f90
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -18,4 +18,4 @@ program fail_statement
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- end program fail_statement
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--! { dg-final { scan-tree-dump-times "_gfortran_caf_fail_image \\\(0B\\\);" 1 "original" } }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+! { dg-final { scan-tree-dump-times "_gfortran_caf_fail_image \\\(\\\);" 1 "original" } }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 85908527ab147742894cac36923718d9172e7710 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sun, 6 Sep 2020 18:33:04 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 18/68] fortran: Fix function arg types for class objects
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/fortran/ChangeLog
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * trans-types.c (gfc_get_ppc_type): Fix function arg types.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 7c72651a937533cb67360a6faca05e5603a65865)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/fortran/trans-types.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/fortran/trans-types.c gcc/fortran/trans-types.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index d3fef08b4b9..7bf28f49588 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/fortran/trans-types.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/fortran/trans-types.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2435,7 +2435,7 @@ gfc_get_ppc_type (gfc_component* c)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- t = void_type_node;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- return build_pointer_type (build_function_type_list (t, NULL_TREE));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return build_pointer_type (build_function_type (t, NULL_TREE));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From cba59f091362640bbf712c9db6f951624c82ddff Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Mon, 7 Sep 2020 09:36:29 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 19/68] fortran: Fix arg types of _gfortran_is_extension_of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/fortran/ChangeLog
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * resolve.c (resolve_select_type): Provide a formal arg list.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit a502683de1f036b5f8b4e483bd9f5a45be73382e)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/fortran/resolve.c | 6 ++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 6 insertions(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/fortran/resolve.c gcc/fortran/resolve.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 7ca5f44f419..7705cd02829 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/fortran/resolve.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/fortran/resolve.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9621,6 +9621,12 @@ resolve_select_type (gfc_code *code, gfc_namespace *old_ns)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- new_st->expr1->value.function.actual->next = gfc_get_actual_arglist ();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- new_st->expr1->value.function.actual->next->expr = gfc_get_variable_expr (st);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- new_st->expr1->value.function.actual->next->expr->where = code->loc;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Set up types in formal arg list. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ new_st->expr1->value.function.isym->formal = XCNEW (gfc_intrinsic_arg);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ new_st->expr1->value.function.isym->formal->ts = new_st->expr1->value.function.actual->expr->ts;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ new_st->expr1->value.function.isym->formal->next = XCNEW (gfc_intrinsic_arg);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ new_st->expr1->value.function.isym->formal->next->ts = new_st->expr1->value.function.actual->next->expr->ts;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- new_st->next = body->next;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (default_case->next)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From a9aa235a1034d88e8febab169b7a9a7dd33479fd Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Mon, 7 Sep 2020 09:38:25 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 20/68] fortran: Fix argument types in derived types procedures
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/fortran/ChangeLog
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * trans-types.c (gfc_get_derived_type): Fix argument types.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit d30869a8d4886aee4020be3b28b15b1b15c8d9ad)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/fortran/trans-types.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/fortran/trans-types.c gcc/fortran/trans-types.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 7bf28f49588..8248d67064e 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/fortran/trans-types.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/fortran/trans-types.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2712,7 +2712,7 @@ gfc_get_derived_type (gfc_symbol * derived, int codimen)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- field_type = gfc_get_ppc_type (c);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else if (c->attr.proc_pointer && derived->backend_decl)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- tmp = build_function_type_list (derived->backend_decl, NULL_TREE);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tmp = build_function_type (derived->backend_decl, NULL_TREE);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- field_type = build_pointer_type (tmp);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else if (c->ts.type == BT_DERIVED || c->ts.type == BT_CLASS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 613b9b8de1fc99cce983a85fbcacf5259dba6155 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sun, 15 Nov 2020 09:52:26 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 21/68] config.sub, config.guess : Import upstream 2020-11-07.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This imports from:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-sha1 77632d92f25e26b95c64afd3700d51bd03587613
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: 2020-11-07 04:46:23 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config.guess: Import latest upstream.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config.sub: Import latest upstream.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 53a90650663e59948f86505660604b5769cf808c)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- config.guess | 250 +++++++++++---------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- config.sub | 632 ++++++++++++++++++++++++++++-----------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 483 insertions(+), 399 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git config.guess config.guess
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 97ad0733304..0fc11edb2d1 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- config.guess
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ config.guess
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,8 +1,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #! /bin/sh
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Attempt to guess a canonical system name.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# Copyright 1992-2019 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Copyright 1992-2020 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--timestamp='2019-07-24'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+timestamp='2020-11-07'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # This file is free software; you can redistribute it and/or modify it
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # under the terms of the GNU General Public License as published by
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -32,7 +32,7 @@ timestamp='2019-07-24'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Please send patches to <config-patches@gnu.org>.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--me=`echo "$0" | sed -e 's,.*/,,'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+me=$(echo "$0" | sed -e 's,.*/,,')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- usage="\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usage: $0 [OPTION]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -50,7 +50,7 @@ version="\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GNU config.guess ($timestamp)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Originally written by Per Bothner.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--Copyright 1992-2019 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Copyright 1992-2020 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- This is free software; see the source for copying conditions. There is NO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -99,9 +99,11 @@ tmp=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set_cc_for_build() {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # prevent multiple calls if $tmp is already set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ test "$tmp" && return 0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- : "${TMPDIR=/tmp}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # shellcheck disable=SC2039
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { tmp=$( (umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null) && test -n "$tmp" && test -d "$tmp" ; } ||
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -129,10 +131,10 @@ if test -f /.attbin/uname ; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PATH=$PATH:/.attbin ; export PATH
</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;'>--UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+UNAME_MACHINE=$( (uname -m) 2>/dev/null) || UNAME_MACHINE=unknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+UNAME_RELEASE=$( (uname -r) 2>/dev/null) || UNAME_RELEASE=unknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+UNAME_SYSTEM=$( (uname -s) 2>/dev/null) || UNAME_SYSTEM=unknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+UNAME_VERSION=$( (uname -v) 2>/dev/null) || UNAME_VERSION=unknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case "$UNAME_SYSTEM" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Linux|GNU|GNU/*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -148,17 +150,15 @@ Linux|GNU|GNU/*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #elif defined(__dietlibc__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIBC=dietlibc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ #include <stdarg.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ #ifdef __DEFINED_va_list
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ LIBC=musl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ #else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIBC=gnu
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- # If ldd exists, use it to detect musl libc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if command -v ldd >/dev/null && \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ldd --version 2>&1 | grep -q ^musl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- LIBC=musl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g')"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -177,19 +177,20 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Note: NetBSD doesn't particularly care about the vendor
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # portion of the name. We always set it to "unknown".
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sysctl="sysctl -n hw.machine_arch"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNAME_MACHINE_ARCH=$( (uname -p 2>/dev/null || \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "/sbin/$sysctl" 2>/dev/null || \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "/usr/sbin/$sysctl" 2>/dev/null || \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- echo unknown)`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo unknown))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case "$UNAME_MACHINE_ARCH" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ aarch64eb) machine=aarch64_be-unknown ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- armeb) machine=armeb-unknown ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- arm*) machine=arm-unknown ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sh3el) machine=shl-unknown ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sh3eb) machine=sh-unknown ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sh5el) machine=sh5le-unknown ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- earmv*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ arch=$(echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ endian=$(echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- machine="${arch}${endian}"-unknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *) machine="$UNAME_MACHINE_ARCH"-unknown ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -220,7 +221,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case "$UNAME_MACHINE_ARCH" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- earm*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- expr='s/^earmv[0-9]/-eabi/;s/eb$//'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ abi=$(echo "$UNAME_MACHINE_ARCH" | sed -e "$expr")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # The OS release
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -233,7 +234,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- release='-gnu'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ release=$(echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -242,15 +243,15 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "$machine-${os}${release}${abi-}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *:Bitrig:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNAME_MACHINE_ARCH=$(arch | sed 's/Bitrig.//')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *:OpenBSD:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNAME_MACHINE_ARCH=$(arch | sed 's/OpenBSD.//')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *:LibertyBSD:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNAME_MACHINE_ARCH=$(arch | sed 's/^.*BSD\.//')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *:MidnightBSD:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -274,6 +275,9 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *:Sortix:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "$UNAME_MACHINE"-unknown-sortix
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *:Twizzler:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "$UNAME_MACHINE"-unknown-twizzler
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *:Redox:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "$UNAME_MACHINE"-unknown-redox
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -283,17 +287,17 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- alpha:OSF1:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case $UNAME_RELEASE in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *4.0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $3}')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *5.*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $4}')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # According to Compaq, /usr/sbin/psrinfo has been available on
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # OSF/1 and Tru64 systems produced since 1995. I hope that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # covers most systems running today. This code pipes the CPU
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # types through head -n 1, so we only detect the type of CPU 0.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ALPHA_CPU_TYPE=$(/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case "$ALPHA_CPU_TYPE" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "EV4 (21064)")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- UNAME_MACHINE=alpha ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -331,7 +335,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # A Tn.n version is a released field test version.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # A Xn.n version is an unreleased experimental baselevel.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # 1.2 uses "1.2" for uname -r.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "$UNAME_MACHINE"-dec-osf"$(echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz)"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exitcode=$?
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- trap '' 0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -365,7 +369,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if test "`(/bin/universe) 2>/dev/null`" = att ; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "$( (/bin/universe) 2>/dev/null)" = att ; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo pyramid-pyramid-sysv3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo pyramid-pyramid-bsd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -378,17 +382,17 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo sparc-icl-nx6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- case `/usr/bin/uname -p` in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case $(/usr/bin/uname -p) in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sparc) echo sparc-icl-nx7; exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- s390x:SunOS:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "$UNAME_MACHINE"-ibm-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sun4H:SunOS:5.*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo sparc-hal-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo sparc-sun-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo i386-pc-auroraux"$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -399,7 +403,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # If there is a compiler, see if it is configured for 64-bit objects.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # This test works for both compilers.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "$CC_FOR_BUILD" != no_compiler_found; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- grep IS_64BIT_ARCH >/dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -407,30 +411,30 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SUN_ARCH=x86_64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "$SUN_ARCH"-pc-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sun4*:SunOS:6*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # According to config.sub, this is the proper way to canonicalize
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # SunOS6. Hard to guess exactly what SunOS6 will be like, but
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # it's likely to be more like Solaris than SunOS4.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo sparc-sun-solaris3"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sun4*:SunOS:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- case "`/usr/bin/arch -k`" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case "$(/usr/bin/arch -k)" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Series*|S4*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- UNAME_RELEASE=`uname -v`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNAME_RELEASE=$(uname -v)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Japanese Language versions have a version number like `4.1.3-JL'.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo sparc-sun-sunos"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/')"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sun3*:SunOS:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo m68k-sun-sunos"$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sun*:*:4.2BSD:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNAME_RELEASE=$( (sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- case "`/bin/arch`" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case "$(/bin/arch)" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sun3)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo m68k-sun-sunos"$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -510,8 +514,8 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dummyarg=$(echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p') &&
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ SYSTEM_NAME=$("$dummy" "$dummyarg") &&
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { echo "$SYSTEM_NAME"; exit; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo mips-mips-riscos"$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -538,11 +542,11 @@ EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AViiON:dgux:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # DG/UX returns AViiON for all architectures
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- UNAME_PROCESSOR=`/usr/bin/uname -p`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNAME_PROCESSOR=$(/usr/bin/uname -p)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- [ "$TARGET_BINARY_INTERFACE"x = x ]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ test "$TARGET_BINARY_INTERFACE"x = x
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo m88k-dg-dgux"$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -566,17 +570,17 @@ EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo m68k-tektronix-bsd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *:IRIX*:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo mips-sgi-irix"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/g')"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ exit ;; # Note that: echo "'$(uname -s)'" gives 'AIX '
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- i*86:AIX:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo i386-ibm-aix
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ia64:AIX:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if [ -x /usr/bin/oslevel ] ; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- IBM_REV=`/usr/bin/oslevel`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test -x /usr/bin/oslevel ; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ IBM_REV=$(/usr/bin/oslevel)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -596,7 +600,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit(0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "$SYSTEM_NAME"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -609,15 +613,15 @@ EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *:AIX:*:[4567])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ IBM_CPU_ID=$(/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- IBM_ARCH=rs6000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- IBM_ARCH=powerpc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if [ -x /usr/bin/lslpp ] ; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test -x /usr/bin/lslpp ; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ IBM_REV=$(/usr/bin/lslpp -Lqc bos.rte.libc |
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ awk -F: '{ print $3 }' | sed s/[0-9]*$/0/)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -645,14 +649,14 @@ EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo m68k-hp-bsd4.4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 9000/[34678]??:HP-UX:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case "$UNAME_MACHINE" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 9000/31?) HP_ARCH=m68000 ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 9000/[34]??) HP_ARCH=m68k ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 9000/[678][0-9][0-9])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if [ -x /usr/bin/getconf ]; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test -x /usr/bin/getconf; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ sc_cpu_version=$(/usr/bin/getconf SC_CPU_VERSION 2>/dev/null)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ sc_kernel_bits=$(/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case "$sc_cpu_version" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -664,7 +668,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if [ "$HP_ARCH" = "" ]; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "$HP_ARCH" = ""; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set_cc_for_build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sed 's/^ //' << EOF > "$dummy.c"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -699,11 +703,11 @@ EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit (0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=$("$dummy")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- test -z "$HP_ARCH" && HP_ARCH=hppa
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if [ "$HP_ARCH" = hppa2.0w ]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "$HP_ARCH" = hppa2.0w
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set_cc_for_build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -727,7 +731,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ia64:HP-UX:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo ia64-hp-hpux"$HPUX_REV"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 3050*:HI-UX:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -757,7 +761,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit (0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy") &&
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { echo "$SYSTEM_NAME"; exit; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo unknown-hitachi-hiuxwe2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -777,7 +781,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo hppa1.0-hp-osf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- i*86:OSF1:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if [ -x /usr/sbin/sysversion ] ; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test -x /usr/sbin/sysversion ; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "$UNAME_MACHINE"-unknown-osf1mk
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "$UNAME_MACHINE"-unknown-osf1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -826,14 +830,14 @@ EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ FUJITSU_PROC=$(uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ FUJITSU_REL=$(echo "$UNAME_RELEASE" | sed -e 's/ /_/')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 5000:UNIX_System_V:4.*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ FUJITSU_REL=$(echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -846,25 +850,25 @@ EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- arm:FreeBSD:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- UNAME_PROCESSOR=`uname -p`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNAME_PROCESSOR=$(uname -p)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set_cc_for_build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- | grep -q __ARM_PCS_VFP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabihf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *:FreeBSD:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- UNAME_PROCESSOR=`/usr/bin/uname -p`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNAME_PROCESSOR=$(/usr/bin/uname -p)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case "$UNAME_PROCESSOR" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- amd64)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- UNAME_PROCESSOR=x86_64 ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- i386)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- UNAME_PROCESSOR=i586 ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "$UNAME_PROCESSOR"-unknown-freebsd"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- i*:CYGWIN*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "$UNAME_MACHINE"-pc-cygwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -900,15 +904,15 @@ EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo x86_64-pc-cygwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- prep*:SunOS:5.*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo powerpcle-unknown-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *:GNU:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # the GNU system
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "$(echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,')-unknown-$LIBC$(echo "$UNAME_RELEASE"|sed -e 's,/.*$,,')"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *:GNU/*:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # other systems with GNU libc and userland
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "$UNAME_MACHINE-unknown-$(echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]")$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')-$LIBC"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *:Minix:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "$UNAME_MACHINE"-unknown-minix
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -921,7 +925,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- alpha:Linux:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case $(sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null) in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- EV5) UNAME_MACHINE=alphaev5 ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- EV56) UNAME_MACHINE=alphaev56 ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PCA56) UNAME_MACHINE=alphapca56 ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1030,7 +1034,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI')"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- mips64el:Linux:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1050,7 +1054,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- parisc:Linux:*:* | hppa:Linux:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Look for CPU level
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case $(grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2) in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *) echo hppa-unknown-linux-"$LIBC" ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1090,7 +1094,17 @@ EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "$UNAME_MACHINE"-dec-linux-"$LIBC"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- x86_64:Linux:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ set_cc_for_build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ LIBCABI=$LIBC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "$CC_FOR_BUILD" != no_compiler_found; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ grep IS_X32 >/dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ LIBCABI="$LIBC"x32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "$UNAME_MACHINE"-pc-linux-"$LIBCABI"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- xtensa*:Linux:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1130,7 +1144,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "$UNAME_MACHINE"-pc-msdosdjgpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- i*86:*:4.*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNAME_REL=$(echo "$UNAME_RELEASE" | sed 's/\/MP$//')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1139,7 +1153,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- i*86:*:5:[678]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # UnixWare 7.x, OpenUNIX and OpenServer 6.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- case `/bin/uname -X | grep "^Machine"` in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case $(/bin/uname -X | grep "^Machine") in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *486*) UNAME_MACHINE=i486 ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *Pentium) UNAME_MACHINE=i586 ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1148,10 +1162,10 @@ EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- i*86:*:3.2:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test -f /usr/options/cb.name; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNAME_REL=$(sed -n 's/.*Version //p' </usr/options/cb.name)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- elif /bin/uname -X 2>/dev/null >/dev/null ; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNAME_REL=$( (/bin/uname -X|grep Release|sed -e 's/.*= //'))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- && UNAME_MACHINE=i586
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1201,7 +1215,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OS_REL=''
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- test -r /etc/.relid \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1212,7 +1226,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- NCR*:*:4.2:* | MPRAS*:*:4.2:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OS_REL='.3'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- test -r /etc/.relid \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1245,7 +1259,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *:SINIX-*:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if uname -p 2>/dev/null >/dev/null ; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- UNAME_MACHINE=`(uname -p) 2>/dev/null`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNAME_MACHINE=$( (uname -p) 2>/dev/null)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "$UNAME_MACHINE"-sni-sysv4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo ns32k-sni-sysv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1279,7 +1293,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo mips-sony-newsos6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if [ -d /usr/nec ]; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test -d /usr/nec; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo mips-nec-sysv"$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo mips-unknown-sysv"$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1327,8 +1341,11 @@ EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *:Rhapsody:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ arm64:Darwin:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo aarch64-apple-darwin"$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *:Darwin:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- UNAME_PROCESSOR=`uname -p`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNAME_PROCESSOR=$(uname -p)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case $UNAME_PROCESSOR in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- unknown) UNAME_PROCESSOR=powerpc ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1341,7 +1358,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set_cc_for_build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if test "$CC_FOR_BUILD" != no_compiler_found; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- grep IS_64BIT_ARCH >/dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1365,7 +1382,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *:procnto*:*:* | *:QNX:[0123456789]*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- UNAME_PROCESSOR=`uname -p`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNAME_PROCESSOR=$(uname -p)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$UNAME_PROCESSOR" = x86; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- UNAME_PROCESSOR=i386
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- UNAME_MACHINE=pc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1433,10 +1450,10 @@ EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo mips-sei-seiux"$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *:DragonFly:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "$UNAME_MACHINE"-unknown-dragonfly"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *:*VMS:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- UNAME_MACHINE=`(uname -p) 2>/dev/null`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNAME_MACHINE=$( (uname -p) 2>/dev/null)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case "$UNAME_MACHINE" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- A*) echo alpha-dec-vms ; exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- I*) echo ia64-dec-vms ; exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1446,7 +1463,7 @@ EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo i386-pc-xenix
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- i*86:skyos:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "$UNAME_MACHINE"-pc-skyos"$(echo "$UNAME_RELEASE" | sed -e 's/ .*$//')"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- i*86:rdos:*:*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "$UNAME_MACHINE"-pc-rdos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1504,7 +1521,7 @@ main ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define __ARCHITECTURE__ "m68k"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int version;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ version=$( (hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (version < 4)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1596,7 +1613,7 @@ main ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`$dummy` &&
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=$($dummy) &&
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { echo "$SYSTEM_NAME"; exit; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Apollos put the system type in the environment.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1624,6 +1641,12 @@ copies of config.guess and config.sub with the latest versions from:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+year=$(echo $timestamp | sed 's,-.*,,')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# shellcheck disable=SC2003
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test "$(expr "$(date +%Y)" - "$year")" -lt 3 ; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ cat >&2 <<EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- If $0 has already been updated, send the following data and any
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- information you think might be pertinent to config-patches@gnu.org to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1631,26 +1654,27 @@ provide the necessary information to handle your system.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- config.guess timestamp = $timestamp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--uname -m = `(uname -m) 2>/dev/null || echo unknown`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--uname -r = `(uname -r) 2>/dev/null || echo unknown`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--uname -s = `(uname -s) 2>/dev/null || echo unknown`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--uname -v = `(uname -v) 2>/dev/null || echo unknown`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+uname -m = $( (uname -m) 2>/dev/null || echo unknown)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+uname -r = $( (uname -r) 2>/dev/null || echo unknown)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+uname -s = $( (uname -s) 2>/dev/null || echo unknown)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+uname -v = $( (uname -v) 2>/dev/null || echo unknown)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/usr/bin/uname -p = $( (/usr/bin/uname -p) 2>/dev/null)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/bin/uname -X = $( (/bin/uname -X) 2>/dev/null)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--hostinfo = `(hostinfo) 2>/dev/null`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/bin/universe = `(/bin/universe) 2>/dev/null`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/bin/arch = `(/bin/arch) 2>/dev/null`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+hostinfo = $( (hostinfo) 2>/dev/null)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/bin/universe = $( (/bin/universe) 2>/dev/null)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/usr/bin/arch -k = $( (/usr/bin/arch -k) 2>/dev/null)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/bin/arch = $( (/bin/arch) 2>/dev/null)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/usr/bin/oslevel = $( (/usr/bin/oslevel) 2>/dev/null)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/usr/convex/getsysinfo = $( (/usr/convex/getsysinfo) 2>/dev/null)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- UNAME_MACHINE = "$UNAME_MACHINE"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- UNAME_RELEASE = "$UNAME_RELEASE"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- UNAME_SYSTEM = "$UNAME_SYSTEM"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- UNAME_VERSION = "$UNAME_VERSION"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- EOF
</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;'>- exit 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git config.sub config.sub
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index a318a468685..c874b7a9df8 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- config.sub
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ config.sub
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,8 +1,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #! /bin/sh
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Configuration validation subroutine script.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# Copyright 1992-2019 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Copyright 1992-2020 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--timestamp='2019-06-30'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+timestamp='2020-11-07'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # This file is free software; you can redistribute it and/or modify it
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # under the terms of the GNU General Public License as published by
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -50,7 +50,7 @@ timestamp='2019-06-30'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # It is wrong to echo any other type of specification.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--me=`echo "$0" | sed -e 's,.*/,,'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+me=$(echo "$0" | sed -e 's,.*/,,')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- usage="\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -67,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- version="\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GNU config.sub ($timestamp)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--Copyright 1992-2019 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Copyright 1992-2020 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- This is free software; see the source for copying conditions. There is NO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -124,28 +124,27 @@ case $1 in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *-*-*-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=$field1-$field2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=$field3-$field4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=$field3-$field4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *-*-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # parts
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- maybe_os=$field2-$field3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case $maybe_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ nto-qnx* | linux-* | uclinux-uclibc* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- | storm-chaos* | os2-emx* | rtmk-nova*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=$field1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=$maybe_os
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=$maybe_os
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- android-linux)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=$field1-unknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=linux-android
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=linux-android
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=$field1-$field2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=$field3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=$field3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -154,7 +153,7 @@ case $1 in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case $field1-$field2 in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- decstation-3100)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=mips-dec
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Second component is usually, but not always the OS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -162,7 +161,7 @@ case $1 in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Prevent following clause from handling this valid os
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sun*os*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=$field1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=$field2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=$field2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Manufacturers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -175,11 +174,11 @@ case $1 in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- | microblaze* | sim | cisco \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- | oki | wec | wrs | winbond)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=$field1-$field2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=$field1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=$field2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=$field2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -191,447 +190,451 @@ case $1 in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case $field1 in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 386bsd)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=i386-pc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=bsd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=bsd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- a29khif)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=a29k-amd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=udi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=udi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- adobe68k)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68010-adobe
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=scout
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=scout
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- alliant)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=fx80-alliant
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- altos | altos3068)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68k-altos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- am29k)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=a29k-none
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=bsd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=bsd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- amdahl)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=580-amdahl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=sysv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=sysv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- amiga)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68k-unknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- amigaos | amigados)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68k-unknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=amigaos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=amigaos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- amigaunix | amix)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68k-unknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=sysv4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=sysv4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- apollo68)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68k-apollo
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=sysv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=sysv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- apollo68bsd)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68k-apollo
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=bsd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=bsd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aros)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=i386-pc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=aros
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=aros
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aux)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68k-apple
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=aux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=aux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- balance)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=ns32k-sequent
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=dynix
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=dynix
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- blackfin)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=bfin-unknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=linux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=linux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cegcc)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=arm-unknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=cegcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=cegcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- convex-c1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=c1-convex
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=bsd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=bsd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- convex-c2)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=c2-convex
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=bsd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=bsd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- convex-c32)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=c32-convex
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=bsd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=bsd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- convex-c34)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=c34-convex
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=bsd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=bsd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- convex-c38)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=c38-convex
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=bsd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=bsd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cray)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=j90-cray
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=unicos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=unicos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- crds | unos)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68k-crds
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- da30)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68k-da30
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- decstation | pmax | pmin | dec3100 | decstatn)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=mips-dec
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- delta88)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m88k-motorola
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=sysv3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=sysv3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- dicos)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=i686-pc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=dicos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=dicos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- djgpp)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=i586-pc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=msdosdjgpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=msdosdjgpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ebmon29k)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=a29k-amd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=ebmon
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=ebmon
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- es1800 | OSE68k | ose68k | ose | OSE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68k-ericsson
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=ose
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=ose
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gmicro)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=tron-gmicro
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=sysv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=sysv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- go32)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=i386-pc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=go32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=go32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- h8300hms)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=h8300-hitachi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=hms
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=hms
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- h8300xray)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=h8300-hitachi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=xray
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=xray
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- h8500hms)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=h8500-hitachi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=hms
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=hms
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- harris)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m88k-harris
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=sysv3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=sysv3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hp300 | hp300hpux)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68k-hp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=hpux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=hpux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hp300bsd)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68k-hp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=bsd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=bsd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hppaosf)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=hppa1.1-hp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=osf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=osf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hppro)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=hppa1.1-hp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=proelf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=proelf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- i386mach)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=i386-mach
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=mach
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=mach
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- isi68 | isi)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68k-isi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=sysv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=sysv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- m68knommu)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68k-unknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=linux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=linux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- magnum | m3230)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=mips-mips
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=sysv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=sysv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- merlin)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=ns32k-utek
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=sysv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=sysv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- mingw64)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=x86_64-pc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=mingw64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=mingw64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- mingw32)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=i686-pc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=mingw32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=mingw32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- mingw32ce)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=arm-unknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=mingw32ce
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=mingw32ce
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- monitor)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68k-rom68k
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=coff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=coff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- morphos)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=powerpc-unknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=morphos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=morphos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- moxiebox)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=moxie-unknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=moxiebox
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=moxiebox
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- msdos)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=i386-pc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=msdos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=msdos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- msys)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=i686-pc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=msys
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=msys
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- mvs)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=i370-ibm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=mvs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=mvs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- nacl)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=le32-unknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=nacl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=nacl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ncr3000)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=i486-ncr
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=sysv4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=sysv4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- netbsd386)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=i386-pc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=netbsd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=netbsd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- netwinder)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=armv4l-rebel
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=linux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=linux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- news | news700 | news800 | news900)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68k-sony
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=newsos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=newsos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- news1000)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68030-sony
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=newsos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=newsos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- necv70)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=v70-nec
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=sysv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=sysv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- nh3000)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68k-harris
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=cxux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=cxux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- nh[45]000)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m88k-harris
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=cxux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=cxux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- nindy960)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=i960-intel
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=nindy
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=nindy
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- mon960)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=i960-intel
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=mon960
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=mon960
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- nonstopux)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=mips-compaq
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=nonstopux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=nonstopux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os400)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=powerpc-ibm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=os400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=os400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OSE68000 | ose68000)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68000-ericsson
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=ose
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=ose
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os68k)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68k-none
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=os68k
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=os68k
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- paragon)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=i860-intel
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=osf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=osf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- parisc)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=hppa-unknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=linux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=linux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ psp)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_machine=mipsallegrexel-sony
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=psp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pw32)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=i586-unknown
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=pw32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=pw32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rdos | rdos64)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=x86_64-pc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=rdos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=rdos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rdos32)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=i386-pc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=rdos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=rdos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rom68k)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68k-rom68k
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=coff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=coff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sa29200)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=a29k-amd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=udi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=udi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sei)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=mips-sei
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=seiux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=seiux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sequent)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=i386-sequent
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sps7)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68k-bull
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=sysv2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=sysv2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- st2000)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68k-tandem
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- stratus)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=i860-stratus
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=sysv4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=sysv4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sun2)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68000-sun
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sun2os3)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68000-sun
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=sunos3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=sunos3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sun2os4)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68000-sun
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=sunos4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=sunos4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sun3)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68k-sun
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sun3os3)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68k-sun
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=sunos3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=sunos3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sun3os4)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68k-sun
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=sunos4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=sunos4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sun4)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=sparc-sun
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sun4os3)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=sparc-sun
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=sunos3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=sunos3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sun4os4)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=sparc-sun
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=sunos4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=sunos4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sun4sol2)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=sparc-sun
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=solaris2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=solaris2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sun386 | sun386i | roadrunner)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=i386-sun
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sv1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=sv1-cray
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=unicos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=unicos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- symmetry)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=i386-sequent
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=dynix
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=dynix
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- t3e)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=alphaev5-cray
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=unicos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=unicos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- t90)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=t90-cray
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=unicos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=unicos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- toad1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=pdp10-xkl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=tops20
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=tops20
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tpf)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=s390x-ibm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=tpf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=tpf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- udi29k)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=a29k-amd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=udi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=udi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ultra3)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=a29k-nyu
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=sym1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=sym1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- v810 | necv810)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=v810-nec
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=none
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=none
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vaxv)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=vax-dec
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=sysv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=sysv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vms)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=vax-dec
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=vms
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=vms
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vsta)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=i386-pc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=vsta
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=vsta
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vxworks960)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=i960-wrs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=vxworks
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=vxworks
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vxworks68)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=m68k-wrs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=vxworks
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=vxworks
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vxworks29k)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=a29k-wrs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=vxworks
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=vxworks
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- xbox)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=i686-pc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=mingw32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=mingw32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ymp)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=ymp-cray
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=unicos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=unicos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- basic_machine=$1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -683,17 +686,17 @@ case $basic_machine in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- bluegene*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=powerpc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=ibm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=cnk
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=cnk
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- decsystem10* | dec10*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=pdp10
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=dec
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=tops10
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=tops10
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- decsystem20* | dec20*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=pdp10
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=dec
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=tops20
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=tops20
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- delta | 3300 | motorola-3300 | motorola-delta \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- | 3300-motorola | delta-motorola)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -703,7 +706,7 @@ case $basic_machine in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- dpx2*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=m68k
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=bull
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=sysv3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=sysv3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- encore | umax | mmax)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=ns32k
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -712,7 +715,7 @@ case $basic_machine in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- elxsi)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=elxsi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=elxsi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=${os:-bsd}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=${basic_os:-bsd}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fx2800)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=i860
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -725,7 +728,7 @@ case $basic_machine in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- h3050r* | hiux*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=hppa1.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=hitachi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=hiuxwe2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=hiuxwe2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hp3k9[0-9][0-9] | hp9[0-9][0-9])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=hppa1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -766,38 +769,38 @@ case $basic_machine in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=hp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- i*86v32)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- cpu=`echo "$1" | sed -e 's/86.*/86/'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ cpu=$(echo "$1" | sed -e 's/86.*/86/')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=pc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=sysv32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=sysv32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- i*86v4*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- cpu=`echo "$1" | sed -e 's/86.*/86/'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ cpu=$(echo "$1" | sed -e 's/86.*/86/')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=pc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=sysv4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=sysv4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- i*86v)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- cpu=`echo "$1" | sed -e 's/86.*/86/'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ cpu=$(echo "$1" | sed -e 's/86.*/86/')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=pc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=sysv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=sysv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- i*86sol2)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- cpu=`echo "$1" | sed -e 's/86.*/86/'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ cpu=$(echo "$1" | sed -e 's/86.*/86/')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=pc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=solaris2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=solaris2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- j90 | j90-cray)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=j90
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=cray
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=${os:-unicos}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=${basic_os:-unicos}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- iris | iris4d)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=mips
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=sgi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- case $os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case $basic_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- irix*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=irix4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=irix4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -808,26 +811,26 @@ case $basic_machine in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=m68k
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=atari
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=mint
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=mint
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- news-3600 | risc-news)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=mips
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=sony
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=newsos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=newsos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- next | m*-next)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=m68k
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=next
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- case $os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case $basic_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- openstep*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- nextstep*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ns2*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=nextstep2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=nextstep2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=nextstep3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=nextstep3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -838,12 +841,12 @@ case $basic_machine in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- op50n-* | op60c-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=hppa1.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=oki
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=proelf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=proelf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pa-hitachi)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=hppa1.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=hitachi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=hiuxwe2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=hiuxwe2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pbd)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=sparc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -880,12 +883,12 @@ case $basic_machine in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sde)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=mipsisa32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=sde
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=${os:-elf}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=${basic_os:-elf}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- simso-wrs)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=sparclite
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=wrs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=vxworks
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=vxworks
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tower | tower-32)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=m68k
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -902,7 +905,7 @@ case $basic_machine in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- w89k-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=hppa1.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=winbond
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=proelf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=proelf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- none)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=none
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -914,7 +917,7 @@ case $basic_machine in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- leon-*|leon[3-9]-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=sparc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- vendor=`echo "$basic_machine" | sed 's/-.*//'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ vendor=$(echo "$basic_machine" | sed 's/-.*//')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -955,11 +958,11 @@ case $cpu-$vendor in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # some cases the only manufacturer, in others, it is the most popular.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- craynv-unknown)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=cray
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=${os:-unicosmp}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=${basic_os:-unicosmp}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- c90-unknown | c90-cray)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=cray
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=${os:-unicos}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=${Basic_os:-unicos}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fx80-unknown)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=alliant
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1003,7 +1006,7 @@ case $cpu-$vendor in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- dpx20-unknown | dpx20-bull)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=rs6000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=bull
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=${os:-bosx}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=${basic_os:-bosx}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Here we normalize CPU types irrespective of the vendor
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1012,7 +1015,7 @@ case $cpu-$vendor in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- blackfin-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=bfin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=linux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=linux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- c54x-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=tic54x
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1025,7 +1028,7 @@ case $cpu-$vendor in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- e500v[12]-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=powerpc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=$os"spe"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=${basic_os}"spe"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- mips3*-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=mips64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1035,7 +1038,7 @@ case $cpu-$vendor in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- m68knommu-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=m68k
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=linux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=linux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=s12z
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1045,7 +1048,7 @@ case $cpu-$vendor in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- parisc-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=hppa
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=linux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=linux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=i586
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1081,7 +1084,7 @@ case $cpu-$vendor in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=mipsisa64sb1el
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sh5e[lb]-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ cpu=$(echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- spur-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=spur
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1099,13 +1102,16 @@ case $cpu-$vendor in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=x86_64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- xscale-* | xscalee[bl]-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ cpu=$(echo "$cpu" | sed 's/^xscale/arm/')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ arm64-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ cpu=aarch64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Recognize the canonical CPU Types that limit and/or modify the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # company names they are paired with.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cr16-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=${os:-elf}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=${basic_os:-elf}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- crisv32-* | etraxfs*-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=crisv32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1116,7 +1122,7 @@ case $cpu-$vendor in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=axis
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- crx-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=${os:-elf}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=${basic_os:-elf}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- neo-tandem)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=neo
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1138,16 +1144,12 @@ case $cpu-$vendor in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu=nsx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=tandem
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- s390-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- cpu=s390
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- vendor=ibm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- s390x-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- cpu=s390x
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- vendor=ibm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mipsallegrexel-sony)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ cpu=mipsallegrexel
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ vendor=sony
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tile*-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=${os:-linux-gnu}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ basic_os=${basic_os:-linux-gnu}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1164,7 +1166,7 @@ case $cpu-$vendor in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- | am33_2.0 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- | amdgcn \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- | arc | arceb \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | arm | arm[lb]e | arme[lb] | armv* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | arm | arm[lb]e | arme[lb] | armv* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- | avr | avr32 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- | asmjs \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- | ba \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1229,6 +1231,7 @@ case $cpu-$vendor in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- | pyramid \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- | riscv | riscv32 | riscv64 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- | rl78 | romp | rs6000 | rx \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | s390 | s390x \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- | score \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- | sh | shl \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1275,8 +1278,47 @@ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Decode manufacturer-specific aliases for certain operating systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--if [ x$os != x ]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if test x$basic_os != x
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# First recognize some ad-hoc caes, or perhaps split kernel-os, or else just
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# set os.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+case $basic_os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gnu/linux*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ kernel=linux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ os=$(echo $basic_os | sed -e 's|gnu/linux|gnu|')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ os2-emx)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ kernel=os2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ os=$(echo $basic_os | sed -e 's|os2-emx|emx|')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ nto-qnx*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ kernel=nto
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ os=$(echo $basic_os | sed -e 's|nto-qnx|qnx|')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # shellcheck disable=SC2162
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ IFS="-" read kernel os <<EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$basic_os
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+EOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Default OS when just kernel was specified
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ nto*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ kernel=nto
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ os=$(echo $basic_os | sed -e 's|nto|qnx|')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ linux*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ kernel=linux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ os=$(echo $basic_os | sed -e 's|linux|gnu|')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ kernel=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ os=$basic_os
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Now, normalize the OS (knowing we just have one component, it's not a kernel,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# etc.)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case $os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # First match some system type aliases that might get confused
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # with valid system types.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1288,7 +1330,7 @@ case $os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os=cnk
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- solaris1 | solaris1.*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=`echo $os | sed -e 's|solaris1|sunos4|'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ os=$(echo $os | sed -e 's|solaris1|sunos4|')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- solaris)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os=solaris2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1296,9 +1338,6 @@ case $os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- unixware*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os=sysv4.2uw
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- gnu/linux*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # es1800 is here to avoid being matched by es* (a different OS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- es1800*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os=ose
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1320,12 +1359,9 @@ case $os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os=sco3.2v4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sco3.2.[4-9]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ os=$(echo $os | sed -e 's/sco3.2./sco3.2v/')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- sco3.2v[4-9]* | sco5v6*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- # Don't forget version if it is 3.2v4 or newer.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- scout)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ sco*v* | scout)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Don't match below
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sco*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1334,79 +1370,26 @@ case $os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- psos*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os=psos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- # Now accept the basic system types.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- # The portable systems comes first.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- # Each alternative MUST end in a * to match a version number.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- # sysv* is not here because it comes later, after sysvr4.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | *vms* | esix* | aix* | cnk* | sunos | sunos[34]*\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | sym* | kopensolaris* | plan9* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | aos* | aros* | cloudabi* | sortix* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | knetbsd* | mirbsd* | netbsd* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | chorusrdb* | cegcc* | glidix* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | linux-newlib* | linux-musl* | linux-uclibc* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | uxpv* | beos* | mpeix* | udk* | moxiebox* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | interix* | uwin* | mks* | rhapsody* | darwin* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | openstep* | oskit* | conix* | pw32* | nonstopux* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | storm-chaos* | tops10* | tenex* | tops20* | its* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | os2* | vos* | palmos* | uclinux* | nucleus* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | morphos* | superux* | rtmk* | windiss* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | skyos* | haiku* | rdos* | toppers* | drops* | es* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | nsk* | powerunix)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- # Remember, each alternative MUST END IN *, to match a version number.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- qnx*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- case $cpu in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- x86 | i*86)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- *)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=nto-$os
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ os=qnx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hiux*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os=hiuxwe2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- nto-qnx*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- nto*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=`echo $os | sed -e 's|nto|nto-qnx|'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- sim | xray | os68k* | v88r* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | windows* | osx | abug | netware* | os9* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- | macos* | mpw* | magic* | mmixware* | mon960* | lnews*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- linux-dietlibc)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=linux-dietlibc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- linux*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=`echo $os | sed -e 's|linux|linux-gnu|'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lynx*178)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os=lynxos178
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lynx*5)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os=lynxos5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ lynxos*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # don't get caught up in next wildcard
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lynx*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os=lynxos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- mac*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=`echo "$os" | sed -e 's|mac|macos|'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mac[0-9]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ os=$(echo "$os" | sed -e 's|mac|macos|')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- opened*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os=openedition
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1415,10 +1398,10 @@ case $os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os=os400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sunos5*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ os=$(echo "$os" | sed -e 's|sunos5|solaris2|')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sunos6*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ os=$(echo "$os" | sed -e 's|sunos6|solaris3|')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- wince*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os=wince
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1452,7 +1435,7 @@ case $os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Preserve the version number of sinix5.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sinix5.*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=`echo $os | sed -e 's|sinix|sysv|'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ os=$(echo $os | sed -e 's|sinix|sysv|')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sinix*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os=sysv4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1475,18 +1458,12 @@ case $os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sysvr4)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os=sysv4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- # This must come after sysvr4.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- sysv*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ose*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os=ose
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os=mint
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- zvmoe)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=zvmoe
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- dicos*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os=dicos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1503,19 +1480,11 @@ case $os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- nacl*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ios)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- none)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- *-eabi)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- exit 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # No normalization, but not necessarily accepted, that comes below.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Here we handle the default operating systems that come with various machines.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1528,6 +1497,7 @@ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # will signal an error saying that MANUFACTURER isn't an operating
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # system, and we'll never get to this point.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+kernel=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case $cpu-$vendor in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- score-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os=elf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1539,7 +1509,8 @@ case $cpu-$vendor in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os=riscix1.2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- arm*-rebel)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os=linux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ kernel=linux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ os=gnu
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- arm*-semi)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os=aout
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1705,84 +1676,173 @@ case $cpu-$vendor in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os=none
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</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;'>-+# Now, validate our (potentially fixed-up) OS.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+case $os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Sometimes we do "kernel-abi", so those need to count as OSes.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ musl* | newlib* | uclibc*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Likewise for "kernel-libc"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ eabi | eabihf | gnueabi | gnueabihf)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Now accept the basic system types.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # The portable systems comes first.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Each alternative MUST end in a * to match a version number.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | hiux* | abug | nacl* | netware* | windows* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | os9* | macos* | osx* | ios* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | mpw* | magic* | mmixware* | mon960* | lnews* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | aos* | aros* | cloudabi* | sortix* | twizzler* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | mirbsd* | netbsd* | dicos* | openedition* | ose* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | udi* | lites* | ieee* | go32* | aux* | hcos* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | chorusrdb* | cegcc* | glidix* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | midipix* | mingw32* | mingw64* | mint* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | uxpv* | beos* | mpeix* | udk* | moxiebox* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | interix* | uwin* | mks* | rhapsody* | darwin* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | openstep* | oskit* | conix* | pw32* | nonstopux* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | storm-chaos* | tops10* | tenex* | tops20* | its* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | os2* | vos* | palmos* | uclinux* | nucleus* | morphos* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | scout* | superux* | sysv* | rtmk* | tpf* | windiss* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | skyos* | haiku* | rdos* | toppers* | drops* | es* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # This one is extra strict with allowed versions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Don't forget version if it is 3.2v4 or newer.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ none)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ exit 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# As a final step for OS-related things, validate the OS-kernel combination
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# (given a valid OS), if there is a kernel.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+case $kernel-$os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* | linux-musl* | linux-uclibc* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ uclinux-uclibc* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -dietlibc* | -newlib* | -musl* | -uclibc* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # These are just libc implementations, not actual OSes, and thus
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # require a kernel.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ exit 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ kfreebsd*-gnu* | kopensolaris*-gnu*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ nto-qnx*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ os2-emx)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-eabi* | *-gnueabi*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # Blank kernel with real OS is always fine.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ exit 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Here we handle the case where we know the os, and the CPU type, but not the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # manufacturer. We pick the logical manufacturer.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case $vendor in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- unknown)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- case $os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- riscix*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case $cpu-$os in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-riscix*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=acorn
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- sunos*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-sunos*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=sun
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- cnk*|-aix*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-cnk* | *-aix*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=ibm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- beos*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-beos*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=be
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- hpux*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-hpux*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=hp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- mpeix*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-mpeix*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=hp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- hiux*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-hiux*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=hitachi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- unos*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-unos*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=crds
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- dgux*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-dgux*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=dg
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- luna*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-luna*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=omron
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- genix*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-genix*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=ns
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- clix*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-clix*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=intergraph
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- mvs* | opened*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-mvs* | *-opened*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ vendor=ibm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-os400*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=ibm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os400*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ s390-* | s390x-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=ibm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ptx*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-ptx*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=sequent
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- tpf*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-tpf*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=ibm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- vxsim* | vxworks* | windiss*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-vxsim* | *-vxworks* | *-windiss*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=wrs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- aux*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-aux*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=apple
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- hms*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-hms*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=hitachi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- mpw* | macos*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-mpw* | *-macos*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=apple
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=atari
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- vos*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-vos*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- vendor=stratus
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--echo "$cpu-$vendor-$os"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+echo "$cpu-$vendor-${kernel:+$kernel-}$os"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Local variables:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From b3a7f846ef69f0d54ee937a6eaead1a579a927a1 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Tue, 25 Aug 2020 21:20:12 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 22/68] aarch64 : Mark rotate immediates with '#' as per
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DDI0487iFc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The armv8_arm manual [C6.2.226, ROR (immediate)] uses a # in front
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-of the immediate rotation quantity.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Although, it seems, GAS is able to infer the # (or is leninent about
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-its absence) assemblers based on the LLVM back end expect it.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/aarch64/aarch64.md (<optab>_rol<mode>3): Add a '#'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- mark in front of the immediate quantity.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (<optab>_rolsi3_uxtw): Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 5051c12173713c81921ed133ef5a218e46ab11d1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64.md | 4 ++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 2 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64.md gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index bb4138e0bfa..e5bc78c38a3 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -4356,7 +4356,7 @@ (define_insn "*<optab>_rol<mode>3"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (match_operand:QI 2 "aarch64_shift_imm_<mode>" "n"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (match_operand:GPI 3 "register_operand" "r")))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "<logical>\\t%<w>0, %<w>3, %<w>1, ror (<sizen> - %2)"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "<logical>\\t%<w>0, %<w>3, %<w>1, ror #(<sizen> - %2)"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set_attr "type" "logic_shift_imm")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -4381,7 +4381,7 @@ (define_insn "*<optab>_rolsi3_uxtw"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (match_operand:QI 2 "aarch64_shift_imm_si" "n"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (match_operand:SI 3 "register_operand" "r"))))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "<logical>\\t%w0, %w3, %w1, ror (32 - %2)"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "<logical>\\t%w0, %w3, %w1, ror #(32 - %2)"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set_attr "type" "logic_shift_imm")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From b171e096b5506694744ec16155e053c03fb16456 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Wed, 2 Sep 2020 20:33:00 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 23/68] Darwin : Make trampoline templates linker-visible.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-For Arm64, the alignment of the LTRAMPn symbols matters.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Actually, the LTRAMPn symbols _are_ 8 byte aligned, but because
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-they are Local, the linker doesn't know that this guarantee can be met.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-It assumes that they are not necessarily more aligned than the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-containing section (ld64 atoms strike again).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The fix is to publish the trampoline symbol for the linker to access
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-directly - it can then see that the atom is suitably aligned.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Fixes issue #11.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 717057366d780cc3f54d5621e78334a3e63789d0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/darwin.h | 2 ++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 2 insertions(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/darwin.h gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index e360e771c6d..076ff9f29eb 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -895,6 +895,8 @@ extern GTY(()) section * darwin_sections[NUM_DARWIN_SECTIONS];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sprintf (LABEL, "*%s%ld", "lubsan_type", (long)(NUM));\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else if (strcmp ("LASAN", PREFIX) == 0) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sprintf (LABEL, "*%s%ld", "lASAN", (long)(NUM));\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else if (strcmp ("LTRAMP", PREFIX) == 0) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ sprintf (LABEL, "*%s%ld", "lTRAMP", (long)(NUM));\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sprintf (LABEL, "*%s%ld", PREFIX, (long)(NUM)); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } while (0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 6d7418c3ca7cef4e278308e70cfbebfa2c2b88e2 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iainsandoe@28116.local>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sun, 30 Aug 2020 00:30:50 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 24/68] aarch64 : Cast print value per format description.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Fixes a build fail.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 38ac493db36eac0e16a80a0cf30ddb431e7f80c7)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/falkor-tag-collision-avoidance.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/falkor-tag-collision-avoidance.c gcc/config/aarch64/falkor-tag-collision-avoidance.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index a96a3320e8f..a119e2b8f25 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/falkor-tag-collision-avoidance.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/falkor-tag-collision-avoidance.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -740,7 +740,7 @@ dump_insn_list (const rtx &t, const insn_info_list_t &insn_info,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void *unused ATTRIBUTE_UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc_assert (dump_file);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- fprintf (dump_file, "Tag 0x%lx ::\n", INTVAL (t));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fprintf (dump_file, "Tag 0x%lx ::\n", (long unsigned int)INTVAL (t));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- for (unsigned i = 0; i < insn_info.length (); i++)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- dump_insn_slim (dump_file, insn_info[i]->insn);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From d732b46b7ab081d5585e929cba62147be02577b3 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Wed, 2 Sep 2020 18:05:24 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 25/68] Darwin, Arm64 : Truncate char immediates in vector
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- initializers to mode size.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Darwin has signed chars, so that 8b immediates > 127 appear to be negative
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-which produce large positive (out of assembler range) values when inspected
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-by UINTVAL (). This patch truncates the values to the bitrange of the mode
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-of the input.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Fixes github issue 15.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 9060dd0ac879a3bf2f2950ac7fa41b65072bc219)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64.c | 20 +++++++++++++++-----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 15 insertions(+), 5 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 9b400c49ac6..eea0ae32332 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -20091,6 +20091,16 @@ aarch64_output_simd_mov_immediate (rtx const_vector, unsigned width,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc_assert (CONST_INT_P (info.u.mov.value));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ unsigned HOST_WIDE_INT value = UINTVAL (info.u.mov.value);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* We have signed chars which can result in a sign-extended 8bit value
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ which is then emitted as an unsigned hex value, and the LLVM back end
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ assembler rejects that as being too big. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (TARGET_MACHO && (known_eq (GET_MODE_BITSIZE (info.elt_mode), 8)))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ unsigned HOST_WIDE_INT mask = (1U << GET_MODE_BITSIZE (info.elt_mode))-1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ value &= mask;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (which == AARCH64_CHECK_MOV)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -20099,16 +20109,16 @@ aarch64_output_simd_mov_immediate (rtx const_vector, unsigned width,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ? "msl" : "lsl");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (lane_count == 1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- snprintf (templ, sizeof (templ), "%s\t%%d0, " HOST_WIDE_INT_PRINT_HEX,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- mnemonic, UINTVAL (info.u.mov.value));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mnemonic, value);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else if (info.u.mov.shift)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- snprintf (templ, sizeof (templ), "%s\t%%0.%d%c, "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- HOST_WIDE_INT_PRINT_HEX ", %s %d", mnemonic, lane_count,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- element_char, UINTVAL (info.u.mov.value), shift_op,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ element_char, value, shift_op,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- info.u.mov.shift);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- snprintf (templ, sizeof (templ), "%s\t%%0.%d%c, "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- HOST_WIDE_INT_PRINT_HEX, mnemonic, lane_count,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- element_char, UINTVAL (info.u.mov.value));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ element_char, value);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -20117,12 +20127,12 @@ aarch64_output_simd_mov_immediate (rtx const_vector, unsigned width,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (info.u.mov.shift)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- snprintf (templ, sizeof (templ), "%s\t%%0.%d%c, #"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- HOST_WIDE_INT_PRINT_DEC ", %s #%d", mnemonic, lane_count,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- element_char, UINTVAL (info.u.mov.value), "lsl",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ element_char, value, "lsl",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- info.u.mov.shift);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- snprintf (templ, sizeof (templ), "%s\t%%0.%d%c, #"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- HOST_WIDE_INT_PRINT_DEC, mnemonic, lane_count,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- element_char, UINTVAL (info.u.mov.value));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ element_char, value);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return templ;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 3bc0f4d8e38d4d0e42270781e57de8aa01bb9729 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Fri, 16 Oct 2020 15:26:40 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 26/68] Darwin, Arm64 : Proof-of-principle hack Fortran to use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- descriptors for nested.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This addresses Issue #32 by adjusting the nested function hack to use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-bit 1.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-NOTE: that Arm reserve both bits 0 and 1 for furture use, so that this
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-is still a hack.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit eb558326dace69781e48bedafe16fd79aa27ca8b)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 3422978e480e66623a25e757634d20da0e132c0b)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/c/c-lang.c | 3 +++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64.c | 4 ++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/i386/darwin.h | 10 ++++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/fortran/f95-lang.c | 2 ++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/fortran/trans-expr.c | 7 +++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/fortran/trans.c | 11 +++++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 6 files changed, 35 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/c/c-lang.c gcc/c/c-lang.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 5d52c42391c..21d6b9b5ebf 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/c/c-lang.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/c/c-lang.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -38,6 +38,9 @@ enum c_language_kind c_language = clk_c;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef LANG_HOOKS_INIT_TS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define LANG_HOOKS_INIT_TS c_common_init_ts
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS true
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if CHECKING_P
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef LANG_HOOKS_RUN_LANG_SELFTESTS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define LANG_HOOKS_RUN_LANG_SELFTESTS selftest::run_c_tests
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index eea0ae32332..52aa971ffe6 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -23980,9 +23980,9 @@ aarch64_libgcc_floating_mode_supported_p
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define TARGET_DWARF_POLY_INDETERMINATE_VALUE \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64_dwarf_poly_indeterminate_value
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* The architecture reserves bits 0 and 1 so use bit 2 for descriptors. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* The architecture reserves bits 0 and 1 but hack 1 for now. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef TARGET_CUSTOM_FUNCTION_DESCRIPTORS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define TARGET_CUSTOM_FUNCTION_DESCRIPTORS 4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define TARGET_CUSTOM_FUNCTION_DESCRIPTORS 2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef TARGET_HARD_REGNO_NREGS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define TARGET_HARD_REGNO_NREGS aarch64_hard_regno_nregs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/i386/darwin.h gcc/config/i386/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 8458342c099..e46067d3577 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/i386/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/i386/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -323,3 +323,13 @@ along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- = darwin_init_cfstring_builtins ((unsigned) (IX86_BUILTIN_CFSTRING)); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin_rename_builtins (); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } while(0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Define the shadow offset for asan. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef SUBTARGET_SHADOW_OFFSET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SUBTARGET_SHADOW_OFFSET \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (TARGET_LP64 ? HOST_WIDE_INT_1 << 44 : HOST_WIDE_INT_1 << 29)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Make sure that any code we generate is compatible with the Fortran/Ada
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ function descriptor impl. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef FUNCTION_BOUNDARY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define FUNCTION_BOUNDARY 16
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/fortran/f95-lang.c gcc/fortran/f95-lang.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 44ebe3e294d..93553011f55 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/fortran/f95-lang.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/fortran/f95-lang.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -169,6 +169,8 @@ static const struct attribute_spec gfc_attribute_table[] =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define LANG_HOOKS_BUILTIN_FUNCTION gfc_builtin_function
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define LANG_HOOKS_GET_ARRAY_DESCR_INFO gfc_get_array_descr_info
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define LANG_HOOKS_ATTRIBUTE_TABLE gfc_attribute_table
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS true
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/fortran/trans-expr.c gcc/fortran/trans-expr.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index c2321a9ff5f..3e9d2b7729f 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/fortran/trans-expr.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/fortran/trans-expr.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -7099,6 +7099,8 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- arglist = retargs;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Generate the actual call. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ bool is_proc_ptr_comp = gfc_is_proc_ptr_comp (expr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (base_object == NULL_TREE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- conv_function_val (se, sym, expr, args);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -7124,6 +7126,11 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fntype = TREE_TYPE (TREE_TYPE (se->expr));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- se->expr = build_call_vec (TREE_TYPE (fntype), se->expr, arglist);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tree ff = CALL_EXPR_FN (se->expr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (ff && INDIRECT_REF_P (ff))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ff = TREE_OPERAND (ff, 0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (is_proc_ptr_comp || !ff || VAR_P (ff) || TREE_CODE (ff) == PARM_DECL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ CALL_EXPR_BY_DESCRIPTOR (se->expr) = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Allocatable scalar function results must be freed and nullified
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- after use. This necessitates the creation of a temporary to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/fortran/trans.c gcc/fortran/trans.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 4c197a0fbc1..065421ed640 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/fortran/trans.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/fortran/trans.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -288,6 +288,14 @@ gfc_build_addr_expr (tree type, tree t)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- natural_type = build_pointer_type (base_type);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* If this is a nested function that uses the static chain, or if
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ optimization is disabled (a static chain will be added automatically)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ then call by descriptor. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ bool fn_with_static_chain = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (TREE_CODE (t) == FUNCTION_DECL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ && (DECL_STATIC_CHAIN (t) || (!optimize && decl_function_context (t))))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fn_with_static_chain = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (TREE_CODE (t) == INDIRECT_REF)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (!type)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -306,6 +314,9 @@ gfc_build_addr_expr (tree type, tree t)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (type && natural_type != type)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- t = convert (type, t);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (fn_with_static_chain)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ FUNC_ADDR_BY_DESCRIPTOR (t) = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From b4f5f6b753c4ea6917c6488c9d90ccc473e4067c Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Thu, 30 Jul 2020 19:00:55 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 27/68] Darwin, Arm64 : Top level boiler-plate changes.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This just adds the target to the top level configure. NOTE that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-we allow arm64 and aarch64 here.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit dac80a7c4b1f6919fc7dbd876b336da2ec2957d9)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure | 4 +++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.ac | 4 +++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 6 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git configure configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index a9b41249686..9367a6db04b 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3740,7 +3740,7 @@ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case "${target}" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *-*-chorusos)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- aarch64-*-darwin*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ aarch64-*-darwin* | arm64*-*-darwin*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- noconfigdirs="$noconfigdirs ld gas gdb gprof"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- noconfigdirs="$noconfigdirs sim target-rda"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -4085,6 +4085,8 @@ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hppa*-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- host_makefile_frag="config/mh-pa"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ aarch64-*-darwin* | arm64*-*-darwin*)
</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;'>- host_makefile_frag="config/mh-darwin"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git configure.ac configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 38b61964f0f..079259b5365 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1007,7 +1007,7 @@ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case "${target}" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *-*-chorusos)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- aarch64-*-darwin*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ aarch64-*-darwin* | arm64*-*-darwin*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- noconfigdirs="$noconfigdirs ld gas gdb gprof"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- noconfigdirs="$noconfigdirs sim target-rda"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1333,6 +1333,8 @@ case "${host}" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hppa*-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- host_makefile_frag="config/mh-pa"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ aarch64-*-darwin* | arm64*-*-darwin*)
</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;'>- host_makefile_frag="config/mh-darwin"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 1c5cd3129495338856c3978540cfb30bcb6f6a23 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Mon, 3 Aug 2020 22:46:40 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 28/68] Darwin, Arm64 : Base build changes to Darwin common
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- code.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-It seems that the arm64 port will not make use of traditional mach-o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-pic but instead use a GOT - as such, the target-dependent parts of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-darwin.c are made NOP for this. We still expect to apply other Mach-O
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-constraints.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Most of the change is about the support for giving the user an error
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-message when they try to invoke the compiler with multiple -arch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-flags.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-There is no provision in the initial port to handle the arm64_32 variant.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This is (understood to be) only used in watchOS which we are not
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-supporting initially.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ No machopic indirections for Arm64 personality/LSDA entries.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-As for x86-64 (64bit code), the personality and LSDA .cfi_xxx entries
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-do not require an indirection in the compiler code.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Accept arm64 in arch flags, for aarch64 compilers.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-We were checking for this and complaining if it was present for an
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-X86 or PPC compiler, but we also need to accept (and ignore it) for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-an aarch64 / Arm64 compiler.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 03f7e422c3dfc7b2f286fdb644f572999d991def)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/darwin-driver.c | 24 ++++++++++++++++++++++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/darwin.c | 11 ++++++++++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/darwin.h | 1 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 3 files changed, 33 insertions(+), 3 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/darwin-driver.c gcc/config/darwin-driver.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 6ceccba1e98..57acbefeb41 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/darwin-driver.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/darwin-driver.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -277,10 +277,13 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- bool seenX86_64 = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- bool seenPPC = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- bool seenPPC64 = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if !DARWIN_ARM64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ bool seenArm64 = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- bool seenM32 = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- bool seenM64 = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- bool appendM32 = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- bool appendM64 = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const char *vers_string = NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- bool seen_version_min = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- bool seen_sysroot_p = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -306,6 +309,12 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- seenPPC = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else if (!strcmp ((*decoded_options)[i].arg, "ppc64"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- seenPPC64 = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else if (!strcmp ((*decoded_options)[i].arg, "arm64"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if !DARWIN_ARM64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ seenArm64 = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ; /* We accept the option, but don't need to act on it. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- error ("this compiler does not support %s",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (*decoded_options)[i].arg);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -319,7 +328,7 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --i;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --*decoded_options_count;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if !DARWIN_ARM64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case OPT_m32:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- seenM32 = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -327,7 +336,7 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case OPT_m64:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- seenM64 = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case OPT_filelist:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case OPT_framework:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ++*decoded_options_count;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -394,6 +403,8 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if DARWIN_X86
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (seenPPC || seenPPC64)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- warning (0, "this compiler does not support PowerPC (arch flags ignored)");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else if (seenArm64)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ warning (0, "this compiler does not support Arm64 (arch flags ignored)");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (seenX86)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (seenX86_64 || seenM64)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -413,6 +424,8 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #elif DARWIN_PPC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (seenX86 || seenX86_64)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- warning (0, "this compiler does not support X86 (arch flags ignored)");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else if (seenArm64)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ warning (0, "this compiler does not support Arm64 (arch flags ignored)");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (seenPPC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (seenPPC64 || seenM64)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -429,8 +442,14 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else if (! seenM64) /* Add -m64 if the User didn't. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- appendM64 = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#elif DARWIN_ARM64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (seenPPC || seenPPC64)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ warning (0, "this compiler does not support PowerPC (arch flags ignored)");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (seenX86 || seenX86_64)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ warning (0, "this compiler does not support X86 (arch flags ignored)");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if !DARWIN_ARM64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (appendM32 || appendM64)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ++*decoded_options_count;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -440,6 +459,7 @@ darwin_driver_init (unsigned int *decoded_options_count,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- generate_option (appendM32 ? OPT_m32 : OPT_m64, NULL, 1, CL_DRIVER,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- &(*decoded_options)[*decoded_options_count - 1]);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (! seen_sysroot_p)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/darwin.c gcc/config/darwin.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 511d4897306..bdf1588fc0f 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/darwin.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/darwin.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -115,7 +115,7 @@ static bool ld_init_term_start_labels = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- section * darwin_sections[NUM_DARWIN_SECTIONS];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* While we transition to using in-tests instead of ifdef'd code. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#if !HAVE_lo_sum
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if !HAVE_lo_sum || DARWIN_ARM64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define gen_macho_high(m,a,b) (a)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define gen_macho_low(m,a,b,c) (a)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1055,6 +1055,7 @@ machopic_legitimize_pic_address (rtx orig, machine_mode mode, rtx reg)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return pic_ref;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if !DARWIN_ARM64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Callbacks to output the stub or non-lazy pointers.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Each works on the item in *SLOT,if it has been used.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DATA is the FILE* for assembly output.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1210,6 +1211,7 @@ machopic_finish (FILE *asm_out_file)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- machopic_indirections->traverse_noresize
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- <FILE *, machopic_output_indirection> (asm_out_file);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- machopic_operand_p (rtx op)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2242,6 +2244,8 @@ darwin_emit_except_table_label (FILE *file)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rtx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin_make_eh_symbol_indirect (rtx orig, bool ARG_UNUSED (pubvis))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (DARWIN_ARM64)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return orig;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (DARWIN_PPC == 0 && TARGET_64BIT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return orig;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3053,7 +3057,12 @@ darwin_file_end (void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fprintf (asm_out_file, "\t.long\t0\n\t.long\t%u\n", flags);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if !DARWIN_ARM64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- machopic_finish (asm_out_file);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_checking_assert (!machopic_indirections);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (flag_apple_kext)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* These sections are only used for kernel code. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/darwin.h gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 076ff9f29eb..c63f2d79958 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -42,6 +42,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define DARWIN_X86 0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define DARWIN_PPC 0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define DARWIN_ARM64 0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Suppress g++ attempt to link in the math library automatically. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define MATH_LIBRARY ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 7870a6ae2b4fab00b2f902d5111e877cfb29483e Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sun, 9 Aug 2020 23:04:15 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 29/68] Darwin, Arm64 : Initial definitions for the port.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This is enough to make a buildable cross-compiler on x86_64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Darwin and compile trivial codes. Although the link phase might
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-not succeed - one can link objects manually and get an exe
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-that works.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-There's an initial implementation of the rule changes for darwinpcs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-There's an initial (pretty hacky) set of changes to deal with the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-post-fix assembly notation for Mach-O relocs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-There are a few places where ELF was assumed, and we need to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-prevent incompatible output for Mach-O (probably there are other
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-ways to do this).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Pick up atomic builtins from the libgcc.a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-CHECKME: should these be exported from the shared lib? (at
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-present, that doesn't seem to be ideal). Look at what's done for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-the clang toolchain.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ long double is DF not TF :(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-We will need to figure out what to do about supporting XXX*16 a some point.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Fix ptrdiff type.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This was wrong (the size needs to track the 64-bitness and was failing
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-to do so.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Add in driver sef-specs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Ensure that we issue the Darwin driver self specs and set the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-mabi and little-endian flags. clang accepts -mabi=darwinpcs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-so we allow that (but it means the same as lp64 at present since
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-the target is determined at configuration time).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Fix an other build error for Darwin.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Since we don't emit ELF function decorations this means that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-some of the variables are unused.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Initial implementation for EH without .cfi_xxxx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-While we can (most likely) make the .cfi_ codegen work, there are
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-comments in the Ada code that suggest the capabilities of the unwinder
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-are somewhat restricted. At least this option allows for the case of using
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-libgcc_eh when an exe is self-contained.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Just whitespace fixes NFC.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ We don't yet support TF, so reject 'q' suffix.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The floating point literal suffix 'q' is specifically stated to be used
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-for _float128, which we don't yet support.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Connect up the subtarget builtins i.e. __builtin_cfstring.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The idea of OS-specific subtarget builtins doesn't fit too well with
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-the general organisation of the aarch64 ones.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-What this does is to add it into the "GENERAL" class (but the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-darwin-specific code has no idea that the builtin code number has
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-subfields).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Build fix for subtarget builtins.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-One either needs to define SUBTARGET_INIT_BUILTINS to empty
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-or conditionalize its use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Connect up the sub-target attribute table.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Darwin has some Mach-O / OS attributes, add these to the end of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-the aarch64 set..
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Connect up the pragma table.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Darwin has some Mach-O / OS-specific pragmas, connected these to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-the end of the aarch64 table.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config.gcc: Handle aarch64 and arm64 darwin.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/aarch64/aarch64-protos.h (enum aarch64_symbol_type):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Provide for symbol classifications for Mach-O.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/aarch64/aarch64.c (aarch64_elf_asm_destructor):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Don't define these for Mach-O (it's not ELF!).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (handle_aarch64_vector_pcs_attribute):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Handle darwinpcs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (aarch64_reg_save_mode): Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (aarch64_load_symref_appropriately): Handle Mach-O.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (aarch64_expand_mov_immediate): Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (aarch64_layout_arg): Handle darwinpcs rules.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (aarch64_function_arg): Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (aarch64_init_cumulative_args): Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (aarch64_function_arg_advance): Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (aarch64_print_operand): Likewise (we can probably do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- better).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (aarch64_print_address_internal): Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (aarch64_asm_output_labelref): Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (initialize_aarch64_code_model): Accept large PIC for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Mach-O - of course, that doesn't mean it works.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (aarch64_classify_symbol): Only emit ELF directives if they
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- are available.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (aarch64_declare_function_name): Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (aarch64_asm_output_alias): Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (aarch64_sls_emit_shared_blr_thunks): Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (TARGET_ASM_UNALIGNED_HI_OP): New.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (TARGET_ASM_UNALIGNED_SI_OP): New.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (TARGET_ASM_UNALIGNED_DI_OP): New.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/aarch64/aarch64.h (TARGET_MACHO): Declare as 0.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (enum arm_pcs): Add darwinpcs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (SUBTARGET_EXTRA_SPECS): New.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (EXTRA_SPECS): Allow for sub-target specs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/aarch64/aarch64.md (unspec enum): Add UNSPEC_MACHOPIC_OFFSET.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (ldr_got_small_<mode>): Allow for postfix assembler syntax.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (ldr_got_small_<mode>): Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/aarch64/darwin.h: New file.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/aarch64/t-aarch64-darwin: New file.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 419fa01def5a199dfe7aa230f6dc354b77b2b1a6)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config.gcc | 5 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64-builtins.c | 10 ++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64-c.c | 4 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64-protos.h | 9 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64.c | 115 ++++++++++++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64.h | 11 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64.md | 11 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64.opt | 3 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/darwin.h | 226 ++++++++++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/t-aarch64-darwin | 25 +++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 10 files changed, 407 insertions(+), 12 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- create mode 100644 gcc/config/aarch64/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- create mode 100644 gcc/config/aarch64/t-aarch64-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config.gcc gcc/config.gcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 081aba3bf06..d942edfb371 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config.gcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config.gcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1100,6 +1100,11 @@ aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+aarch64-*-darwin* | arm64-*-darwin*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tm_file="${tm_file} aarch64/aarch64-errata.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-darwin"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tm_defines="${tm_defines} TARGET_DEFAULT_ASYNC_UNWIND_TABLES=1"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64*-*-freebsd*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-errata.h aarch64/aarch64-freebsd.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64-builtins.c gcc/config/aarch64/aarch64-builtins.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index d92157dff02..3a755b5ed44 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64-builtins.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64-builtins.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -493,6 +493,8 @@ enum aarch64_builtins
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AARCH64_MEMTAG_BUILTIN_SET_TAG,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AARCH64_MEMTAG_BUILTIN_GET_TAG,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AARCH64_MEMTAG_BUILTIN_END,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* OS-specific */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ AARCH64_BUILTIN_CFSTRING,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AARCH64_BUILTIN_MAX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1312,6 +1314,14 @@ aarch64_general_init_builtins (void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64_init_memtag_builtins ();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+aarch64_init_subtarget_builtins (void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef SUBTARGET_INIT_BUILTINS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ SUBTARGET_INIT_BUILTINS;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Implement TARGET_BUILTIN_DECL for the AARCH64_BUILTIN_GENERAL group. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tree
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64_general_builtin_decl (unsigned code, bool)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64-c.c gcc/config/aarch64/aarch64-c.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index fd08be47570..040b87a0948 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64-c.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64-c.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -360,4 +360,8 @@ aarch64_register_pragmas (void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- targetm.check_builtin_call = aarch64_check_builtin_call;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- c_register_pragma ("GCC", "aarch64", aarch64_pragma_aarch64);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef REGISTER_SUBTARGET_PRAGMAS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ REGISTER_SUBTARGET_PRAGMAS ();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64-protos.h gcc/config/aarch64/aarch64-protos.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index bebd1b36228..ae4a05c1952 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64-protos.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64-protos.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -108,6 +108,14 @@ enum aarch64_symbol_type
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SYMBOL_TLSLE24,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SYMBOL_TLSLE32,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SYMBOL_TLSLE48,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ SYMBOL_MO_SMALL_ABS,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ SYMBOL_MO_SMALL_PCR,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ SYMBOL_MO_SMALL_GOT,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ SYMBOL_MO_SMALL_TLS,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ SYMBOL_MO_LARGE_ABS,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ SYMBOL_MO_LARGE_PCR,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ SYMBOL_MO_LARGE_GOT,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ SYMBOL_MO_LARGE_TLS,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SYMBOL_FORCE_TO_MEM
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -716,6 +724,7 @@ void aarch64_override_options_internal (struct gcc_options *);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const char *aarch64_general_mangle_builtin_type (const_tree);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void aarch64_general_init_builtins (void);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void aarch64_init_subtarget_builtins (void);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tree aarch64_general_fold_builtin (unsigned int, tree, unsigned int, tree *);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gimple *aarch64_general_gimple_fold_builtin (unsigned int, gcall *);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rtx aarch64_general_expand_builtin (unsigned int, tree, rtx, int);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 52aa971ffe6..6e1495dc9ca 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -287,8 +287,10 @@ static bool aarch64_vfp_is_call_or_return_candidate (machine_mode,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const_tree,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- machine_mode *, int *,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- bool *, bool);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if !TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static void aarch64_elf_asm_constructor (rtx, int) ATTRIBUTE_UNUSED;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static void aarch64_elf_asm_destructor (rtx, int) ATTRIBUTE_UNUSED;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static void aarch64_override_options_after_change (void);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static bool aarch64_vector_mode_supported_p (machine_mode);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static int aarch64_address_cost (rtx, machine_mode, addr_space_t, bool);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1544,6 +1546,7 @@ handle_aarch64_vector_pcs_attribute (tree *node, tree name, tree,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case ARM_PCS_SIMD:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return NULL_TREE;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ARM_PCS_DARWINPCS: /* FIXME: check if this is correct. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case ARM_PCS_SVE:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- error ("the %qE attribute cannot be applied to an SVE function type",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- name);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1570,6 +1573,9 @@ static const struct attribute_spec aarch64_attribute_table[] =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { "Advanced SIMD type", 0, 0, false, true, false, true, NULL, NULL },
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { "SVE type", 3, 3, false, true, false, true, NULL, NULL },
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { "SVE sizeless type", 0, 0, false, true, false, true, NULL, NULL },
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef SUBTARGET_ATTRIBUTE_TABLE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ SUBTARGET_ATTRIBUTE_TABLE,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { NULL, 0, 0, false, false, false, false, NULL, NULL }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2777,6 +2783,7 @@ aarch64_reg_save_mode (unsigned int regno)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- switch (crtl->abi->id ())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case ARM_PCS_AAPCS64:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ARM_PCS_DARWINPCS:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Only the low 64 bits are saved by the base PCS. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return DFmode;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3113,6 +3120,7 @@ aarch64_load_symref_appropriately (rtx dest, rtx imm,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- switch (type)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case SYMBOL_SMALL_ABSOLUTE:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case SYMBOL_MO_SMALL_PCR:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* In ILP32, the mode of dest can be either SImode or DImode. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rtx tmp_reg = dest;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3206,6 +3214,7 @@ aarch64_load_symref_appropriately (rtx dest, rtx imm,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case SYMBOL_MO_SMALL_GOT:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case SYMBOL_SMALL_GOT_4G:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* In ILP32, the mode of dest can be either SImode or DImode,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -5261,6 +5270,7 @@ aarch64_expand_mov_immediate (rtx dest, rtx imm)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case SYMBOL_SMALL_TLSIE:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case SYMBOL_SMALL_GOT_28K:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case SYMBOL_SMALL_GOT_4G:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case SYMBOL_MO_SMALL_GOT:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case SYMBOL_TINY_GOT:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case SYMBOL_TINY_TLSIE:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (const_offset != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -5274,6 +5284,7 @@ aarch64_expand_mov_immediate (rtx dest, rtx imm)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* FALLTHRU */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case SYMBOL_SMALL_ABSOLUTE:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case SYMBOL_MO_SMALL_PCR:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case SYMBOL_TINY_ABSOLUTE:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case SYMBOL_TLSLE12:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case SYMBOL_TLSLE24:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6016,7 +6027,13 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (!pcum->silent_p && !TARGET_FLOAT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64_err_no_fpadvsimd (mode);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (nvrn + nregs <= NUM_FP_ARG_REGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (pcum->pcs_variant == ARM_PCS_DARWINPCS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ && !arg.named)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pcum->aapcs_nextnvrn = NUM_FP_ARG_REGS;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ goto on_stack;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else if (nvrn + nregs <= NUM_FP_ARG_REGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pcum->aapcs_nextnvrn = nvrn + nregs;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (!aarch64_composite_type_p (type, mode))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6056,10 +6073,18 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* C6 - C9. though the sign and zero extension semantics are
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- handled elsewhere. This is the case where the argument fits
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- entirely general registers. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (allocate_ncrn && (ncrn + nregs <= NUM_ARG_REGS))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc_assert (nregs == 0 || nregs == 1 || nregs == 2);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (pcum->pcs_variant == ARM_PCS_DARWINPCS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ && !arg.named)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pcum->aapcs_nextncrn = NUM_ARG_REGS;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ goto on_stack;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* C.8 if the argument has an alignment of 16 then the NGRN is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rounded up to the next even number. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (nregs == 2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6069,7 +6094,9 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- alignment nregs should be > 2 and therefore it should be
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- passed by reference rather than value. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- && (aarch64_function_arg_alignment (mode, type, &abi_break)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- == 16 * BITS_PER_UNIT))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ == 16 * BITS_PER_UNIT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Darwin PCS deletes rule C.8. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ && pcum->pcs_variant != ARM_PCS_DARWINPCS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (abi_break && warn_psabi && currently_expanding_gimple_stmt)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- inform (input_location, "parameter passing for argument of type "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6151,7 +6178,8 @@ aarch64_function_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CUMULATIVE_ARGS *pcum = get_cumulative_args (pcum_v);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc_assert (pcum->pcs_variant == ARM_PCS_AAPCS64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- || pcum->pcs_variant == ARM_PCS_SIMD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- || pcum->pcs_variant == ARM_PCS_SVE);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ || pcum->pcs_variant == ARM_PCS_SVE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ || pcum->pcs_variant == ARM_PCS_DARWINPCS);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (arg.end_marker_p ())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return gen_int_mode (pcum->pcs_variant, DImode);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6178,6 +6206,9 @@ aarch64_init_cumulative_args (CUMULATIVE_ARGS *pcum,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pcum->pcs_variant = (arm_pcs) fntype_abi (fntype).id ();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pcum->pcs_variant = ARM_PCS_AAPCS64;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* FIXME: Is there ever a case on Darwin where non-darwinpcs is valid? */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (TARGET_MACHO && pcum->pcs_variant == ARM_PCS_AAPCS64)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pcum->pcs_variant = ARM_PCS_DARWINPCS;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pcum->aapcs_reg = NULL_RTX;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pcum->aapcs_arg_processed = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pcum->aapcs_stack_words = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6219,7 +6250,8 @@ aarch64_function_arg_advance (cumulative_args_t pcum_v,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CUMULATIVE_ARGS *pcum = get_cumulative_args (pcum_v);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (pcum->pcs_variant == ARM_PCS_AAPCS64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- || pcum->pcs_variant == ARM_PCS_SIMD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- || pcum->pcs_variant == ARM_PCS_SVE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ || pcum->pcs_variant == ARM_PCS_SVE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ || pcum->pcs_variant == ARM_PCS_DARWINPCS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64_layout_arg (pcum_v, arg);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc_assert ((pcum->aapcs_reg != NULL_RTX)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10511,7 +10543,7 @@ aarch64_print_operand (FILE *f, rtx x, int code)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case 'A':
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (GET_CODE (x) == HIGH)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- x = XEXP (x, 0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if !TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- switch (aarch64_classify_symbolic_expression (x))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case SYMBOL_SMALL_GOT_4G:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10541,10 +10573,27 @@ aarch64_print_operand (FILE *f, rtx x, int code)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- default:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_addr_const (asm_out_file, x);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // FIXME update classify symbolic expression to handle macho.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ switch (aarch64_classify_symbolic_expression (x))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case SYMBOL_MO_SMALL_PCR:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ asm_fprintf (asm_out_file, "@PAGE;mopcr");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case SYMBOL_MO_SMALL_GOT:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ asm_fprintf (asm_out_file, "@GOTPAGE;mosg");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ default:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ asm_fprintf (asm_out_file, "@BLEAH");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case 'L':
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if !TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- switch (aarch64_classify_symbolic_expression (x))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case SYMBOL_SMALL_GOT_4G:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10582,10 +10631,12 @@ aarch64_print_operand (FILE *f, rtx x, int code)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- default:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_addr_const (asm_out_file, x);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case 'G':
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if !TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- switch (aarch64_classify_symbolic_expression (x))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case SYMBOL_TLSLE24:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10594,6 +10645,7 @@ aarch64_print_operand (FILE *f, rtx x, int code)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- default:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_addr_const (asm_out_file, x);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10741,9 +10793,15 @@ aarch64_print_address_internal (FILE *f, machine_mode mode, rtx x,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case ADDRESS_LO_SUM:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ asm_fprintf (f, "[%s, #", reg_names [REGNO (addr.base)]);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ output_addr_const (f, addr.offset);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ asm_fprintf (f, "@PAGEOFF]");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- asm_fprintf (f, "[%s, #:lo12:", reg_names [REGNO (addr.base)]);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_addr_const (f, addr.offset);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- asm_fprintf (f, "]");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case ADDRESS_SYMBOLIC:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11226,6 +11284,8 @@ aarch64_asm_output_labelref (FILE* f, const char *name)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- asm_fprintf (f, "%U%s", name);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if !TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64_elf_asm_constructor (rtx symbol, int priority)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11265,6 +11325,7 @@ aarch64_elf_asm_destructor (rtx symbol, int priority)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- assemble_aligned_integer (POINTER_BYTES, symbol);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const char*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64_output_casesi (rtx *operands)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -13449,12 +13510,17 @@ aarch64_init_builtins ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64_general_init_builtins ();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64_sve::init_builtins ();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ aarch64_init_subtarget_builtins ();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Implement TARGET_FOLD_BUILTIN. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static tree
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64_fold_builtin (tree fndecl, int nargs, tree *args, bool)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef SUBTARGET_FOLD_BUILTIN
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (tree res = SUBTARGET_FOLD_BUILTIN (fndecl, nargs, args, false))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return res;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- unsigned int code = DECL_MD_FUNCTION_CODE (fndecl);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- unsigned int subcode = code >> AARCH64_BUILTIN_SHIFT;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tree type = TREE_TYPE (TREE_TYPE (fndecl));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -15267,10 +15333,14 @@ initialize_aarch64_code_model (struct gcc_options *opts)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case AARCH64_CMODEL_LARGE:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (opts->x_flag_pic)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (TARGET_MACHO)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* We need to implement fPIC here (arm64_32 also accepts the large
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ model). */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else if (opts->x_flag_pic)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sorry ("code model %qs with %<-f%s%>", "large",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- opts->x_flag_pic > 1 ? "PIC" : "pic");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (opts->x_aarch64_abi == AARCH64_ABI_ILP32)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else if (opts->x_aarch64_abi == AARCH64_ABI_ILP32)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sorry ("code model %qs not supported in ilp32 mode", "large");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case AARCH64_CMODEL_TINY_PIC:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -16223,6 +16293,13 @@ aarch64_classify_symbol (rtx x, HOST_WIDE_INT offset)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case AARCH64_CMODEL_SMALL_SPIC:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case AARCH64_CMODEL_SMALL_PIC:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (TARGET_MACHO)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return (MACHO_SYMBOL_INDIRECTION_P (x) ||
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ! MACHO_SYMBOL_DEFINED_P (x))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ? SYMBOL_MO_SMALL_GOT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : SYMBOL_MO_SMALL_PCR;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (!aarch64_symbol_binds_local_p (x))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return (aarch64_cmodel == AARCH64_CMODEL_SMALL_SPIC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ? SYMBOL_SMALL_GOT_28K : SYMBOL_SMALL_GOT_4G);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19433,7 +19510,9 @@ aarch64_declare_function_name (FILE *stream, const char* name,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64_asm_output_variant_pcs (stream, fndecl, name);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Don't forget the type directive for ELF. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef ASM_OUTPUT_TYPE_DIRECTIVE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ASM_OUTPUT_TYPE_DIRECTIVE (stream, name, "function");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ASM_OUTPUT_LABEL (stream, name);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cfun->machine->label_is_assembled = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19468,12 +19547,17 @@ aarch64_print_patchable_function_entry (FILE *file,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Implement ASM_OUTPUT_DEF_FROM_DECLS. Output .variant_pcs for aliases. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--aarch64_asm_output_alias (FILE *stream, const tree decl, const tree target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+aarch64_asm_output_alias (FILE *stream, const tree decl,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ const tree target ATTRIBUTE_UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const char *name = XSTR (XEXP (DECL_RTL (decl), 0), 0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef ASM_OUTPUT_DEF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const char *value = IDENTIFIER_POINTER (target);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64_asm_output_variant_pcs (stream, decl, name);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef ASM_OUTPUT_DEF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ASM_OUTPUT_DEF (stream, name, value);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Implement ASM_OUTPUT_EXTERNAL. Output .variant_pcs for undefined
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19940,7 +20024,7 @@ aarch64_init_libfuncs (void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static machine_mode
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64_c_mode_for_suffix (char suffix)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (suffix == 'q')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (suffix == 'q' && !TARGET_MACHO)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return TFmode;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return VOIDmode;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -23467,13 +23551,17 @@ aarch64_sls_emit_shared_blr_thunks (FILE *out_file)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Only emits if the compiler is configured for an assembler that can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- handle visibility directives. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- targetm.asm_out.assemble_visibility (decl, VISIBILITY_HIDDEN);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef ASM_OUTPUT_TYPE_DIRECTIVE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ASM_OUTPUT_TYPE_DIRECTIVE (out_file, name, "function");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ASM_OUTPUT_LABEL (out_file, name);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64_sls_emit_function_stub (out_file, regnum);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Use the most conservative target to ensure it can always be used by any
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- function in the translation unit. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- asm_fprintf (out_file, "\tdsb\tsy\n\tisb\n");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef ASM_DECLARE_FUNCTION_SIZE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ASM_DECLARE_FUNCTION_SIZE (out_file, name, decl);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -23572,6 +23660,15 @@ aarch64_run_selftests (void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef TARGET_ASM_ALIGNED_SI_OP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define TARGET_ASM_ALIGNED_SI_OP "\t.word\t"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef TARGET_ASM_UNALIGNED_HI_OP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define TARGET_ASM_UNALIGNED_HI_OP "\t.short\t"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef TARGET_ASM_UNALIGNED_SI_OP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define TARGET_ASM_UNALIGNED_SI_OP "\t.long\t"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef TARGET_ASM_UNALIGNED_DI_OP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define TARGET_ASM_UNALIGNED_DI_OP "\t.quad\t"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef TARGET_ASM_CAN_OUTPUT_MI_THUNK
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define TARGET_ASM_CAN_OUTPUT_MI_THUNK \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- hook_bool_const_tree_hwi_hwi_const_tree_true
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64.h gcc/config/aarch64/aarch64.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 51148846345..913bb0501c4 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -57,6 +57,9 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define TARGET_SIMD (!TARGET_GENERAL_REGS_ONLY && AARCH64_ISA_SIMD)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define TARGET_FLOAT (!TARGET_GENERAL_REGS_ONLY && AARCH64_ISA_FP)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Object format, ABI and syntax for Darwin platforms. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define TARGET_MACHO 0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define UNITS_PER_WORD 8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define UNITS_PER_VREG 16
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -901,6 +904,7 @@ enum arm_pcs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ARM_PCS_SVE, /* For functions that pass or return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- values in SVE registers. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ARM_PCS_TLSDESC, /* For targets of tlsdesc calls. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ARM_PCS_DARWINPCS, /* Darwin's amended AAPCS for 64 bit. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ARM_PCS_UNKNOWN
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1219,8 +1223,13 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define ASM_CPU_SPEC \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- MCPU_TO_MARCH_SPEC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef SUBTARGET_EXTRA_SPECS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SUBTARGET_EXTRA_SPECS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define EXTRA_SPECS \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- { "asm_cpu_spec", ASM_CPU_SPEC }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { "asm_cpu_spec", ASM_CPU_SPEC }, \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ SUBTARGET_EXTRA_SPECS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define ASM_OUTPUT_POOL_EPILOGUE aarch64_asm_output_pool_epilogue
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64.md gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index e5bc78c38a3..e8b7e6a64c6 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -282,6 +282,7 @@ (define_c_enum "unspec" [
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- UNSPEC_TAG_SPACE ; Translate address to MTE tag address space.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- UNSPEC_LD1RO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- UNSPEC_SALT_ADDR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ UNSPEC_MACHOPIC_OFFSET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (define_c_enum "unspecv" [
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6494,7 +6495,10 @@ (define_insn "add_losym_<mode>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (lo_sum:P (match_operand:P 1 "register_operand" "r")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (match_operand 2 "aarch64_valid_symref" "S")))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "add\\t%<w>0, %<w>1, :lo12:%c2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { return TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ? "add\\t%<w>0, %<w>1, %c2@PAGEOFF;momd"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : "add\\t%<w>0, %<w>1, :lo12:%c2";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set_attr "type" "alu_imm")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6505,7 +6509,10 @@ (define_insn "ldr_got_small_<mode>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (match_operand:PTR 2 "aarch64_valid_symref" "S")))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- UNSPEC_GOTSMALLPIC))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "ldr\\t%<w>0, [%1, #:got_lo12:%c2]"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { return TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ? "ldr\\t%<w>0, [%1, %c2@GOTPAGEOFF];momd"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : "ldr\\t%<w>0, [%1, #:got_lo12:%c2]";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set_attr "type" "load_<ldst_sz>")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64.opt gcc/config/aarch64/aarch64.opt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 1b3d942e0f5..85f98ad6384 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64.opt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64.opt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -152,6 +152,9 @@ Enum(aarch64_abi) String(ilp32) Value(AARCH64_ABI_ILP32)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- EnumValue
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Enum(aarch64_abi) String(lp64) Value(AARCH64_ABI_LP64)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+EnumValue
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Enum(aarch64_abi) String(darwinpcs) Value(AARCH64_ABI_LP64)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- mpc-relative-literal-loads
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Target Report Save Var(pcrelative_literal_loads) Init(2) Save
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PC relative literal loads.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/darwin.h gcc/config/aarch64/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-new file mode 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 00000000000..25721630924
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,226 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Target definitions for Arm64/Aarch64 running on macOS/iOS.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Copyright (C) 2020 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Contributed by Iain Sandoe.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+This file is part of GCC.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+GCC is free software; you can redistribute it and/or modify
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+it under the terms of the GNU General Public License as published by
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+the Free Software Foundation; either version 3, or (at your option)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+any later version.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+GCC is distributed in the hope that it will be useful,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+but WITHOUT ANY WARRANTY; without even the implied warranty of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+GNU General Public License for more details.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+You should have received a copy of the GNU General Public License
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+<http://www.gnu.org/licenses/>. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Enable Mach-O bits in generic Aarch64 code. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define TARGET_MACHO 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef DARWIN_ARM64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define DARWIN_ARM64 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* FIXME FIXME FIXME - these are mostly guesses right now. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* FIXME: this is only used in generic code in darwin.c. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef TARGET_64BIT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define TARGET_64BIT 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef PTRDIFF_TYPE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define PTRDIFF_TYPE "long int"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* NOTE that arm64_32 is a valid thing and corresponds to darwinpcs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ and TARGET_ILP32, but we are not implementing that for now. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define TARGET_OS_CPP_BUILTINS() \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ do { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ builtin_define ("__LITTLE_ENDIAN__"); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ builtin_define ("__arm64"); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ builtin_define ("__arm64__"); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ darwin_cpp_builtins (pfile); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ } while (0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* In Darwin's arm64 ABI, chars are signed, for consistency with other Darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ architectures. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef DEFAULT_SIGNED_CHAR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define DEFAULT_SIGNED_CHAR 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef LONG_DOUBLE_TYPE_SIZE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define LONG_DOUBLE_TYPE_SIZE 64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Hack alert - we want the exported cas etc. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef LIB_SPEC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define LIB_SPEC "%{!static:-lSystem} -lgcc"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Force the default endianness and ABI flags onto the command line
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ in order to make the other specs easier to write. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef DRIVER_SELF_SPECS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define DRIVER_SELF_SPECS \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+"%{mbig-endian:%eDarwin platforms do not support big-endian arm64}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+"%{!mlittle-endian:-mlittle-endian} " \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+"%{mabi=ilp32:%eSorry, support for Darwin ilp32 arm64 is not implemented} " \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+"%{!mabi=*:-mabi=lp64} " \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ MCPU_MTUNE_NATIVE_SPECS \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ SUBTARGET_DRIVER_SELF_SPECS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* We want -fPIC by default, unless we're using -static to compile for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ the kernel or some such. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef CC1_SPEC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define CC1_SPEC \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+"%{!mkernel:%{!static:-fPIC}} " DARWIN_CC1_SPEC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef ASM_SPEC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define ASM_SPEC "-arch %(darwin_arch) "\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ASM_OPTIONS " %{static} " ASM_MMACOSX_VERSION_MIN_SPEC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef ENDFILE_SPEC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define ENDFILE_SPEC \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ " " TM_DESTRUCTOR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* The arch is known as 'arm64' by the system tools. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define DARWIN_ARCH_SPEC "arm64"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef SUBTARGET_EXTRA_SPECS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SUBTARGET_EXTRA_SPECS \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DARWIN_EXTRA_SPECS \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { "darwin_arch", DARWIN_ARCH_SPEC }, \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { "darwin_crt2", "" }, \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { "darwin_subarch", DARWIN_ARCH_SPEC },
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef TARGET_ASM_FILE_END
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define TARGET_ASM_FILE_END darwin_file_end
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Define the syntax of pseudo-ops, labels and comments. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Support for -falign-* switches. Use .p2align to ensure that code
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ sections are padded with NOP instructions, rather than zeros. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE, LOG, MAX_SKIP) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ do \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if ((LOG) != 0) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if ((MAX_SKIP) == 0) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fprintf ((FILE), "\t.p2align %d\n", (int) (LOG)); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fprintf ((FILE), "\t.p2align %d,,%d\n", \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (int) (LOG), (int) (MAX_SKIP)); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ } \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ } while (0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif /* HAVE_GAS_MAX_SKIP_P2ALIGN */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* String containing the assembler's comment-starter. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define ASM_COMMENT_START ";"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Define the syntax of pseudo-ops, labels and comments. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define LPREFIX "L"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Assembler pseudos to introduce constants of various size. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define ASM_BYTE "\t.byte\t"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define ASM_SHORT "\t.word\t"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define ASM_LONG "\t.long\t"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define ASM_QUAD "\t.quad\t"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* darwinpcs reserves X18. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef FIXED_REGISTERS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define FIXED_REGISTERS \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ 0, 0, 0, 0, 0, 0, 0, 0, /* R0 - R7 */ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ 0, 0, 0, 0, 0, 0, 0, 0, /* R8 - R15 */ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ 0, 0, 1, 0, 0, 0, 0, 0, /* R16 - R23 */ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ 0, 0, 0, 0, 0, 1, 0, 1, /* R24 - R30, SP */ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ 0, 0, 0, 0, 0, 0, 0, 0, /* V0 - V7 */ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ 0, 0, 0, 0, 0, 0, 0, 0, /* V8 - V15 */ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ 0, 0, 0, 0, 0, 0, 0, 0, /* V16 - V23 */ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ 0, 0, 0, 0, 0, 0, 0, 0, /* V24 - V31 */ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ 1, 1, 1, 1, /* SFP, AP, CC, VG */ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ 0, 0, 0, 0, 0, 0, 0, 0, /* P0 - P7 */ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ 0, 0, 0, 0, 0, 0, 0, 0, /* P8 - P15 */ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ 1, 1 /* FFR and FFRT */ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SUBTARGET_ENCODE_SECTION_INFO darwin_encode_section_info
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX(FILE, ENCODING, SIZE, ADDR, DONE) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (TARGET_64BIT) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if ((SIZE) == 4 && ((ENCODING) & 0x70) == DW_EH_PE_pcrel) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fputs (ASM_LONG, FILE); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ assemble_name (FILE, XSTR (ADDR, 0)); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fputs ("@GOT-.", FILE); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ goto DONE; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ } \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ } \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (ENCODING == ASM_PREFERRED_EH_DATA_FORMAT (2, 1)) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_unreachable (); /* no 32b support yet.*/ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /*darwin_non_lazy_pcrel (FILE, ADDR);*/ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ goto DONE; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ } \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Darwin x86 assemblers support the .ident directive. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef TARGET_ASM_OUTPUT_IDENT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define TARGET_ASM_OUTPUT_IDENT default_asm_output_ident_directive
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Pull in the stuff common to all Darwin-based platforms. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define C_COMMON_OVERRIDE_OPTIONS \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ do { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ SUBTARGET_C_COMMON_OVERRIDE_OPTIONS; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ } while (0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef SUBTARGET_OVERRIDE_OPTIONS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SUBTARGET_OVERRIDE_OPTIONS \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ do { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (global_options.x_aarch64_cmodel_var == AARCH64_CMODEL_TINY) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ error ("code model %qs is not supported on Darwin platforms", \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "tiny"); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (!global_options_set.x_flag_section_anchors) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ flag_section_anchors = 0; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ } while (0); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ SUBSUBTARGET_OVERRIDE_OPTIONS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef SUBTARGET_INIT_BUILTINS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SUBTARGET_INIT_BUILTINS \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ do { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ aarch64_builtin_decls[AARCH64_BUILTIN_CFSTRING] \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ = darwin_init_cfstring_builtins ((AARCH64_BUILTIN_CFSTRING << AARCH64_BUILTIN_SHIFT) | AARCH64_BUILTIN_GENERAL); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ } while(0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Darwin on Arm64 uses dwarf-2. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef DARWIN_PREFER_DWARF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# undef PREFERRED_DEBUGGING_TYPE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef REGISTER_SUBTARGET_PRAGMAS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define REGISTER_SUBTARGET_PRAGMAS() DARWIN_REGISTER_TARGET_PRAGMAS()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef TARGET_SET_DEFAULT_TYPE_ATTRIBUTES
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define TARGET_SET_DEFAULT_TYPE_ATTRIBUTES darwin_set_default_type_attributes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* FIXME: CHECK Define the shadow offset for asan. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef SUBTARGET_SHADOW_OFFSET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SUBTARGET_SHADOW_OFFSET (HOST_WIDE_INT_1 << 44)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* First available SYMBOL flag bit for use by subtargets. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SYMBOL_FLAG_SUBT_DEP (SYMBOL_FLAG_MACH_DEP)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef ASM_OUTPUT_DEF_FROM_DECLS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/t-aarch64-darwin gcc/config/aarch64/t-aarch64-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-new file mode 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 00000000000..a8bfcffad78
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/t-aarch64-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,25 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Machine description for AArch64 architecture.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Copyright (C) 2020 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# This file is part of GCC.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# GCC is free software; you can redistribute it and/or modify it
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# under the terms of the GNU General Public License as published by
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# the Free Software Foundation; either version 3, or (at your option)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# any later version.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# GCC is distributed in the hope that it will be useful, but
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# WITHOUT ANY WARRANTY; without even the implied warranty of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# General Public License for more details.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# You should have received a copy of the GNU General Public License
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# <http://www.gnu.org/licenses/>.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+LIB1ASMSRC = aarch64/lib1funcs.asm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+LIB1ASMFUNCS = _aarch64_sync_cache_range
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# FIXME - figure out what multilib provisions we should make for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# a) arm64e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# b) arm64_32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 6df5b1c5aaa0a472d5ffadf7ad9e0a8b16b8a114 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Wed, 2 Sep 2020 21:30:51 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 30/68] Darwin, Arm64 : Disable section anchors for now.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Section anchors are tricky with the ld64 atom model. It is possible
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-to make them work in a sub-set of circumstances.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-TODO: determine those cases and apply fixes to deal with them.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This fixes issue #13.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 78ccb496faa54d0e87540b97a540ed63087bc953)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64.c | 15 +++++++++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 15 insertions(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 6e1495dc9ca..f1bb67fd2e2 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10930,6 +10930,16 @@ aarch64_anchor_offset (HOST_WIDE_INT offset, HOST_WIDE_INT size,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return offset & (~0xfff * size);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Section anchors are only usable in limited circumstances with the Mach-O
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ linker atom model. TODO: figure out when it's worthwhile. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+static bool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+aarch64_darwin_use_anchor_for_sym_p (const_rtx)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static rtx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64_legitimize_address (rtx x, rtx /* orig_x */, machine_mode mode)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -23989,6 +23999,11 @@ aarch64_libgcc_floating_mode_supported_p
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef TARGET_MAX_ANCHOR_OFFSET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define TARGET_MAX_ANCHOR_OFFSET 4095
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef TARGET_USE_ANCHORS_FOR_SYMBOL_P
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define TARGET_USE_ANCHORS_FOR_SYMBOL_P aarch64_darwin_use_anchor_for_sym_p
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef TARGET_VECTOR_ALIGNMENT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define TARGET_VECTOR_ALIGNMENT aarch64_simd_vector_alignment
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 68c46d7114fc9dcbd829914ab197dfc006f4b16e Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sat, 12 Sep 2020 09:44:55 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 31/68] Darwin, Arm64 : Assign a register for the static chain.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-At present, we do not have a workable solution for trampolines for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-the Darwin Arm64 port. Executable stack is not an option and the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-advice from Arm is not to use any lower address bits to signal that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-we have a descriptor.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-It is possible that we might be able to load some remappable object
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(e.g. a dylib) - but the details there still have to be resolved.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-In any case, we need a usable static chain - and the port has that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-assigned to R18 by default - which is the platform register in darwinpcs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-It's uncertain whether R16/R17 are actually used in the darwinpcs in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-the role of support for branch islanding. The AAPCS64 use as IP0/1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-is conditional on ELF relocations, so perhaps irrelevant to Darwin.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Using R16 does not conflict with the existing (non-functional) trampoline
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-code.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-lots of TODOs here.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 69d64d3eef51272592611095f32af196433d1bd0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/darwin.h | 5 +++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 5 insertions(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/darwin.h gcc/config/aarch64/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 25721630924..b605b94f97f 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -150,6 +150,11 @@ along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1, 1 /* FFR and FFRT */ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Although we cannot use executable stack, we still need to assign
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ a static chain regnum. At the moment using R16 (IP0) is available. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef STATIC_CHAIN_REGNUM
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define STATIC_CHAIN_REGNUM R16_REGNUM
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define SUBTARGET_ENCODE_SECTION_INFO darwin_encode_section_info
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From b2abbee30d343b2ea12119718eb8666666b7f9c3 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sun, 16 Aug 2020 12:11:37 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 32/68] Darwin, Arm64 : Initial libgcc boiler-plate changes.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Initial changes to build libgcc for aarch64 Darwin (declare the port, and handle Mach-O assembler syntax).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit d18d071c65d85610515ffc8b8db59805700c48f2)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config.host | 10 +++++++++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/aarch64/lse.S | 28 ++++++++++++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/aarch64/t-darwin | 7 +++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 3 files changed, 44 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- create mode 100644 libgcc/config/aarch64/t-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config.host libgcc/config.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index dc80446b7fd..a5ffe6bde40 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -82,7 +82,7 @@ m32c*-*-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu_type=m32c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tmake_file=t-fdpbit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--aarch64*-*-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+aarch64*-*-* | arm64*-*-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cpu_type=aarch64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- alpha*-*-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -411,6 +411,14 @@ aarch64*-*-elf | aarch64*-*-rtems*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- md_unwind_header=aarch64/aarch64-unwind.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+aarch64*-*darwin* | arm64*-*darwin* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ extra_parts="$extra_parts crtfastmath.o"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tmake_file="${tmake_file} ${cpu_type}/t-lse "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tmake_file="${tmake_file} t-crtfm"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # No soft float for now because our long double is DF not TF.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ md_unwind_header=aarch64/aarch64-unwind.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64*-*-freebsd*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extra_parts="$extra_parts crtfastmath.o"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/aarch64/lse.S libgcc/config/aarch64/lse.S
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index c8fbfbce4fd..a0425d0b38b 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config/aarch64/lse.S
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config/aarch64/lse.S
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -58,7 +58,11 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Declare the symbol gating the LSE implementations. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if __ELF__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .hidden __aarch64_have_lse_atomics
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ .private_extern __aarch64_have_lse_atomics
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Turn size and memory model defines into mnemonic fragments. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if SIZE == 1
</span><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:#ffe0e0;'>- #define BTI_C hint 34
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Start and end a function. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if __ELF__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .macro STARTFN name
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .text
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .balign 16
</span><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:#ffe0e0;'>- cbz w(tmp0), \label
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .endm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+.macro STARTFN name
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ .text
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ .balign 16
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ .private_extern _\name
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ .cfi_startproc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+_\name:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ BTI_C
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+.endm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+.macro ENDFN name
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ .cfi_endproc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+.endm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Branch to LABEL if LSE is disabled. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+.macro JUMP_IF_NOT_LSE label
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ adrp x(tmp0), ___aarch64_have_lse_atomics@PAGE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ldrb w(tmp0), [x(tmp0), ___aarch64_have_lse_atomics@PAGEOFF]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ cbz w(tmp0), \label
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+.endm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef L_cas
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- STARTFN NAME(cas)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/aarch64/t-darwin libgcc/config/aarch64/t-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-new file mode 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 00000000000..a319bac7077
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config/aarch64/t-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# FIXME: decide what we need here, or delete this file.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+HOST_LIBGCC2_CFLAGS += -mmacosx-version-min=11.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+LIB2_SIDITI_CONV_FUNCS = yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# LIB2FUNCS_EXCLUDE = _fixtfdi _fixunstfdi _floatditf _floatunditf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From db45de9ef55de11ecef2348997f30570c18be6cc Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Thu, 3 Sep 2020 19:49:39 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 33/68] Darwin, Arm64 : Darwin should use an OS call to clear
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- caches.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The sys_icache_invalidate() function is the right one to use.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The fixes issue #17
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit d425e8b9b0ac44415053104bf2db1edc018866bc)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/darwin.h | 5 +++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config.host | 1 -
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 5 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/darwin.h gcc/config/aarch64/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index b605b94f97f..c645c7df9cb 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -229,3 +229,8 @@ along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef ASM_OUTPUT_DEF_FROM_DECLS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef CLEAR_INSN_CACHE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define CLEAR_INSN_CACHE(beg, end) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ extern void sys_icache_invalidate(void *start, size_t len); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ sys_icache_invalidate ((beg), (size_t)((end)-(beg)))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config.host libgcc/config.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index a5ffe6bde40..fe7ce3f02ed 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -413,7 +413,6 @@ aarch64*-*-elf | aarch64*-*-rtems*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64*-*darwin* | arm64*-*darwin* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extra_parts="$extra_parts crtfastmath.o"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tmake_file="${tmake_file} ${cpu_type}/t-lse "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tmake_file="${tmake_file} t-crtfm"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # No soft float for now because our long double is DF not TF.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 47e8736657cc965ac9617c1acb2866aad5972e1c Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Tue, 18 Aug 2020 22:29:51 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 34/68] Darwin, Arm64 : Initial support for the self-host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- driver.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-At present, this just includes the generic Darwin stuff.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 0a7ed7d6e983866327a26a7a7c3656f4d6784eff)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config.host | 7 +++++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/host-aarch64-darwin.c | 32 ++++++++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/x-darwin | 3 +++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 3 files changed, 41 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- create mode 100644 gcc/config/aarch64/host-aarch64-darwin.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- create mode 100644 gcc/config/aarch64/x-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config.host gcc/config.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 84f0433e2ad..8489145e1b1 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -99,7 +99,8 @@ case ${host} in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case ${host} in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- aarch64*-*-freebsd* | aarch64*-*-linux* | aarch64*-*-fuchsia*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ aarch64*-*-freebsd* | aarch64*-*-linux* | aarch64*-*-fuchsia* |\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ aarch64-*-darwin* | arm64*-*-darwin*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case ${target} in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64*-*-*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- host_extra_gcc_objs="driver-aarch64.o"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -251,6 +252,10 @@ case ${host} in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- host_extra_gcc_objs="${host_extra_gcc_objs} driver-mingw32.o"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- host_lto_plugin_soname=liblto_plugin-0.dll
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ aarch64-*-darwin* | arm64-*-darwin*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ out_host_hook_obj="${out_host_hook_obj} host-aarch64-darwin.o"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ host_xmake_file="${host_xmake_file} aarch64/x-darwin"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- i[34567]86-*-darwin* | x86_64-*-darwin*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- out_host_hook_obj="${out_host_hook_obj} host-i386-darwin.o"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- host_xmake_file="${host_xmake_file} i386/x-darwin"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/host-aarch64-darwin.c gcc/config/aarch64/host-aarch64-darwin.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-new file mode 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 00000000000..1a2cd4c9dab
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/host-aarch64-darwin.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,32 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Arm64-darwin host-specific hook definitions.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Copyright (C) 2020 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+This file is part of GCC.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+GCC is free software; you can redistribute it and/or modify it under
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+the terms of the GNU General Public License as published by the Free
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Software Foundation; either version 3, or (at your option) any later
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+version.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+WARRANTY; without even the implied warranty of MERCHANTABILITY or
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+for more details.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+You should have received a copy of the GNU General Public License
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+<http://www.gnu.org/licenses/>. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define IN_TARGET_CODE 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include "config.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include "system.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include "coretypes.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include "hosthooks.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include "hosthooks-def.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include "config/host-darwin.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Darwin doesn't do anything special for arm64/aarch64 hosts; this file
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ exists just to include the generic config/host-darwin.h. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+const struct host_hooks host_hooks = HOST_HOOKS_INITIALIZER;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/x-darwin gcc/config/aarch64/x-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-new file mode 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 00000000000..6d788d5e89c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/x-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,3 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+host-aarch64-darwin.o : $(srcdir)/config/aarch64/host-aarch64-darwin.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(COMPILE) $<
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(POSTCOMPILE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 15af37463f9a0c79a0d725b8ef57d37f08c8b968 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Fri, 28 Aug 2020 19:09:45 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 35/68] Darwin, Arm64 : Ada fixes for hosted tools.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The existing provisions for iOS would be OK for cross-compilation
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-but we need some adjustments so that hosted tools can be built for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-the platform.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit dc6ab7b6a685a965f57ee828cae21c1f8a47ee53)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/ada/gcc-interface/Make-lang.in | 16 ++++++++++++----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/ada/sigtramp-ios.c | 8 ++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 20 insertions(+), 4 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/ada/gcc-interface/Make-lang.in gcc/ada/gcc-interface/Make-lang.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index acbe2b877ca..9ca91576e9a 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/ada/gcc-interface/Make-lang.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/ada/gcc-interface/Make-lang.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -655,6 +655,14 @@ endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # For unwind-pe.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CFLAGS-ada/raise-gcc.o += -I$(srcdir)/../libgcc -DEH_MECHANISM_$(EH_MECHANISM)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Under aarch64 darwin, we need to include the rtl signal trampoline.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ifeq ($(strip $(filter-out aarch64 arm64 darwin%,$(host_cpu) $(host_os))),)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ EXTRA_HOST_OBJS=ada/sigtramp-ios.o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ EXTRA_HOST_OBJS =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ada/libgnat/s-excmac.o: ada/libgnat/s-excmac.ads ada/libgnat/s-excmac.adb
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ada/libgnat/s-excmac.ads: $(srcdir)/ada/libgnat/s-excmac__$(EH_MECHANISM).ads
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -668,13 +676,13 @@ ada/libgnat/s-excmac.adb: $(srcdir)/ada/libgnat/s-excmac__$(EH_MECHANISM).adb
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Needs to be built with CC=gcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Since the RTL should be built with the latest compiler, remove the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # stamp target in the parent directory whenever gnat1 is rebuilt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--gnat1$(exeext): $(TARGET_ADA_SRCS) $(GNAT1_OBJS) $(ADA_BACKEND) libcommon-target.a $(LIBDEPS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- +$(GCC_LLINK) -o $@ $(GNAT1_OBJS) $(ADA_BACKEND) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+gnat1$(exeext): $(TARGET_ADA_SRCS) $(GNAT1_OBJS) $(ADA_BACKEND) libcommon-target.a $(LIBDEPS) $(EXTRA_HOST_OBJS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ +$(GCC_LLINK) -o $@ $(GNAT1_OBJS) $(ADA_BACKEND) $(EXTRA_HOST_OBJS) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libcommon-target.a $(LIBS) $(SYSLIBS) $(BACKENDLIBS) $(CFLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(RM) stamp-gnatlib2-rts stamp-tools
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--gnatbind$(exeext): ada/b_gnatb.o $(CONFIG_H) $(GNATBIND_OBJS) ggc-none.o libcommon-target.a $(LIBDEPS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- +$(GCC_LINK) -o $@ ada/b_gnatb.o $(GNATBIND_OBJS) ggc-none.o libcommon-target.a $(LIBS) $(SYSLIBS) $(CFLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+gnatbind$(exeext): ada/b_gnatb.o $(CONFIG_H) $(GNATBIND_OBJS) $(EXTRA_HOST_OBJS) ggc-none.o libcommon-target.a $(LIBDEPS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ +$(GCC_LINK) -o $@ ada/b_gnatb.o $(GNATBIND_OBJS) $(EXTRA_HOST_OBJS) ggc-none.o libcommon-target.a $(LIBS) $(SYSLIBS) $(CFLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # use target-gcc target-gnatmake target-gnatbind target-gnatlink
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gnattools: $(GCC_PARTS) $(CONFIG_H) prefix.o force
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/ada/sigtramp-ios.c gcc/ada/sigtramp-ios.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index de04c1adb04..43276e9863f 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/ada/sigtramp-ios.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/ada/sigtramp-ios.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -71,6 +71,10 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* sigtramp stub providing unwind info for common registers. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if defined(__cplusplus)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+extern "C" {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extern void __gnat_sigtramp_common
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (int signo, void *siginfo, void *sigcontext,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- __sigtramphandler_t * handler);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -87,6 +91,10 @@ void __gnat_sigtramp (int signo, void *si, void *ucontext,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- __gnat_sigtramp_common (signo, si, mcontext, handler);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if defined(__cplusplus)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* asm string construction helpers. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define STR(TEXT) #TEXT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 15aa204d66aeb437d9f410660db7b745aeb53c2c Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Tue, 18 Aug 2020 21:50:49 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 36/68] Darwin, Arm64 : Initial changes to libitm.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Just add Arm64 as a target and adjust the SjLj code to allow mach-o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-assembler.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 8f9f06d1dfa4245a18260ade19829c933350e4c2)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libitm/config/aarch64/sjlj.S | 27 ++++++++++++++++++++++++++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libitm/configure.tgt | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 27 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libitm/config/aarch64/sjlj.S libitm/config/aarch64/sjlj.S
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index e2093ca1a97..0435d6d9286 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libitm/config/aarch64/sjlj.S
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libitm/config/aarch64/sjlj.S
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -28,10 +28,19 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .text
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .align 2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if __ELF__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .global _ITM_beginTransaction
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .type _ITM_beginTransaction, %function
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- _ITM_beginTransaction:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#elif __MACH__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ .global __ITM_beginTransaction
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__ITM_beginTransaction:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cfi_startproc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- BTI_C
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- mov x1, sp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -53,8 +62,13 @@ _ITM_beginTransaction:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Invoke GTM_begin_transaction with the struct we just built. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- mov x1, sp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if __ELF__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- bl GTM_begin_transaction
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#elif __MACH__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ bl _GTM_begin_transaction
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#error "unexpected object format"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Return; we don't need to restore any of the call-saved regs. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ldp x29, x30, [sp], 11*16
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cfi_adjust_cfa_offset(-11*16)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -62,14 +76,23 @@ _ITM_beginTransaction:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cfi_restore(x30)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ret
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cfi_endproc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if __ELF__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .size _ITM_beginTransaction, . - _ITM_beginTransaction
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .align 2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if __ELF__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .global GTM_longjmp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .hidden GTM_longjmp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .type GTM_longjmp, %function
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GTM_longjmp:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#elif __MACH__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ .private_extern _GTM_longjmp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+_GTM_longjmp:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* The first parameter becomes the return value (x0).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- The third parameter is ignored for now. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cfi_startproc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -89,7 +112,9 @@ GTM_longjmp:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- mov sp, x3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- br x30
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cfi_endproc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if __ELF__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .size GTM_longjmp, . - GTM_longjmp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* GNU_PROPERTY_AARCH64_* macros from elf.h for use in asm code. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define FEATURE_1_AND 0xc0000000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libitm/configure.tgt libitm/configure.tgt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index d1beb5c9ec8..e0c952b6431 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libitm/configure.tgt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libitm/configure.tgt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -50,7 +50,7 @@ fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Map the target cpu to an ARCH sub-directory. At the same time,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # work out any special compilation flags as necessary.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case "${target_cpu}" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- aarch64*) ARCH=aarch64 ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ aarch64* | arm64*) ARCH=aarch64 ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- alpha*) ARCH=alpha ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rs6000 | powerpc*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- XCFLAGS="${XCFLAGS} -mhtm"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 54e928baf6230bfbd1b5a3f9bf6e150688f34c16 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: FX Coudert <fxcoudert@gmail.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Tue, 1 Sep 2020 17:41:43 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 37/68] Add IEEE code for Aarch64 in libgfortran
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 9db121b12e9479eb9ebece45d36f0886e55d18d5)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgfortran/config/fpu-aarch64.h | 322 +++++++++++++++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgfortran/configure.host | 18 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 337 insertions(+), 3 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- create mode 100644 libgfortran/config/fpu-aarch64.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgfortran/config/fpu-aarch64.h libgfortran/config/fpu-aarch64.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-new file mode 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 00000000000..4db1b6c4f6b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgfortran/config/fpu-aarch64.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,322 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* FPU-related code for aarch64.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Copyright (C) 2020 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Contributed by Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+This file is part of the GNU Fortran runtime library (libgfortran).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Libgfortran is free software; you can redistribute it and/or
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+modify it under the terms of the GNU General Public
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+License as published by the Free Software Foundation; either
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+version 3 of the License, or (at your option) any later version.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Libgfortran is distributed in the hope that it will be useful,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+but WITHOUT ANY WARRANTY; without even the implied warranty of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+GNU General Public License for more details.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Under Section 7 of GPL version 3, you are granted additional
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+permissions described in the GCC Runtime Library Exception, version
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+3.1, as published by the Free Software Foundation.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+You should have received a copy of the GNU General Public License and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+a copy of the GCC Runtime Library Exception along with this program;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+<http://www.gnu.org/licenses/>. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Rounding mask and modes */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define FPCR_RM_MASK 0xc00000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define FE_TONEAREST 0x000000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define FE_UPWARD 0x400000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define FE_DOWNWARD 0x800000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define FE_TOWARDZERO 0xc00000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Exceptions */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define FE_INVALID 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define FE_DIVBYZERO 2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define FE_OVERFLOW 4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define FE_UNDERFLOW 8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define FE_INEXACT 16
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define FE_ALL_EXCEPT (FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define FE_EXCEPT_SHIFT 8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* This structure corresponds to the layout of the block
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ written by FSTENV. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+struct fenv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ unsigned int __fpcr;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ unsigned int __fpsr;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+};
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Check we can actually store the FPU state in the allocated size. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+_Static_assert (sizeof(struct fenv) <= (size_t) GFC_FPE_STATE_BUFFER_SIZE,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "GFC_FPE_STATE_BUFFER_SIZE is too small");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set_fpu (void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (options.fpe & GFC_FPE_DENORMAL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ estr_write ("Fortran runtime warning: Floating point 'denormal operand' "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "exception not supported.\n");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ set_fpu_trap_exceptions (options.fpe, 0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+get_fpu_trap_exceptions (void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ unsigned int fpcr, exceptions;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ int res = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fpcr = __builtin_aarch64_get_fpcr();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ exceptions = (fpcr >> FE_EXCEPT_SHIFT) & FE_ALL_EXCEPT;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (exceptions & FE_INVALID) res |= GFC_FPE_INVALID;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (exceptions & FE_DIVBYZERO) res |= GFC_FPE_ZERO;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (exceptions & FE_OVERFLOW) res |= GFC_FPE_OVERFLOW;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (exceptions & FE_UNDERFLOW) res |= GFC_FPE_UNDERFLOW;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (exceptions & FE_INEXACT) res |= GFC_FPE_INEXACT;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return res;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void set_fpu_trap_exceptions (int trap, int notrap)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ unsigned int mode_set = 0, mode_clr = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ unsigned int fpsr, fpsr_new;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ unsigned int fpcr, fpcr_new;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (trap & GFC_FPE_INVALID)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mode_set |= FE_INVALID;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (notrap & GFC_FPE_INVALID)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mode_clr |= FE_INVALID;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (trap & GFC_FPE_ZERO)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mode_set |= FE_DIVBYZERO;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (notrap & GFC_FPE_ZERO)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mode_clr |= FE_DIVBYZERO;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (trap & GFC_FPE_OVERFLOW)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mode_set |= FE_OVERFLOW;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (notrap & GFC_FPE_OVERFLOW)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mode_clr |= FE_OVERFLOW;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (trap & GFC_FPE_UNDERFLOW)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mode_set |= FE_UNDERFLOW;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (notrap & GFC_FPE_UNDERFLOW)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mode_clr |= FE_UNDERFLOW;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (trap & GFC_FPE_INEXACT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mode_set |= FE_INEXACT;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (notrap & GFC_FPE_INEXACT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mode_clr |= FE_INEXACT;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Clear stalled exception flags. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fpsr = __builtin_aarch64_get_fpsr();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fpsr_new = fpsr & ~FE_ALL_EXCEPT;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (fpsr_new != fpsr)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __builtin_aarch64_set_fpsr(fpsr_new);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fpcr_new = fpcr = __builtin_aarch64_get_fpcr();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fpcr_new |= (mode_set << FE_EXCEPT_SHIFT);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fpcr_new &= ~(mode_clr << FE_EXCEPT_SHIFT);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (fpcr_new != fpcr)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __builtin_aarch64_set_fpcr(fpcr_new);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+support_fpu_flag (int flag)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (flag & GFC_FPE_DENORMAL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+support_fpu_trap (int flag)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (flag & GFC_FPE_DENORMAL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+get_fpu_except_flags (void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ int result;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ unsigned int fpsr;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ result = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fpsr = __builtin_aarch64_get_fpsr() & FE_ALL_EXCEPT;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (fpsr & FE_INVALID)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ result |= GFC_FPE_INVALID;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (fpsr & FE_DIVBYZERO)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ result |= GFC_FPE_ZERO;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (fpsr & FE_OVERFLOW)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ result |= GFC_FPE_OVERFLOW;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (fpsr & FE_UNDERFLOW)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ result |= GFC_FPE_UNDERFLOW;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (fpsr & FE_INEXACT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ result |= GFC_FPE_INEXACT;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return result;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set_fpu_except_flags (int set, int clear)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ unsigned int exc_set = 0, exc_clr = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ unsigned int fpsr, fpsr_new;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (set & GFC_FPE_INVALID)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ exc_set |= FE_INVALID;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else if (clear & GFC_FPE_INVALID)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ exc_clr |= FE_INVALID;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (set & GFC_FPE_ZERO)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ exc_set |= FE_DIVBYZERO;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else if (clear & GFC_FPE_ZERO)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ exc_clr |= FE_DIVBYZERO;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (set & GFC_FPE_OVERFLOW)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ exc_set |= FE_OVERFLOW;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else if (clear & GFC_FPE_OVERFLOW)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ exc_clr |= FE_OVERFLOW;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (set & GFC_FPE_UNDERFLOW)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ exc_set |= FE_UNDERFLOW;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else if (clear & GFC_FPE_UNDERFLOW)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ exc_clr |= FE_UNDERFLOW;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (set & GFC_FPE_INEXACT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ exc_set |= FE_INEXACT;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else if (clear & GFC_FPE_INEXACT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ exc_clr |= FE_INEXACT;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fpsr_new = fpsr = __builtin_aarch64_get_fpsr();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fpsr_new &= ~exc_clr;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fpsr_new |= exc_set;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (fpsr_new != fpsr)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __builtin_aarch64_set_fpsr(fpsr_new);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+get_fpu_state (void *state)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ struct fenv *envp = state;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ envp->__fpcr = __builtin_aarch64_get_fpcr();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ envp->__fpsr = __builtin_aarch64_get_fpsr();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set_fpu_state (void *state)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ struct fenv *envp = state;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __builtin_aarch64_set_fpcr(envp->__fpcr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __builtin_aarch64_set_fpsr(envp->__fpsr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+get_fpu_rounding_mode (void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ unsigned int fpcr = __builtin_aarch64_get_fpcr();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fpcr &= FPCR_RM_MASK;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ switch (fpcr)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case FE_TONEAREST:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return GFC_FPE_TONEAREST;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case FE_UPWARD:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return GFC_FPE_UPWARD;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case FE_DOWNWARD:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return GFC_FPE_DOWNWARD;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case FE_TOWARDZERO:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return GFC_FPE_TOWARDZERO;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ default:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return 0; /* Should be unreachable. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set_fpu_rounding_mode (int round)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ unsigned int fpcr, round_mode;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ switch (round)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case GFC_FPE_TONEAREST:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ round_mode = FE_TONEAREST;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case GFC_FPE_UPWARD:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ round_mode = FE_UPWARD;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case GFC_FPE_DOWNWARD:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ round_mode = FE_DOWNWARD;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case GFC_FPE_TOWARDZERO:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ round_mode = FE_TOWARDZERO;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ default:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return; /* Should be unreachable. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fpcr = __builtin_aarch64_get_fpcr();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Only set FPCR if requested mode is different from current. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ round_mode = (fpcr ^ round_mode) & FPCR_RM_MASK;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (round_mode != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __builtin_aarch64_set_fpcr(fpcr ^ round_mode);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+support_fpu_rounding_mode (int mode __attribute__((unused)))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+support_fpu_underflow_control (int kind __attribute__((unused)))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Unsupported */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+get_fpu_underflow_mode (void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Unsupported */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set_fpu_underflow_mode (int gradual __attribute__((unused)))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Unsupported */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgfortran/configure.host libgfortran/configure.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 5824f253e2f..6f1183f37dd 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgfortran/configure.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgfortran/configure.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -36,17 +36,29 @@ if test "x${have_feenableexcept}" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ieee_support='yes'
</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;'>--# x86 asm should be used instead of glibc, since glibc doesn't support
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# the x86 denormal exception.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case "${host_cpu}" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # x86 asm should be used instead of glibc, since glibc doesn't support
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # the x86 denormal exception.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- i?86 | x86_64)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "x${have_soft_float}" = "xyes"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fpu_host='fpu-generic'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ieee_support='no'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fpu_host='fpu-387'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ieee_support='yes'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ieee_support='yes'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # use asm on aarch64-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ aarch64)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case "${host_os}" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ darwin*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fpu_host='fpu-aarch64'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ieee_support='yes'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Some targets require additional compiler options for NaN/Inf.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 5fdec9f3d621caba1e9b41a1d3ac8a235193bdef Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Wed, 19 Aug 2020 19:10:50 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 38/68] Darwin, Arm64 : Additional change for darwincpcs D.4.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-We are allowed to pass 16bytes in regs even if the starting reg
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-is not even-numbered.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 6d8be6105a1366e3e0ea9b9803bcbe37e0351904)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index f1bb67fd2e2..c807c5e24b2 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2664,7 +2664,7 @@ aarch64_hard_regno_mode_ok (unsigned regno, machine_mode mode)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (known_le (GET_MODE_SIZE (mode), 8))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (known_le (GET_MODE_SIZE (mode), 16))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- return (regno & 1) == 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return (regno & 1) == 0 || TARGET_MACHO; /* darwinpcs D.4 */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else if (FP_REGNUM_P (regno))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From e2297bf6bb367328368ed23053ddd5437b575823 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Wed, 19 Aug 2020 19:16:43 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 39/68] Darwin, Arm64 : Implement darwinpcs D.2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This allows us to pass items smaller than 8 bytes with their natural
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-alignment packed as appropriate into the stack.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This means that multiple args can use one AAPCS64 stack slot.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-We continue to account the stack in terms of words, but for darwinpcs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-the last word in the cumulative arguments is filled incrementally.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-So the allocation will remain 8-byte-wise, but the filling can be 1-byte
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-aligned.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This also means that darwinpcs needs to override the standard hook
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-for TARGET_FUNCTION_ARG_ROUND_BOUNDARY.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit e8b716a3a3e3952036d860fb685dd7f3ceeb7571)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64.c | 85 +++++++++++++++++++++++++++++++-----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64.h | 9 +++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 81 insertions(+), 13 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index c807c5e24b2..d75911f7286 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6006,6 +6006,7 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* No frontends can create types with variable-sized modes, so we
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- shouldn't be asked to pass or return them. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size = GET_MODE_SIZE (mode).to_constant ();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pcum->darwinpcs_stack_bytes = size;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size = ROUND_UP (size, UNITS_PER_WORD);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- allocate_ncrn = (type) ? !(FLOAT_TYPE_P (type)) : !FLOAT_MODE_P (mode);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6153,10 +6154,41 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* The argument is passed on stack; record the needed number of words for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- this argument and align the total size if necessary. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- on_stack:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- pcum->aapcs_stack_words = size / UNITS_PER_WORD;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (aarch64_function_arg_alignment (mode, type, &abi_break)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- == 16 * BITS_PER_UNIT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ unsigned int align = aarch64_function_arg_alignment (mode, type, &abi_break);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (pcum->pcs_variant == ARM_PCS_DARWINPCS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Darwin does not round up the allocation for smaller entities to 8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ bytes. It only requires the natural alignment for these. There
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ was no darwinpcs for GCC 9, so neither the implementation change
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ nor the warning should fire here.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ size is rounded up to 8 bytes, so will account for enough slots to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ accommodate the entire argument - potentially, with some padding
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ at the end. When the current position is 0 - any allocation needs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ a stack slot. CHECKME: do we need to align 16byte entities? */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (pcum->darwinpcs_sub_word_pos == 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pcum->aapcs_stack_words = size / UNITS_PER_WORD;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ int new_pos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ = ROUND_UP (pcum->darwinpcs_sub_word_pos, align / BITS_PER_UNIT);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (new_pos >= UNITS_PER_WORD)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* We are not catering for the possible 16byte alignment bump. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pcum->aapcs_stack_words += 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ new_pos = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pcum->darwinpcs_sub_word_offset = new_pos;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ new_pos += pcum->darwinpcs_stack_bytes;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (new_pos > UNITS_PER_WORD)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pcum->aapcs_stack_words += new_pos / UNITS_PER_WORD;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pcum->darwinpcs_sub_word_pos = new_pos % UNITS_PER_WORD;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pcum->aapcs_stack_words = size / UNITS_PER_WORD;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (align == 16 * BITS_PER_UNIT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int new_size = ROUND_UP (pcum->aapcs_stack_size, 16 / UNITS_PER_WORD);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (pcum->aapcs_stack_size != new_size)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6213,6 +6245,9 @@ aarch64_init_cumulative_args (CUMULATIVE_ARGS *pcum,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pcum->aapcs_arg_processed = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pcum->aapcs_stack_words = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pcum->aapcs_stack_size = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pcum->darwinpcs_stack_bytes = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pcum->darwinpcs_sub_word_offset = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pcum->darwinpcs_sub_word_pos = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pcum->silent_p = silent_p;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (!silent_p
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6254,8 +6289,9 @@ aarch64_function_arg_advance (cumulative_args_t pcum_v,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- || pcum->pcs_variant == ARM_PCS_DARWINPCS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64_layout_arg (pcum_v, arg);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- gcc_assert ((pcum->aapcs_reg != NULL_RTX)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- != (pcum->aapcs_stack_words != 0));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (pcum->pcs_variant != ARM_PCS_DARWINPCS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_assert ((pcum->aapcs_reg != NULL_RTX)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ != (pcum->aapcs_stack_words != 0));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pcum->aapcs_arg_processed = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pcum->aapcs_ncrn = pcum->aapcs_nextncrn;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pcum->aapcs_nvrn = pcum->aapcs_nextnvrn;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6273,12 +6309,17 @@ aarch64_function_arg_regno_p (unsigned regno)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- || (FP_REGNUM_P (regno) && regno < V0_REGNUM + NUM_FP_ARG_REGS));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* Implement FUNCTION_ARG_BOUNDARY. Every parameter gets at least
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- PARM_BOUNDARY bits of alignment, but will be given anything up
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- to STACK_BOUNDARY bits if the type requires it. This makes sure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- that both before and after the layout of each argument, the Next
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- Stacked Argument Address (NSAA) will have a minimum alignment of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- 8 bytes. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Implement FUNCTION_ARG_BOUNDARY.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ For AAPCS64, Every parameter gets at least PARM_BOUNDARY bits of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ alignment, but will be given anything up to STACK_BOUNDARY bits
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if the type requires it. This makes sure that both before and after
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ the layout of each argument, the Next Stacked Argument Address (NSAA)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ will have a minimum alignment of 8 bytes.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ For darwinpcs, parameters get their natural alignment (up to the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ STACK_BOUNDARY). Therefore, the stack can be aligned less than 8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ bytes after a smaller aligned type is placed. However, the stack will
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ always be counted in PARM_BOUNDARY chunks, darwinpcs will just fill
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ the last allocated chunk with several args, potentially. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static unsigned int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64_function_arg_boundary (machine_mode mode, const_tree type)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6289,9 +6330,24 @@ aarch64_function_arg_boundary (machine_mode mode, const_tree type)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (abi_break & warn_psabi)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- inform (input_location, "parameter passing for argument of type "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "%qT changed in GCC 9.1", type);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return MIN (alignment, STACK_BOUNDARY);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return MIN (MAX (alignment, PARM_BOUNDARY), STACK_BOUNDARY);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Implement TARGET_FUNCTION_ARG_ROUND_BOUNDARY for darwinpcs which allows
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ non-standard passing of byte-aligned items [D.2].
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ TODO: check if this extends to packed aggregates. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+static unsigned int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+aarch64_function_arg_round_boundary (machine_mode, const_tree)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return BITS_PER_UNIT;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Implement TARGET_GET_RAW_RESULT_MODE and TARGET_GET_RAW_ARG_MODE. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -23765,6 +23821,11 @@ aarch64_run_selftests (void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef TARGET_FUNCTION_ARG_BOUNDARY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define TARGET_FUNCTION_ARG_BOUNDARY aarch64_function_arg_boundary
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef TARGET_FUNCTION_ARG_ROUND_BOUNDARY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define TARGET_FUNCTION_ARG_ROUND_BOUNDARY aarch64_function_arg_round_boundary
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef TARGET_FUNCTION_ARG_PADDING
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define TARGET_FUNCTION_ARG_PADDING aarch64_function_arg_padding
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64.h gcc/config/aarch64/aarch64.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 913bb0501c4..aeb6f8d1ed2 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -57,7 +57,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define TARGET_SIMD (!TARGET_GENERAL_REGS_ONLY && AARCH64_ISA_SIMD)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define TARGET_FLOAT (!TARGET_GENERAL_REGS_ONLY && AARCH64_ISA_FP)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* Object format, ABI and syntax for Darwin platforms. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* If this is non-zero then generated code of the object format, ABI and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ assembler syntax used by Darwin (Mach-O) platforms. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define TARGET_MACHO 0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define UNITS_PER_WORD 8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -943,6 +944,12 @@ typedef struct
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aapcs_reg == NULL_RTX. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int aapcs_stack_size; /* The total size (in words, per 8 byte) of the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- stack arg area so far. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ int darwinpcs_stack_bytes; /* If the argument is passed on the stack, this
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ the byte-size. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ int darwinpcs_sub_word_offset;/* This is the offset of this arg within a word
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ when placing smaller items for darwinpcs. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ int darwinpcs_sub_word_pos; /* The next byte available within the word for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ darwinpcs. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- bool silent_p; /* True if we should act silently, rather than
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- raise an error for invalid calls. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } CUMULATIVE_ARGS;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From b8d5a6f3ee2b1b38c210c8cb9fb1e7f3bdf7f03b Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Fri, 4 Sep 2020 19:24:28 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 40/68] Darwin, Arm64 : Implement darwinpcs mangling for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- va_list.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The darwinpcs says this must be mangled as char * (Pc) and not
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-presented in the std:: namespace.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 6ef6b24b71943beee3797be012c3cfd13a4d123a)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64.c | 6 ++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 6 insertions(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index d75911f7286..4b234922ca2 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -17705,6 +17705,12 @@ aarch64_autovectorize_vector_modes (vector_modes *modes, bool)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static const char *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64_mangle_type (const_tree type)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* The darwinpcs ABI documents say that "__va_list" has to be
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mangled as char *. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ && lang_hooks.types_compatible_p (CONST_CAST_TREE (type), va_list_type))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return "Pc";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* The AArch64 ABI documents say that "__va_list" has to be
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- mangled as if it is in the "std" namespace. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (lang_hooks.types_compatible_p (CONST_CAST_TREE (type), va_list_type))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 56548db5c7fb728dee098adf13bed609faba2e10 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Thu, 20 Aug 2020 17:08:46 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 41/68] Darwin, Arm64 : Initial stab at darwinpcs variadic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- functions.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-These use the simpler char * version - but it remains to be seen if
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-we need a non-standard rendition to cater for any amusing platform
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-differences.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit b6a37008af81caa7bfcedf9f5c0d7c6122235c35)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64.c | 38 ++++++++++++++++++++++++++++++++++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 36 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 4b234922ca2..515e290b594 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6167,7 +6167,18 @@ on_stack:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size is rounded up to 8 bytes, so will account for enough slots to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- accommodate the entire argument - potentially, with some padding
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- at the end. When the current position is 0 - any allocation needs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- a stack slot. CHECKME: do we need to align 16byte entities? */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ a stack slot. CHECKME: do we need to align 16byte entities?
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ but we don't do this for unnamed parms in variadic functinos, they
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ each get their own slot. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (!arg.named)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pcum->aapcs_stack_words = size / UNITS_PER_WORD;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* We skip the re-alignment for 16byte things, since we currently
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ assume that the don't force such alignment. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (pcum->darwinpcs_sub_word_pos == 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pcum->aapcs_stack_words = size / UNITS_PER_WORD;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -16495,7 +16506,10 @@ static GTY(()) tree va_list_type;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void *__vr_top;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int __gr_offs;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int __vr_offs;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- }; */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ darwinpcs uses 'char *' for the va_list (in common with other platform
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ports). */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static tree
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64_build_builtin_va_list (void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -16503,6 +16517,13 @@ aarch64_build_builtin_va_list (void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tree va_list_name;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tree f_stack, f_grtop, f_vrtop, f_groff, f_vroff;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* darwinpcs uses a simple char * for this. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (TARGET_MACHO)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ va_list_type = build_pointer_type (char_type_node);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return va_list_type;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Create the type. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- va_list_type = lang_hooks.types.make_type (RECORD_TYPE);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Give it the required name. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -16574,6 +16595,13 @@ aarch64_expand_builtin_va_start (tree valist, rtx nextarg ATTRIBUTE_UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int vr_save_area_size = cfun->va_list_fpr_size;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int vr_offset;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* darwinpcs uses the default, char * va_list impl. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (TARGET_MACHO)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ std_expand_builtin_va_start (valist, nextarg);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cum = &crtl->args.info;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (cfun->va_list_gpr_size)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gr_save_area_size = MIN ((NUM_ARG_REGS - cum->aapcs_ncrn) * UNITS_PER_WORD,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -16664,6 +16692,9 @@ aarch64_gimplify_va_arg_expr (tree valist, tree type, gimple_seq *pre_p,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- HOST_WIDE_INT size, rsize, adjust, align;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tree t, u, cond1, cond2;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (TARGET_MACHO)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return std_gimplify_va_arg_expr (valist, type, pre_p, post_p);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- indirect_p = pass_va_arg_by_reference (type);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (indirect_p)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- type = build_pointer_type (type);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -16919,6 +16950,9 @@ aarch64_setup_incoming_varargs (cumulative_args_t cum_v,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int gr_saved = cfun->va_list_gpr_size;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int vr_saved = cfun->va_list_fpr_size;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (TARGET_MACHO)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* The caller has advanced CUM up to, but not beyond, the last named
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- argument. Advance a local copy of CUM past the last "real" named
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- argument, to find out how many registers are left over. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From dd408e0c82cc71d2a2ffa81f12d267e61f580fac Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Fri, 21 Aug 2020 19:55:26 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 42/68] Generic : Mega-hack to allow different passing
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- organisation for variadic funcs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Right now, the generic code assumes that it can determine the stack layout from
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-target callbacks that don't have complete information about the argument they
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-are processing (they only know the mode and the type - not it the argument is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-named or not, for example). This hack is not complete - but makes some
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-progress.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-It looks like we really need the option for a target to override the layout
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-process - if it requires distinct stack layouts for different calling convs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 1090760b67eae80e5829f2dc4f7256ddd368ad22)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/calls.c | 9 ++++++---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64.c | 12 +++++++-----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/function.c | 14 ++++++++++----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/function.h | 3 ++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 4 files changed, 25 insertions(+), 13 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/calls.c gcc/calls.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 26894342c21..f5c3eb8e139 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/calls.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/calls.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2480,7 +2480,8 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reg_parm_stack_space,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- args[i].pass_on_stack ? 0 : args[i].partial,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- fndecl, args_size, &args[i].locate);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fndecl, args_size, &args[i].locate,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ argpos < n_named_args);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef BLOCK_REG_PADDING
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* The argument is passed entirely in registers. See at which
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -5210,7 +5211,8 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- argvec[count].reg != 0,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reg_parm_stack_space, 0,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- NULL_TREE, &args_size, &argvec[count].locate);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ NULL_TREE, &args_size, &argvec[count].locate,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /*named_p=*/ true);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (argvec[count].reg == 0 || argvec[count].partial != 0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- || reg_parm_stack_space > 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -5301,7 +5303,8 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- argvec[count].reg != 0,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reg_parm_stack_space, argvec[count].partial,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- NULL_TREE, &args_size, &argvec[count].locate);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ NULL_TREE, &args_size, &argvec[count].locate,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /*named_p=*/true);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- args_size.constant += argvec[count].locate.size.constant;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc_assert (!argvec[count].locate.size.var);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 515e290b594..7a7efe7fd0b 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6169,13 +6169,15 @@ on_stack:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- at the end. When the current position is 0 - any allocation needs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- a stack slot. CHECKME: do we need to align 16byte entities?
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- but we don't do this for unnamed parms in variadic functinos, they
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ but we don't do this for unnamed parms in variadic functions, they
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- each get their own slot. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (!arg.named)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pcum->aapcs_stack_words = size / UNITS_PER_WORD;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pcum->darwinpcs_sub_word_offset = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pcum->darwinpcs_sub_word_pos = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* We skip the re-alignment for 16byte things, since we currently
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- assume that the don't force such alignment. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ assume that the darwinpcs doesn't force such alignment. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6338,12 +6340,12 @@ aarch64_function_arg_boundary (machine_mode mode, const_tree type)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- bool abi_break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- unsigned int alignment = aarch64_function_arg_alignment (mode, type,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- &abi_break);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (abi_break & warn_psabi)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- inform (input_location, "parameter passing for argument of type "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "%qT changed in GCC 9.1", type);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return MIN (alignment, STACK_BOUNDARY);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (abi_break & warn_psabi)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ inform (input_location, "parameter passing for argument of type "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "%qT changed in GCC 9.1", type);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return MIN (MAX (alignment, PARM_BOUNDARY), STACK_BOUNDARY);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/function.c gcc/function.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index d616f5f64f4..73ca16d330c 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/function.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/function.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2596,7 +2596,8 @@ assign_parm_find_entry_rtl (struct assign_parm_data_all *all,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- locate_and_pad_parm (data->arg.mode, data->arg.type, in_regs,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- all->reg_parm_stack_space,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- entry_parm ? data->partial : 0, current_function_decl,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- &all->stack_args_size, &data->locate);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ &all->stack_args_size, &data->locate,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ data->arg.named);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Update parm_stack_boundary if this parameter is passed in the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- stack. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3999,7 +4000,8 @@ locate_and_pad_parm (machine_mode passed_mode, tree type, int in_regs,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int reg_parm_stack_space, int partial,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tree fndecl ATTRIBUTE_UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- struct args_size *initial_offset_ptr,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- struct locate_and_pad_arg_data *locate)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ struct locate_and_pad_arg_data *locate,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ bool named_p)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tree sizetree;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pad_direction where_pad;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -4035,8 +4037,12 @@ locate_and_pad_parm (machine_mode passed_mode, tree type, int in_regs,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- : size_int (GET_MODE_SIZE (passed_mode)));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- where_pad = targetm.calls.function_arg_padding (passed_mode, type);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- boundary = targetm.calls.function_arg_boundary (passed_mode, type);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- round_boundary = targetm.calls.function_arg_round_boundary (passed_mode,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- type);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (named_p)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ round_boundary = targetm.calls.function_arg_round_boundary (passed_mode,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ type);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ round_boundary = PARM_BOUNDARY;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- locate->where_pad = where_pad;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Alignment can't exceed MAX_SUPPORTED_STACK_ALIGNMENT. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/function.h gcc/function.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 1ee8ed3de53..51055e87c04 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/function.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/function.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -645,7 +645,8 @@ extern bool use_register_for_decl (const_tree);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extern gimple_seq gimplify_parameters (gimple_seq *);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extern void locate_and_pad_parm (machine_mode, tree, int, int, int,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tree, struct args_size *,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- struct locate_and_pad_arg_data *);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ struct locate_and_pad_arg_data *,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ bool named_p = true);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extern void generate_setjmp_warnings (void);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Identify BLOCKs referenced by more than one NOTE_INSN_BLOCK_{BEG,END},
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From c043be009f1402cc3f4ec6438080b6b7e761b90f Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sun, 23 Aug 2020 16:02:01 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 43/68] Darwin, Arm64 : Adjust cases where stack spills pack
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- differently.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Temporary handling for complex values.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Complex values with a total size less than one stack slot might
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-conceivably be packed in the same manner as other small values.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-However, this is not done - and we need to override the process
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-for them.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Don't pack small structs either.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Darwinpcs doesn't mention some things - and one is small structs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-These are put into regs - but, when they spill to the stack, they don't
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-pack in the manner of char, int et. al.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Handle HFA cases that have packed stack layout.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-bleah! (not sure this is complete).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Exclude unions from packing rule.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Hide an unused function.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-We are not using aarch64_vfp_is_call_candidate so wrap it
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-in an #ifdef.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Fix a build error.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Drop an unused var.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit b4b0a28a4936c0559da7c8aa5ca53dada40d6f54)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64.c | 32 ++++++++++++++++++++++++++++++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 30 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 7a7efe7fd0b..292fad672b7 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -5858,6 +5858,7 @@ aarch64_return_in_memory (const_tree type, const_tree fndecl ATTRIBUTE_UNUSED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc_unreachable ();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if !TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static bool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64_vfp_is_call_candidate (cumulative_args_t pcum_v, machine_mode mode,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const_tree type, int *nregs)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -5867,6 +5868,7 @@ aarch64_vfp_is_call_candidate (cumulative_args_t pcum_v, machine_mode mode,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- &pcum->aapcs_vfp_rmode,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- nregs, NULL, pcum->silent_p);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Given MODE and TYPE of a function argument, return the alignment in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- bits. The idea is to suppress any stronger alignment requested by
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6010,10 +6012,18 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size = ROUND_UP (size, UNITS_PER_WORD);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- allocate_ncrn = (type) ? !(FLOAT_TYPE_P (type)) : !FLOAT_MODE_P (mode);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ bool is_ha = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if !TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- allocate_nvrn = aarch64_vfp_is_call_candidate (pcum_v,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- mode,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- type,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- &nregs);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ allocate_nvrn = aarch64_vfp_is_call_or_return_candidate (mode, type,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ &pcum->aapcs_vfp_rmode,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ &nregs, &is_ha,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pcum->silent_p);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc_assert (!sve_p || !allocate_nvrn);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* allocate_ncrn may be false-positive, but allocate_nvrn is quite reliable.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6169,9 +6179,15 @@ on_stack:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- at the end. When the current position is 0 - any allocation needs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- a stack slot. CHECKME: do we need to align 16byte entities?
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- but we don't do this for unnamed parms in variadic functions, they
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ but we don't do this for:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * unnamed parms in variadic functions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * complex types smaller than 4 bytes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- each get their own slot. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (!arg.named)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (!arg.named
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ || TREE_CODE (type) == COMPLEX_TYPE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ || (TREE_CODE (type) == RECORD_TYPE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ && !is_ha && !SCALAR_FLOAT_MODE_P (pcum->aapcs_vfp_rmode))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ || TREE_CODE (type) == UNION_TYPE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pcum->aapcs_stack_words = size / UNITS_PER_WORD;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pcum->darwinpcs_sub_word_offset = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6262,6 +6278,7 @@ aarch64_init_cumulative_args (CUMULATIVE_ARGS *pcum,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pcum->darwinpcs_sub_word_offset = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pcum->darwinpcs_sub_word_pos = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pcum->silent_p = silent_p;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pcum->aapcs_vfp_rmode = VOIDmode;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (!silent_p
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- && !TARGET_FLOAT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6341,6 +6358,17 @@ aarch64_function_arg_boundary (machine_mode mode, const_tree type)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- unsigned int alignment = aarch64_function_arg_alignment (mode, type,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- &abi_break);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Temporary fudge to put some non-scalar types in distinct stack slots. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ machine_mode comp_mode = VOIDmode;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ int nregs;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ bool is_ha;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ aarch64_vfp_is_call_or_return_candidate (mode, type, &comp_mode, &nregs,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ &is_ha, /*silent*/true);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (TREE_CODE (type) == COMPLEX_TYPE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ || (TREE_CODE (type) == RECORD_TYPE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ && !is_ha && !SCALAR_FLOAT_MODE_P (comp_mode))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ || TREE_CODE (type) == UNION_TYPE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return MIN (MAX (alignment, PARM_BOUNDARY), STACK_BOUNDARY);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return MIN (alignment, STACK_BOUNDARY);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (abi_break & warn_psabi)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 410164f244af249c924e664cb8e7e451dadf3c69 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Mon, 24 Aug 2020 21:19:39 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 44/68] Darwin, Arm64 : Reimplement the base CC variant.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-It turns out that trying to implement the Darwin PCS as CC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-variation is a can of worms and, since the target is chosen at
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure time, not actually doing anything useful. Fallout
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-from this included clobbering of callee saved regs etc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-So - for now at least - back out of this and use the AAPCS64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-as the darwinpcs, with the TARGET_MACHO flag chosing the variant.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-It is likely that we need to separate things more, since we haven't
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-fully dealt with the variadic functions issue properly.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit f8ebec59b9c1ee6e5eafcf807ec8eacc9cf3eb24)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64.c | 25 +++++++++----------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64.h | 1 -
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 9 insertions(+), 17 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 292fad672b7..bfcfb1e762d 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1546,7 +1546,6 @@ handle_aarch64_vector_pcs_attribute (tree *node, tree name, tree,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case ARM_PCS_SIMD:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return NULL_TREE;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- case ARM_PCS_DARWINPCS: /* FIXME: check if this is correct. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case ARM_PCS_SVE:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- error ("the %qE attribute cannot be applied to an SVE function type",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- name);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2783,7 +2782,6 @@ aarch64_reg_save_mode (unsigned int regno)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- switch (crtl->abi->id ())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case ARM_PCS_AAPCS64:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- case ARM_PCS_DARWINPCS:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Only the low 64 bits are saved by the base PCS. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return DFmode;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6038,7 +6036,7 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (!pcum->silent_p && !TARGET_FLOAT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64_err_no_fpadvsimd (mode);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (pcum->pcs_variant == ARM_PCS_DARWINPCS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- && !arg.named)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pcum->aapcs_nextnvrn = NUM_FP_ARG_REGS;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6089,7 +6087,7 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc_assert (nregs == 0 || nregs == 1 || nregs == 2);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (pcum->pcs_variant == ARM_PCS_DARWINPCS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- && !arg.named)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pcum->aapcs_nextncrn = NUM_ARG_REGS;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6107,7 +6105,7 @@ aarch64_layout_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- && (aarch64_function_arg_alignment (mode, type, &abi_break)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- == 16 * BITS_PER_UNIT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Darwin PCS deletes rule C.8. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- && pcum->pcs_variant != ARM_PCS_DARWINPCS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ && !TARGET_MACHO)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (abi_break && warn_psabi && currently_expanding_gimple_stmt)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- inform (input_location, "parameter passing for argument of type "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6167,7 +6165,7 @@ on_stack:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- unsigned int align = aarch64_function_arg_alignment (mode, type, &abi_break);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (pcum->pcs_variant == ARM_PCS_DARWINPCS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (TARGET_MACHO)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Darwin does not round up the allocation for smaller entities to 8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- bytes. It only requires the natural alignment for these. There
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6239,8 +6237,7 @@ aarch64_function_arg (cumulative_args_t pcum_v, const function_arg_info &arg)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CUMULATIVE_ARGS *pcum = get_cumulative_args (pcum_v);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc_assert (pcum->pcs_variant == ARM_PCS_AAPCS64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- || pcum->pcs_variant == ARM_PCS_SIMD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- || pcum->pcs_variant == ARM_PCS_SVE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- || pcum->pcs_variant == ARM_PCS_DARWINPCS);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ || pcum->pcs_variant == ARM_PCS_SVE);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (arg.end_marker_p ())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return gen_int_mode (pcum->pcs_variant, DImode);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6267,9 +6264,6 @@ aarch64_init_cumulative_args (CUMULATIVE_ARGS *pcum,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pcum->pcs_variant = (arm_pcs) fntype_abi (fntype).id ();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pcum->pcs_variant = ARM_PCS_AAPCS64;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- /* FIXME: Is there ever a case on Darwin where non-darwinpcs is valid? */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (TARGET_MACHO && pcum->pcs_variant == ARM_PCS_AAPCS64)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- pcum->pcs_variant = ARM_PCS_DARWINPCS;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pcum->aapcs_reg = NULL_RTX;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pcum->aapcs_arg_processed = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pcum->aapcs_stack_words = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6315,13 +6309,12 @@ aarch64_function_arg_advance (cumulative_args_t pcum_v,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CUMULATIVE_ARGS *pcum = get_cumulative_args (pcum_v);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (pcum->pcs_variant == ARM_PCS_AAPCS64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- || pcum->pcs_variant == ARM_PCS_SIMD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- || pcum->pcs_variant == ARM_PCS_SVE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- || pcum->pcs_variant == ARM_PCS_DARWINPCS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ || pcum->pcs_variant == ARM_PCS_SVE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64_layout_arg (pcum_v, arg);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (pcum->pcs_variant != ARM_PCS_DARWINPCS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- gcc_assert ((pcum->aapcs_reg != NULL_RTX)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- != (pcum->aapcs_stack_words != 0));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_assert (TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ || (pcum->aapcs_reg != NULL_RTX)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ != (pcum->aapcs_stack_words != 0));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pcum->aapcs_arg_processed = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pcum->aapcs_ncrn = pcum->aapcs_nextncrn;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pcum->aapcs_nvrn = pcum->aapcs_nextnvrn;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64.h gcc/config/aarch64/aarch64.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index aeb6f8d1ed2..3c9935fbf1b 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -905,7 +905,6 @@ enum arm_pcs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ARM_PCS_SVE, /* For functions that pass or return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- values in SVE registers. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ARM_PCS_TLSDESC, /* For targets of tlsdesc calls. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ARM_PCS_DARWINPCS, /* Darwin's amended AAPCS for 64 bit. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ARM_PCS_UNKNOWN
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From f26aa7766a75a9405a0777e48fbaf02011443060 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Thu, 3 Sep 2020 19:09:00 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 45/68] Darwin, Arm64 : Account for stack addresses less
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aligned than DI.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-darwinpcs, packs some stack items, which means that one cannot
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-guarantee that they are aligned to DI. Check for these cases and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-reject PRFM instructions then.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Note, that this generally results in use of an extra temporary reg.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-clang uses 'PRFUM' instructions in those cases, so we have a missed
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-optimisation opportunity (low priority).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-fixes issue #16.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 534aad5033dc224ed96118b67a84d496bba500ca)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64.c | 4 ++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 4 insertions(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index bfcfb1e762d..b887962cf83 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9561,6 +9561,10 @@ aarch64_address_valid_for_prefetch_p (rtx x, bool strict_p)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (!res)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Darwinpcs allows addresses on the stack that are not DImode aligned. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (TARGET_MACHO && addr.offset && (INTVAL (addr.offset) & 0x07))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* ... except writeback forms. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return addr.type != ADDRESS_REG_WB;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From a87471f1d0fad8895c64e2d462ebc6d06cc854aa Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Tue, 1 Sep 2020 21:45:33 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 46/68] Generic : More mega-hack for va / normal.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 899ff6e14355886789586631c3eff9ab6f30fbfc)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/calls.c | 6 ++++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/calls.h | 30 ++++++++++++++++++++++++++----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/function.c | 27 ++++++++++++++++++++-------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/function.h | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 4 files changed, 51 insertions(+), 14 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/calls.c gcc/calls.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index f5c3eb8e139..957f755adb5 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/calls.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/calls.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2305,7 +2305,8 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with those made by function.c. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* See if this argument should be passed by invisible reference. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- function_arg_info arg (type, argpos < n_named_args);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ function_arg_info arg (type, argpos < n_named_args,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ argpos == n_named_args - 1);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (pass_by_reference (args_so_far_pnt, arg))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const bool callee_copies
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2481,7 +2482,8 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reg_parm_stack_space,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- args[i].pass_on_stack ? 0 : args[i].partial,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fndecl, args_size, &args[i].locate,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- argpos < n_named_args);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ argpos < n_named_args,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ argpos == n_named_args - 1);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef BLOCK_REG_PADDING
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* The argument is passed entirely in registers. See at which
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/calls.h gcc/calls.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 4ee49360777..3c5fbad301a 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/calls.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/calls.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -35,24 +35,43 @@ class function_arg_info
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- public:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- function_arg_info ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- : type (NULL_TREE), mode (VOIDmode), named (false),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : type (NULL_TREE), mode (VOIDmode), named (false), last_named (false),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pass_by_reference (false)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Initialize an argument of mode MODE, either before or after promotion. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- function_arg_info (machine_mode mode, bool named)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- : type (NULL_TREE), mode (mode), named (named), pass_by_reference (false)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : type (NULL_TREE), mode (mode), named (named), last_named (false),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pass_by_reference (false)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ function_arg_info (machine_mode mode, bool named, bool last_named)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : type (NULL_TREE), mode (mode), named (named), last_named (last_named),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pass_by_reference (false)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Initialize an unpromoted argument of type TYPE. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- function_arg_info (tree type, bool named)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- : type (type), mode (TYPE_MODE (type)), named (named),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : type (type), mode (TYPE_MODE (type)), named (named), last_named (false),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pass_by_reference (false)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Initialize an unpromoted argument of type TYPE. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ function_arg_info (tree type, bool named, bool last_named)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : type (type), mode (TYPE_MODE (type)), named (named),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ last_named (last_named), pass_by_reference (false)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Initialize an argument with explicit properties. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- function_arg_info (tree type, machine_mode mode, bool named)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- : type (type), mode (mode), named (named), pass_by_reference (false)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : type (type), mode (mode), named (named), last_named (false),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pass_by_reference (false)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Initialize an argument with explicit properties. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ function_arg_info (tree type, machine_mode mode, bool named, bool last_named)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : type (type), mode (mode), named (named), last_named (last_named),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pass_by_reference (false)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Return true if the gimple-level type is an aggregate. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -105,6 +124,9 @@ public:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "..."). See also TARGET_STRICT_ARGUMENT_NAMING. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- unsigned int named : 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* True if this is the last named argument. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ unsigned int last_named : 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* True if we have decided to pass the argument by reference, in which case
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- the function_arg_info describes a pointer to the original argument. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- unsigned int pass_by_reference : 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/function.c gcc/function.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 73ca16d330c..2af6b6beb6e 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/function.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/function.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2430,7 +2430,10 @@ assign_parm_find_data_types (struct assign_parm_data_all *all, tree parm,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else if (DECL_CHAIN (parm))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- data->arg.named = 1; /* Not the last non-variadic parm. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else if (targetm.calls.strict_argument_naming (all->args_so_far))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- data->arg.named = 1; /* Only variadic ones are unnamed. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ data->arg.named = 1; /* Only variadic ones are unnamed. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ data->arg.last_named = 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- data->arg.named = 0; /* Treat as variadic. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2487,6 +2490,7 @@ assign_parms_setup_varargs (struct assign_parm_data_all *all,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- function_arg_info last_named_arg = data->arg;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- last_named_arg.named = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ last_named_arg.last_named = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- targetm.calls.setup_incoming_varargs (all->args_so_far, last_named_arg,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- &varargs_pretend_bytes, no_rtl);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2597,7 +2601,7 @@ assign_parm_find_entry_rtl (struct assign_parm_data_all *all,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- all->reg_parm_stack_space,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- entry_parm ? data->partial : 0, current_function_decl,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- &all->stack_args_size, &data->locate,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- data->arg.named);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ data->arg.named, data->arg.last_named);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Update parm_stack_boundary if this parameter is passed in the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- stack. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3894,7 +3898,8 @@ gimplify_parameters (gimple_seq *cleanup)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (data.arg.pass_by_reference)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tree type = TREE_TYPE (data.arg.type);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- function_arg_info orig_arg (type, data.arg.named);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ function_arg_info orig_arg (type, data.arg.named,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ data.arg.last_named);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (reference_callee_copied (&all.args_so_far_v, orig_arg))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tree local, t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -4001,7 +4006,7 @@ locate_and_pad_parm (machine_mode passed_mode, tree type, int in_regs,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tree fndecl ATTRIBUTE_UNUSED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- struct args_size *initial_offset_ptr,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- struct locate_and_pad_arg_data *locate,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- bool named_p)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ bool named_p, bool last_named_p)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tree sizetree;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pad_direction where_pad;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -4038,10 +4043,18 @@ locate_and_pad_parm (machine_mode passed_mode, tree type, int in_regs,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- where_pad = targetm.calls.function_arg_padding (passed_mode, type);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- boundary = targetm.calls.function_arg_boundary (passed_mode, type);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (named_p)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- round_boundary = targetm.calls.function_arg_round_boundary (passed_mode,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- type);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ round_boundary = targetm.calls.function_arg_round_boundary (passed_mode,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ type);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (last_named_p)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ round_boundary = PARM_BOUNDARY;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- round_boundary = PARM_BOUNDARY;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Force everything to be at least aligned to the parm boundary. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ boundary = MAX (boundary, PARM_BOUNDARY);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ round_boundary = PARM_BOUNDARY;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- locate->where_pad = where_pad;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/function.h gcc/function.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 51055e87c04..4ed5dc10045 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/function.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/function.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -646,7 +646,7 @@ extern gimple_seq gimplify_parameters (gimple_seq *);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extern void locate_and_pad_parm (machine_mode, tree, int, int, int,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tree, struct args_size *,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- struct locate_and_pad_arg_data *,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- bool named_p = true);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ bool named_p = true, bool last_named = false);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extern void generate_setjmp_warnings (void);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Identify BLOCKs referenced by more than one NOTE_INSN_BLOCK_{BEG,END},
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 2cca239f315a28b76b8f386ea727344e0d9d6289 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Tue, 25 Aug 2020 19:33:49 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 47/68] Darwin, Arm64 : Temporary proof-of-principle for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- relocs+addends.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-At present, we are generating _foo+123@PAGE and we should have _foo@PAGE+123
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-etc. This can probably be fixed better with symbol flags and use of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-ASM_OUTPUT_SYMBOL_REF but that needs more work. Right now we're also
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-stuck with GCC producing _foo@PAGE-1 as an example ... and the assmbler
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-doesn't like it.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 36767eccb8a65b6b57eedca4907100e702b3b829)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64.c | 153 ++++++++++++++++++++++++++++++++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64.md | 4 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 148 insertions(+), 9 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index b887962cf83..0cd8026051f 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10249,6 +10249,136 @@ sizetochar (int size)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+static void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+output_macho_postfix_expr (FILE *file, rtx x, const char *postfix)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ char buf[256];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ restart:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ switch (GET_CODE (x))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case PC:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ putc ('.', file);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case SYMBOL_REF:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (SYMBOL_REF_DECL (x))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ assemble_external (SYMBOL_REF_DECL (x));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ assemble_name (file, XSTR (x, 0));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fprintf (file, "@%s", postfix);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case LABEL_REF:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ x = label_ref_label (x);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Fall through. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case CODE_LABEL:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ASM_GENERATE_INTERNAL_LABEL (buf, "L", CODE_LABEL_NUMBER (x));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ assemble_name (file, buf);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case CONST_INT:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fprintf (file, HOST_WIDE_INT_PRINT_DEC, INTVAL (x));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case CONST:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* This used to output parentheses around the expression,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ but that does not work on the 386 (either ATT or BSD assembler). */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ output_macho_postfix_expr (file, XEXP (x, 0), postfix);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case CONST_WIDE_INT:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* We do not know the mode here so we have to use a round about
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ way to build a wide-int to get it printed properly. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ wide_int w = wide_int::from_array (&CONST_WIDE_INT_ELT (x, 0),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ CONST_WIDE_INT_NUNITS (x),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ CONST_WIDE_INT_NUNITS (x)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * HOST_BITS_PER_WIDE_INT,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ false);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ print_decs (w, file);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case CONST_DOUBLE:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (CONST_DOUBLE_AS_INT_P (x))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* We can use %d if the number is one word and positive. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (CONST_DOUBLE_HIGH (x))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fprintf (file, HOST_WIDE_INT_PRINT_DOUBLE_HEX,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (unsigned HOST_WIDE_INT) CONST_DOUBLE_HIGH (x),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (unsigned HOST_WIDE_INT) CONST_DOUBLE_LOW (x));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else if (CONST_DOUBLE_LOW (x) < 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fprintf (file, HOST_WIDE_INT_PRINT_HEX,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (unsigned HOST_WIDE_INT) CONST_DOUBLE_LOW (x));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fprintf (file, HOST_WIDE_INT_PRINT_DEC, CONST_DOUBLE_LOW (x));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* We can't handle floating point constants;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ PRINT_OPERAND must handle them. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ output_operand_lossage ("floating constant misused");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case CONST_FIXED:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fprintf (file, HOST_WIDE_INT_PRINT_DEC, CONST_FIXED_VALUE_LOW (x));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case PLUS:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Some assemblers need integer constants to appear last (eg masm). */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (CONST_INT_P (XEXP (x, 0)))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ output_macho_postfix_expr (file, XEXP (x, 1), postfix);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (INTVAL (XEXP (x, 0)) >= 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fprintf (file, "+");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ output_addr_const (file, XEXP (x, 0));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ output_macho_postfix_expr (file, XEXP (x, 0), postfix);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (!CONST_INT_P (XEXP (x, 1))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ || INTVAL (XEXP (x, 1)) >= 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fprintf (file, "+");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ output_addr_const (file, XEXP (x, 1));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case MINUS:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Avoid outputting things like x-x or x+5-x,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ since some assemblers can't handle that. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ x = simplify_subtraction (x);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (GET_CODE (x) != MINUS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ goto restart;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ output_macho_postfix_expr (file, XEXP (x, 0), postfix);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fprintf (file, "-");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if ((CONST_INT_P (XEXP (x, 1)) && INTVAL (XEXP (x, 1)) >= 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ || GET_CODE (XEXP (x, 1)) == PC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ || GET_CODE (XEXP (x, 1)) == SYMBOL_REF)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ output_addr_const (file, XEXP (x, 1));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fputs (targetm.asm_out.open_paren, file);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ output_addr_const (file, XEXP (x, 1));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fputs (targetm.asm_out.close_paren, file);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ZERO_EXTEND:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case SIGN_EXTEND:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case SUBREG:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case TRUNCATE:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ output_addr_const (file, XEXP (x, 0));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ default:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (targetm.asm_out.output_addr_const_extra (file, x))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ output_operand_lossage ("invalid expression as operand");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Print operand X to file F in a target specific manner according to CODE.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- The acceptable formatting commands given by CODE are:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 'c': An integer or symbol address without a preceding #
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10317,6 +10447,12 @@ aarch64_print_operand (FILE *f, rtx x, int code)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case 'K':
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ output_macho_postfix_expr (f, x, "PAGEOFF");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case 'O':
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ output_macho_postfix_expr (f, x, "GOTPAGEOFF");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case 'e':
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- x = unwrap_const_vec_duplicate (x);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10667,20 +10803,23 @@ aarch64_print_operand (FILE *f, rtx x, int code)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- default:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_addr_const (asm_out_file, x);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // FIXME update classify symbolic expression to handle macho.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- switch (aarch64_classify_symbolic_expression (x))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case SYMBOL_MO_SMALL_PCR:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- asm_fprintf (asm_out_file, "@PAGE;mopcr");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ output_macho_postfix_expr (asm_out_file, x, "PAGE");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// asm_fprintf (asm_out_file, "@PAGE;mopcr");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case SYMBOL_MO_SMALL_GOT:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- asm_fprintf (asm_out_file, "@GOTPAGE;mosg");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ output_macho_postfix_expr (asm_out_file, x, "GOTPAGE");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// asm_fprintf (asm_out_file, "@GOTPAGE;mosg");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- default:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- asm_fprintf (asm_out_file, "@BLEAH");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ output_macho_postfix_expr (asm_out_file, x, "BLEAH");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// asm_fprintf (asm_out_file, "@BLEAH");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10889,13 +11028,13 @@ aarch64_print_address_internal (FILE *f, machine_mode mode, rtx x,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case ADDRESS_LO_SUM:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- asm_fprintf (f, "[%s, #", reg_names [REGNO (addr.base)]);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- output_addr_const (f, addr.offset);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- asm_fprintf (f, "@PAGEOFF]");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ output_macho_postfix_expr (f, addr.offset, "PAGEOFF");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// output_addr_const (f, addr.offset);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- asm_fprintf (f, "[%s, #:lo12:", reg_names [REGNO (addr.base)]);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- output_addr_const (f, addr.offset);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- asm_fprintf (f, "]");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ asm_fprintf (f, "]");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case ADDRESS_SYMBOLIC:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64.md gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index e8b7e6a64c6..dece932dd3e 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6496,7 +6496,7 @@ (define_insn "add_losym_<mode>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (match_operand 2 "aarch64_valid_symref" "S")))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { return TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ? "add\\t%<w>0, %<w>1, %c2@PAGEOFF;momd"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ? "add\\t%<w>0, %<w>1, %K2;momd"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- : "add\\t%<w>0, %<w>1, :lo12:%c2";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set_attr "type" "alu_imm")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6510,7 +6510,7 @@ (define_insn "ldr_got_small_<mode>"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- UNSPEC_GOTSMALLPIC))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { return TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ? "ldr\\t%<w>0, [%1, %c2@GOTPAGEOFF];momd"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ? "ldr\\t%<w>0, [%1, %O2];momd"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- : "ldr\\t%<w>0, [%1, #:got_lo12:%c2]";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set_attr "type" "load_<ldst_sz>")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 0534fac43320812499d9a7890c23b0a04be40d78 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Thu, 27 Aug 2020 19:39:10 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 48/68] Darwin, Arm64 : Make code label references use PAGE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- relocs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-We need to be able to refer to Lxxxx labels in libgnat.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 80a208d8f5d105bcca03de83c20eb020a0e6fcdf)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64.c | 5 ++++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 4 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 0cd8026051f..44d59930401 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10274,6 +10274,7 @@ output_macho_postfix_expr (FILE *file, rtx x, const char *postfix)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case CODE_LABEL:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ASM_GENERATE_INTERNAL_LABEL (buf, "L", CODE_LABEL_NUMBER (x));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- assemble_name (file, buf);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fprintf (file, "@%s", postfix);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case CONST_INT:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -16483,7 +16484,9 @@ aarch64_classify_symbol (rtx x, HOST_WIDE_INT offset)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case AARCH64_CMODEL_SMALL_SPIC:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case AARCH64_CMODEL_SMALL_PIC:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case AARCH64_CMODEL_SMALL:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- return SYMBOL_SMALL_ABSOLUTE;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return TARGET_MACHO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ? SYMBOL_MO_SMALL_PCR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : SYMBOL_SMALL_ABSOLUTE;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- default:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc_unreachable ();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 7776542e6793775150dd7c795d6ddef1da2fa4aa Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Thu, 27 Aug 2020 19:44:45 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 49/68] Darwin, Arm64 : Avoid negative offsets in PAGE relocs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-It's not clear to me whether this is a mistake in the LLVM backend
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-or a genuine restriction in the relocation (the wording of the addend
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-reloc says neither 'signed' nor 'unsigned'. This works around this
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-by making known negative offsets non-legitimate and composing
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-the address by:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ardp foo@PAGE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- add dest, temp, foo@PAGEOFF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- add dest, dest, neg_offset
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ We are now handling negative addends.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Part of the code attempting to deal with the "PAGE-N" issue
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-was to reject negative offsets in the legitimizers - actually, this
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-wasn't effective anyway. We've now got code catching the cases
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-and using a separate sum instruction, so delete these.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit b3e07959c90bcc7231ecae2506555c59e570dfbd)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64.c | 24 +++++++++++++++++++++---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 21 insertions(+), 3 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 44d59930401..0c6827cb807 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3129,6 +3129,21 @@ aarch64_load_symref_appropriately (rtx dest, rtx imm,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (can_create_pseudo_p ())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tmp_reg = gen_reg_rtx (mode);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (TARGET_MACHO)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ rtx sym, off;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ split_const (imm, &sym, &off);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Negative offsets don't work, whether by intention is TBD. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (INTVAL (off) < 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ emit_move_insn (tmp_reg, gen_rtx_HIGH (mode, sym));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ emit_insn (gen_add_losym (dest, tmp_reg, sym));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* FIXME: add the SI option if/when we support ilp32. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ emit_insn (gen_adddi3 (dest, dest, off));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* else positive offset is OK. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- emit_move_insn (tmp_reg, gen_rtx_HIGH (mode, imm));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- emit_insn (gen_add_losym (dest, tmp_reg, imm));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9484,6 +9499,7 @@ aarch64_classify_address (struct aarch64_address_info *info,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* load literal: pc-relative constant pool entry. Only supported
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- for SI mode or larger. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- info->type = ADDRESS_SYMBOLIC;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ info->offset = NULL_RTX;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (!load_store_pair_p
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- && GET_MODE_SIZE (mode).is_constant (&const_size)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9491,8 +9507,9 @@ aarch64_classify_address (struct aarch64_address_info *info,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- poly_int64 offset;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rtx sym = strip_offset_and_salt (x, &offset);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- return ((GET_CODE (sym) == LABEL_REF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- || (GET_CODE (sym) == SYMBOL_REF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return ((LABEL_REF_P (sym)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ || (SYMBOL_REF_P (sym)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- && CONSTANT_POOL_ADDRESS_P (sym)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- && aarch64_pcrelative_literal_loads)));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9508,7 +9525,8 @@ aarch64_classify_address (struct aarch64_address_info *info,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- poly_int64 offset;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- HOST_WIDE_INT const_offset;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rtx sym = strip_offset_and_salt (info->offset, &offset);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (GET_CODE (sym) == SYMBOL_REF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (SYMBOL_REF_P (sym)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- && offset.is_constant (&const_offset)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- && (aarch64_classify_symbol (sym, const_offset)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- == SYMBOL_SMALL_ABSOLUTE))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From c3ae727513dd1c2eee92f5d782426b5e8a9f4b6c Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sun, 4 Oct 2020 12:50:15 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 50/68] Darwin, Arm64 : Make more Objective-C metadata
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- linker-visible.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-It seems that the aarch64 port for clang exposes more of the meta-data entries
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-to ld64 (than for x86_64). However, the linker seems to require this for arm64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(so that the atom checks are apparently different). Anyway - we just punt on
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-hidding any of the metadata lables for now.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit a0b1e3944b152ff9e4e29262b097c80c16e4cf10)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/darwin.h | 55 +++++++++++++++++++++++----------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 28 insertions(+), 27 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/darwin.h gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index c63f2d79958..1b03a213960 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -762,34 +762,35 @@ int darwin_label_is_anonymous_local_objc_name (const char *name);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef ASM_OUTPUT_LABELREF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define ASM_OUTPUT_LABELREF(FILE,NAME) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- do { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- const char *xname = (NAME); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (! strcmp (xname, MACHOPIC_FUNCTION_BASE_NAME)) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- machopic_output_function_base_name(FILE); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- else if (xname[0] == '&' || xname[0] == '*') \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- int len = strlen (xname); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (len > 6 && !strcmp ("$stub", xname + len - 5)) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- machopic_validate_stub_or_non_lazy_ptr (xname); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- else if (len > 7 && !strcmp ("$stub\"", xname + len - 6)) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- machopic_validate_stub_or_non_lazy_ptr (xname); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- else if (len > 14 && !strcmp ("$non_lazy_ptr", xname + len - 13)) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- machopic_validate_stub_or_non_lazy_ptr (xname); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- else if (len > 15 && !strcmp ("$non_lazy_ptr\"", xname + len - 14)) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- machopic_validate_stub_or_non_lazy_ptr (xname); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (xname[1] != '"' && name_needs_quotes (&xname[1])) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- fprintf (FILE, "\"%s\"", &xname[1]); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- else \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- fputs (&xname[1], FILE); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- } \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- else if (xname[0] == '+' || xname[0] == '-') \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- fprintf (FILE, "\"%s\"", xname); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- else if (darwin_label_is_anonymous_local_objc_name (xname)) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- fprintf (FILE, "L%s", xname); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- else if (xname[0] != '"' && name_needs_quotes (xname)) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ do \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ const char *xname = (NAME); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (! strcmp (xname, MACHOPIC_FUNCTION_BASE_NAME)) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ machopic_output_function_base_name(FILE); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else if (xname[0] == '&' || xname[0] == '*') \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ int len = strlen (xname); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (len > 6 && !strcmp ("$stub", xname + len - 5)) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ machopic_validate_stub_or_non_lazy_ptr (xname); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else if (len > 7 && !strcmp ("$stub\"", xname + len - 6)) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ machopic_validate_stub_or_non_lazy_ptr (xname); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else if (len > 14 && !strcmp ("$non_lazy_ptr", xname + len - 13)) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ machopic_validate_stub_or_non_lazy_ptr (xname); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else if (len > 15 && !strcmp ("$non_lazy_ptr\"", xname + len - 14))\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ machopic_validate_stub_or_non_lazy_ptr (xname); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (xname[1] != '"' && name_needs_quotes (&xname[1])) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fprintf (FILE, "\"%s\"", &xname[1]); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fputs (&xname[1], FILE); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ } \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else if (xname[0] == '+' || xname[0] == '-') \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fprintf (FILE, "\"%s\"", xname); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else if (darwin_label_is_anonymous_local_objc_name (xname)) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fprintf (FILE, "l%s", xname); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else if (xname[0] != '"' && name_needs_quotes (xname)) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- asm_fprintf (FILE, "\"%U%s\"", xname); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- else \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- asm_fprintf (FILE, "%U%s", xname); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ asm_fprintf (FILE, "%U%s", xname); \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } while (0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Output before executable code. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From c58b1520c9468113fc9617fed8bd9d95f237cf86 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Fri, 28 Aug 2020 10:43:30 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 51/68] testsuite, Darwin, Arm64 : Darwin does not support sve
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- at present.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Not clear if it will in future.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 5d0dd5d3c14249d0bb7f14ba63778e609425517e)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/g++.target/aarch64/sve/aarch64-sve.exp | 5 +++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .../g++.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp | 5 +++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .../g++.target/aarch64/sve/acle/aarch64-sve-acle.exp | 5 +++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .../g++.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp | 5 +++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/gcc.target/aarch64/sve/aarch64-sve.exp | 5 +++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .../gcc.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp | 5 +++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .../gcc.target/aarch64/sve/acle/aarch64-sve-acle.exp | 5 +++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/gcc.target/aarch64/sve/pcs/aarch64-sve-pcs.exp | 4 ++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/gcc.target/aarch64/sve2/aarch64-sve2.exp | 5 +++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .../gcc.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp | 5 +++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .../gcc.target/aarch64/sve2/acle/aarch64-sve2-acle.exp | 5 +++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 11 files changed, 54 insertions(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/g++.target/aarch64/sve/aarch64-sve.exp gcc/testsuite/g++.target/aarch64/sve/aarch64-sve.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 297ab931f81..7e496c7d23c 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/g++.target/aarch64/sve/aarch64-sve.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/g++.target/aarch64/sve/aarch64-sve.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -25,6 +25,11 @@ if {![istarget aarch64*-*-*] } then {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Darwin doesn't support sve
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if { [istarget *-*-darwin*] } then {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Load support procs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- load_lib g++-dg.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/g++.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp gcc/testsuite/g++.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 99e8356cc68..a50c9121995 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/g++.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/g++.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -24,6 +24,11 @@ if { ![istarget aarch64*-*-*] } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Darwin doesn't support sve
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if { [istarget *-*-darwin*] } then {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Load support procs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- load_lib g++-dg.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/g++.target/aarch64/sve/acle/aarch64-sve-acle.exp gcc/testsuite/g++.target/aarch64/sve/acle/aarch64-sve-acle.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 55a5711016f..907aa533f07 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/g++.target/aarch64/sve/acle/aarch64-sve-acle.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/g++.target/aarch64/sve/acle/aarch64-sve-acle.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -25,6 +25,11 @@ if {![istarget aarch64*-*-*] } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Darwin doesn't support sve
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if { [istarget *-*-darwin*] } then {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Load support procs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- load_lib g++-dg.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/g++.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp gcc/testsuite/g++.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 304cdad8ea4..02de6a57732 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/g++.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/g++.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -24,6 +24,11 @@ if { ![istarget aarch64*-*-*] } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Darwin doesn't support sve
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if { [istarget *-*-darwin*] } then {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Load support procs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- load_lib g++-dg.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/sve/aarch64-sve.exp gcc/testsuite/gcc.target/aarch64/sve/aarch64-sve.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 77b84eed707..a8c98bdf3ff 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/sve/aarch64-sve.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/sve/aarch64-sve.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -25,6 +25,11 @@ if {![istarget aarch64*-*-*] } then {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Darwin doesn't support sve
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if { [istarget *-*-darwin*] } then {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Load support procs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- load_lib gcc-dg.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp gcc/testsuite/gcc.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 6cb81a10d0d..638b0909f52 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -24,6 +24,11 @@ if {![istarget aarch64*-*-*] } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Darwin doesn't support sve
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if { [istarget *-*-darwin*] } then {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Load support procs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- load_lib gcc-dg.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/sve/acle/aarch64-sve-acle.exp gcc/testsuite/gcc.target/aarch64/sve/acle/aarch64-sve-acle.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index f86b6037b26..9b96551c90c 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/sve/acle/aarch64-sve-acle.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/sve/acle/aarch64-sve-acle.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -25,6 +25,11 @@ if {![istarget aarch64*-*-*] } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Darwin doesn't support sve
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if { [istarget *-*-darwin*] } then {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Load support procs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- load_lib gcc-dg.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/sve/pcs/aarch64-sve-pcs.exp gcc/testsuite/gcc.target/aarch64/sve/pcs/aarch64-sve-pcs.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 63f1f4e20a8..1e4fc3265f5 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/sve/pcs/aarch64-sve-pcs.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/sve/pcs/aarch64-sve-pcs.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -25,6 +25,10 @@ if {![istarget aarch64*-*-*] } then {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if { [istarget *-*-darwin*] } then {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Load support procs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- load_lib gcc-dg.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/sve2/aarch64-sve2.exp gcc/testsuite/gcc.target/aarch64/sve2/aarch64-sve2.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index b1427714f4b..57bc58abc9f 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/sve2/aarch64-sve2.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/sve2/aarch64-sve2.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -25,6 +25,11 @@ if {![istarget aarch64*-*-*] } then {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Darwin doesn't support sve
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if { [istarget *-*-darwin*] } then {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Load support procs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- load_lib gcc-dg.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp gcc/testsuite/gcc.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index b3189fe9f58..9460188a478 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -24,6 +24,11 @@ if {![istarget aarch64*-*-*] } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Darwin doesn't support sve
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if { [istarget *-*-darwin*] } then {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Load support procs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- load_lib gcc-dg.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/sve2/acle/aarch64-sve2-acle.exp gcc/testsuite/gcc.target/aarch64/sve2/acle/aarch64-sve2-acle.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 0fbaae536d4..4d74e75062f 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/sve2/acle/aarch64-sve2-acle.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/sve2/acle/aarch64-sve2-acle.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -25,6 +25,11 @@ if {![istarget aarch64*-*-*] } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Darwin doesn't support sve
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if { [istarget *-*-darwin*] } then {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Load support procs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- load_lib gcc-dg.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From d54723a107c5cfc84334d2bda376d4365d74f340 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Mon, 31 Aug 2020 12:40:51 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 52/68] testsuite, Darwin, Arm64 : We don't support PCH yet,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- disable the tests.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-There is no point in running these, since the current implmentation requires
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-non-PIE executables, which are not permitted on Arm64 Darwin.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit f5a4dd0abae2839dacedffb0a9e3baf07f595487)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/g++.dg/pch/pch.exp | 5 +++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/gcc.dg/pch/pch.exp | 5 +++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/objc.dg/pch/pch.exp | 5 +++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 3 files changed, 15 insertions(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/g++.dg/pch/pch.exp gcc/testsuite/g++.dg/pch/pch.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index f5afdc20f84..68c5b0487cc 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/g++.dg/pch/pch.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/g++.dg/pch/pch.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -14,6 +14,11 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # <http://www.gnu.org/licenses/>.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Arm64 Darwin doesn't support PCH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if { [istarget aarch64-*-darwin*] } then {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # GCC testsuite for precompiled header interaction,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # that uses the `dg.exp' driver.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.dg/pch/pch.exp gcc/testsuite/gcc.dg/pch/pch.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index c3882b95809..e681ace2fff 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.dg/pch/pch.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.dg/pch/pch.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -14,6 +14,11 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # <http://www.gnu.org/licenses/>.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Arm64 Darwin doesn't support PCH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if { [istarget aarch64-*-darwin*] } then {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # GCC testsuite for precompiled header interaction,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # that uses the `dg.exp' driver.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/objc.dg/pch/pch.exp gcc/testsuite/objc.dg/pch/pch.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 2da3d96d4fe..4e225f0bc43 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/objc.dg/pch/pch.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/objc.dg/pch/pch.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -14,6 +14,11 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # along with GCC; see the file COPYING3. If not see
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # <http://www.gnu.org/licenses/>.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Arm64 Darwin doesn't support PCH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if { [istarget aarch64-*-darwin*] } then {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # GCC testsuite for precompiled header interaction,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # that uses the `dg.exp' driver.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 6e83bad4a9dd71c1a65ee8635fe3ac4a04cfb552 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Fri, 4 Sep 2020 13:14:58 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 53/68] testsuite, Darwin, Arm64 : Fixup tests where the output
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- is different.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-It's to be expected that the output from scan assembler tests will
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-vary for Darwin - since the object format, assembler syntax and ABI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-all have differences from ELF/AAPCS64.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit d84274d8e8ee6223b123e70a0d885210057a3880)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/g++.dg/abi/aarch64_guard1.C | 3 ++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/g++.dg/abi/arm_va_list.C | 6 ++++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 6 insertions(+), 3 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/g++.dg/abi/aarch64_guard1.C gcc/testsuite/g++.dg/abi/aarch64_guard1.C
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index e2669a89fbf..715750ae019 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/g++.dg/abi/aarch64_guard1.C
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/g++.dg/abi/aarch64_guard1.C
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12,5 +12,6 @@ int *foo ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return &x;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--// { dg-final { scan-assembler _ZGVZ3foovE1x,8,8 } }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// { dg-final { scan-assembler _ZGVZ3foovE1x,8,8 { target { ! *-*-darwin* } } } }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// { dg-final { scan-assembler __DATA,__common,__ZGVZ3foovE1x,8,3 { target *-*-darwin* } } }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // { dg-final { scan-tree-dump "& 1" "original" } }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/g++.dg/abi/arm_va_list.C gcc/testsuite/g++.dg/abi/arm_va_list.C
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 4f6f3a46da4..ff9fd8bcf0d 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/g++.dg/abi/arm_va_list.C
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/g++.dg/abi/arm_va_list.C
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -8,8 +8,10 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // #include <stdarg.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- typedef __builtin_va_list va_list;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--// { dg-final { scan-assembler "\n_Z1fPSt9__va_list:" } }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// { dg-final { scan-assembler "\n_Z1fPSt9__va_list:" { target { ! *-*-darwin* } } } }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// { dg-final { scan-assembler "\n__Z1fPPc:" { target *-*-darwin* } } }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void f(va_list*) {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--// { dg-final { scan-assembler "\n_Z1gSt9__va_listS_:" } }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// { dg-final { scan-assembler "\n_Z1gSt9__va_listS_:" { target { ! *-*-darwin* } } } }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// { dg-final { scan-assembler "\n__Z1gPcS_:" { target *-*-darwin* } } }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void g(va_list, va_list) {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From c7e6241cc68852cf694fd647356780b57f63a5c1 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sun, 6 Sep 2020 08:58:11 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 54/68] testsuite, Darwin, Arm64 : Fix up CFString tests for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- arm64 asm.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The codegen tests include scan asms for the required output - these
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-need adjustment for the Arm64 assembler syntax.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 42712c64bde976a6084ff3f951ab20a2aceb9405)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/g++.dg/torture/darwin-cfstring-3.C | 4 ++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/gcc.dg/torture/darwin-cfstring-3.c | 4 ++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/obj-c++.dg/torture/strings/const-cfstring-4.mm | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/objc.dg/torture/strings/const-cfstring-4.m | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 4 files changed, 6 insertions(+), 6 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/g++.dg/torture/darwin-cfstring-3.C gcc/testsuite/g++.dg/torture/darwin-cfstring-3.C
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index ee4b385b17f..eabb3b517a4 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/g++.dg/torture/darwin-cfstring-3.C
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/g++.dg/torture/darwin-cfstring-3.C
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -26,5 +26,5 @@ void foo(void) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler "\\.long\[ \\t\]+___CFConstantStringClassReference\n\[ \\t\]*\\.long\[ \\t\]+1992\n\[ \\t\]*\\.long\[ \\t\]+\[lL\]C.*\n\[ \\t\]*\\.long\[ \\t\]+4\n" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler "\\.long\[ \\t\]+___CFConstantStringClassReference\n\[ \\t\]*\\.long\[ \\t\]+1992\n\[ \\t\]*\\.long\[ \\t\]+\[lL\]C.*\n\[ \\t\]*\\.long\[ \\t\]+10\n" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { scan-assembler ".quad\t___CFConstantStringClassReference\n\t.long\t1992\n\t.space 4\n\t.quad\t.*\n\t.quad\t4\n" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { scan-assembler ".quad\t___CFConstantStringClassReference\n\t.long\t1992\n\t.space 4\n\t.quad\t.*\n\t.quad\t10\n" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { scan-assembler {.(quad|xword)\t___CFConstantStringClassReference\n\t.(long|word)\t1992\n\t.space 4\n\t.(quad|xword)\t.*\n\t.(quad|xword)\t4\n} { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { scan-assembler {.(quad|xword)\t___CFConstantStringClassReference\n\t.(long|word)\t1992\n\t.space 4\n\t.(quad|xword)\t.*\n\t.(quad|xword)\t10\n} { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.dg/torture/darwin-cfstring-3.c gcc/testsuite/gcc.dg/torture/darwin-cfstring-3.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index ee4b385b17f..eabb3b517a4 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.dg/torture/darwin-cfstring-3.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.dg/torture/darwin-cfstring-3.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -26,5 +26,5 @@ void foo(void) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler "\\.long\[ \\t\]+___CFConstantStringClassReference\n\[ \\t\]*\\.long\[ \\t\]+1992\n\[ \\t\]*\\.long\[ \\t\]+\[lL\]C.*\n\[ \\t\]*\\.long\[ \\t\]+4\n" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler "\\.long\[ \\t\]+___CFConstantStringClassReference\n\[ \\t\]*\\.long\[ \\t\]+1992\n\[ \\t\]*\\.long\[ \\t\]+\[lL\]C.*\n\[ \\t\]*\\.long\[ \\t\]+10\n" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { scan-assembler ".quad\t___CFConstantStringClassReference\n\t.long\t1992\n\t.space 4\n\t.quad\t.*\n\t.quad\t4\n" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { scan-assembler ".quad\t___CFConstantStringClassReference\n\t.long\t1992\n\t.space 4\n\t.quad\t.*\n\t.quad\t10\n" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { scan-assembler {.(quad|xword)\t___CFConstantStringClassReference\n\t.(long|word)\t1992\n\t.space 4\n\t.(quad|xword)\t.*\n\t.(quad|xword)\t4\n} { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { scan-assembler {.(quad|xword)\t___CFConstantStringClassReference\n\t.(long|word)\t1992\n\t.space 4\n\t.(quad|xword)\t.*\n\t.(quad|xword)\t10\n} { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/obj-c++.dg/torture/strings/const-cfstring-4.mm gcc/testsuite/obj-c++.dg/torture/strings/const-cfstring-4.mm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 1155db5f83f..e0dd8062373 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/obj-c++.dg/torture/strings/const-cfstring-4.mm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/obj-c++.dg/torture/strings/const-cfstring-4.mm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -18,4 +18,4 @@ void *foo (void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler ".section __DATA, __cfstring" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler ".long\t___CFConstantStringClassReference\n\t.long\t1992\n\t.long\t.*\n\t.long\t19\n" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { scan-assembler ".quad\t___CFConstantStringClassReference\n\t.long\t1992\n\t.space 4\n\t.quad\t.*\n\t.quad\t19\n" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { scan-assembler {.(quad|xword)\t___CFConstantStringClassReference\n\t.(long|word)\t1992\n\t.space 4\n\t.(quad|xword)\t.*\n\t.(quad|xword)\t19\n} { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/objc.dg/torture/strings/const-cfstring-4.m gcc/testsuite/objc.dg/torture/strings/const-cfstring-4.m
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 1155db5f83f..e0dd8062373 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/objc.dg/torture/strings/const-cfstring-4.m
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/objc.dg/torture/strings/const-cfstring-4.m
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -18,4 +18,4 @@ void *foo (void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler ".section __DATA, __cfstring" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler ".long\t___CFConstantStringClassReference\n\t.long\t1992\n\t.long\t.*\n\t.long\t19\n" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { scan-assembler ".quad\t___CFConstantStringClassReference\n\t.long\t1992\n\t.space 4\n\t.quad\t.*\n\t.quad\t19\n" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { scan-assembler {.(quad|xword)\t___CFConstantStringClassReference\n\t.(long|word)\t1992\n\t.space 4\n\t.(quad|xword)\t.*\n\t.(quad|xword)\t19\n} { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From bf8a132fba75c1ea7a563c91478466f654e8cfac Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sun, 6 Sep 2020 14:36:47 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 55/68] testsuite, Darwin, Arm64 : Amend segaddr test.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The target does not accept no-pie, so we must not try it.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit d6af9eadb855a199913e9a1bac664f2528131165)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/gcc.dg/darwin-segaddr.c | 3 ++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 2 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.dg/darwin-segaddr.c gcc/testsuite/gcc.dg/darwin-segaddr.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 526db77bd9c..fcc324b3031 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.dg/darwin-segaddr.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.dg/darwin-segaddr.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,7 +1,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Check that -segaddr gets through and works. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-do run { target *-*-darwin* } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-options "-O0 -segaddr __TEST 0x200000 -fno-pie" { target { *-*-darwin* && { ! lp64 } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-options "-O0 -segaddr __TEST 0x110000000 -fno-pie" { target { *-*-darwin* && lp64 } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-options "-O0 -segaddr __TEST 0x110000000 -fno-pie" { target { *-*-darwin[1456789]* && lp64 } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-options "-O0 -segaddr __TEST 0x110000000 " { target { *-*-darwin2* && lp64 } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extern void abort ();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From f032baffda7ef23f3beef9949581192ae19db00f Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Mon, 7 Sep 2020 00:43:31 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 56/68] testsuite, Darwin, Arm64 : Adjust pubtypes lengths for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Arm64.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This differs from other Darwin targets CHECKME.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 1332db84c35d86614d5354b5c73f924e263a8aa7)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/gcc.dg/pubtypes-2.c | 3 ++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/gcc.dg/pubtypes-3.c | 3 ++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/gcc.dg/pubtypes-4.c | 3 ++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 3 files changed, 6 insertions(+), 3 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.dg/pubtypes-2.c gcc/testsuite/gcc.dg/pubtypes-2.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 6669f3d3170..43e18010c0e 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.dg/pubtypes-2.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.dg/pubtypes-2.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2,7 +2,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-options "-O0 -gdwarf-2 -dA" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-skip-if "Unmatchable assembly" { mmix-*-* } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler "__debug_pubtypes" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { scan-assembler "long+\[ \t\]+0x12e+\[ \t\]+\[#;]+\[ \t\]+Pub Info Length" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { scan-assembler {long+[ \t]+0x12e+[ \t]+[#;]+[ \t]+Pub Info Length} { target { ! aarch64-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { scan-assembler {long+[ \t]+0x163+[ \t]+[#;]+[ \t]+Pub Info Length} { target aarch64-*-darwin* } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler "used_struct\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler-not "unused_struct\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.dg/pubtypes-3.c gcc/testsuite/gcc.dg/pubtypes-3.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 345e4edaba6..9041eba8d1e 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.dg/pubtypes-3.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.dg/pubtypes-3.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2,7 +2,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-options "-O0 -gdwarf-2 -dA" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-skip-if "Unmatchable assembly" { mmix-*-* } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler "__debug_pubtypes" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { scan-assembler "long+\[ \t\]+0x12e+\[ \t\]+\[#;]+\[ \t\]+Pub Info Length" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { scan-assembler {long+[ \t]+0x12e+[ \t]+[#;]+[ \t]+Pub Info Length} { target { ! aarch64-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { scan-assembler {long+[ \t]+0x163+[ \t]+[#;]+[ \t]+Pub Info Length} { target aarch64-*-darwin* } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler "used_struct\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler-not "unused_struct\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler-not "\"list_name_type\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.dg/pubtypes-4.c gcc/testsuite/gcc.dg/pubtypes-4.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index da2f9b02ff4..d3fa3e98890 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.dg/pubtypes-4.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.dg/pubtypes-4.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2,7 +2,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-options "-O0 -gdwarf-2 -dA" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-skip-if "Unmatchable assembly" { mmix-*-* } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler "__debug_pubtypes" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { scan-assembler "long+\[ \t\]+0x165+\[ \t\]+\[#;]+\[ \t\]+Pub Info Length" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { scan-assembler {long+[ \t]+0x165+[ \t]+[#;]+[ \t]+Pub Info Length} { target { ! aarch64-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { scan-assembler {long+[ \t]+0x19a+[ \t]+[#;]+[ \t]+Pub Info Length} { target aarch64-*-darwin* } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler "used_struct\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler-not "unused_struct\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler "\"list_name_type\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 0b3a3baa0821326058be0a7755fda6d3a014e57b Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Tue, 8 Sep 2020 19:52:10 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 57/68] testsuite, Darwin, Arm64 : Adjust for revised section
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- spellings.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-We fixed some section names to change __common -> __bss which
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-affects this testcase.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit bb68974eb67d09ee1c46ea4518dc29785fe7ff50)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/g++.dg/abi/aarch64_guard1.C | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/g++.dg/abi/aarch64_guard1.C gcc/testsuite/g++.dg/abi/aarch64_guard1.C
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 715750ae019..52be32decc6 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/g++.dg/abi/aarch64_guard1.C
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/g++.dg/abi/aarch64_guard1.C
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -13,5 +13,5 @@ int *foo ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // { dg-final { scan-assembler _ZGVZ3foovE1x,8,8 { target { ! *-*-darwin* } } } }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--// { dg-final { scan-assembler __DATA,__common,__ZGVZ3foovE1x,8,3 { target *-*-darwin* } } }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// { dg-final { scan-assembler __DATA,__bss,__ZGVZ3foovE1x,8,3 { target *-*-darwin* } } }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // { dg-final { scan-tree-dump "& 1" "original" } }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From bbd86261077491279523ca7c8a10230cd08b5509 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Wed, 9 Sep 2020 19:55:06 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 58/68] testsuite, Darwin, Arm64 : Disable the AAPCS64 tests.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-These are not appropriate for darwinpcs / Mach-O.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-For now, we have compat.exp and struct-layout-1.exp as some
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-coverage, but ideally we should have some specific ones (perhaps
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-some of the AAPCS64 ones can be adapted).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 2d107dadd4bd8c4cadb24bb13722446168384e76)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/gcc.target/aarch64/aapcs64/aapcs64.exp | 5 +++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 5 insertions(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/aapcs64/aapcs64.exp gcc/testsuite/gcc.target/aarch64/aapcs64/aapcs64.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index fc8de933d2c..a86e7f340f7 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/aapcs64/aapcs64.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/aapcs64/aapcs64.exp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -25,6 +25,11 @@ if { ![istarget aarch64*-*-*] } then {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if { [istarget *-*-darwin*] } then {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # darwinpcs and mach-o will need different test mechanisms.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- torture-init
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set-torture-options $C_TORTURE_OPTIONS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set additional_flags "-W -Wall -Wno-abi"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 1f29b0322df71f2f56684411dfe8ea1e8dfc8e6d Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sat, 12 Sep 2020 09:54:18 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 59/68] testsuite, Darwin, Arm64 : Add U_L_P to bf16 mangling
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- test.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/testsuite/ChangeLog
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * g++.dg/ext/arm-bf16/bf16-mangle-aarch64-1.C: Adjust scan-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- asms to allow for USER_LABEL_PREFIX and Darwin assembler
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- syntax.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit aaece0d8fea80b13cc02c89d09f487d7fc035303)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/g++.dg/ext/arm-bf16/bf16-mangle-aarch64-1.C | 6 +++---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 3 insertions(+), 3 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-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
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 5426a1814b8..a017ce8ce5f 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/g++.dg/ext/arm-bf16/bf16-mangle-aarch64-1.C
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/g++.dg/ext/arm-bf16/bf16-mangle-aarch64-1.C
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2,12 +2,12 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Test mangling */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { scan-assembler "\t.global\t_Z1fPu6__bf16" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { scan-assembler {\t.globa?l[ \t]_?_Z1fPu6__bf16} } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void f (__bf16 *x) { }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { scan-assembler "\t.global\t_Z1gPu6__bf16S_" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { scan-assembler {\t.globa?l[ \t]_?_Z1gPu6__bf16S_} } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void g (__bf16 *x, __bf16 *y) { }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { scan-assembler "\t.global\t_ZN1SIu6__bf16u6__bf16E1iE" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { scan-assembler {\t.globa?l[ \t]_?_ZN1SIu6__bf16u6__bf16E1iE} } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- template <typename T, typename U> struct S { static int i; };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- template <> int S<__bf16, __bf16>::i = 3;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From ced99f2402853cef36d63cfe4f57247bcb2beab2 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sun, 4 Oct 2020 12:59:05 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 60/68] testsuite, Darwin, Arm64 : Amend scan-asms for arm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- syntax.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Adjust some objective C tests.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit ab73d6d9090484230b8dd9fe5fc3ba8e7d1dcda8)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/objc.dg/torture/strings/const-str-10.m | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/objc.dg/torture/strings/const-str-11.m | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/objc.dg/torture/strings/const-str-9.m | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 3 files changed, 3 insertions(+), 3 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/objc.dg/torture/strings/const-str-10.m gcc/testsuite/objc.dg/torture/strings/const-str-10.m
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 6565dc20007..81b0d326c56 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/objc.dg/torture/strings/const-str-10.m
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/objc.dg/torture/strings/const-str-10.m
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -34,4 +34,4 @@ const NSConstantString *appKey = @"MyApp";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler ".section __OBJC, __cstring_object" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler ".section __DATA, __objc_stringobj" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler ".long\t__NSConstantStringClassReference\n\t.long\t.*\n\t.long\t5\n\t.data" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { scan-assembler ".quad\t_OBJC_CLASS_._NSConstantString\n\t.quad\t.*\n\t.long\t5\n\t.space" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { scan-assembler {.(quad|xword)\t_OBJC_CLASS_._NSConstantString\n\t.(quad|xword)\t.*\n\t.(long|word)\t5\n\t.space} { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/objc.dg/torture/strings/const-str-11.m gcc/testsuite/objc.dg/torture/strings/const-str-11.m
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 2bdb1531e1d..b044b0fd8c7 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/objc.dg/torture/strings/const-str-11.m
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/objc.dg/torture/strings/const-str-11.m
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -33,4 +33,4 @@ const XStr *appKey = @"MyApp";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler ".section __OBJC, __cstring_object" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler ".section __DATA, __objc_stringobj" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler ".long\t__XStrClassReference\n\t.long\t.*\n\t.long\t5\n\t.data" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { scan-assembler ".quad\t_OBJC_CLASS_._XStr\n\t.quad\t.*\n\t.long\t5\n\t.space" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { scan-assembler {.(quad|xword)\t_OBJC_CLASS_._XStr\n\t.(quad|xword)\t.*\n\t.(long|word)\t5\n\t.space} { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/objc.dg/torture/strings/const-str-9.m gcc/testsuite/objc.dg/torture/strings/const-str-9.m
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 966ea5e498d..d3d2916ed06 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/objc.dg/torture/strings/const-str-9.m
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/objc.dg/torture/strings/const-str-9.m
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -25,4 +25,4 @@ const NSConstantString *appKey = @"MyApp";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler ".section __OBJC, __cstring_object" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler ".section __DATA, __objc_stringobj" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler ".long\t__NSConstantStringClassReference\n\t.long\t.*\n\t.long\t5\n\t.data" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { scan-assembler ".quad\t_OBJC_CLASS_._NSConstantString\n\t.quad\t.*\n\t.long\t5\n\t.space" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { scan-assembler {.(quad|xword)\t_OBJC_CLASS_._NSConstantString\n\t.(quad|xword)\t.*\n\t.(long|word)\t5\n\t.space} { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From fa56e9177d3d342252548c6bbc095a64e0c995aa Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Mon, 12 Oct 2020 15:00:57 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 61/68] testsuite, Darwin, Arm64 : Skip tests with an
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- unsupported API.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The "OBJC_OLD_DISPATCH_PROTOTYPES" workaround is explicitly
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-disabled for arm64 in the system headers.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 700ecd7f434828071a7da57570c619399e8d620b)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/obj-c++.dg/gnu-api-2-class-meta.mm | 1 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/obj-c++.dg/gnu-api-2-class.mm | 1 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 2 insertions(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/obj-c++.dg/gnu-api-2-class-meta.mm gcc/testsuite/obj-c++.dg/gnu-api-2-class-meta.mm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index bdaef9828ca..b28788d1ea4 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/obj-c++.dg/gnu-api-2-class-meta.mm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/obj-c++.dg/gnu-api-2-class-meta.mm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19,6 +19,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-do run } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-skip-if "No API#2 pre-Darwin9" { *-*-darwin[5-8]* } { "-fnext-runtime" } { "" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-skip-if "API unsupported" { arm64*-*-darwin* aarch64*-*-darwin* } { "-fnext-runtime" } { "" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-additional-options "-DOBJC_OLD_DISPATCH_PROTOTYPES" { target { *-*-darwin* } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/obj-c++.dg/gnu-api-2-class.mm gcc/testsuite/obj-c++.dg/gnu-api-2-class.mm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index ae39026c2d3..68f0c8cc37c 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/obj-c++.dg/gnu-api-2-class.mm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/obj-c++.dg/gnu-api-2-class.mm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6,6 +6,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-do run } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-skip-if "No API#2 pre-Darwin9" { *-*-darwin[5-8]* } { "-fnext-runtime" } { "" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-skip-if "API unsupported" { arm64*-*-darwin* aarch64*-*-darwin* } { "-fnext-runtime" } { "" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-additional-options "-DOBJC_OLD_DISPATCH_PROTOTYPES" { target { *-*-darwin* } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 06307ec7e7f27cc287abba5fff57b8ba262560bb Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Mon, 12 Oct 2020 15:01:20 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 62/68] testsuite, Darwin, Arm64 : Skip tests with an
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- unsupported API.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The "OBJC_OLD_DISPATCH_PROTOTYPES" workaround is explicitly
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-disabled for arm64 in the system headers.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 478ed35ca6797f4465aef158f46194b9facb96d9)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/objc.dg/gnu-api-2-class-meta.m | 1 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/objc.dg/gnu-api-2-class.m | 1 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 2 insertions(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/objc.dg/gnu-api-2-class-meta.m gcc/testsuite/objc.dg/gnu-api-2-class-meta.m
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 3a85b163c91..3e3abd11ac9 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/objc.dg/gnu-api-2-class-meta.m
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/objc.dg/gnu-api-2-class-meta.m
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19,6 +19,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-do run } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-skip-if "No API#2 pre-Darwin9" { *-*-darwin[5-8]* } { "-fnext-runtime" } { "" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-skip-if "API unsupported" { arm64*-*-darwin* aarch64*-*-darwin* } { "-fnext-runtime" } { "" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-additional-options "-DOBJC_OLD_DISPATCH_PROTOTYPES" { target { *-*-darwin* } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/objc.dg/gnu-api-2-class.m gcc/testsuite/objc.dg/gnu-api-2-class.m
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index eade0dcbbfa..3f41dc141cd 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/objc.dg/gnu-api-2-class.m
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/objc.dg/gnu-api-2-class.m
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6,6 +6,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-do run } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-skip-if "No API#2 pre-Darwin9" { *-*-darwin[5-8]* } { "-fnext-runtime" } { "" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-skip-if "API unsupported" { arm64*-*-darwin* aarch64*-*-darwin* } { "-fnext-runtime" } { "" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-additional-options "-DOBJC_OLD_DISPATCH_PROTOTYPES" { target { *-*-darwin* } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 095a557521d8ef56859719a7634612becc2bc212 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Mon, 12 Oct 2020 15:02:39 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 63/68] testsuite, Objective-C, Darwin, Arm64 : adjust
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- scan-asms for arm64.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-We need to pick up xword and word instead of quad and long.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit af20a9f5bbd84561965876fb01468863a4a33b8b)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/obj-c++.dg/torture/strings/const-str-10.mm | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/obj-c++.dg/torture/strings/const-str-11.mm | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/obj-c++.dg/torture/strings/const-str-9.mm | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 3 files changed, 3 insertions(+), 3 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/obj-c++.dg/torture/strings/const-str-10.mm gcc/testsuite/obj-c++.dg/torture/strings/const-str-10.mm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index e1dad124cd6..eb89710d890 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/obj-c++.dg/torture/strings/const-str-10.mm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/obj-c++.dg/torture/strings/const-str-10.mm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -33,4 +33,4 @@ const NSConstantString *appKey = @"MyApp";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler ".section __OBJC, __cstring_object" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler ".section __DATA, __objc_stringobj" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler ".long\t__NSConstantStringClassReference\n\t.long\t.*\n\t.long\t5\n\t.data" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { scan-assembler ".quad\t_OBJC_CLASS_._NSConstantString\n\t.quad\t.*\n\t.long\t5\n\t.space" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { scan-assembler {.(quad|xword)\t_OBJC_CLASS_._NSConstantString\n\t.(quad|xword)\t.*\n\t.(long|word)\t5\n\t.space} { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/obj-c++.dg/torture/strings/const-str-11.mm gcc/testsuite/obj-c++.dg/torture/strings/const-str-11.mm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 30a9228a64e..c1b58dc6cb8 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/obj-c++.dg/torture/strings/const-str-11.mm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/obj-c++.dg/torture/strings/const-str-11.mm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -33,4 +33,4 @@ const XStr *appKey = @"MyApp";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler ".section __OBJC, __cstring_object" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler ".section __DATA, __objc_stringobj" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler ".long\t__XStrClassReference\n\t.long\t.*\n\t.long\t5\n\t.data" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { scan-assembler ".quad\t_OBJC_CLASS_._XStr\n\t.quad\t.*\n\t.long\t5\n\t.space" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { scan-assembler {.(quad|xword)\t_OBJC_CLASS_._XStr\n\t.(quad|xword)\t.*\n\t.(long|word)\t5\n\t.space} { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/obj-c++.dg/torture/strings/const-str-9.mm gcc/testsuite/obj-c++.dg/torture/strings/const-str-9.mm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index a1a14295e90..8457f46be53 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/obj-c++.dg/torture/strings/const-str-9.mm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/obj-c++.dg/torture/strings/const-str-9.mm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -25,4 +25,4 @@ const NSConstantString *appKey = @"MyApp";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler ".section __OBJC, __cstring_object" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler ".section __DATA, __objc_stringobj" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-final { scan-assembler ".long\t__NSConstantStringClassReference\n\t.long\t.*\n\t.long\t5\n\t.data" { target { *-*-darwin* && { ! lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { scan-assembler ".quad\t_OBJC_CLASS_._NSConstantString\n\t.quad\t.*\n\t.long\t5\n\t.space" { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { scan-assembler {.(quad|xword)\t_OBJC_CLASS_._NSConstantString\n\t.(quad|xword)\t.*\n\t.(long|word)\t5\n\t.space} { target { *-*-darwin* && { lp64 } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 85c45ce4af4b92c0fade8ce239492bce84dd9c2c Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sat, 17 Oct 2020 16:53:36 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 64/68] testsuite, Darwin, Arm64 : Skip two unsupported tests.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The compare function bodies code is ELF-specific at present
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-skip the tests until we can make a Mach-O version.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/testsuite/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * g++.target/aarch64/no_unique_address_1.C: Skip.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * g++.target/aarch64/no_unique_address_2.C: Skip.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit e3ac96c94b404c47974946d09e474d995c6757a1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/g++.target/aarch64/no_unique_address_1.C | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/g++.target/aarch64/no_unique_address_2.C | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 2 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/g++.target/aarch64/no_unique_address_1.C gcc/testsuite/g++.target/aarch64/no_unique_address_1.C
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 5fc68ea5d6d..5faf915fa54 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/g++.target/aarch64/no_unique_address_1.C
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/g++.target/aarch64/no_unique_address_1.C
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,5 +1,5 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-options "-std=c++11 -O -foptimize-sibling-calls -fpeephole2" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { check-function-bodies "**" "" "" { target lp64 } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { check-function-bodies "**" "" "" { target { lp64 && { ! aarch64*-*-darwin* } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- struct X { };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- struct Y { int : 0; };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/g++.target/aarch64/no_unique_address_2.C gcc/testsuite/g++.target/aarch64/no_unique_address_2.C
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index f0717133ccd..322ec127c79 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/g++.target/aarch64/no_unique_address_2.C
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/g++.target/aarch64/no_unique_address_2.C
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,5 +1,5 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-options "-std=c++17 -O -foptimize-sibling-calls -fpeephole2" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { check-function-bodies "**" "" "" { target lp64 } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { check-function-bodies "**" "" "" { target { lp64 && { ! aarch64*-*-darwin* } } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- struct X { };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- struct Y { int : 0; };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 726fa2d30e9d7e08709261c65714991d8988b6ae Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Thu, 22 Oct 2020 09:30:54 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 65/68] testsuite, Darwin, Arm64 : Skip more tests using
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 'check-function-bodies'.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The implementation for check-function-bodies doesn't support Mach-O at this
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-point - so this is justy noise. TODO: provide a Mach-O version of the scan
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-asm function.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 8bd52be95e400e46f3644f4e741e80897c570d81)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .../gcc.target/aarch64/advsimd-intrinsics/bfcvt-compile.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .../gcc.target/aarch64/advsimd-intrinsics/bfcvt-nosimd.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .../gcc.target/aarch64/advsimd-intrinsics/bfcvtnq2-untied.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfdot-1.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .../gcc.target/aarch64/advsimd-intrinsics/bfmlalbt-compile.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .../gcc.target/aarch64/advsimd-intrinsics/bfmmla-compile.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vdot-3-1.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/gcc.target/aarch64/bfloat16_scalar_1.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/gcc.target/aarch64/bfloat16_scalar_2.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/gcc.target/aarch64/bfloat16_scalar_3.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/gcc.target/aarch64/bfloat16_simd_1.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/gcc.target/aarch64/bfloat16_simd_2.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/gcc.target/aarch64/bfloat16_simd_3.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/gcc.target/aarch64/movk_2.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/gcc.target/aarch64/pr92424-1.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/gcc.target/aarch64/pr94697.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/gcc.target/aarch64/torture/simd-abi-9.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/testsuite/gcc.target/aarch64/vect_mixed_sizes_14.c | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 20 files changed, 20 insertions(+), 20 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfcvt-compile.c gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfcvt-compile.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 47af7c494d9..e4175c077a4 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfcvt-compile.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfcvt-compile.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2,7 +2,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-add-options arm_v8_2a_bf16_neon } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-additional-options "-save-temps" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { check-function-bodies "**" "" {-O[^0]} } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { check-function-bodies "**" "" {-O[^0]} { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-skip-if "" { *-*-* } { "-fno-fat-lto-objects" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <arm_neon.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfcvt-nosimd.c gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfcvt-nosimd.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index a914680937d..c6b2ef3e444 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfcvt-nosimd.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfcvt-nosimd.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2,7 +2,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-skip-if "" { *-*-* } { "-fno-fat-lto-objects" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-require-effective-target aarch64_asm_bf16_ok } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-additional-options "-save-temps -march=armv8.2-a+bf16+nosimd" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { check-function-bodies "**" "" {-O[^0]} } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { check-function-bodies "**" "" {-O[^0]} { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <arm_neon.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfcvtnq2-untied.c gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfcvtnq2-untied.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 4b730e39d4e..e0795394c6e 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfcvtnq2-untied.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfcvtnq2-untied.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2,7 +2,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-add-options arm_v8_2a_bf16_neon } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-additional-options "-save-temps" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { check-function-bodies "**" "" {-O[^0]} } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { check-function-bodies "**" "" {-O[^0]} { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-skip-if "" { *-*-* } { "-fno-fat-lto-objects" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <arm_neon.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfdot-1.c gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfdot-1.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index ad51507731b..cf3a66a4fb4 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfdot-1.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfdot-1.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2,7 +2,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-add-options arm_v8_2a_bf16_neon } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-additional-options "-save-temps" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { check-function-bodies "**" "" {-O[^0]} } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { check-function-bodies "**" "" {-O[^0]} { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-skip-if "" { *-*-* } { "-fno-fat-lto-objects" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <arm_neon.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 58bdee5ac9d..055cf62b78a 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2,7 +2,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-add-options arm_v8_2a_bf16_neon } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-additional-options "-mbig-endian --save-temps" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { check-function-bodies "**" "" {-O[^0]} } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { check-function-bodies "**" "" {-O[^0]} { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-skip-if "" { *-*-* } { "-fno-fat-lto-objects" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <arm_neon.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfmlalbt-compile.c gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfmlalbt-compile.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 9810e4ba374..37baea2fb05 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfmlalbt-compile.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfmlalbt-compile.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2,7 +2,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-add-options arm_v8_2a_bf16_neon } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-additional-options "-save-temps" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <arm_neon.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfmmla-compile.c gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfmmla-compile.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 0aaa69f0037..fdd69b52d67 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfmmla-compile.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfmmla-compile.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2,7 +2,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-add-options arm_v8_2a_bf16_neon } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-additional-options "-save-temps" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <arm_neon.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vdot-3-1.c gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vdot-3-1.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index ac4f821e771..f20608de05c 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vdot-3-1.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vdot-3-1.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2,7 +2,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-require-effective-target arm_v8_2a_i8mm_ok } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-add-options arm_v8_2a_i8mm } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-additional-options "-save-temps" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { check-function-bodies "**" "" {-O[^0]} } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { check-function-bodies "**" "" {-O[^0]} { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-skip-if "" { *-*-* } { "-fno-fat-lto-objects" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <arm_neon.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 96bca2356e4..f833486b6d9 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2,7 +2,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-require-effective-target arm_v8_2a_i8mm_ok } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-add-options arm_v8_2a_i8mm } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-additional-options "-mbig-endian -save-temps" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { check-function-bodies "**" "" {-O[^0]} } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { check-function-bodies "**" "" {-O[^0]} { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-skip-if "" { *-*-* } { "-fno-fat-lto-objects" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <arm_neon.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/bfloat16_scalar_1.c gcc/testsuite/gcc.target/aarch64/bfloat16_scalar_1.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index ef43766495c..ff2801ddaa5 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/bfloat16_scalar_1.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/bfloat16_scalar_1.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2,7 +2,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-add-options arm_v8_2a_bf16_neon } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-additional-options "-O3 --save-temps -std=gnu90" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { check-function-bodies "**" "" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { check-function-bodies "**" "" "" { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <arm_bf16.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/bfloat16_scalar_2.c gcc/testsuite/gcc.target/aarch64/bfloat16_scalar_2.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index df8e7518c24..6c0f0275345 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/bfloat16_scalar_2.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/bfloat16_scalar_2.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,7 +1,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-do assemble { target { aarch64*-*-* } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-additional-options "-march=armv8.2-a -O3 --save-temps -std=gnu90" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { check-function-bodies "**" "" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { check-function-bodies "**" "" "" { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <arm_bf16.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/bfloat16_scalar_3.c gcc/testsuite/gcc.target/aarch64/bfloat16_scalar_3.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 5d7a4317cee..83517a450cf 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/bfloat16_scalar_3.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/bfloat16_scalar_3.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,7 +1,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-do assemble { target { aarch64*-*-* } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-additional-options "-march=armv8.2-a -O3 --save-temps -std=gnu90" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { check-function-bodies "**" "" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { check-function-bodies "**" "" "" { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <arm_bf16.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/bfloat16_simd_1.c gcc/testsuite/gcc.target/aarch64/bfloat16_simd_1.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 6cad557ebf2..b9bddb368f0 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/bfloat16_simd_1.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/bfloat16_simd_1.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2,7 +2,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-add-options arm_v8_2a_bf16_neon } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-additional-options "-O3 --save-temps" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { check-function-bodies "**" "" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { check-function-bodies "**" "" "" { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <arm_neon.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/bfloat16_simd_2.c gcc/testsuite/gcc.target/aarch64/bfloat16_simd_2.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 3891dcfc900..73e5ec9d158 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/bfloat16_simd_2.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/bfloat16_simd_2.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,7 +1,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-do assemble { target { aarch64*-*-* } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-additional-options "-march=armv8.2-a -O3 --save-temps" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { check-function-bodies "**" "" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { check-function-bodies "**" "" "" { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <arm_neon.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/bfloat16_simd_3.c gcc/testsuite/gcc.target/aarch64/bfloat16_simd_3.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index b35f5e527be..0737f0d4060 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/bfloat16_simd_3.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/bfloat16_simd_3.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,7 +1,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-do assemble { target { aarch64*-*-* } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-additional-options "-march=armv8.2-a -O3 --save-temps" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { check-function-bodies "**" "" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { check-function-bodies "**" "" "" { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <arm_neon.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/movk_2.c gcc/testsuite/gcc.target/aarch64/movk_2.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index a0477ad5d42..43420b5a06b 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/movk_2.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/movk_2.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,6 +1,6 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-do compile } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-options "-O" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { check-function-bodies "**" "" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { check-function-bodies "**" "" "" { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <stdint.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/pr92424-1.c gcc/testsuite/gcc.target/aarch64/pr92424-1.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index c413a2c306e..995b48eeb9f 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/pr92424-1.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/pr92424-1.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,6 +1,6 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-do "compile" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-options "-O1" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { check-function-bodies "**" "" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { check-function-bodies "**" "" "" { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Note: this test only checks the instructions in the function bodies,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- not the placement of the patch label or nops before the futncion. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/pr94697.c gcc/testsuite/gcc.target/aarch64/pr94697.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index fcc9ab87f15..36e9cfdaa2e 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/pr94697.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/pr94697.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,7 +1,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-do compile } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-require-effective-target lp64 } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-options "-O2 -mbranch-protection=standard" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { check-function-bodies "**" "" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { check-function-bodies "**" "" "" { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void bar (int *);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void *addr;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/torture/simd-abi-9.c gcc/testsuite/gcc.target/aarch64/torture/simd-abi-9.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 1119d004b3e..1205a6082fc 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/torture/simd-abi-9.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/torture/simd-abi-9.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,7 +1,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-do compile } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-options "-fshrink-wrap -ffat-lto-objects" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { check-function-bodies "**" "" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { check-function-bodies "**" "" "" { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int callee (void);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/testsuite/gcc.target/aarch64/vect_mixed_sizes_14.c gcc/testsuite/gcc.target/aarch64/vect_mixed_sizes_14.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 00c90e4efdb..da121ceb39a 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.target/aarch64/vect_mixed_sizes_14.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.target/aarch64/vect_mixed_sizes_14.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,5 +1,5 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-options "-O2 -ftree-vectorize" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-final { check-function-bodies "**" "" } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-final { check-function-bodies "**" "" "" { target { ! aarch64*-*-darwin* } } } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ** foo:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 1c1fc8640f4610e57ed5a5e1cf47d6036366e2ef Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Thu, 21 Jan 2021 11:28:09 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 66/68] Darwin, Arm64 : Allow m64 on the command line.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-It seems that some people have makefiles etc. that put '-m64' for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-arm64 Darwin. This is allowed by clang. For the GCC version we make it
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-an alias of -mabi=darwinpcs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit cd8ba743bf5fa020b38b724ae7a2c09ae930ea52)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64.opt | 4 ++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 4 insertions(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64.opt gcc/config/aarch64/aarch64.opt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 85f98ad6384..feec59a68e4 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64.opt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64.opt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -155,6 +155,10 @@ Enum(aarch64_abi) String(lp64) Value(AARCH64_ABI_LP64)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- EnumValue
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Enum(aarch64_abi) String(darwinpcs) Value(AARCH64_ABI_LP64)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+m64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Target RejectNegative Alias(mabi=, darwinpcs)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+On Darwin for compatibility with other platform variants.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- mpc-relative-literal-loads
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Target Report Save Var(pcrelative_literal_loads) Init(2) Save
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PC relative literal loads.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 906733d1f1e122baf87fca2e1a305a866327cfd0 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sat, 20 Feb 2021 12:14:08 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 67/68] aarch64, Darwin : Restrict offsets for prfm.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The current LLVM-based assemblers reject offsets that are not suitable
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-for prfm as written in the local section. However, there is advice
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-elsewhere that says that this category of instruction should attempt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-to use the 9bit unscaled version before falling back to the scaled one.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-In the short-term reject values that the assembler will not accept.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This partially addresses Issue #43
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/aarch64/aarch64.c (aarch64_address_valid_for_prefetch_p):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Reject values incompatible with pfrum and out of range for pfrm.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- For Mach-O, reject values that require prfum.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 76e872ee44318cafbd24b58e23234889164b67fd)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64.c | 28 +++++++++++++++++++++++++---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 25 insertions(+), 3 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 0c6827cb807..d29edbd0ad3 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9579,9 +9579,31 @@ aarch64_address_valid_for_prefetch_p (rtx x, bool strict_p)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (!res)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- /* Darwinpcs allows addresses on the stack that are not DImode aligned. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (TARGET_MACHO && addr.offset && (INTVAL (addr.offset) & 0x07))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- return false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* For ELF targets using GAS, we emit prfm unconditionally; GAS will alter
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ the instruction to pick the prfum form where possible (i.e. when the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ offset is in the range -256..255) and fall back to prfm otherwise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ We can reject cases where the offset exceeds the range usable by both
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ insns [-256..32760], or for offsets > 255 when the value is not divisible
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ by 8.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ For Mach-O (Darwin) where the assembler uses the LLVM back end, that does
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ not yet do the substitution, so we must reject all prfum cases. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (addr.offset)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ HOST_WIDE_INT offs = INTVAL (addr.offset);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (offs < -256) /* Out of range for both prfum and prfm. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (offs > 32760) /* Out of range for prfm. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (offs & 0x07)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (offs > 255) /* Out of range for prfum. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (TARGET_MACHO)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (TARGET_MACHO && offs < 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* ... except writeback forms. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return addr.type != ADDRESS_REG_WB;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 3f8f496c5d1fdff098d5f4ec75c06b96d79f74fe Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sat, 20 Feb 2021 13:19:10 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 68/68] aarch64, Darwin : Match conditions for a PRFUM insn.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This unpessimizes the prefetch cases for Darwin where the assembler
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-is not able to substitute the prfum instructions automagically.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This improves the fix for Issue #43.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/aarch64/aarch64-protos.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/aarch64/constraints.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/aarch64/predicates.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit bd796f1b0d4f8ff170ce51831916e9038dd8b1b9)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64-protos.h | 1 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64.c | 23 +++++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/aarch64.md | 31 +++++++++++++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/constraints.md | 5 +++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/aarch64/predicates.md | 3 +++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 5 files changed, 63 insertions(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64-protos.h gcc/config/aarch64/aarch64-protos.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index ae4a05c1952..8704c4cf324 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64-protos.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64-protos.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -501,6 +501,7 @@ void aarch64_post_cfi_startproc (void);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- poly_int64 aarch64_initial_elimination_offset (unsigned, unsigned);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int aarch64_get_condition_code (rtx);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- bool aarch64_address_valid_for_prefetch_p (rtx, bool);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+bool aarch64_address_valid_for_unscaled_prefetch_p (rtx, bool);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- bool aarch64_bitmask_imm (HOST_WIDE_INT val, machine_mode);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- unsigned HOST_WIDE_INT aarch64_and_split_imm1 (HOST_WIDE_INT val_in);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- unsigned HOST_WIDE_INT aarch64_and_split_imm2 (HOST_WIDE_INT val_in);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64.c gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index d29edbd0ad3..38de3fb088c 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9609,6 +9609,29 @@ aarch64_address_valid_for_prefetch_p (rtx x, bool strict_p)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return addr.type != ADDRESS_REG_WB;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Return true if the address X is valid for a PRFUM instruction.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ STRICT_P is true if we should do strict checking with
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ aarch64_classify_address. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+bool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+aarch64_address_valid_for_unscaled_prefetch_p (rtx x, bool strict_p)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ struct aarch64_address_info addr;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* PRFUM accepts the same addresses as DImode, but constrained to a range
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -256..255. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ bool res = aarch64_classify_address (&addr, x, DImode, strict_p);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (!res)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (addr.offset && ((INTVAL (addr.offset) > 255)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ || (INTVAL (addr.offset) < -256)))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* ... except writeback forms. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return addr.type != ADDRESS_REG_WB;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- bool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aarch64_symbolic_address_p (rtx x)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/aarch64.md gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index dece932dd3e..89fa22d72e7 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/aarch64.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -828,6 +828,37 @@ (define_insn "prefetch"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(set_attr "type" "load_4")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+(define_insn "prefetch_unscaled"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [(prefetch (match_operand:DI 0 "aarch64_unscaled_prefetch_operand" "Du")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (match_operand:QI 1 "const_int_operand" "")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (match_operand:QI 2 "const_int_operand" ""))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ const char * pftype[2][4] =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {"prfum\\tPLDL1STRM, %0",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "prfum\\tPLDL3KEEP, %0",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "prfum\\tPLDL2KEEP, %0",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "prfum\\tPLDL1KEEP, %0"},
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {"prfum\\tPSTL1STRM, %0",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "prfum\\tPSTL3KEEP, %0",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "prfum\\tPSTL2KEEP, %0",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "prfum\\tPSTL1KEEP, %0"},
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ int locality = INTVAL (operands[2]);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_assert (IN_RANGE (locality, 0, 3));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* PRFUM accepts the same addresses as a 64-bit LDR so wrap
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ the address into a DImode MEM so that aarch64_print_operand knows
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ how to print it. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ operands[0] = gen_rtx_MEM (DImode, operands[0]);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return pftype[INTVAL(operands[1])][locality];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ [(set_attr "type" "load_4")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (define_insn "trap"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [(trap_if (const_int 1) (const_int 8))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/constraints.md gcc/config/aarch64/constraints.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 8cc6f508881..704470cd40d 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/constraints.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/constraints.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -472,6 +472,11 @@ (define_address_constraint "Dp"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- An address valid for a prefetch instruction."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (match_test "aarch64_address_valid_for_prefetch_p (op, true)"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+(define_address_constraint "Du"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "@internal
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ An address valid for a prefetch instruction with an unscaled offset."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (match_test "aarch64_address_valid_for_unscaled_prefetch_p (op, true)"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (define_constraint "vgb"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "@internal
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- A constraint that matches an immediate offset valid for SVE LD1B
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/aarch64/predicates.md gcc/config/aarch64/predicates.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 91b51483f33..63c14c6dccd 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/aarch64/predicates.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/aarch64/predicates.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -255,6 +255,9 @@ (define_predicate "aarch64_mem_pair_lanes_operand"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (define_predicate "aarch64_prefetch_operand"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (match_test "aarch64_address_valid_for_prefetch_p (op, false)"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+(define_predicate "aarch64_unscaled_prefetch_operand"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (match_test "aarch64_address_valid_for_unscaled_prefetch_p (op, false)"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (define_predicate "aarch64_valid_symref"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (match_code "const, symbol_ref, label_ref")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/files/patch-iains-ppc.diff b/lang/gcc10-bootstrap/files/patch-iains-ppc.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index d947feb580f..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc10-bootstrap/files/patch-iains-ppc.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,1284 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 4895bc50a3999d3967451eea858996b90ba15ad6 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sat, 18 Sep 2021 17:08:42 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 01/10] Darwin, crts: Build Darwin10 unwinder shim as a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- library.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-We have a small unwinder shim that is only used for Darwin10
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(and only then in quite specific cases). To avoid linking
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-this code for every executable or DSO, we can present the crt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-as a convenience library (rather than a .o file).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/darwin.h (LINK_COMMAND_SPEC_A): Use Darwin10
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- unwinder shim as a convenience library.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-libgcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config.host: Use convenience library for Darwin10
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- unwinder shim.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/t-darwin: Build Darwin10 unwinder shim as a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- convenience library.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 873854387865d18484bd0d39324773cd1e76df85)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/darwin.h | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config.host | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/t-darwin | 6 ++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 3 files changed, 8 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/darwin.h gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 1b03a213960..45c19aee884 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -240,7 +240,7 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %{%:sanitize(address): -lasan } \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %{%:sanitize(undefined): -lubsan } \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %(link_ssp) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- %:version-compare(>< 10.6 10.7 mmacosx-version-min= -ld10-uwfef.o) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ %:version-compare(>< 10.6 10.7 mmacosx-version-min= -ld10-uwfef) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %(link_gcc_c_sequence) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %{!nodefaultexport:%{dylib|dynamiclib|bundle: \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %:version-compare(>= 10.11 asm_macosx_version_min= -U) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config.host libgcc/config.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index fe7ce3f02ed..7c9a5427a93 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -262,7 +262,7 @@ case ${host} in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "Warning: libgcc configured to support macOS 10.5" 1>&2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- extra_parts="crt3.o d10-uwfef.o crttms.o crttme.o libemutls_w.a"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ extra_parts="crt3.o libd10-uwfef.a crttms.o crttme.o libemutls_w.a"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *-*-dragonfly*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/t-darwin libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index f7ad5c70dce..8601c5522d5 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -29,6 +29,12 @@ libemutls_w.a: emutls.o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- d10-uwfef.o: $(srcdir)/config/darwin10-unwind-find-enc-func.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(crt_compile) -mmacosx-version-min=10.6 -c $<
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Using this crt as a library means that it will not be added to an exe
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# (or module) unless needed.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libd10-uwfef.a: d10-uwfef.o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(AR_CREATE_FOR_TARGET) $@ d10-uwfef.o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(RANLIB_FOR_TARGET) $@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Start with an empty list and allow the arch-specific t-darwin files to add in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # any extras, with the main set added by t-slibgcc-darwin.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SHLIB_MAPFILES =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From b73c45e14cb2ce388162cd19b40b9cf132706ce9 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Fri, 11 Dec 2020 00:29:42 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 02/10] Darwin, PPC : Fix R13 for PPC64.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-We have a somewhat unusual situation in that for PPC64, R13 is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-both reserved and callee-saved (it is used internally by the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-pthreads implementation to contain pthread_self).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-So add R13 to the fixed regs, but also keep it in the callee-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-saved set.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/rs6000/darwin.h (FIXED_R13): Add for PPC64.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (FIRST_SAVED_GP_REGNO): Save from R13 even when it is one
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- of the fixed regs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit b12d6e79899fd27833c53ffc3c973538244f62e1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/rs6000/darwin.h | 5 ++++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 4 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/rs6000/darwin.h gcc/config/rs6000/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index ce27508afcb..627ca805498 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/rs6000/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/rs6000/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -203,7 +203,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Make both r2 and r13 available for allocation. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define FIXED_R2 0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define FIXED_R13 0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define FIXED_R13 TARGET_64BIT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Base register for access to local variables of the function. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -213,6 +213,9 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef RS6000_PIC_OFFSET_TABLE_REGNUM
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define RS6000_PIC_OFFSET_TABLE_REGNUM 31
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef FIRST_SAVED_GP_REGNO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define FIRST_SAVED_GP_REGNO 13
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Darwin's stack must remain 16-byte aligned for both 32 and 64 bit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ABIs. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 0afb1a7175b75cc99f9d427dce75a58deb0c0dd5 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Wed, 6 Oct 2021 14:58:33 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 03/10] collect2: Fix missing cleanups.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The code that checks to see if objects have LTO content via
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-simple-object was not releasing resources, fixed thus.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * collect2.c (is_lto_object_file): Release simple-object
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- resources, close files.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 43ae43f654749d291d871ca6ef7c96ea16580fad)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/collect2.c | 7 ++++++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 6 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/collect2.c gcc/collect2.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 8260863c04e..b3862daeedd 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/collect2.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/collect2.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2301,10 +2301,15 @@ is_lto_object_file (const char *prog_name)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LTO_SEGMENT_NAME,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- &errmsg, &err);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (!inobj)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- return false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ close (infd);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- errmsg = simple_object_find_sections (inobj, has_lto_section,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (void *) &found, &err);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ simple_object_release_read (inobj);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ close (infd);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (! errmsg && found)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From afda29c8de5159e4d3741dfb6802353006b161f1 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Thu, 4 Nov 2021 09:37:14 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 04/10] IPA: Provide a mechanism to register static DTORs via
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cxa_atexit.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-For at least one target (Darwin) the platform convention is to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-register static destructors (i.e. __attribute__((destructor)))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-with __cxa_atexit rather than placing them into a list that is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-run by some other mechanism.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This patch provides a target hook that allows a target to opt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-into this and handling for the process in ipa_cdtor_merge ().
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-When the mode is enabled (dtors_from_cxa_atexit is set) we:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Generate new CTORs to register static destructors with
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- __cxa_atexit and add them to the existing list of CTORs;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- we then process the revised CTORs list.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * We sort the DTORs into priority and then TU order, this
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- means that they are registered in that order with
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- __cxa_atexit () and therefore will be run in the reverse
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- order.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Likewise, CTORs are sorted into priority and then TU order,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- which means that they will run in that order.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This matches the behavior of using init/fini (or
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-mod_init_func/mod_term_func) sections.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This also fixes a bug where Fortran needs a DTOR to be run to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-close IO.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PR fortran/102992
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/darwin.h (TARGET_DTORS_FROM_CXA_ATEXIT): New.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * doc/tm.texi: Regenerated.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * doc/tm.texi.in: Add TARGET_DTORS_FROM_CXA_ATEXIT hook.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * ipa.c (cgraph_build_static_cdtor_1): Return the built
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- function decl.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (build_cxa_atexit_decl): New.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (build_dso_handle_decl): New.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (build_cxa_dtor_registrations): New.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (compare_cdtor_tu_order): New.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (build_cxa_atexit_fns): New.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (ipa_cdtor_merge): If dtors_from_cxa_atexit is set,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- process the DTORs/CTORs accordingly.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (pass_ipa_cdtor_merge::gate): Also run if
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- dtors_from_cxa_atexit is set.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * target.def (dtors_from_cxa_atexit): New hook.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit fabe8cc41e9b01913e2016861237d1d99d7567bf)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/darwin.h | 5 ++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/doc/tm.texi | 8 ++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/doc/tm.texi.in | 2 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/ipa.c | 200 +++++++++++++++++++++++++++++++++++++++++++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/target.def | 10 +++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 5 files changed, 221 insertions(+), 4 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/darwin.h gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 45c19aee884..b625199be98 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -55,6 +55,11 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define DO_GLOBAL_DTORS_BODY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Register static destructors to run from __cxa_atexit instead of putting
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ them into a .mod_term_funcs section. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define TARGET_DTORS_FROM_CXA_ATEXIT true
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* The string value for __SIZE_TYPE__. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifndef SIZE_TYPE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/doc/tm.texi gcc/doc/tm.texi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 7c4613212d5..5774023da55 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/doc/tm.texi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/doc/tm.texi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9122,6 +9122,14 @@ collecting constructors and destructors to be run at startup and exit.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- It is false if we must use @command{collect2}.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @end deftypevr
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@deftypevr {Target Hook} bool TARGET_DTORS_FROM_CXA_ATEXIT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+This value is true if the target wants destructors to be queued to be
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+run from __cxa_atexit. If this is the case then, for each priority level,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+a new constructor will be entered that registers the destructors for that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+level with __cxa_atexit (and there will be no destructors emitted).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+It is false the method implied by @code{have_ctors_dtors} is used.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@end deftypevr
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @deftypefn {Target Hook} void TARGET_ASM_CONSTRUCTOR (rtx @var{symbol}, int @var{priority})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- If defined, a function that outputs assembler code to arrange to call
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- the function referenced by @var{symbol} at initialization time.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/doc/tm.texi.in gcc/doc/tm.texi.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 869f16cef1d..f642bc04b85 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/doc/tm.texi.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/doc/tm.texi.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6085,6 +6085,8 @@ encountering an @code{init_priority} attribute.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @hook TARGET_HAVE_CTORS_DTORS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@hook TARGET_DTORS_FROM_CXA_ATEXIT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @hook TARGET_ASM_CONSTRUCTOR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @hook TARGET_ASM_DESTRUCTOR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/ipa.c gcc/ipa.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 55481931668..dd4e3531281 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/ipa.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/ipa.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -834,7 +834,7 @@ ipa_discover_variable_flags (void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- FINAL specify whether the externally visible name for collect2 should
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- be produced. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--static void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+static tree
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cgraph_build_static_cdtor_1 (char which, tree body, int priority, bool final,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tree optimization,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tree target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -913,6 +913,7 @@ cgraph_build_static_cdtor_1 (char which, tree body, int priority, bool final,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set_cfun (NULL);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- current_function_decl = NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return decl;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Generate and emit a static constructor or destructor. WHICH must
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1019,6 +1020,124 @@ build_cdtor (bool ctor_p, const vec<tree> &cdtors)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Helper functions for build_cxa_dtor_registrations ().
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Build a decl for __cxa_atexit (). */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+static tree
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+build_cxa_atexit_decl ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* The parameter to "__cxa_atexit" is "void (*)(void *)". */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tree fn_type = build_function_type_list (void_type_node,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ptr_type_node, NULL_TREE);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tree fn_ptr_type = build_pointer_type (fn_type);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* The declaration for `__cxa_atexit' is:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ int __cxa_atexit (void (*)(void *), void *, void *). */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ const char *name = "__cxa_atexit";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tree cxa_name = get_identifier (name);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fn_type = build_function_type_list (integer_type_node, fn_ptr_type,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ptr_type_node, ptr_type_node, NULL_TREE);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tree atexit_fndecl = build_decl (BUILTINS_LOCATION, FUNCTION_DECL,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ cxa_name, fn_type);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ SET_DECL_ASSEMBLER_NAME (atexit_fndecl, cxa_name);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DECL_VISIBILITY (atexit_fndecl) = VISIBILITY_DEFAULT;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DECL_VISIBILITY_SPECIFIED (atexit_fndecl) = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ set_call_expr_flags (atexit_fndecl, ECF_LEAF | ECF_NOTHROW);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ TREE_PUBLIC (atexit_fndecl) = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DECL_EXTERNAL (atexit_fndecl) = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DECL_ARTIFICIAL (atexit_fndecl) = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return atexit_fndecl;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Build a decl for __dso_handle. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+static tree
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+build_dso_handle_decl ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Declare the __dso_handle variable. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tree dso_handle_decl = build_decl (UNKNOWN_LOCATION, VAR_DECL,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ get_identifier ("__dso_handle"),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ptr_type_node);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ TREE_PUBLIC (dso_handle_decl) = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DECL_EXTERNAL (dso_handle_decl) = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DECL_ARTIFICIAL (dso_handle_decl) = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef HAVE_GAS_HIDDEN
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (dso_handle_decl != error_mark_node)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DECL_VISIBILITY (dso_handle_decl) = VISIBILITY_HIDDEN;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DECL_VISIBILITY_SPECIFIED (dso_handle_decl) = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return dso_handle_decl;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* This builds one or more constructor functions that register DTORs with
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __cxa_atexit (). Within a priority level, DTORs are registered in TU
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ order - which means that they will run in reverse TU order from cxa_atexit.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ This is the same behavior as using a .fini / .mod_term_funcs section.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ As the functions are built, they are appended to the CTORs vector. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+static void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+build_cxa_dtor_registrations (const vec<tree> &dtors, vec<tree> *ctors)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ size_t i,j;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ size_t len = dtors.length ();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ location_t sav_loc = input_location;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ input_location = UNKNOWN_LOCATION;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tree atexit_fndecl = build_cxa_atexit_decl ();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tree dso_handle_decl = build_dso_handle_decl ();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* We want &__dso_handle. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tree dso_ptr = build1_loc (UNKNOWN_LOCATION, ADDR_EXPR,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ptr_type_node, dso_handle_decl);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ i = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ while (i < len)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ priority_type priority = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tree body = NULL_TREE;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ j = i;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ priority_type p;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tree fn = dtors[j];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ p = DECL_FINI_PRIORITY (fn);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (j == i)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ priority = p;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else if (p != priority)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ j++;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ while (j < len);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Find the next batch of destructors with the same initialization
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ priority. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ for (;i < j; i++)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tree fn = dtors[i];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DECL_STATIC_DESTRUCTOR (fn) = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tree dtor_ptr = build1_loc (UNKNOWN_LOCATION, ADDR_EXPR,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ptr_type_node, fn);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tree call_cxa_atexit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ = build_call_expr_loc (UNKNOWN_LOCATION, atexit_fndecl, 3,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dtor_ptr, null_pointer_node, dso_ptr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ TREE_SIDE_EFFECTS (call_cxa_atexit) = 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ append_to_statement_list (call_cxa_atexit, &body);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_assert (body != NULL_TREE);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Generate a function to register the DTORs at this priority. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tree new_ctor
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ = cgraph_build_static_cdtor_1 ('I', body, priority, true,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DECL_FUNCTION_SPECIFIC_OPTIMIZATION (dtors[0]),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ DECL_FUNCTION_SPECIFIC_TARGET (dtors[0]));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Add this to the list of ctors. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ctors->safe_push (new_ctor);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ input_location = sav_loc;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Comparison function for qsort. P1 and P2 are actually of type
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "tree *" and point to static constructors. DECL_INIT_PRIORITY is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- used to determine the sort order. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1068,7 +1187,46 @@ compare_dtor (const void *p1, const void *p2)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else if (priority1 > priority2)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- /* Ensure a stable sort. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Ensure a stable sort - into TU order. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return DECL_UID (f1) - DECL_UID (f2);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Comparison function for qsort. P1 and P2 are of type "tree *" and point to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ a pair of static constructors or destructors. We first sort on the basis of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ priority and then into TU order (on the strict assumption that DECL_UIDs are
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ordered in the same way as the original functions). ???: this seems quite
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fragile. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+static int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+compare_cdtor_tu_order (const void *p1, const void *p2)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tree f1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tree f2;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ int priority1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ int priority2;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ f1 = *(const tree *)p1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ f2 = *(const tree *)p2;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* We process the DTORs first, and then remove their flag, so this order
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ allows for functions that are declared as both CTOR and DTOR. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (DECL_STATIC_DESTRUCTOR (f1))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_checking_assert (DECL_STATIC_DESTRUCTOR (f2));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ priority1 = DECL_FINI_PRIORITY (f1);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ priority2 = DECL_FINI_PRIORITY (f2);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ priority1 = DECL_INIT_PRIORITY (f1);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ priority2 = DECL_INIT_PRIORITY (f2);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (priority1 < priority2)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return -1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else if (priority1 > priority2)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* For equal priority, sort into the order of definition in the TU. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return DECL_UID (f1) - DECL_UID (f2);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1094,6 +1252,37 @@ build_cdtor_fns (vec<tree> *ctors, vec<tree> *dtors)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Generate new CTORs to register static destructors with __cxa_atexit and add
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ them to the existing list of CTORs; we then process the revised CTORs list.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ We sort the DTORs into priority and then TU order, this means that they are
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ registered in that order with __cxa_atexit () and therefore will be run in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ the reverse order.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Likewise, CTORs are sorted into priority and then TU order, which means that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ they will run in that order.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ This matches the behavior of using init/fini or mod_init_func/mod_term_func
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ sections. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+static void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+build_cxa_atexit_fns (vec<tree> *ctors, vec<tree> *dtors)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (!dtors->is_empty ())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_assert (targetm.dtors_from_cxa_atexit);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dtors->qsort (compare_cdtor_tu_order);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ build_cxa_dtor_registrations (*dtors, ctors);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (!ctors->is_empty ())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ gcc_assert (targetm.dtors_from_cxa_atexit);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ctors->qsort (compare_cdtor_tu_order);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ build_cdtor (/*ctor_p=*/true, *ctors);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Look for constructors and destructors and produce function calling them.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- This is needed for targets not supporting ctors or dtors, but we perform the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- transformation also at linktime to merge possibly numerous
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1112,7 +1301,10 @@ ipa_cdtor_merge (void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (DECL_STATIC_CONSTRUCTOR (node->decl)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- || DECL_STATIC_DESTRUCTOR (node->decl))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- record_cdtor_fn (node, &ctors, &dtors);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- build_cdtor_fns (&ctors, &dtors);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (targetm.dtors_from_cxa_atexit)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ build_cxa_atexit_fns (&ctors, &dtors);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ build_cdtor_fns (&ctors, &dtors);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1159,7 +1351,7 @@ pass_ipa_cdtor_merge::gate (function *)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Perform the pass when we have no ctors/dtors support
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- or at LTO time to merge multiple constructors into single
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- function. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- return !targetm.have_ctors_dtors || in_lto_p;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return !targetm.have_ctors_dtors || in_lto_p || targetm.dtors_from_cxa_atexit;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } // anon namespace
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/target.def gcc/target.def
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index c70eb162021..5482f2c9d19 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/target.def
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/target.def
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6712,6 +6712,16 @@ collecting constructors and destructors to be run at startup and exit.\n\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- It is false if we must use @command{collect2}.",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- bool, false)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* True if the target wants DTORs to be run from cxa_atexit. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+DEFHOOKPOD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+(dtors_from_cxa_atexit,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "This value is true if the target wants destructors to be queued to be\n\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+run from __cxa_atexit. If this is the case then, for each priority level,\n\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+a new constructor will be entered that registers the destructors for that\n\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+level with __cxa_atexit (and there will be no destructors emitted).\n\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+It is false the method implied by @code{have_ctors_dtors} is used.",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ bool, false)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* True if thread-local storage is supported. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- DEFHOOKPOD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (have_tls,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From c31fb96d118a255516f2d3842277e0b73531bfbc Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sun, 19 Sep 2021 12:35:46 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 05/10] libgcc, emutls: Allow building weak definitions of the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- emutls functions.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-In order to better support use of the emulated TLS between objects with
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-DSO dependencies and static-linked libgcc, allow a target to make weak
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-definitions.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-libgcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/t-darwin: Build weak-defined emutls objects.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * emutls.c (__emutls_get_address): Add optional attributes.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (__emutls_register_common): Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (EMUTLS_ATTR): New.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit b9873b4e2c9a9955789318f4d550147ef9405b07)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/t-darwin | 15 ++++++++++-----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/emutls.c | 15 ++++++++++-----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 20 insertions(+), 10 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/t-darwin libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 8601c5522d5..70bf2d1dea7 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -15,11 +15,16 @@ crttme.o: $(srcdir)/config/darwin-crt-tm.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/config/unwind-dw2-fde-darwin.c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# Make a weak version to use in static lib and as a crt.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--emutls.o: HOST_LIBGCC2_CFLAGS += -DEMUTLS_ATTR='__attribute__((__weak__))'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# Make it a convenience lib so that it can be linked optionally.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--libemutls_w.a: emutls.o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Make emutls weak so that we can deal with -static-libgcc, override the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# hidden visibility when this is present in libgcc_eh.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+emutls.o: HOST_LIBGCC2_CFLAGS += \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -DEMUTLS_ATTR='__attribute__((__weak__,__visibility__("default")))'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+emutls_s.o: HOST_LIBGCC2_CFLAGS += \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -DEMUTLS_ATTR='__attribute__((__weak__,__visibility__("default")))'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Make the emutls crt as a convenience lib so that it can be linked
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# optionally, use the shared version so that we can link with DSO.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libemutls_w.a: emutls_s.o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(AR_CREATE_FOR_TARGET) $@ $<
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(RANLIB_FOR_TARGET) $@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/emutls.c libgcc/emutls.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 95fbb0d65b5..968b689013e 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/emutls.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/emutls.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -57,9 +57,10 @@ struct __emutls_array
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # define EMUTLS_ATTR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--void *__emutls_get_address (struct __emutls_object *) EMUTLS_ATTR;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--void __emutls_register_common (struct __emutls_object *,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- word, word, void *) EMUTLS_ATTR;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+EMUTLS_ATTR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void *__emutls_get_address (struct __emutls_object *);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+EMUTLS_ATTR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void __emutls_register_common (struct __emutls_object *, word, word, void *);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef __GTHREADS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef __GTHREAD_MUTEX_INIT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -131,7 +132,11 @@ emutls_alloc (struct __emutls_object *obj)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return ret;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--void *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Despite applying the attribute to the declaration, in this case the mis-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ match between the builtin's declaration [void * (*)(void *)] and the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ implementation here, causes the decl. attributes to be discarded. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+EMUTLS_ATTR void *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- __emutls_get_address (struct __emutls_object *obj)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (! __gthread_active_p ())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -195,7 +200,7 @@ __emutls_get_address (struct __emutls_object *obj)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+EMUTLS_ATTR void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- __emutls_register_common (struct __emutls_object *obj,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- word size, word align, void *templ)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 29cbeea186537e0bc0f72fa3ba903a5b4003892e Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Mon, 1 Nov 2021 16:58:20 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 06/10] Darwin, crts: Fix a build warning.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-We have a shim crt for Darwin10 that implements functionality
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-missing in libSystem. Provide this with a prototype to silence the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-warning about this.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-libgcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/darwin10-unwind-find-enc-func.c: Include libgcc_tm.h.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/i386/darwin-lib.h: Declare Darwin10 crt function.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 7a300b413a62e1989bd89064fd5594aabe371d3a)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/darwin10-unwind-find-enc-func.c | 1 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 1 insertion(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/darwin10-unwind-find-enc-func.c libgcc/config/darwin10-unwind-find-enc-func.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 67c43757e50..882ec3a2372 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config/darwin10-unwind-find-enc-func.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config/darwin10-unwind-find-enc-func.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,6 +1,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "tconfig.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "tsystem.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "unwind-dw2-fde.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include "libgcc_tm.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- _darwin10_Unwind_FindEnclosingFunction (void *pc)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 0b5e56e424347457b1b36395c66a7a69a2c5c53f Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Mon, 6 Dec 2021 13:17:10 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 07/10] Darwin: Amend pie options when linking mdynamic-no-pic.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-On i686 Darwin from macOS 10.7 onwards the default is to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-link executables as PIE, which conflicts with code generated
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-using mdynamic-no-pic. Rather than warn about this and then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-get the user to add -Wl,-no_pie, we can inject this in the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-link specs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-gcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/darwin.h (DARWIN_PIE_SPEC): Add -no_pie when
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- linking mdynamic-no-pic code on macOS > 10.7.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 1c1563fb8ff227590eb5ab0fc3d22f3b0a57c241)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc/config/darwin.h | 8 ++++++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 6 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git gcc/config/darwin.h gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index b625199be98..53046285152 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -150,13 +150,17 @@ extern GTY(()) int darwin_ms_struct;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define DARWIN_RDYNAMIC "%{rdynamic:%nrdynamic is not supported}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* FIXME: we should check that the linker supports the -pie and -no_pie.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Code built with mdynamic-no-pic does not support PIE/PIC, so we disallow
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ these combinations; we also ensure that the no_pie option is passed to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ld64 on system versions that default to PIE when mdynamic-no-pic is given.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ FIXME: we should check that the linker supports the -pie and -no_pie.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- options. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define DARWIN_PIE_SPEC \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "%{pie|fpie|fPIE:\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %{mdynamic-no-pic: \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %n'-mdynamic-no-pic' overrides '-pie', '-fpie' or '-fPIE'; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- :%:version-compare(>= 10.5 mmacosx-version-min= -pie) }} "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ :%:version-compare(>= 10.5 mmacosx-version-min= -pie) }; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mdynamic-no-pic:%:version-compare(>= 10.7 mmacosx-version-min= -no_pie) } "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define DARWIN_NOPIE_SPEC \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "%{no-pie|fno-pie|fno-PIE: \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 9a6cc6a16dad111f4f243b1dde34046c5a67001a Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sun, 21 Nov 2021 17:19:24 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 08/10] libgcc, Darwin: Build a libgcc_s.1 for backwards
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- compatibility.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-In order to reslve a long-standing issue with inter-operation
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-with libSystem, we have bumped the SO name for libgcc_s.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Distributions might wish to install this new version into a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-structure where exisiting code is already linked with the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler-local libgcc_s.1 (providing symbols exported by the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-now-retired libgcc_ext.10.x shims).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The replacement libgcc_s.1 forwards the symbols from the new SO.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-In order to support DYLD_LIBRARY_PATH on systems (where it works)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-we forward the libSystem unwinder symbols from 10.7+ and a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler-local version of the libgcc unwinder on earlier.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-For macOS 10.4 to 10.6 this is 'bug-compatible' with existing uses.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-For 10.7+ the behaviour will now actually be correct.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This should be squashed with the initial libgcc changes for PR80556
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-in any backport (r12-5418-gd4943ce939d)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-libgcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config.host (*-*-darwin*): Add logic to build a shared
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- unwinder library for Darwin8-10.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/i386/t-darwin: Build legacy libgcc_s.1.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/rs6000/t-darwin: Likewise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/t-darwin: Reorganise the EH fragments to place
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- them for inclusion in a shared EH lib.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/t-slibgcc-darwin: Build a legacy libgcc_s.1 and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- the supporting pieces (all FAT libs).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/t-darwin-noeh: Removed.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/darwin-unwind.ver: New file.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/rs6000/t-darwin-ehs: New file.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/t-darwin-ehs: New file.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 7add7f7bb3d35726a0c45322ffdbbab2bbf6a348)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config.host | 11 ++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/darwin-unwind.ver | 30 +++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/i386/t-darwin | 3 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/rs6000/t-darwin | 3 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/rs6000/t-darwin-ehs | 5 ++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/t-darwin | 19 ++++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/t-darwin-ehs | 4 +
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/t-darwin-noeh | 4 -
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/t-slibgcc-darwin | 129 +++++++++++++++++++++++++++---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 9 files changed, 187 insertions(+), 21 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- create mode 100644 libgcc/config/darwin-unwind.ver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- create mode 100644 libgcc/config/rs6000/t-darwin-ehs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- create mode 100644 libgcc/config/t-darwin-ehs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- delete mode 100644 libgcc/config/t-darwin-noeh
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config.host libgcc/config.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 7c9a5427a93..0ad3f448157 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -219,8 +219,15 @@ case ${host} in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- asm_hidden_op=.private_extern
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tmake_file="$tmake_file t-darwin ${cpu_type}/t-darwin t-libgcc-pic"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # The unwinder is provided by the system shared libraries, do not add one
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- # to the shared libgcc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- tmake_file="$tmake_file t-darwin-noeh t-slibgcc-darwin"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # to the shared libgcc but, for older systems, we build a shared unwinder
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # separately so that we can construct a libgcc_s.1 to use for binaries
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # linked against the old libgcc_ext.10.x stubs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ case ${host} in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *-*-darwin[89]* | *-*-darwin10*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tmake_file="$tmake_file t-darwin-ehs ${cpu_type}/t-darwin-ehs"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tmake_file="$tmake_file t-slibgcc-darwin"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # We are not using libtool to build the libs here, so we need to replicate
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # a little of the logic around setting Darwin rpaths. Setting an explicit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # yes or no is honoured, otherwise we choose a suitable default.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/darwin-unwind.ver libgcc/config/darwin-unwind.ver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-new file mode 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 00000000000..fb74cb2c5d2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config/darwin-unwind.ver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,30 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# unwinder
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__Unwind_DeleteException
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__Unwind_Find_FDE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__Unwind_ForcedUnwind
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__Unwind_GetGR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__Unwind_GetIP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__Unwind_GetLanguageSpecificData
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__Unwind_GetRegionStart
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__Unwind_GetTextRelBase
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__Unwind_GetDataRelBase
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__Unwind_RaiseException
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__Unwind_Resume
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__Unwind_SetGR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__Unwind_SetIP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__Unwind_FindEnclosingFunction
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__Unwind_GetCFA
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__Unwind_Backtrace
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__Unwind_Resume_or_Rethrow
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__Unwind_GetIPInfo
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+___register_frame
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+___register_frame_table
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+___register_frame_info
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+___register_frame_info_bases
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+___register_frame_info_table
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+___register_frame_info_table_bases
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+___deregister_frame
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+___deregister_frame_info
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+___deregister_frame_info_bases
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/i386/t-darwin libgcc/config/i386/t-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 64eea1cd5f9..c728acc8b40 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config/i386/t-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config/i386/t-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3,3 +3,6 @@ LIB2ADD = $(srcdir)/config/darwin-64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIB2FUNCS_EXCLUDE = _fixtfdi _fixunstfdi _floatditf _floatunditf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SHLIB_MAPFILES += $(srcdir)/config/$(cpu_type)/libgcc-darwin.ver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Build a legacy libgcc_s.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+BUILD_LIBGCCS1 = YES
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/rs6000/t-darwin libgcc/config/rs6000/t-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 8b513bdb1d7..183d0df92ce 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config/rs6000/t-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config/rs6000/t-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -56,3 +56,6 @@ unwind-dw2_s.o: HOST_LIBGCC2_CFLAGS += -maltivec
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- unwind-dw2.o: HOST_LIBGCC2_CFLAGS += -maltivec
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIB2ADDEH += $(srcdir)/config/rs6000/darwin-fallback.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Build a legacy libgcc_s.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+BUILD_LIBGCCS1 = YES
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/rs6000/t-darwin-ehs libgcc/config/rs6000/t-darwin-ehs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-new file mode 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 00000000000..3047f53cb70
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config/rs6000/t-darwin-ehs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,5 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# We need the save_world code for the EH library.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+LIBEHSOBJS += darwin-world_s.o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$(LIBEHSOBJS): libef_ppc.a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/t-darwin libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 70bf2d1dea7..7c0f1a64ff4 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11,10 +11,6 @@ crttms.o: $(srcdir)/config/darwin-crt-tm.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- crttme.o: $(srcdir)/config/darwin-crt-tm.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(crt_compile) $(DARWIN_MIN_CRT_VERSION) -DEND -c $<
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# Use unwind-dw2-fde-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/config/unwind-dw2-fde-darwin.c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Make emutls weak so that we can deal with -static-libgcc, override the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # hidden visibility when this is present in libgcc_eh.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- emutls.o: HOST_LIBGCC2_CFLAGS += \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -40,6 +36,21 @@ libd10-uwfef.a: d10-uwfef.o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(AR_CREATE_FOR_TARGET) $@ d10-uwfef.o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(RANLIB_FOR_TARGET) $@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+###### Unwinder #######
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Most Darwin versions get their unwinder from libSystem; older versions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# have an installed /usr/lib/libgcc_s.1.dylib.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# So do not add the unwinder to the shared libgcc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+LIB2ADDEHSHARED =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# We still need it in the _eh.a for earlier platform versions.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Use unwind-dw2-fde-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+LIB2ADDEH = $(srcdir)/unwind-dw2.c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(srcdir)/config/unwind-dw2-fde-darwin.c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(srcdir)/unwind-c.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Do not build a shared unwind lib by default.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+LIBEHSOBJS=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Start with an empty list and allow the arch-specific t-darwin files to add in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # any extras, with the main set added by t-slibgcc-darwin.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SHLIB_MAPFILES =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/t-darwin-ehs libgcc/config/t-darwin-ehs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-new file mode 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 00000000000..8481898d98a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config/t-darwin-ehs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,4 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Build the unwinder separately so that we can construct a replacement for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# libgcc_s.1 on systems that used the unwinder in libgcc_s.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+LIBEHSOBJS = unwind-dw2_s.o unwind-dw2-fde-darwin_s.o unwind-c_s.o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/t-darwin-noeh libgcc/config/t-darwin-noeh
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-deleted file mode 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 08d9c1affd3..00000000000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config/t-darwin-noeh
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,4 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# Most Darwin versions get their unwinder from libSystem.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# so remove the unwinder from the shared lib.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# We still need it in the _eh.a for Darwin8/9.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--LIB2ADDEHSHARED =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/t-slibgcc-darwin libgcc/config/t-slibgcc-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index bf55762766c..9ccee91aff2 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config/t-slibgcc-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config/t-slibgcc-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2,11 +2,17 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SHLIB_SOVERSION = 1.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SHLIB_SO_MINVERSION = 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--SHLIB_VERSTRING = -compatibility_version $(SHLIB_SO_MINVERSION) -current_version $(SHLIB_SOVERSION)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+SHLIB_VERSTRING = -compatibility_version $(SHLIB_SO_MINVERSION) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -current_version $(SHLIB_SOVERSION)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SHLIB_EXT = .dylib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SHLIB_LC = -lc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+SHLIB_INSTALL_DIR = $(slibdir)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# Shorthand expressions for the LINK below.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+SHLIB_MKMAP_OPTS = -v leading_underscore=1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Shorthand expressions for the LINK below, these are substituted in the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# link expression.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SHLIB_INSTALL_NAME = @shlib_base_name@.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SHLIB_MAP = @shlib_map_file@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SHLIB_DIR = @multilib_dir@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -16,15 +22,13 @@ SHLIB_SONAME = @shlib_base_name@$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # and dylibs that depend on this.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SHLIB_RPATH = @shlib_slibdir@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--SHLIB_LINK = $(CC) $(LIBGCC2_CFLAGS) -dynamiclib -nodefaultlibs \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+SHLIB_LINK = $(CC) $(LIBGCC2_CFLAGS) $(LDFLAGS) -dynamiclib -nodefaultlibs \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -install_name $(SHLIB_RPATH)/$(SHLIB_INSTALL_NAME) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -single_module -o $(SHLIB_DIR)/$(SHLIB_SONAME) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -Wl,-exported_symbols_list,$(SHLIB_MAP) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(SHLIB_VERSTRING) -nodefaultrpath \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @multilib_flags@ @shlib_objs@ $(SHLIB_LC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--SHLIB_MKMAP_OPTS = -v leading_underscore=1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SHLIB_MAPFILES += libgcc-std.ver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LGCC_FILES = libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -34,7 +38,55 @@ INSTALL_FILES=$(LGCC_FILES)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # we do our own thing
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SHLIB_INSTALL =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# For the toplevel multilib, build a fat archive including all the multilibs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+LGCC_FILES = libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ifeq ($(BUILD_LIBGCCS1),YES)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# We are going to build a libgcc_s.1.dylib so that distributions can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# install it for compatibility with binaries linked against the old
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# libgcc_ext.10.x.dylib stubs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# For systems after macOS 10.7 we can forward the correct unwinder symbols
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# from libSystem.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# For older systems we have to forward an entire library (since they cannot
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# selectively forward symbols, which means that we cannot forward the unwinder
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# in /usr/lib/libgcc_s.1.dylib). We also cannot forward the entire library
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# since that creates a self-referencing loop when DYLD_LIBRARY_PATH is used.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# To provide the unwinder symbols in this case, we build the unwinder into a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# separate shared lib (libgcc_ehs) and forward that.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# These targets are local to this make fragment, which means that they do not
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# get the substitutions seen in SHLIB_LINK.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ifneq ($(LIBEHSOBJS),)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+EHS_INSTNAME = libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# multilib build for a shared EH lib.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$(LIBEHSOBJS): libgcc_tm.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libgcc_ehs$(SHLIB_EXT): $(LIBEHSOBJS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ mkdir -p $(MULTIDIR)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(CC) $(LIBGCC2_CFLAGS) $(LDFLAGS) -dynamiclib -nodefaultlibs \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -install_name $(SHLIB_INSTALL_DIR)/$(EHS_INSTNAME) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -o $(MULTIDIR)/libgcc_ehs$(SHLIB_EXT) $(SHLIB_VERSTRING) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(LIBEHSOBJS) $(SHLIB_LC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+all: libgcc_ehs$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+LGCC_FILES += libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Provide libgcc_s.1 for backwards compatibility.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+LGCC_FILES += libgcc_s.1.dylib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+INSTALL_FILES=$(LGCC_FILES)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# For the toplevel multilib, build FAT dylibs including all the multilibs.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ifeq ($(MULTIBUILDTOP),)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ifeq ($(enable_shared),yes)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -52,7 +104,62 @@ libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT): all-multi libgcc_s$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -create libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rm libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# Install the shared library.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ifeq ($(BUILD_LIBGCCS1),YES)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ifneq ($(LIBEHSOBJS),)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT): all-multi libgcc_ehs$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ MLIBS=`$(CC) --print-multi-lib | sed -e 's/;.*$$//'` ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ for mlib in $$MLIBS ; do \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ cp ../$${mlib}/libgcc/$${mlib}/libgcc_ehs$(SHLIB_EXT) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ./libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T_$${mlib} || exit 1 ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(LIPO) -output libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -create libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ rm libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libgcc_s.1.dylib: libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT) libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ MLIBS=`$(CC) --print-multi-lib | sed -e 's/;.*$$//'` ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ for mlib in $$MLIBS ; do \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ cp ../$${mlib}/libgcc/$${mlib}/libgcc_s$(SHLIB_EXT) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ./libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T_$${mlib} || exit 1 ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ cp ../$${mlib}/libgcc/$${mlib}/libgcc_ehs$(SHLIB_EXT) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ./libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T_$${mlib} || exit 1 ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ arch=`$(LIPO) -info libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T_$${mlib} | sed -e 's/.*:\ //'` ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(CC) -arch $${arch} -nodefaultlibs -dynamiclib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -o libgcc_s.1$(SHLIB_EXT)_T_$${mlib} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -Wl,-reexport_library,libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T_$${mlib} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -Wl,-reexport_library,libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T_$${mlib} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -install_name $(SHLIB_INSTALL_DIR)/libgcc_s.1.dylib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -compatibility_version 1 -current_version 1 ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(LIPO) -output libgcc_s.1$(SHLIB_EXT) -create libgcc_s.1$(SHLIB_EXT)_T*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ rm libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ rm libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libgcc_s.1.dylib: libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ MLIBS=`$(CC) --print-multi-lib | sed -e 's/;.*$$//'` ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ for mlib in $$MLIBS ; do \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ cp ../$${mlib}/libgcc/$${mlib}/libgcc_s$(SHLIB_EXT) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ./libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T_$${mlib} || exit 1 ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ arch=`$(LIPO) -info libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T_$${mlib} | sed -e 's/.*:\ //'` ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(CC) -arch $${arch} -nodefaultlibs -dynamiclib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -o libgcc_s.1$(SHLIB_EXT)_T_$${mlib} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -Wl,-reexport_library,libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T_$${mlib} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -lSystem \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -Wl,-reexported_symbols_list,$(srcdir)/config/darwin-unwind.ver \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -install_name $(SHLIB_INSTALL_DIR)/libgcc_s.1.dylib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ -compatibility_version 1 -current_version 1 ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ $(LIPO) -output libgcc_s.1$(SHLIB_EXT) -create libgcc_s.1$(SHLIB_EXT)_T*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ rm libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Install the shared libraries.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- install-darwin-libgcc-stubs :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(mkinstalldirs) $(DESTDIR)$(slibdir)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -62,10 +169,10 @@ install-darwin-libgcc-stubs :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# Do not install shared libraries for any other multilibs. Unless we are
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# putting them in the gcc directory during a build, for compatibility with
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# the pre-top-level layout. In that case we provide symlinks to the FAT lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# from the sub-directories.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Do not install shared libraries for multilibs. Unless we are putting them
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# in the gcc directory during a build, for compatibility with the pre-top-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# level layout. In that case we provide symlinks to the FAT lib from the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# multilib sub-directories.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ifeq ($(enable_shared),yes)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- all: install-darwin-libgcc-links
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 459683464cfa96b7a49a13297f4ce30efc1c7b4c Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Fri, 10 Dec 2021 21:20:38 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 09/10] libgcc, Darwin: Update darwin10 unwinder shim
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- dependencies.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-We include libgcc_tm.h to provide a prototype for this shim
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-so add that to the make dependencies.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-libgcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/t-darwin: Add libgcc_tm.h to the dependencies
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- for darwin10-unwind-find-enc-func.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit b504917e43b9a559c9ac779e08784ad412125f2e)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/t-darwin | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/t-darwin libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 7c0f1a64ff4..2aab1273287 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config/t-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -27,7 +27,7 @@ libemutls_w.a: emutls_s.o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Patch to __Unwind_Find_Enclosing_Function for Darwin10.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # This has to be built for 10.6, even if the toolchain will not target that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # version
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--d10-uwfef.o: $(srcdir)/config/darwin10-unwind-find-enc-func.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+d10-uwfef.o: $(srcdir)/config/darwin10-unwind-find-enc-func.c libgcc_tm.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(crt_compile) -mmacosx-version-min=10.6 -c $<
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Using this crt as a library means that it will not be added to an exe
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From cc0c9747b3a7243b09470e4a611c96f742894603 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Wed, 15 Dec 2021 14:11:58 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 10/10] libgcc, Darwin: Add missing build dependencies.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-There was a race condition where the link for the new shared EH library
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(only used on earlier Darwin) could fail because the new crts had not been
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-copied to the gcc directory. This can cause a build failure (although
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-currently only seen on powerpc-darwin).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Fixed by adding specific dependency on the crts and on the multi target.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-We also add the declaration header for the Darwin10 unwinder shim to the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-powerpc cases, since we build that there for Rosetta use.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-libgcc/ChangeLog:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config.host: Add shim declaration header to powerpc*-darwin builds.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/rs6000/t-darwin-ehs: Remove dependency on the powerpc end
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- file.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/t-darwin-ehs: Add dependencies to the shared unwinder
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- objects.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * config/t-slibgcc-darwin: Add extra_parts to the dependencies for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- the shared EH lib. Add all-multi to the dependencies for the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc_s.1.dylib redirections.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 574c09da48a5a0ff4c32dd4577eaf65bac8c94a0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config.host | 4 ++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/rs6000/t-darwin-ehs | 4 +---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/t-darwin-ehs | 3 +++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- libgcc/config/t-slibgcc-darwin | 8 ++++----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 4 files changed, 12 insertions(+), 7 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config.host libgcc/config.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 0ad3f448157..950a8c088c5 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config.host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1206,10 +1206,14 @@ powerpc-*-darwin*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- md_unwind_header=rs6000/darwin-unwind.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We build the darwin10 EH shim for Rosetta (running on x86 machines).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tm_file="$tm_file i386/darwin-lib.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tmake_file="$tmake_file rs6000/t-ppc64-fp rs6000/t-ibm-ldouble"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extra_parts="$extra_parts crt2.o crt3_2.o libef_ppc.a dw_ppc.o"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- powerpc64-*-darwin*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ # We build the darwin10 EH shim for Rosetta (running on x86 machines).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tm_file="$tm_file i386/darwin-lib.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tmake_file="$tmake_file rs6000/t-darwin64 rs6000/t-ibm-ldouble"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extra_parts="$extra_parts crt2.o crt3_2.o libef_ppc.a dw_ppc.o"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/rs6000/t-darwin-ehs libgcc/config/rs6000/t-darwin-ehs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 3047f53cb70..42f521411af 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config/rs6000/t-darwin-ehs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config/rs6000/t-darwin-ehs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,5 +1,3 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # We need the save_world code for the EH library.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--LIBEHSOBJS += darwin-world_s.o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--$(LIBEHSOBJS): libef_ppc.a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+LIBEHSOBJS += darwin-world_s.o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/t-darwin-ehs libgcc/config/t-darwin-ehs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 8481898d98a..95275023dac 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config/t-darwin-ehs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config/t-darwin-ehs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2,3 +2,6 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # libgcc_s.1 on systems that used the unwinder in libgcc_s.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIBEHSOBJS = unwind-dw2_s.o unwind-dw2-fde-darwin_s.o unwind-c_s.o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+unwind-dw2_s.o: gthr-default.h md-unwind-support.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$(LIBEHSOBJS): libgcc_tm.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libgcc/config/t-slibgcc-darwin libgcc/config/t-slibgcc-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 9ccee91aff2..41ff8023522 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libgcc/config/t-slibgcc-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libgcc/config/t-slibgcc-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -64,9 +64,8 @@ ifneq ($(LIBEHSOBJS),)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- EHS_INSTNAME = libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # multilib build for a shared EH lib.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--$(LIBEHSOBJS): libgcc_tm.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--libgcc_ehs$(SHLIB_EXT): $(LIBEHSOBJS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libgcc_ehs$(SHLIB_EXT): $(LIBEHSOBJS) $(extra-parts)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- mkdir -p $(MULTIDIR)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(CC) $(LIBGCC2_CFLAGS) $(LDFLAGS) -dynamiclib -nodefaultlibs \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -install_name $(SHLIB_INSTALL_DIR)/$(EHS_INSTNAME) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -118,7 +117,8 @@ libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT): all-multi libgcc_ehs$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rm libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT)_T*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--libgcc_s.1.dylib: libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT) libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libgcc_s.1.dylib: all-multi libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ libgcc_ehs.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- MLIBS=`$(CC) --print-multi-lib | sed -e 's/;.*$$//'` ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- for mlib in $$MLIBS ; do \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cp ../$${mlib}/libgcc/$${mlib}/libgcc_s$(SHLIB_EXT) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -139,7 +139,7 @@ libgcc_s.1.dylib: libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT) libgcc_ehs.$(SHLIB_SOV
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--libgcc_s.1.dylib: libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+libgcc_s.1.dylib: all-multi libgcc_s.$(SHLIB_SOVERSION)$(SHLIB_EXT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- MLIBS=`$(CC) --print-multi-lib | sed -e 's/;.*$$//'` ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- for mlib in $$MLIBS ; do \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cp ../$${mlib}/libgcc/$${mlib}/libgcc_s$(SHLIB_EXT) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span></pre><pre style='margin:0'>
</pre>