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