summaryrefslogtreecommitdiff
path: root/gcc.spec
diff options
context:
space:
mode:
Diffstat (limited to 'gcc.spec')
-rw-r--r--gcc.spec4485
1 files changed, 4485 insertions, 0 deletions
diff --git a/gcc.spec b/gcc.spec
new file mode 100644
index 0000000..0476c27
--- /dev/null
+++ b/gcc.spec
@@ -0,0 +1,4485 @@
+%global gcc_version 12.3.1
+%global gcc_major 12
+# Note, gcc_release must be integer, if you want to add suffixes to
+# %%{release}, append them after %%{gcc_release} on Release: line.
+%global gcc_release 63
+
+%global _unpackaged_files_terminate_build 0
+%global _performance_build 1
+# Hardening slows the compiler way too much.
+%undefine _hardened_build
+%undefine _auto_set_build_flags
+%undefine _annotated_build
+
+%global multilib_64_archs sparc64 ppc64 ppc64p7
+
+%global build_ada 0
+%global build_objc 1
+%global build_go 0
+%global build_d 0
+
+%ifarch %{ix86} x86_64 ia64 ppc64le aarch64
+%global build_libquadmath 1
+%else
+%global build_libquadmath 0
+%endif
+%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 loongarch64 riscv64 sw_64
+%global build_libasan 1
+%else
+%global build_libasan 0
+%endif
+%ifarch x86_64 ppc64 ppc64le aarch64 s390x loongarch64 sw_64
+%global build_libtsan 1
+%else
+%global build_libtsan 0
+%endif
+%ifarch x86_64 ppc64 ppc64le aarch64 s390x loongarch64 sw_64
+%global build_liblsan 1
+%else
+%global build_liblsan 0
+%endif
+%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 loongarch64 riscv64 sw_64
+%global build_libubsan 1
+%else
+%global build_libubsan 0
+%endif
+%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 %{mips} riscv64 loongarch64 sw_64
+%global build_libatomic 1
+%else
+%global build_libatomic 0
+%endif
+%ifarch %{ix86} x86_64 %{arm} alpha ppc ppc64 ppc64le ppc64p7 s390 s390x aarch64 loongarch64 sw_64
+%global build_libitm 1
+%else
+%global build_libitm 0
+%endif
+%global build_libstdcxx_docs 0
+%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 %{mips} loongarch64
+%global attr_ifunc 1
+%else
+%global attr_ifunc 0
+%endif
+%ifarch sparc64
+%global multilib_32_arch sparcv9
+%endif
+%ifarch ppc64 ppc64p7
+%global multilib_32_arch ppc
+%endif
+%ifarch x86_64
+%global multilib_32_arch i686
+%endif
+%ifarch riscv64
+%global _smp_mflags -j8
+%endif
+
+%global isl_enable 0
+%global check_enable 0
+
+Summary: Various compilers (C, C++, Objective-C, ...)
+Name: gcc
+Version: %{gcc_version}
+Release: %{gcc_release}
+# libgcc, libgfortran, libgomp, libstdc++ and crtstuff have
+# GCC Runtime Exception.
+License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
+URL: https://gcc.gnu.org
+Source0: https://ftp.gnu.org/gnu/gcc/gcc-12.3.0/gcc-12.3.0.tar.xz
+
+BuildRequires: binutils >= 2.31
+BuildRequires: glibc-headers
+BuildRequires: libtool, zlib-devel, texinfo, gettext, flex, bison, sharutils
+BuildRequires: gmp-devel >= 4.1.2, mpfr-devel >= 3.1.0, libmpc-devel >= 0.8.1
+%if %{isl_enable}
+BuildRequires: isl >= 0.15.0, isl-devel >= 0.15.0
+%endif
+BuildRequires: gcc, gcc-c++, make, chrpath
+%if %{build_go}
+BuildRequires: hostname, procps
+%endif
+BuildRequires: gdb
+BuildRequires: glibc-devel >= 2.17
+%ifarch %{multilib_64_archs} sparcv9 ppc
+# Ensure glibc{,-devel} is installed for both multilib arches
+BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so
+%endif
+%if %{build_ada}
+# Ada requires Ada to build
+BuildRequires: gcc-gnat >= 3.1, libgnat >= 3.1
+%endif
+%if %{build_d}
+# D requires D to build
+BuildRequires: gcc-gdc >= 11.0.0, libgphobos-static >= 11.0.0
+%endif
+%ifarch ia64
+BuildRequires: libunwind >= 0.98
+%endif
+%if %{build_libstdcxx_docs}
+BuildRequires: doxygen >= 1.7.1
+BuildRequires: graphviz, dblatex, texlive-collection-latex, docbook5-style-xsl
+%endif
+Requires: cpp = %{version}-%{release}
+Requires: binutils >= 2.31
+Conflicts: gdb < 5.1-2
+Requires: glibc-devel >= 2.17
+Requires: libgcc >= %{version}-%{release}
+Requires: libgomp = %{version}-%{release}
+# lto-wrapper invokes make
+Requires: make
+%if !%{build_ada}
+Obsoletes: gcc-gnat < %{version}-%{release}
+%endif
+Obsoletes: gcc-java < %{version}-%{release}
+AutoReq: true
+Provides: bundled(libiberty)
+Provides: bundled(libbacktrace)
+Provides: bundled(libffi)
+Provides: gcc(major) = %{gcc_major}
+
+Patch1: 0001-Version-Set-version-to-12.3.1.patch
+Patch2: 0002-RISCV-Backport-inline-subword-atomic-patches.patch
+Patch3: 0003-CONFIG-Regenerate-configure-file.patch
+Patch4: 0004-libquadmath-Enable-libquadmath-on-kunpeng.patch
+Patch6: 0006-MULL64-1-3-Add-A-B-op-CST-B-match-and-simplify-optim.patch
+Patch7: 0007-MULL64-2-3-Fold-series-of-instructions-into-mul.patch
+Patch8: 0008-MULL64-3-3-Fold-series-of-instructions-into-umulh.patch
+Patch9: 0009-MULL64-Disable-mull64-transformation-by-default.patch
+Patch10: 0010-Version-Clear-DATESTAMP_s.patch
+Patch11: 0011-Add-attribute-hot-judgement-for-INLINE_HINT_known_ho.patch
+Patch12: 0012-Enable-small-loop-unrolling-for-O2.patch
+Patch13: 0013-i386-Only-enable-small-loop-unrolling-in-backend-PR-.patch
+Patch14: 0014-Array-widen-compare-Add-a-new-optimization-for-array.patch
+Patch15: 0015-Backport-Structure-reorganization-optimization.patch
+Patch16: 0016-CompleteStructRelayout-Complete-Structure-Relayout.patch
+Patch17: 0017-StructReorg-Some-bugfix-for-structure-reorganization.patch
+Patch18: 0018-ccmp-Add-another-optimization-opportunity-for-ccmp-i.patch
+Patch19: 0019-fp-model-Enable-fp-model-on-kunpeng.patch
+Patch20: 0020-simdmath-Enable-simdmath-on-kunpeng.patch
+Patch21: 0021-StructReorderFields-Structure-reorder-fields.patch
+Patch22: 0022-DFE-Add-Dead-Field-Elimination-in-Struct-Reorg.patch
+Patch23: 0023-PGO-kernel-Add-fkernel-pgo-option-to-support-PGO-ker.patch
+Patch24: 0024-Struct-Reorg-Refactoring-and-merge-reorder-fields-in.patch
+Patch25: 0025-AArch64-Rewrite-the-tsv110-option.patch
+Patch26: 0026-GOMP-Enabling-moutline-atomics-improves-libgomp-perf.patch
+Patch27: 0027-LoopElim-Redundant-loop-elimination-optimization.patch
+Patch28: 0028-Array-widen-compare-Fix-the-return-value-match-after.patch
+Patch29: 0029-Struct-Reorg-Add-Safe-Structure-Pointer-Compression.patch
+Patch30: 0030-Struct-Reorg-Add-unsafe-structure-pointer-compressio.patch
+Patch31: 0031-AutoBOLT-Support-saving-feedback-count-info-to-ELF-s.patch
+Patch32: 0032-AutoBOLT-Add-bolt-linker-plugin-2-3.patch
+Patch33: 0033-AutoBOLT-Enable-BOLT-linker-plugin-on-aarch64-3-3.patch
+Patch34: 0034-Autofdo-Enable-discrimibator-and-MCF-algorithm-on-Au.patch
+Patch35: 0035-Add-insn-defs-and-correct-costs-for-cmlt-generation.patch
+Patch36: 0036-rtl-ifcvt-introduce-rtl-ifcvt-enchancements.patch
+Patch37: 0037-Perform-early-if-conversion-of-simple-arithmetic.patch
+Patch38: 0038-Add-option-to-allow-matching-uaddsub-overflow-for-wi.patch
+Patch39: 0039-Match-double-sized-mul-pattern.patch
+Patch40: 0040-Port-icp-patch-to-GCC-12.patch
+Patch41: 0041-Port-fixes-in-icp-to-GCC-12.patch
+Patch42: 0042-Add-split-complex-instructions-pass.patch
+Patch43: 0043-Extending-and-refactoring-of-pass_split_complex_inst.patch
+Patch44: 0044-Port-maxmin-patch-to-GCC-12.patch
+Patch45: 0045-Port-moving-minmask-pattern-to-gimple-to-GCC-12.patch
+Patch46: 0046-Add-new-pattern-to-pass-the-maxmin-tests.patch
+Patch47: 0047-AES-Implement-AES-pattern-matching.patch
+Patch48: 0048-crypto-accel-add-optimization-level-requirement-to-t.patch
+Patch49: 0049-Add-more-flexible-check-for-pointer-aliasing-during-.patch
+Patch50: 0050-Port-IPA-prefetch-to-GCC-12.patch
+Patch51: 0051-Port-fixes-for-IPA-prefetch-to-GCC-12.patch
+Patch52: 0052-Fix-fails-in-IPA-prefetch-src-openEuler-gcc-I96ID7.patch
+Patch53: 0053-struct-reorg-Add-Semi-Relayout.patch
+Patch54: 0054-Struct-Reorg-Bugfix-for-structure-pointer-compressio.patch
+Patch55: 0055-Struct-Reorg-Port-bugfixes-to-GCC-12.3.1.patch
+Patch56: 0056-Fix-bug-that-verifying-gimple-failed-when-reorg-leve.patch
+Patch57: 0057-AutoFdo-Fix-memory-leaks-in-autofdo.patch
+Patch86: 0086-Modfify-cost-calculation-for-dealing-with-equivalenc.patch
+Patch87: 0087-Add-cost-calculation-for-reg-equivalence-invariants.patch
+Patch88: 0088-BUGFIX-Fix-the-configure-file-of-BOLT.patch
+Patch89: 0089-StructReorderFields-Fix-gimple-call-not-rewritten.patch
+Patch90: 0090-double-sized-mul-testsuite-Add-march-armv8.2-a-for-d.patch
+Patch91: 0091-IPA-Bugfix-Fix-fails-in-IPA-prefetch-src-openEuler-g.patch
+Patch92: 0092-AES-Bugfix-Change-set_of-to-reg_set_p-and-add-check-.patch
+Patch93: 0093-fix-bugs-within-pointer-compression-and-DFE.patch
+Patch94: 0094-BUGFIX-AutoBOLT-function-miss-bind-type.patch
+Patch95: 0095-STABS-remove-gstabs-and-gxcoff-functionality.patch
+Patch96: 0096-Bugfix-Autofdo-use-PMU-sampling-set-num-eauals-den.patch
+Patch97: 0097-Improve-non-loop-disambiguation.patch
+Patch98: 0098-CHREC-multiplication-and-undefined-overflow.patch
+Patch99: 0099-Enable-Transposed-SLP.patch
+Patch100: 0100-Add-hip09-machine-discribtion.patch
+Patch101: 0101-Add-hip11-CPU-pipeline-scheduling.patch
+Patch102: 0102-Add-Crc32-Optimization-in-Gzip-For-crc32-algorithm-i.patch
+Patch103: 0103-SME-Remove-hip09-and-hip11-in-aarch64-cores.def-to-b.patch
+Patch104: 0104-Backport-SME-AArch64-Cleanup-CPU-option-processing-c.patch
+Patch105: 0105-Backport-SME-AArch64-Cleanup-option-processing-code.patch
+Patch106: 0106-Backport-SME-aarch64-Add-march-support-for-Armv9.1-A.patch
+Patch107: 0107-Backport-SME-Revert-aarch64-Define-__ARM_FEATURE_RCP.patch
+Patch108: 0108-Backport-SME-Revert-Ampere-1-and-Ampere-1A-core-defi.patch
+Patch109: 0109-Backport-SME-aarch64-Rename-AARCH64_ISA-architecture.patch
+Patch110: 0110-Backport-SME-aarch64-Rename-AARCH64_FL-architecture-.patch
+Patch111: 0111-Backport-SME-aarch64-Rename-AARCH64_FL_FOR_ARCH-macr.patch
+Patch112: 0112-Backport-SME-aarch64-Add-V-to-aarch64-arches.def-nam.patch
+Patch113: 0113-Backport-SME-aarch64-Small-config.gcc-cleanups.patch
+Patch114: 0114-Backport-SME-aarch64-Avoid-redundancy-in-aarch64-cor.patch
+Patch115: 0115-Backport-SME-aarch64-Remove-AARCH64_FL_RCPC8_4-PR107.patch
+Patch116: 0116-Backport-SME-aarch64-Fix-transitive-closure-of-featu.patch
+Patch117: 0117-Backport-SME-aarch64-Reorder-an-entry-in-aarch64-opt.patch
+Patch118: 0118-Backport-SME-aarch64-Simplify-feature-definitions.patch
+Patch119: 0119-Backport-SME-aarch64-Simplify-generation-of-.arch-st.patch
+Patch120: 0120-Backport-SME-aarch64-Avoid-std-string-in-static-data.patch
+Patch121: 0121-Backport-SME-aarch64-Tweak-constness-of-option-relat.patch
+Patch122: 0122-Backport-SME-aarch64-Make-more-use-of-aarch64_featur.patch
+Patch123: 0123-Backport-SME-aarch64-Tweak-contents-of-flags_on-off-.patch
+Patch124: 0124-Backport-SME-aarch64-Tweak-handling-of-mgeneral-regs.patch
+Patch125: 0125-Backport-SME-aarch64-Remove-redundant-TARGET_-checks.patch
+Patch126: 0126-Backport-SME-aarch64-Define-__ARM_FEATURE_RCPC.patch
+Patch127: 0127-Backport-SME-Add-Ampere-1-and-Ampere-1A-core-definit.patch
+Patch128: 0128-Backport-SME-aarch64-Fix-nosimd-handling-of-FPR-move.patch
+Patch129: 0129-Backport-SME-aarch64-Commonise-some-folding-code.patch
+Patch130: 0130-Backport-SME-aarch64-Add-a-Z-operand-modifier-for-SV.patch
+Patch131: 0131-Backport-SME-mode-switching-Remove-unused-bbnum-fiel.patch
+Patch132: 0132-Backport-SME-mode-switching-Tweak-the-macro-hook-doc.patch
+Patch133: 0133-Backport-SME-mode-switching-Add-note-problem.patch
+Patch134: 0134-Backport-SME-mode-switching-Avoid-quadractic-list-op.patch
+Patch135: 0135-Backport-SME-mode-switching-Fix-the-mode-passed-to-t.patch
+Patch136: 0136-Backport-SME-mode-switching-Simplify-recording-of-tr.patch
+Patch137: 0137-Backport-SME-mode-switching-Tweak-entry-exit-handlin.patch
+Patch138: 0138-Backport-SME-mode-switching-Allow-targets-to-set-the.patch
+Patch139: 0139-Backport-SME-mode-switching-Pass-set-of-live-registe.patch
+Patch140: 0140-Backport-SME-mode-switching-Pass-the-set-of-live-reg.patch
+Patch141: 0141-Backport-SME-mode-switching-Use-1-based-edge-aux-fie.patch
+Patch142: 0142-Backport-SME-mode-switching-Add-a-target-configurabl.patch
+Patch143: 0143-Backport-SME-mode-switching-Add-a-backprop-hook.patch
+Patch144: 0144-Backport-SME-aarch64-Add-a-result_mode-helper-functi.patch
+Patch145: 0145-Backport-SME-rtl-Try-to-remove-EH-edges-after-pro-ep.patch
+Patch146: 0146-Backport-SME-Fix-PR-middle-end-107705-ICE-after-recl.patch
+Patch147: 0147-Backport-SME-function-Change-return-type-of-predicat.patch
+Patch148: 0148-Backport-SME-Allow-prologues-and-epilogues-to-be-ins.patch
+Patch149: 0149-Backport-SME-Add-a-target-hook-for-sibcall-epilogues.patch
+Patch150: 0150-Backport-SME-Add-a-new-target-hook-TARGET_START_CALL.patch
+Patch151: 0151-Backport-SME-Allow-targets-to-add-USEs-to-asms.patch
+Patch152: 0152-Backport-SME-New-compact-syntax-for-insn-and-insn_sp.patch
+Patch153: 0153-Backport-SME-recog-Improve-parser-for-pattern-new-co.patch
+Patch154: 0154-Backport-SME-recog-Support-space-in-cons.patch
+Patch155: 0155-Backport-SME-aarch64-Generalise-require_immediate_la.patch
+Patch156: 0156-Backport-SME-aarch64-Add-backend-support-for-DFP.patch
+Patch157: 0157-Backport-SME-aarch64-Vector-move-fixes-for-nosimd.patch
+Patch158: 0158-Backport-SME-aarch64-Simplify-output-template-emissi.patch
+Patch159: 0159-Backport-SME-Improve-immediate-expansion-PR106583.patch
+Patch160: 0160-Backport-SME-AArch64-Cleanup-move-immediate-code.patch
+Patch161: 0161-Backport-SME-AArch64-convert-some-patterns-to-compac.patch
+Patch162: 0162-Backport-SME-aarch64-Use-SVE-s-RDVL-instruction.patch
+Patch163: 0163-Backport-SME-aarch64-Make-AARCH64_FL_SVE-requirement.patch
+Patch164: 0164-Backport-SME-aarch64-Add-group-suffixes-to-SVE-intri.patch
+Patch165: 0165-Backport-SME-aarch64-Add-sve_type-to-SVE-builtins-co.patch
+Patch166: 0166-Backport-SME-aarch64-Generalise-some-SVE-ACLE-error-.patch
+Patch167: 0167-Backport-SME-aarch64-Replace-vague-previous-argument.patch
+Patch168: 0168-Backport-SME-aarch64-Make-more-use-of-sve_type-in-AC.patch
+Patch169: 0169-Backport-SME-aarch64-Tweak-error-message-for-tuple-v.patch
+Patch170: 0170-Backport-SME-aarch64-Add-tuple-forms-of-svreinterpre.patch
+Patch171: 0171-Backport-SME-attribs-Use-existing-traits-for-excl_ha.patch
+Patch172: 0172-Backport-SME-Allow-target-attributes-in-non-gnu-name.patch
+Patch173: 0173-Backport-SME-aarch64-Fix-plugin-header-install.patch
+Patch174: 0174-Backport-SME-aarch64-Add-arm_streaming-_compatible-a.patch
+Patch175: 0175-Backport-SME-aarch64-Add-sme.patch
+Patch176: 0176-Backport-SME-aarch64-Add-r-m-and-m-r-alternatives-to.patch
+Patch177: 0177-Backport-SME-AArch64-Rewrite-simd-move-immediate-pat.patch
+Patch178: 0178-Backport-SME-AArch64-remove-test-comment-from-mov-mo.patch
+Patch179: 0179-Backport-SME-aarch64-Distinguish-streaming-compatibl.patch
+Patch180: 0180-Backport-SME-aarch64-Mark-relevant-SVE-instructions-.patch
+Patch181: 0181-Backport-SME-AArch64-Support-new-tbranch-optab.patch
+Patch182: 0182-Backport-SME-aarch64-Use-local-frame-vars-in-shrink-.patch
+Patch183: 0183-Backport-SME-aarch64-Avoid-a-use-of-callee_offset.patch
+Patch184: 0184-Backport-SME-aarch64-Explicitly-handle-frames-with-n.patch
+Patch185: 0185-Backport-SME-aarch64-Add-bytes_below_saved_regs-to-f.patch
+Patch186: 0186-Backport-SME-aarch64-Add-bytes_below_hard_fp-to-fram.patch
+Patch187: 0187-Backport-SME-aarch64-Robustify-stack-tie-handling.patch
+Patch188: 0188-Backport-SME-aarch64-Tweak-aarch64_save-restore_call.patch
+Patch189: 0189-Backport-SME-aarch64-Only-calculate-chain_offset-if-.patch
+Patch190: 0190-Backport-SME-aarch64-Rename-locals_offset-to-bytes_a.patch
+Patch191: 0191-Backport-SME-aarch64-Rename-hard_fp_offset-to-bytes_.patch
+Patch192: 0192-Backport-SME-aarch64-Tweak-frame_size-comment.patch
+Patch193: 0193-Backport-SME-aarch64-Measure-reg_offset-from-the-bot.patch
+Patch194: 0194-Backport-SME-aarch64-Simplify-top-of-frame-allocatio.patch
+Patch195: 0195-Backport-SME-aarch64-Minor-initial-adjustment-tweak.patch
+Patch196: 0196-Backport-SME-aarch64-Tweak-stack-clash-boundary-cond.patch
+Patch197: 0197-Backport-SME-aarch64-Put-LR-save-probe-in-first-16-b.patch
+Patch198: 0198-Backport-SME-aarch64-Simplify-probe-of-final-frame-a.patch
+Patch199: 0199-Backport-SME-aarch64-Explicitly-record-probe-registe.patch
+Patch200: 0200-Backport-SME-aarch64-Remove-below_hard_fp_saved_regs.patch
+Patch201: 0201-Backport-SME-aarch64-Make-stack-smash-canary-protect.patch
+Patch202: 0202-Backport-SME-Handle-epilogues-that-contain-jumps.patch
+Patch203: 0203-Backport-SME-aarch64-Use-vecs-to-store-register-save.patch
+Patch204: 0204-Backport-SME-aarch64-Put-LR-save-slot-first-in-more-.patch
+Patch205: 0205-Backport-SME-aarch64-Switch-PSTATE.SM-around-calls.patch
+Patch206: 0206-Backport-SME-aarch64-Add-support-for-SME-ZA-attribut.patch
+Patch207: 0207-Backport-SME-aarch64-Add-a-register-class-for-w12-w1.patch
+Patch208: 0208-Backport-SME-aarch64-Add-a-VNx1TI-mode.patch
+Patch209: 0209-Backport-SME-aarch64-Generalise-unspec_based_functio.patch
+Patch210: 0210-Backport-SME-aarch64-Generalise-_m-rules-for-SVE-int.patch
+Patch211: 0211-Backport-SME-aarch64-Add-support-for-arm_sme.h.patch
+Patch212: 0212-Backport-SME-aarch64-Add-support-for-__arm_locally_s.patch
+Patch213: 0213-Backport-SME-aarch64-Handle-PSTATE.SM-across-abnorma.patch
+Patch214: 0214-Backport-SME-aarch64-Enforce-inlining-restrictions-f.patch
+Patch215: 0215-Backport-SME-aarch64-Update-sibcall-handling-for-SME.patch
+Patch216: 0216-Backport-SME-libgcc-aarch64-Configure-check-for-.var.patch
+Patch217: 0217-Backport-SME-libgcc-aarch64-Configure-check-for-__ge.patch
+Patch218: 0218-Backport-SME-libgcc-aarch64-Add-SME-runtime-support.patch
+Patch219: 0219-Backport-SME-libgcc-aarch64-Add-SME-unwinder-support.patch
+Patch220: 0220-Backport-SME-libgcc-Fix-config.in.patch
+Patch221: 0221-Backport-SME-aarch64-Add-funwind-tables-to-some-test.patch
+Patch222: 0222-Backport-SME-aarch64-Skip-some-SME-register-save-tes.patch
+Patch223: 0223-Backport-SME-Add-OPTIONS_H_EXTRA-to-GTFILES.patch
+Patch224: 0224-Backport-SME-aarch64-Add-V1DI-mode.patch
+Patch225: 0225-Backport-SME-Allow-md-iterators-to-include-other-ite.patch
+Patch226: 0226-Backport-SME-riscv-Add-support-for-strlen-inline-exp.patch
+Patch227: 0227-Backport-SME-attribs-Add-overloads-with-namespace-na.patch
+Patch228: 0228-Backport-SME-vec-Add-array_slice-constructors-from-n.patch
+Patch229: 0229-Backport-SME-A-couple-of-va_gc_atomic-tweaks.patch
+Patch230: 0230-Backport-SME-middle-end-Fix-issue-of-poly_uint16-1-1.patch
+Patch231: 0231-SME-Add-missing-header-file-in-aarch64.cc.patch
+Patch232: 0232-Backport-SME-c-Add-support-for-__extension__.patch
+Patch233: 0233-Backport-SME-lra-Updates-of-biggest-mode-for-hard-re.patch
+Patch234: 0234-Backport-SME-c-Support-C2x-empty-initializer-braces.patch
+Patch235: 0235-Backport-SME-aarch64-Update-sizeless-tests-for-recen.patch
+Patch236: 0236-Backport-SME-attribs-Namespace-aware-lookup_attribut.patch
+Patch237: 0237-Backport-SME-c-family-ICE-with-gnu-nocf_check-PR1069.patch
+Patch238: 0238-Backport-SME-AArch64-Fix-assert-in-aarch64_move_imm-.patch
+Patch239: 0239-Backport-SME-testsuite-Only-run-fcf-protection-test-.patch
+Patch240: 0240-Backport-SME-Fix-PRs-106764-106765-and-107307-all-IC.patch
+Patch241: 0241-Backport-SME-aarch64-Remove-expected-error-for-compo.patch
+Patch242: 0242-Backport-SME-aarch64-Remove-redundant-builtins-code.patch
+Patch243: 0243-Backport-SME-AArch64-Fix-Armv9-a-warnings-that-get-e.patch
+Patch244: 0244-Backport-SME-Canonicalize-X-Y-as-X-Y-in-match.pd-whe.patch
+Patch245: 0245-Backport-SME-middle-end-Add-new-tbranch-optab-to-add.patch
+Patch246: 0246-Backport-SME-explow-Allow-dynamic-allocations-after-.patch
+Patch247: 0247-Backport-SME-PR105169-Fix-references-to-discarded-se.patch
+Patch248: 0248-Backport-SME-RISC-V-autovec-Verify-that-GET_MODE_NUN.patch
+Patch249: 0249-Backport-SME-Add-operator-to-gimple_stmt_iterator-an.patch
+Patch250: 0250-Backport-SME-tree-optimization-110221-SLP-and-loop-m.patch
+Patch251: 0251-SME-Adapt-some-testsuites.patch
+Patch252: 0252-SME-Fix-error-by-backported-patches-and-IPA-prefetch.patch
+Patch253: 0253-aarch64-Fix-return-register-handling-in-untyped_call.patch
+Patch254: 0254-aarch64-Fix-loose-ldpstp-check.patch
+Patch255: 0255-x86-Add-a-new-option-mdaz-ftz-to-enable-FTZ-and-DAZ-.patch
+Patch256: 0256-Explicitly-view_convert_expr-mask-to-signed-type-whe.patch
+Patch257: 0257-Make-option-mvzeroupper-independent-of-optimization-.patch
+Patch258: 0258-i386-Sync-tune_string-with-arch_string-for-target-at.patch
+Patch259: 0259-Refine-maskloadmn-pattern-with-UNSPEC_MASKLOAD.patch
+Patch260: 0260-Refine-maskstore-patterns-with-UNSPEC_MASKMOV.patch
+Patch261: 0261-x86-Update-model-values-for-Alderlake-and-Rocketlake.patch
+Patch262: 0262-Workaround-possible-CPUID-bug-in-Sandy-Bridge.patch
+Patch263: 0263-Software-mitigation-Disable-gather-generation-in-vec.patch
+Patch264: 0264-Support-m-no-gather-m-no-scatter-to-enable-disable-v.patch
+Patch265: 0265-Remove-constraint-modifier-for-fcmaddcph-fmaddcph-fc.patch
+Patch266: 0266-Disparage-slightly-for-the-alternative-which-move-DF.patch
+Patch267: 0267-Fix-wrong-code-due-to-vec_merge-pcmp-to-blendvb-spli.patch
+Patch268: 0268-Don-t-assume-it-s-AVX_U128_CLEAN-after-call_insn-who.patch
+Patch269: 0269-Disable-FMADD-in-chains-for-Zen4-and-generic.patch
+Patch270: 0270-Initial-Raptorlake-Support.patch
+Patch271: 0271-Initial-Meteorlake-Support.patch
+Patch272: 0272-Support-Intel-AMX-FP16-ISA.patch
+Patch273: 0273-Support-Intel-prefetchit0-t1.patch
+Patch274: 0274-Initial-Granite-Rapids-Support.patch
+Patch275: 0275-Support-Intel-AMX-COMPLEX.patch
+Patch276: 0276-i386-Add-AMX-COMPLEX-to-Granite-Rapids.patch
+Patch277: 0277-Initial-Granite-Rapids-D-Support.patch
+Patch278: 0278-Correct-Granite-Rapids-D-documentation.patch
+Patch279: 0279-i386-Remove-Meteorlake-s-family_model.patch
+Patch280: 0280-x86-Update-model-values-for-Alderlake-Rocketlake-and.patch
+Patch281: 0281-x86-Update-model-values-for-Raptorlake.patch
+Patch282: 0282-Fix-target_clone-arch-graniterapids-d.patch
+Patch283: 0283-i386-Change-prefetchi-output-template.patch
+Patch284: 0284-i386-Add-non-optimize-prefetchi-intrins.patch
+Patch285: 0285-SME-Recover-hip09-and-hip11-in-aarch64-cores.def.patch
+Patch286: 0286-Try-to-use-AI-model-to-guide-optimization.patch
+Patch287: 0287-Add-dynamic-memory-access-checks.patch
+Patch288: 0288-Enable-macro-use-commandline.patch
+Patch289: 0289-tree-ssa-loop-crc.cc-TARGET_CRC32-may-be-not-defined.patch
+Patch290: 0290-Add-ipa-prefetch-test-for-gcc-s-case.patch
+Patch291: 0291-Fix-settings-for-wide-operations-tests.patch
+Patch292: 0292-Fix-errors-in-ipa-prefetch-IAORPF-and-IAOSJ0.patch
+Patch293: 0293-Fix-error-with-stmts-insertion-in-ipa-prefetch-for-I.patch
+Patch294: 0294-Fix-errors-in-ipa-prefetch-IAO50J-and-IAO5H7.patch
+Patch295: 0295-Fix-error-with-grouped_load-merge-in-slp-transpose-v.patch
+Patch296: 0296-Fix-error-in-slp-transpose-vectorize-for-IAQFM3.patch
+Patch297: 0297-Fix-grouped-load-merging-error-in-SLP-transpose-vectorization.patch
+Patch298: 0298-Mark-prefetch-builtin-as-willreturn.patch
+Patch299: 0299-Backport-Disallow-pointer-operands-for-and-partly-PR.patch
+Patch300: 0300-Remove-erroneous-pattern-from-gimple-ifcvt.patch
+Patch301: 0301-Add-required-check-for-iteration-through-uses.patch
+Patch302: 0302-Added-param-for-optimization-for-merging-bb-s-with-c.patch
+Patch303: 0303-Add-generation-of-stream-in-functions-for-pre-versio.patch
+Patch304: 0304-Add-multi-version-lto-symbol-parse-cross-lto-units-i.patch
+Patch305: 0305-Backport-varasm-Handle-private-COMDAT-function-symbo.patch
+Patch306: 0306-RISC-V-Install-libstdc-libcc1-etc-to-lib64-instead-o.patch
+Patch307: 0307-Set-fallback-value-for-print-multi-os-directory.patch
+Patch308: 0308-Fix-enum-INPUT-MIDDLE-FINAL-aes_stage.patch
+Patch309: 0309-CSPGO-Add-context-sensitive-PGO.patch
+Patch310: 0310-CFGO-Add-cfgo-pgo-optimization.patch
+Patch311: 0311-PATCH-Add-if-split-optimization-pass.patch
+Patch312: 0312-Add-late-slp-vectorization-pass-with-additional-chec.patch
+Patch313: 0313-Add-tracer-transformation-for-static-probabilities.patch
+Patch314: 0314-bugfix-Modify-the-hip09-tune-flags.patch
+Patch315: 0315-Bugfix-Add-no-var-recored-check-for-ssa_name-in-stru.patch
+Patch316: 0316-Use-ai-ability-to-guide-optimization.patch
+Patch317: 0317-Bugfix-set-default-value-when-tune_native-is-NULL.patch
+Patch318: 0318-add-flag-flto-try.patch
+Patch319: 0319-CSPGO-fix-bugs-when-using-cspgo.patch
+Patch320: 0320-if-split-fix-bugs.patch
+Patch321: 0321-Struct-reorg-Avoid-doing-struct-split-and-reorder_fi.patch
+Patch322: 0322-Bugfix-Create-POINTER_PLUS_EXPR-for-REFERENCE_TYPE.patch
+Patch323: 0323-Bugfix-replace-tmp-pattern-split.patch
+Patch324: 0324-bugfix-fix-vector-costs-for-hip09.patch
+Patch325: 0325-gcc-opts-common.cc-Fix-build-with-clang.patch
+Patch326: 0326-BUGFIX-Fix-build-error-on-risv_64.patch
+Patch327: 0327-Bugfix-Adjust-the-same-gate-to-use-struct-option.patch
+Patch328: 0328-Bugfix-if-split-Added-checking-for-ssa_name.patch
+Patch329: 0329-Fixed-work-with-loops-in-process_complex_cond.patch
+Patch330: 0330-bugfix-fix-typo-error.patch
+Patch331: 0331-fix-function-missing-return-value.patch
+
+# Part 1001-1999
+%ifarch sw_64
+Patch1001: 0001-Sw64-Port-add-configure-support-for-sw64.patch
+Patch1002: 0002-Sw64-Port-add-gcc-compiler.patch
+Patch1003: 0003-Sw64-Port-add-multi-prefetch-support-for-sw64.patch
+Patch1004: 0004-Sw64-Port-update-gcc-testsuite-for-sw64.patch
+Patch1005: 0005-Sw64-Port-libatomic.patch
+Patch1006: 0006-Sw64-Port-libgcc.patch
+Patch1007: 0007-Sw64-Port-libffi.patch
+Patch1008: 0008-Sw64-Port-libgfortran.patch
+Patch1009: 0009-Sw64-Port-libgo.patch
+Patch1010: 0010-Sw64-Port-libgomp.patch
+Patch1011: 0011-Sw64-Port-libitm.patch
+Patch1012: 0012-Sw64-Port-libstdc.patch
+Patch1013: 0013-Sw64-Port-set-raise-FPE-when-DivbyZero-on-Sw_64.patch
+Patch1014: 0014-Sw64-Port-add-lex-builtin-support-in-libcpp.patch
+Patch1015: 0015-Sw64-Port-libsanitizer.patch
+Patch1016: 0016-libsanitizer-fix-isoc23-function-interception.patch
+Patch1017: 0017-Sw64-Port-Fix-target-explicit_mask.patch
+%endif
+
+# Part 3000 ~ 4999
+%ifarch loongarch64
+Patch3001: loongarch-add-alternatives-for-idiv-insns-to-improve.patch
+Patch3002: loongarch-avoid-unnecessary-sign-extend-after-32-bit.patch
+Patch3003: LoongArch-Subdivision-symbol-type-add-SYMBOL_PCREL-s.patch
+Patch3004: LoongArch-Support-split-symbol.patch
+Patch3005: LoongArch-Modify-the-output-message-string-of-the-wa.patch
+Patch3006: LoongArch-adjust-the-default-of-mexplicit-relocs-by-.patch
+Patch3007: LoongArch-document-m-no-explicit-relocs.patch
+Patch3008: LoongArch-Define-the-macro-ASM_PREFERRED_EH_DATA_FOR.patch
+Patch3009: LoongArch-Provide-fmin-fmax-RTL-pattern.patch
+Patch3010: LoongArch-Get-__tls_get_addr-address-through-got-tab.patch
+Patch3011: LoongArch-Add-support-code-model-extreme.patch
+Patch3012: LoongArch-Add-new-code-model-medium.patch
+Patch3013: LoongArch-Avoid-RTL-flag-check-failure-in-loongarch_.patch
+Patch3014: LoongArch-add-model-attribute.patch
+Patch3015: LoongArch-testsuite-refine-__tls_get_addr-tests-with.patch
+Patch3016: LoongArch-add-mdirect-extern-access-option.patch
+Patch3017: LoongArch-Fix-pr106828-by-define-hook-TARGET_ASAN_SH.patch
+Patch3018: LoongArch-Prepare-static-PIE-support.patch
+Patch3019: LoongArch-Libitm-add-LoongArch-support.patch
+Patch3020: LoongArch-Fixed-a-typo-in-the-comment-information-of.patch
+Patch3021: LoongArch-Use-UNSPEC-for-fmin-fmax-RTL-pattern-PR105.patch
+Patch3022: LoongArch-Fixed-a-bug-in-the-loongarch-architecture-.patch
+Patch3023: LoongArch-implement-count_-leading-trailing-_zeros.patch
+Patch3024: Libvtv-Add-loongarch-support.patch
+Patch3025: LoongArch-Add-fcopysign-instructions.patch
+Patch3026: LoongArch-fix-signed-overflow-in-loongarch_emit_int_.patch
+Patch3027: LoongArch-Rename-frint_-fmt-to-rint-mode-2.patch
+Patch3028: LoongArch-Add-ftint-rm-rp-.-w-l-.-s-d-instructions.patch
+Patch3029: LoongArch-Add-fscaleb.-s-d-instructions-as-ldexp-sf-.patch
+Patch3030: LoongArch-Add-flogb.-s-d-instructions-and-expand-log.patch
+Patch3031: LoongArch-Add-prefetch-instructions.patch
+Patch3032: LoongArch-Optimize-immediate-load.patch
+Patch3033: LoongArch-Optimize-the-implementation-of-stack-check.patch
+Patch3034: LoongArch-Fixed-a-compilation-failure-with-c-in-inli.patch
+Patch3035: LoongArch-Don-t-add-crtfastmath.o-for-shared.patch
+Patch3036: LoongArch-Generate-bytepick.-wd-for-suitable-bit-ope.patch
+Patch3037: LoongArch-Change-the-value-of-macro-TRY_EMPTY_VM_SPA.patch
+Patch3038: LoongArch-testsuite-Disable-stack-protector-for-some.patch
+Patch3039: LoongArch-Add-built-in-functions-description-of-Loon.patch
+Patch3040: LoongArch-Remove-the-definition-of-the-macro-LOGICAL.patch
+Patch3041: LoongArch-Optimize-additions-with-immediates.patch
+Patch3042: LoongArch-Improve-GAR-store-for-va_list.patch
+Patch3043: LoongArch-Improve-cpymemsi-expansion-PR109465.patch
+Patch3044: LoongArch-Fix-MUSL_DYNAMIC_LINKER.patch
+Patch3045: LoongArch-Enable-shrink-wrapping.patch
+Patch3046: LoongArch-Change-the-default-value-of-LARCH_CALL_RAT.patch
+Patch3047: LoongArch-Set-default-alignment-for-functions-and-la.patch
+Patch3048: LoongArch-Avoid-non-returning-indirect-jumps-through.patch
+Patch3049: Loongarch-Fix-plugin-header-missing-install.patch
+Patch3050: libffi-Backport-of-LoongArch-support-for-libffi.patch
+Patch3051: LoongArch-Remove-redundant-sign-extension-instructio.patch
+Patch3052: LoongArch-Enable-free-starting-at-O2.patch
+Patch3053: LoongArch-Fix-bug-in-loongarch_emit_stack_tie-PR1104.patch
+Patch3054: LoongArch-Implement-128-bit-floating-point-functions.patch
+Patch3056: LoongArch-Optimize-switch-with-sign-extended-index.patch
+Patch3057: LoongArch-Support-storing-floating-point-zero-into-M.patch
+Patch3058: LoongArch-improved-target-configuration-interface.patch
+Patch3059: LoongArch-define-preprocessing-macros-__loongarch_-a.patch
+Patch3060: LoongArch-add-new-configure-option-with-strict-align.patch
+Patch3061: LoongArch-support-loongarch-elf-target.patch
+Patch3062: LoongArch-initial-ada-support-on-linux.patch
+Patch3063: LoongArch-Add-Loongson-SX-base-instruction-support.patch
+Patch3064: LoongArch-Add-Loongson-SX-directive-builtin-function.patch
+Patch3065: LoongArch-Add-Loongson-ASX-base-instruction-support.patch
+Patch3066: LoongArch-Add-Loongson-ASX-directive-builtin-functio.patch
+Patch3067: LoongArch-Fix-unintentionally-breakage-in-r14-3665.patch
+Patch3068: LoongArch-Use-bstrins-instruction-for-a-mask-and-a-m.patch
+Patch3069: LoongArch-Adjust-C-multilib-header-layout.patch
+Patch3070: LoongArch-Fix-unintentional-bash-ism-in-r14-3665.patch
+Patch3071: LoongArch-Enable-fsched-pressure-by-default-at-O1-an.patch
+Patch3072: LoongArch-Use-LSX-and-LASX-for-block-move.patch
+Patch3073: LoongArch-Slightly-simplify-loongarch_block_move_str.patch
+Patch3074: LoongArch-Optimized-multiply-instruction-generation.patch
+Patch3075: LoongArch-Fix-up-memcpy-vec-3.c-test-case.patch
+Patch3076: LoongArch-Add-tests-of-mstrict-align-option.patch
+Patch3077: LoongArch-Add-testsuite-framework-for-Loongson-SX-AS.patch
+Patch3078: LoongArch-Add-tests-for-Loongson-SX-builtin-function.patch
+Patch3079: LoongArch-Add-tests-for-SX-vector-floating-point-ins.patch
+Patch3080: LoongArch-Add-tests-for-SX-vector-addition-instructi.patch
+Patch3081: LoongArch-Add-tests-for-SX-vector-subtraction-instru.patch
+Patch3082: LoongArch-Add-tests-for-SX-vector-addition-vsadd-ins.patch
+Patch3083: LoongArch-Add-tests-for-the-SX-vector-multiplication.patch
+Patch3084: LoongArch-Add-tests-for-SX-vector-vavg-vavgr-instruc.patch
+Patch3085: LoongArch-Add-tests-for-SX-vector-vmax-vmaxi-vmin-vm.patch
+Patch3086: LoongArch-Add-tests-for-SX-vector-vexth-vextl-vldi-v.patch
+Patch3087: LoongArch-Add-tests-for-SX-vector-vabsd-vmskgez-vmsk.patch
+Patch3088: LoongArch-Add-tests-for-SX-vector-vdiv-vmod-instruct.patch
+Patch3089: LoongArch-Add-tests-for-SX-vector-vsll-vslli-vsrl-vs.patch
+Patch3090: LoongArch-Add-tests-for-SX-vector-vrotr-vrotri-vsra-.patch
+Patch3091: LoongArch-Add-tests-for-SX-vector-vssran-vssrani-vss.patch
+Patch3092: LoongArch-Add-tests-for-SX-vector-vbitclr-vbitclri-v.patch
+Patch3093: LoongArch-Add-tests-for-SX-vector-floating-point-ari.patch
+Patch3094: LoongArch-Add-tests-for-SX-vector-vfrstp-vfrstpi-vse.patch
+Patch3095: LoongArch-Add-tests-for-SX-vector-vfcmp-instructions.patch
+Patch3096: LoongArch-Add-tests-for-SX-vector-handling-and-shuff.patch
+Patch3097: LoongArch-Add-tests-for-SX-vector-vand-vandi-vandn-v.patch
+Patch3098: LoongArch-Add-tests-for-SX-vector-vfmadd-vfnmadd-vld.patch
+Patch3099: LoongArch-Add-tests-for-ASX-vector-xvadd-xvadda-xvad.patch
+Patch3100: LoongArch-Add-tests-for-ASX-vector-xvhadd-xvhaddw-xv.patch
+Patch3101: LoongArch-Add-tests-for-ASX-vector-subtraction-instr.patch
+Patch3102: LoongArch-Add-tests-for-ASX-vector-xvmul-xvmod-xvdiv.patch
+Patch3103: LoongArch-Add-tests-for-ASX-vector-xvmax-xvmaxi-xvmi.patch
+Patch3104: LoongArch-Add-tests-for-ASX-vector-xvldi-xvmskgez-xv.patch
+Patch3105: LoongArch-Add-tests-for-ASX-vector-xvand-xvandi-xvan.patch
+Patch3106: LoongArch-Add-tests-for-ASX-vector-xvsll-xvsrl-instr.patch
+Patch3107: LoongArch-Add-tests-for-ASX-vector-xvextl-xvsra-xvsr.patch
+Patch3108: LoongArch-Add-tests-for-ASX-vector-xvbitclr-xvbitclr.patch
+Patch3109: LoongArch-Add-tests-for-ASX-builtin-functions.patch
+Patch3110: LoongArch-Add-tests-for-ASX-xvldrepl-xvstelm-instruc.patch
+Patch3111: LoongArch-Add-tests-for-ASX-vector-floating-point-op.patch
+Patch3112: LoongArch-Add-tests-for-ASX-vector-floating-point-co.patch
+Patch3113: LoongArch-Add-tests-for-ASX-vector-comparison-and-se.patch
+Patch3114: LoongArch-Add-tests-for-ASX-vector-xvfnmadd-xvfrstp-.patch
+Patch3115: LoongArch-Add-tests-for-ASX-vector-xvabsd-xvavg-xvav.patch
+Patch3116: LoongArch-Add-tests-for-ASX-vector-xvfcmp-caf-ceq-cl.patch
+Patch3117: LoongArch-Add-tests-for-ASX-vector-xvfcmp-saf-seq-sl.patch
+Patch3118: LoongArch-Add-tests-for-ASX-vector-xvext2xv-xvexth-x.patch
+Patch3119: LoongArch-Add-tests-for-ASX-vector-xvpackev-xvpackod.patch
+Patch3120: LoongArch-Add-tests-for-ASX-vector-xvssrln-xvssrlni-.patch
+Patch3121: LoongArch-Add-tests-for-ASX-vector-xvssran-xvssrani-.patch
+Patch3122: LoongArch-Fix-bug-of-optab-di3_fake.patch
+Patch3123: LoongArch-Change-the-value-of-branch_cost-from-2-to-.patch
+Patch3124: libsanitizer-add-LoongArch-support.patch
+Patch3125: LoongArch-fix-error-building.patch
+Patch3126: libjccjit-do-not-link-objects-contained-same-element.patch
+Patch3127: LoongArch-Use-finer-grained-DBAR-hints.patch
+Patch3128: LoongArch-Add-LA664-support.patch
+Patch3129: LoongArch-Fix-internal-error-running-gcc-march-nativ.patch
+Patch3130: LoongArch-Fix-lsx-vshuf.c-and-lasx-xvshuf_b.c-tests-.patch
+# -- Update to master, lastest commit: 60e99901aef8e7efd4d60adf9f82021fcbd1101f
+Patch3131: 0001-LoongArch-Reimplement-multilib-build-option-handling.patch
+Patch3132: 0002-LoongArch-Check-whether-binutils-supports-the-relax-.patch
+Patch3133: 0003-Modify-gas-uleb128-support-test.patch
+Patch3134: 0004-LoongArch-Optimizations-of-vector-construction.patch
+Patch3135: 0005-LoongArch-Replace-UNSPEC_FCOPYSIGN-with-copysign-RTL.patch
+Patch3136: 0006-LoongArch-Adjust-makefile-dependency-for-loongarch-h.patch
+Patch3137: 0007-LoongArch-Enable-vect.exp-for-LoongArch.-PR111424.patch
+Patch3138: 0008-LoongArch-Delete-macro-definition-ASM_OUTPUT_ALIGN_W.patch
+Patch3139: 0009-LoongArch-Fix-vec_initv32qiv16qi-template-to-avoid-I.patch
+Patch3140: 0010-LoongArch-Use-fcmp.caf.s-instead-of-movgr2cf-for-zer.patch
+Patch3141: 0011-LoongArch-Implement-avg-and-sad-standard-names.patch
+Patch3142: 0012-LoongArch-Implement-vec_widen-standard-names.patch
+Patch3143: 0013-LoongArch-Implement-the-new-vector-cost-model-framew.patch
+Patch3144: 0014-LoongArch-Define-macro-CLEAR_INSN_CACHE.patch
+Patch3145: 0015-LoongArch-Add-enum-style-mexplicit-relocs-option.patch
+Patch3146: 0016-LoongArch-Use-explicit-relocs-for-GOT-access-when-me.patch
+Patch3147: 0017-LoongArch-Use-explicit-relocs-for-TLS-access-with-me.patch
+Patch3148: 0018-LoongArch-Use-explicit-relocs-for-addresses-only-use.patch
+Patch3149: 0019-LoongArch-Implement-__builtin_thread_pointer-for-TLS.patch
+Patch3150: 0020-LoongArch-Fix-vfrint-releated-comments-in-lsxintrin..patch
+Patch3151: 0021-LoongArch-Enable-vcond_mask_mn-expanders-for-SF-DF-m.patch
+Patch3152: 0022-LoongArch-Define-HAVE_AS_TLS-to-0-if-it-s-undefined-.patch
+Patch3153: 0023-LoongArch-Fix-instruction-name-typo-in-lsx_vreplgr2v.patch
+Patch3154: 0024-LoongArch-Use-simplify_gen_subreg-instead-of-gen_rtx.patch
+Patch3155: 0025-LoongArch-Optimize-single-used-address-with-mexplici.patch
+Patch3156: 0026-LoongArch-Disable-relaxation-if-the-assembler-don-t-.patch
+Patch3157: 0027-LoongArch-Remove-redundant-barrier-instructions-befo.patch
+Patch3158: 0028-LoongArch-Fix-scan-assembler-times-of-lasx-lsx-test-.patch
+Patch3159: 0029-LoongArch-Increase-cost-of-vector-aligned-store-load.patch
+Patch3160: 0030-LoongArch-Implement-C-LT-Z_DEFINED_VALUE_AT_ZERO.patch
+Patch3161: 0031-LoongArch-Handle-vectorized-copysign-x-1-expansion-e.patch
+Patch3162: 0032-LoongArch-Add-code-generation-support-for-call36-fun.patch
+Patch3163: 0033-LoongArch-Implement-atomic-operations-using-LoongArc.patch
+Patch3164: 0034-LoongArch-atomic_load-and-atomic_store-are-implement.patch
+Patch3165: 0035-LoongArch-genopts-Add-infrastructure-to-generate-cod.patch
+Patch3166: 0036-LoongArch-Add-evolution-features-of-base-ISA-revisio.patch
+Patch3167: 0037-LoongArch-Take-the-advantage-of-mdiv32-if-it-s-enabl.patch
+Patch3168: 0038-LoongArch-Don-t-emit-dbar-0x700-if-mld-seq-sa.patch
+Patch3169: 0039-LoongArch-Add-fine-grained-control-for-LAM_BH-and-LA.patch
+Patch3170: 0040-LoongArch-Fix-mexplict-relocs-none-mcmodel-medium-pr.patch
+Patch3171: 0041-LoongArch-Modify-MUSL_DYNAMIC_LINKER.patch
+Patch3172: 0042-LoongArch-Fix-libgcc-build-failure-when-libc-is-not-.patch
+Patch3173: 0043-LoongArch-Optimize-LSX-vector-shuffle-on-floating-po.patch
+Patch3174: 0044-LoongArch-Optimize-the-loading-of-immediate-numbers-.patch
+Patch3175: 0045-LoongArch-Fix-runtime-error-in-a-gcc-build-with-with.patch
+Patch3176: 0046-LoongArch-Fix-usage-of-LSX-and-LASX-frint-ftint-inst.patch
+Patch3177: 0047-LoongArch-Use-standard-pattern-name-and-RTX-code-for.patch
+Patch3178: 0048-LoongArch-Use-standard-pattern-name-and-RTX-code-for.patch
+Patch3179: 0049-LoongArch-Remove-lrint_allow_inexact.patch
+Patch3180: 0050-LoongArch-Use-LSX-for-scalar-FP-rounding-with-explic.patch
+Patch3181: 0051-LoongArch-Remove-duplicate-definition-of-CLZ_DEFINED.patch
+Patch3182: 0052-LoongArch-Added-vectorized-hardware-inspection-for-t.patch
+Patch3183: 0053-LoongArch-Accelerate-optimization-of-scalar-signed-u.patch
+Patch3184: 0054-LoongArch-Optimize-vector-constant-extract-even-odd-.patch
+Patch3185: 0055-LoongArch-Add-intrinsic-function-descriptions-for-LS.patch
+Patch3186: 0056-LoongArch-Switch-loongarch-def-from-C-to-C-to-make-i.patch
+Patch3187: 0057-LoongArch-Remove-the-definition-of-ISA_BASE_LA64V110.patch
+Patch3188: 0058-LoongArch-Add-support-for-xorsign.patch
+Patch3189: 0059-LoongArch-Add-support-for-LoongArch-V1.1-approximate.patch
+Patch3190: 0060-LoongArch-Use-standard-pattern-name-for-xvfrsqrt-vfr.patch
+Patch3191: 0061-LoongArch-Redefine-pattern-for-xvfrecip-vfrecip-inst.patch
+Patch3192: 0062-LoongArch-New-options-mrecip-and-mrecip-with-ffast-m.patch
+Patch3193: 0063-LoongArch-Vectorized-loop-unrolling-is-disable-for-d.patch
+Patch3194: 0064-LoongArch-Fix-lsx-vshuf.c-and-lasx-xvshuf_b.c-tests-.patch
+Patch3195: 0065-LoongArch-Fix-ICE-and-use-simplify_gen_subreg-instea.patch
+Patch3196: 0066-LoongArch-Fix-eh_return-epilogue-for-normal-returns.patch
+Patch3197: 0067-LoongArch-Allow-mcmodel-extreme-and-model-attribute-.patch
+Patch3198: 0068-LoongArch-Fix-warnings-building-libgcc.patch
+Patch3199: 0069-LoongArch-testsuite-Remove-XFAIL-in-vect-ftint-no-in.patch
+Patch3200: 0070-LoongArch-Include-rtl.h-for-COSTS_N_INSNS-instead-of.patch
+Patch3201: 0071-LoongArch-Fix-instruction-costs-PR112936.patch
+Patch3202: 0072-LoongArch-Add-alslsi3_extend.patch
+Patch3203: 0073-LoongArch-Add-support-for-D-frontend.patch
+Patch3204: 0074-libruntime-Add-fiber-context-switch-code-for-LoongAr.patch
+Patch3205: 0075-LoongArch-Fix-FP-vector-comparsons-PR113034.patch
+Patch3206: 0076-LoongArch-Use-force_reg-instead-of-gen_reg_rtx-emit_.patch
+Patch3207: 0077-LoongArch-Clean-up-vec_init-expander.patch
+Patch3208: 0078-LoongArch-Fix-incorrect-code-generation-for-sad-patt.patch
+Patch3209: 0079-LoongArch-Modify-the-check-type-of-the-vector-builti.patch
+Patch3210: 0080-LoongArch-extend.texi-Fix-typos-in-LSX-intrinsics.patch
+Patch3211: 0081-LoongArch-Fix-builtin-function-prototypes-for-LASX-i.patch
+Patch3212: 0082-LoongArch-Add-asm-modifiers-to-the-LSX-and-LASX-dire.patch
+Patch3213: 0083-LoongArch-Implement-FCCmode-reload-and-cstore-ANYF-m.patch
+Patch3214: 0084-LoongArch-Add-sign_extend-pattern-for-32-bit-rotate-.patch
+Patch3215: 0085-LoongArch-Fixed-bug-in-bstrins_-mode-_for_ior_mask-t.patch
+Patch3216: 0086-LoongArch-Fix-insn-output-of-vec_concat-templates-fo.patch
+Patch3217: 0087-LoongArch-Fix-ICE-when-passing-two-same-vector-argum.patch
+Patch3218: 0088-LoongArch-Expand-left-rotate-to-right-rotate-with-ne.patch
+Patch3219: 0089-LoongArch-Fix-infinite-secondary-reloading-of-FCCmod.patch
+Patch3220: 0090-LoongArch-Replace-mexplicit-relocs-auto-simple-used-.patch
+Patch3221: 0091-LoongArch-Fix-the-format-of-bstrins_-mode-_for_ior_m.patch
+Patch3222: 0092-LoongArch-Added-TLS-Le-Relax-support.patch
+Patch3223: 0093-LoongArch-Provide-fmin-fmax-RTL-pattern-for-vectors.patch
+Patch3224: 0094-LoongArch-Merge-constant-vector-permuatation-impleme.patch
+Patch3225: 0095-LoongArch-testsuite-Fix-FAIL-in-lasx-xvstelm.c-file.patch
+Patch3226: 0096-LoongArch-testsuite-Modify-the-test-behavior-of-the-.patch
+Patch3227: 0097-LoongArch-testsuite-Delete-the-default-run-behavior-.patch
+Patch3228: 0098-LoongArch-testsuite-Added-additional-vectorization-m.patch
+Patch3229: 0099-LoongArch-testsuite-Give-up-the-detection-of-the-gcc.patch
+Patch3230: 0100-LoongArch-Fixed-the-problem-of-incorrect-judgment-of.patch
+Patch3231: 0101-LoongArch-Improve-lasx_xvpermi_q_-LASX-mode-insn-pat.patch
+Patch3232: 0102-LoongArch-Implement-vec_init-M-N-where-N-is-a-LSX-ve.patch
+Patch3233: 0103-LoongArch-Handle-ISA-evolution-switches-along-with-o.patch
+Patch3234: 0104-LoongArch-Rename-ISA_BASE_LA64V100-to-ISA_BASE_LA64.patch
+Patch3235: 0105-LoongArch-Use-enums-for-constants.patch
+Patch3236: 0106-LoongArch-Simplify-mexplicit-reloc-definitions.patch
+Patch3237: 0107-LoongArch-testsuite-Add-loongarch-support-to-slp-21..patch
+Patch3238: 0108-LoongArch-Optimized-some-of-the-symbolic-expansion-i.patch
+Patch3239: 0109-LoongArch-Implement-option-save-restore.patch
+Patch3240: 0110-LoongArch-Redundant-sign-extension-elimination-optim.patch
+Patch3241: 0111-LoongArch-Redundant-sign-extension-elimination-optim.patch
+Patch3242: 0112-LoongArch-Assign-the-u-attribute-to-the-mem-to-which.patch
+Patch3243: 0113-LoongArch-testsuite-Fix-fail-in-gen-vect-2-25-.c-fil.patch
+Patch3244: 0114-LoongArch-Remove-constraint-z-from-movsi_internal.patch
+Patch3245: 0115-LoongArch-doc-Add-attribute-descriptions-defined-in-.patch
+Patch3246: 0116-LoongArch-Disable-explicit-reloc-for-TLS-LD-GD-with-.patch
+Patch3247: 0117-LoongArch-testsuite-Disable-stack-protector-for-got-.patch
+Patch3248: 0118-LoongArch-Disable-TLS-type-symbols-from-generating-n.patch
+Patch3249: 0119-LoongArch-Remove-vec_concatz-mode-pattern.patch
+Patch3250: 0120-LoongArch-Optimize-implementation-of-single-precisio.patch
+Patch3251: 0121-LoongArch-Define-LOGICAL_OP_NON_SHORT_CIRCUIT.patch
+Patch3252: 0122-LoongArch-Split-vec_selects-of-bottom-elements-into-.patch
+Patch3253: 0123-LoongArch-Modify-the-address-calculation-logic-for-o.patch
+Patch3254: 0124-LoongArch-Merge-template-got_load_tls_-ld-gd-le-ie.patch
+Patch3255: 0125-LoongArch-Add-the-macro-implementation-of-mcmodel-ex.patch
+Patch3256: 0126-LoongArch-Enable-explicit-reloc-for-extreme-TLS-GD-L.patch
+Patch3257: 0127-LoongArch-Added-support-for-loading-__get_tls_addr-s.patch
+Patch3258: 0128-LoongArch-Don-t-split-the-instructions-containing-re.patch
+Patch3259: 0129-LoongArch-Adjust-cost-of-vector_stmt-that-match-mult.patch
+Patch3260: 0130-LoongArch-Fix-incorrect-return-type-for-frecipe-frsq.patch
+Patch3261: 0131-LoongArch-Fix-an-ODR-violation.patch
+Patch3262: 0132-LoongArch-testsuite-Fix-gcc.dg-vect-vect-reduc-mul_-.patch
+Patch3263: 0133-LoongArch-Avoid-out-of-bounds-access-in-loongarch_sy.patch
+Patch3264: 0134-LoongArch-Fix-wrong-LSX-FP-vector-negation.patch
+Patch3265: 0135-LoongArch-Fix-wrong-return-value-type-of-__iocsrrd_h.patch
+Patch3266: 0136-LoongArch-Remove-redundant-symbol-type-conversions-i.patch
+Patch3267: 0137-LoongArch-When-checking-whether-the-assembler-suppor.patch
+Patch3268: 0138-LoongArch-Don-t-falsely-claim-gold-supported-in-topl.patch
+Patch3269: 0139-LoongArch-NFC-Deduplicate-crc-instruction-defines.patch
+Patch3270: 0140-LoongArch-Remove-unneeded-sign-extension-after-crc-c.patch
+Patch3271: 0141-LoongArch-Allow-s9-as-a-register-alias.patch
+Patch3272: 0142-LoongArch-testsuite-Rewrite-x-vfcmp-d-f-.c-to-avoid-.patch
+Patch3273: 0143-LoongArch-Use-lib-instead-of-lib64-as-the-library-se.patch
+Patch3274: 0144-LoongArch-testsuite-Fix-problems-with-incorrect-resu.patch
+Patch3275: 0145-LoongArch-Fixed-an-issue-with-the-implementation-of-.patch
+Patch3276: 0146-LoongArch-testsuite-Add-compilation-options-to-the-r.patch
+Patch3277: 0147-LoongArch-Emit-R_LARCH_RELAX-for-TLS-IE-with-non-ext.patch
+Patch3278: 0148-LoongArch-Remove-unused-and-incorrect-sge-u-_-X-mode.patch
+Patch3279: 0149-LoongArch-Remove-masking-process-for-operand-3-of-xv.patch
+Patch3280: 0150-LoongArch-Fix-C23-.-functions-returning-large-aggreg.patch
+Patch3281: 0151-LoongArch-Remove-unused-useless-definitions.patch
+Patch3282: 0152-LoongArch-Change-loongarch_expand_vec_cmp-s-return-t.patch
+Patch3283: 0153-LoongArch-Combine-UNITS_PER_FP_REG-and-UNITS_PER_FPR.patch
+Patch3284: 0154-LoongArch-Fix-a-typo-PR-114407.patch
+Patch3285: 0155-testsuite-Add-a-test-case-for-negating-FP-vectors-co.patch
+Patch3286: 0156-LoongArch-Add-descriptions-of-the-compilation-option.patch
+Patch3287: 0157-LoongArch-Split-loongarch_option_override_internal-i.patch
+Patch3288: 0158-LoongArch-Regenerate-loongarch.opt.urls.patch
+Patch3289: 0159-LoongArch-Add-support-for-TLS-descriptors.patch
+Patch3290: 0160-LoongArch-Fix-missing-plugin-header.patch
+Patch3291: 0161-LoongArch-Remove-unused-code.patch
+Patch3292: 0162-LoongArch-Set-default-alignment-for-functions-jumps-.patch
+Patch3293: 0163-LoongArch-Enable-switchable-target.patch
+Patch3294: 0164-LoongArch-Define-ISA-versions.patch
+Patch3295: 0165-LoongArch-Define-builtin-macros-for-ISA-evolutions.patch
+Patch3296: 0166-LoongArch-Add-constraints-for-bit-string-operation-d.patch
+Patch3297: 0167-LoongArch-Guard-REGNO-with-REG_P-in-loongarch_expand.patch
+Patch3298: 0168-LoongArch-Fix-mode-size-comparision-in-loongarch_exp.patch
+Patch3299: 0169-LoongArch-Use-bstrins-for-value-1u-const.patch
+Patch3300: 0170-LoongArch-Tweak-IOR-rtx_cost-for-bstrins.patch
+Patch3301: 0171-LoongArch-NFC-Dedup-and-sort-the-comment-in-loongarc.patch
+Patch3302: 0172-LoongArch-Fix-explicit-relocs-extreme-tls-desc.c-tes.patch
+Patch3303: 0173-LoongArch-Define-loongarch_insn_cost-and-set-the-cos.patch
+Patch3304: 0174-LoongArch-TFmode-is-not-allowed-to-be-stored-in-the-.patch
+Patch3305: 0175-LoongArch-Remove-unreachable-codes.patch
+Patch3306: 0176-LoongArch-Organize-the-code-related-to-split-move-an.patch
+Patch3307: 0177-LoongArch-Expand-some-SImode-operations-through-si3_.patch
+Patch3308: 0178-LoongArch-Relax-ins_zero_bitmask_operand-and-remove-.patch
+Patch3309: 0179-LoongArch-Rework-bswap-hi-si-di-2-definition.patch
+Patch3310: 0180-testsuite-fix-dg-do-preprocess-typo.patch
+Patch3311: 0181-LoongArch-Remove-gawk-extension-from-a-generator-scr.patch
+Patch3312: 0182-LoongArch-Use-iorn-and-andn-standard-pattern-names.patch
+Patch3313: 0183-LoongArch-Drop-vcond-u-expanders.patch
+Patch3314: 0184-LoongArch-Provide-ashr-lshr-and-ashl-RTL-pattern-for.patch
+Patch3315: 0185-LoongArch-Implement-scalar-isinf-isnormal-and-isfini.patch
+Patch3316: 0186-LoongArch-Add-support-to-annotate-tablejump.patch
+Patch3317: 0187-LoongArch-Fix-up-r15-4130.patch
+Patch3318: 0188-libphobos-Update-build-scripts-for-LoongArch64.patch
+Patch3319: 0189-LoongArch-fix-building-errors.patch
+Patch3320: 0190-tree-optimization-110702-avoid-zero-based-memory-ref.patch
+Patch3321: 0191-LoongArch-Change-OSDIR-for-distribution.patch
+Patch3322: Fix-indentation-and-numbering-errors.diff
+Patch3323: LoongArch-Allow-attributes-in-non-gnu-namespaces.diff
+%endif
+
+# On ARM EABI systems, we do want -gnueabi to be part of the
+# target triple.
+%ifnarch %{arm}
+%global _gnu %{nil}
+%else
+%global _gnu -gnueabi
+%endif
+%ifarch sparcv9
+%global gcc_target_platform sparc64-%{_vendor}-%{_target_os}
+%endif
+%ifarch ppc ppc64p7
+%global gcc_target_platform ppc64-%{_vendor}-%{_target_os}
+%endif
+%ifnarch sparcv9 ppc ppc64p7
+%global gcc_target_platform %{_target_platform}
+%endif
+
+%if %{build_go}
+# Avoid stripping these libraries and binaries.
+%global __os_install_post \
+chmod 644 %{buildroot}%{_prefix}/%{_lib}/libgo.so.21.* \
+chmod 644 %{buildroot}%{_prefix}/bin/go.gcc \
+chmod 644 %{buildroot}%{_prefix}/bin/gofmt.gcc \
+chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cgo \
+chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/buildid \
+chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/test2json \
+chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/vet \
+%__os_install_post \
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgo.so.21.* \
+chmod 755 %{buildroot}%{_prefix}/bin/go.gcc \
+chmod 755 %{buildroot}%{_prefix}/bin/gofmt.gcc \
+chmod 755 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cgo \
+chmod 755 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/buildid \
+chmod 755 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/test2json \
+chmod 755 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/vet \
+%{nil}
+%endif
+
+%description
+The gcc package contains the GNU Compiler Collection version 12.
+You'll need this package in order to compile C code.
+
+%package -n libgcc
+Summary: GCC version 12 shared support library
+Autoreq: false
+%if !%{build_ada}
+Obsoletes: libgnat < %{version}-%{release}
+%endif
+Obsoletes: libgcj < %{version}-%{release}
+Obsoletes: libgcj-devel < %{version}-%{release}
+Obsoletes: libgcj-src < %{version}-%{release}
+%ifarch %{ix86} x86_64
+Obsoletes: libcilkrts
+Obsoletes: libcilkrts-static
+Obsoletes: libmpx
+Obsoletes: libmpx-static
+%endif
+
+%description -n libgcc
+This package contains GCC shared support library which is needed
+e.g. for exception handling support.
+
+%package c++
+Summary: C++ support for GCC
+Requires: gcc = %{version}-%{release}
+Requires: libstdc++ = %{version}-%{release}
+Requires: libstdc++-devel = %{version}-%{release}
+Provides: gcc-g++ = %{version}-%{release}
+Provides: g++ = %{version}-%{release}
+Autoreq: true
+
+%description c++
+This package adds C++ support to the GNU Compiler Collection.
+It includes support for most of the current C++ specification,
+including templates and exception handling.
+
+%package -n libstdc++
+Summary: GNU Standard C++ Library
+Autoreq: true
+Requires: glibc >= 2.10.90-7
+
+%description -n libstdc++
+The libstdc++ package contains a rewritten standard compliant GCC Standard
+C++ Library.
+
+%package -n libstdc++-devel
+Summary: Header files and libraries for C++ development
+Requires: libstdc++%{?_isa} = %{version}-%{release}
+Autoreq: true
+
+%description -n libstdc++-devel
+This is the GNU implementation of the standard C++ libraries. This
+package includes the header files and libraries needed for C++
+development. This includes rewritten implementation of STL.
+
+%package -n libstdc++-static
+Summary: Static libraries for the GNU standard C++ library
+Requires: libstdc++-devel = %{version}-%{release}
+Autoreq: true
+
+%description -n libstdc++-static
+Static libraries for the GNU standard C++ library.
+
+%package -n libstdc++-docs
+Summary: Documentation for the GNU standard C++ library
+Autoreq: true
+
+%description -n libstdc++-docs
+Manual, doxygen generated API information and Frequently Asked Questions
+for the GNU standard C++ library.
+
+%package objc
+Summary: Objective-C support for GCC
+Requires: gcc = %{version}-%{release}
+Requires: libobjc = %{version}-%{release}
+Autoreq: true
+
+%description objc
+gcc-objc provides Objective-C support for the GCC.
+Mainly used on systems running NeXTSTEP, Objective-C is an
+object-oriented derivative of the C language.
+
+%package objc++
+Summary: Objective-C++ support for GCC
+Requires: gcc-c++ = %{version}-%{release}, gcc-objc = %{version}-%{release}
+Autoreq: true
+
+%description objc++
+gcc-objc++ package provides Objective-C++ support for the GCC.
+
+%package -n libobjc
+Summary: Objective-C runtime
+Autoreq: true
+
+%description -n libobjc
+This package contains Objective-C shared library which is needed to run
+Objective-C dynamically linked programs.
+
+%package gfortran
+Summary: Fortran support
+Requires: gcc = %{version}-%{release}
+Requires: libgfortran = %{version}-%{release}
+%if %{build_libquadmath}
+Requires: libquadmath = %{version}-%{release}
+Requires: libquadmath-devel = %{version}-%{release}
+%endif
+Provides: gcc-fortran = %{version}-%{release}
+Provides: gfortran = %{version}-%{release}
+Autoreq: true
+
+%description gfortran
+The gcc-gfortran package provides support for compiling Fortran
+programs with the GNU Compiler Collection.
+
+%package -n libgfortran
+Summary: Fortran runtime
+Autoreq: true
+%if %{build_libquadmath}
+Requires: libquadmath = %{version}-%{release}
+%endif
+
+%description -n libgfortran
+This package contains Fortran shared library which is needed to run
+Fortran dynamically linked programs.
+
+%package -n libgfortran-static
+Summary: Static Fortran libraries
+Requires: libgfortran = %{version}-%{release}
+Requires: gcc = %{version}-%{release}
+%if %{build_libquadmath}
+Requires: libquadmath-static = %{version}-%{release}
+%endif
+
+%description -n libgfortran-static
+This package contains static Fortran libraries.
+
+%package gdc
+Summary: D support
+Requires: gcc = %{version}-%{release}
+Requires: libgphobos = %{version}-%{release}
+Provides: gcc-d = %{version}-%{release}
+Provides: gdc = %{version}-%{release}
+Autoreq: true
+
+%description gdc
+The gcc-gdc package provides support for compiling D
+programs with the GNU Compiler Collection.
+
+%package -n libgphobos
+Summary: D runtime
+Autoreq: true
+
+%description -n libgphobos
+This package contains D shared library which is needed to run
+D dynamically linked programs.
+
+%package -n libgphobos-static
+Summary: Static D libraries
+Requires: libgphobos = %{version}-%{release}
+Requires: gcc-gdc = %{version}-%{release}
+
+%description -n libgphobos-static
+This package contains static D libraries.
+
+%package -n libgomp
+Summary: GCC OpenMP v4.5 shared support library
+
+%description -n libgomp
+This package contains GCC shared support library which is needed
+for OpenMP v4.5 support.
+
+%package gdb-plugin
+Summary: GCC plugin for GDB
+Requires: gcc = %{version}-%{release}
+
+%description gdb-plugin
+This package contains GCC plugin for GDB C expression evaluation.
+
+%package -n libgccjit
+Summary: Library for embedding GCC inside programs and libraries
+Requires: gcc = %{version}-%{release}
+
+%description -n libgccjit
+This package contains shared library with GCC JIT front-end.
+
+%package -n libgccjit-devel
+Summary: Support for embedding GCC inside programs and libraries
+BuildRequires: python3-sphinx
+Requires: libgccjit = %{version}-%{release}
+
+%description -n libgccjit-devel
+This package contains header files and documentation for GCC JIT front-end.
+
+%package -n libquadmath
+Summary: GCC __float128 shared support library
+
+%description -n libquadmath
+This package contains GCC shared support library which is needed
+for __float128 math support and for Fortran REAL*16 support.
+
+%package -n libquadmath-devel
+Summary: GCC __float128 support
+Requires: libquadmath = %{version}-%{release}
+Requires: gcc = %{version}-%{release}
+
+%description -n libquadmath-devel
+This package contains headers for building Fortran programs using
+REAL*16 and programs using __float128 math.
+
+%package -n libquadmath-static
+Summary: Static libraries for __float128 support
+Requires: libquadmath-devel = %{version}-%{release}
+
+%description -n libquadmath-static
+This package contains static libraries for building Fortran programs
+using REAL*16 and programs using __float128 math.
+
+%package -n libitm
+Summary: The GNU Transactional Memory library
+
+%description -n libitm
+This package contains the GNU Transactional Memory library
+which is a GCC transactional memory support runtime library.
+
+%package -n libitm-devel
+Summary: The GNU Transactional Memory support
+Requires: libitm = %{version}-%{release}
+Requires: gcc = %{version}-%{release}
+
+%description -n libitm-devel
+This package contains headers and support files for the
+GNU Transactional Memory library.
+
+%package -n libitm-static
+Summary: The GNU Transactional Memory static library
+Requires: libitm-devel = %{version}-%{release}
+
+%description -n libitm-static
+This package contains GNU Transactional Memory static libraries.
+
+%package -n libatomic
+Summary: The GNU Atomic library
+
+%description -n libatomic
+This package contains the GNU Atomic library
+which is a GCC support runtime library for atomic operations not supported
+by hardware.
+
+%package -n libatomic-static
+Summary: The GNU Atomic static library
+Requires: libatomic = %{version}-%{release}
+
+%description -n libatomic-static
+This package contains GNU Atomic static libraries.
+
+%package -n libasan
+Summary: The Address Sanitizer runtime library
+
+%description -n libasan
+This package contains the Address Sanitizer library
+which is used for -fsanitize=address instrumented programs.
+
+%package -n libasan-static
+Summary: The Address Sanitizer static library
+Requires: libasan = %{version}-%{release}
+
+%description -n libasan-static
+This package contains Address Sanitizer static runtime library.
+
+%package -n libtsan
+Summary: The Thread Sanitizer runtime library
+
+%description -n libtsan
+This package contains the Thread Sanitizer library
+which is used for -fsanitize=thread instrumented programs.
+
+%package -n libtsan-static
+Summary: The Thread Sanitizer static library
+Requires: libtsan = %{version}-%{release}
+
+%description -n libtsan-static
+This package contains Thread Sanitizer static runtime library.
+
+%package -n libubsan
+Summary: The Undefined Behavior Sanitizer runtime library
+
+%description -n libubsan
+This package contains the Undefined Behavior Sanitizer library
+which is used for -fsanitize=undefined instrumented programs.
+
+%package -n libubsan-static
+Summary: The Undefined Behavior Sanitizer static library
+Requires: libubsan = %{version}-%{release}
+
+%description -n libubsan-static
+This package contains Undefined Behavior Sanitizer static runtime library.
+
+%package -n liblsan
+Summary: The Leak Sanitizer runtime library
+
+%description -n liblsan
+This package contains the Leak Sanitizer library
+which is used for -fsanitize=leak instrumented programs.
+
+%package -n liblsan-static
+Summary: The Leak Sanitizer static library
+Requires: liblsan = %{version}-%{release}
+
+%description -n liblsan-static
+This package contains Leak Sanitizer static runtime library.
+
+%package -n cpp
+Summary: The C Preprocessor
+Requires: filesystem >= 3
+Provides: /lib/cpp
+Autoreq: true
+
+%description -n cpp
+Cpp is the GNU C-Compatible Compiler Preprocessor.
+Cpp is a macro processor which is used automatically
+by the C compiler to transform your program before actual
+compilation. It is called a macro processor because it allows
+you to define macros, abbreviations for longer
+constructs.
+
+The C preprocessor provides four separate functionalities: the
+inclusion of header files (files of declarations that can be
+substituted into your program); macro expansion (you can define macros,
+and the C preprocessor will replace the macros with their definitions
+throughout the program); conditional compilation (using special
+preprocessing directives, you can include or exclude parts of the
+program according to various conditions); and line control (if you use
+a program to combine or rearrange source files into an intermediate
+file which is then compiled, you can use line control to inform the
+compiler about where each source line originated).
+
+You should install this package if you are a C programmer and you use
+macros.
+
+%package gnat
+Summary: Ada 83, 95, 2005 and 2012 support for GCC
+Requires: gcc = %{version}-%{release}
+Requires: libgnat = %{version}-%{release}, libgnat-devel = %{version}-%{release}
+Autoreq: true
+
+%description gnat
+GNAT is a GNU Ada 83, 95, 2005 and 2012 front-end to GCC. This package includes
+development tools, the documents and Ada compiler.
+
+%package -n libgnat
+Summary: GNU Ada 83, 95, 2005 and 2012 runtime shared libraries
+Autoreq: true
+
+%description -n libgnat
+GNAT is a GNU Ada 83, 95, 2005 and 2012 front-end to GCC. This package includes
+shared libraries, which are required to run programs compiled with the GNAT.
+
+%package -n libgnat-devel
+Summary: GNU Ada 83, 95, 2005 and 2012 libraries
+Autoreq: true
+
+%description -n libgnat-devel
+GNAT is a GNU Ada 83, 95, 2005 and 2012 front-end to GCC. This package includes
+libraries, which are required to compile with the GNAT.
+
+%package -n libgnat-static
+Summary: GNU Ada 83, 95, 2005 and 2012 static libraries
+Requires: libgnat-devel = %{version}-%{release}
+Autoreq: true
+
+%description -n libgnat-static
+GNAT is a GNU Ada 83, 95, 2005 and 2012 front-end to GCC. This package includes
+static libraries.
+
+%package go
+Summary: Go support
+Requires: gcc = %{version}-%{release}
+Requires: libgo = %{version}-%{release}
+Requires: libgo-devel = %{version}-%{release}
+Requires(post): %{_sbindir}/update-alternatives
+Requires(postun): %{_sbindir}/update-alternatives
+Provides: gccgo = %{version}-%{release}
+Autoreq: true
+
+%description go
+The gcc-go package provides support for compiling Go programs
+with the GNU Compiler Collection.
+
+%package -n libgo
+Summary: Go runtime
+Autoreq: true
+
+%description -n libgo
+This package contains Go shared library which is needed to run
+Go dynamically linked programs.
+
+%package -n libgo-devel
+Summary: Go development libraries
+Requires: libgo = %{version}-%{release}
+Autoreq: true
+
+%description -n libgo-devel
+This package includes libraries and support files for compiling
+Go programs.
+
+%package -n libgo-static
+Summary: Static Go libraries
+Requires: libgo = %{version}-%{release}
+Requires: gcc = %{version}-%{release}
+
+%description -n libgo-static
+This package contains static Go libraries.
+
+%package plugin-devel
+Summary: Support for compiling GCC plugins
+Requires: gcc = %{version}-%{release}
+Requires: gmp-devel >= 4.1.2-8, mpfr-devel >= 3.1.0, libmpc-devel >= 0.8.1
+
+%description plugin-devel
+This package contains header files and other support files
+for compiling GCC plugins. The GCC plugin ABI is currently
+not stable, so plugins must be rebuilt any time GCC is updated.
+
+%prep
+%setup -q -n gcc-12.3.0
+
+%patch -P1 -p1
+%patch -P2 -p1
+%patch -P3 -p1
+%patch -P4 -p1
+%patch -P6 -p1
+%patch -P7 -p1
+%patch -P8 -p1
+%patch -P9 -p1
+%patch -P10 -p1
+%patch -P11 -p1
+%patch -P12 -p1
+%patch -P13 -p1
+%patch -P14 -p1
+%patch -P15 -p1
+%patch -P16 -p1
+%patch -P17 -p1
+%patch -P18 -p1
+%patch -P19 -p1
+%patch -P20 -p1
+%patch -P21 -p1
+%patch -P22 -p1
+%patch -P23 -p1
+%patch -P24 -p1
+%patch -P25 -p1
+%patch -P26 -p1
+%patch -P27 -p1
+%patch -P28 -p1
+%patch -P29 -p1
+%patch -P30 -p1
+%patch -P31 -p1
+%patch -P32 -p1
+%patch -P33 -p1
+%patch -P34 -p1
+%patch -P35 -p1
+%patch -P36 -p1
+%patch -P37 -p1
+%patch -P38 -p1
+%patch -P39 -p1
+%patch -P40 -p1
+%patch -P41 -p1
+%patch -P42 -p1
+%patch -P43 -p1
+%patch -P44 -p1
+%patch -P45 -p1
+%patch -P46 -p1
+%patch -P47 -p1
+%patch -P48 -p1
+%patch -P49 -p1
+%patch -P50 -p1
+%patch -P51 -p1
+%patch -P52 -p1
+%patch -P53 -p1
+%patch -P54 -p1
+%patch -P55 -p1
+%patch -P56 -p1
+%patch -P57 -p1
+%patch -P86 -p1
+%patch -P87 -p1
+%patch -P88 -p1
+%patch -P89 -p1
+%patch -P90 -p1
+%patch -P91 -p1
+%patch -P92 -p1
+%patch -P93 -p1
+%patch -P94 -p1
+%patch -P95 -p1
+%patch -P96 -p1
+%patch -P97 -p1
+%patch -P98 -p1
+%patch -P99 -p1
+%patch -P100 -p1
+%patch -P101 -p1
+%patch -P102 -p1
+%patch -P103 -p1
+%patch -P104 -p1
+%patch -P105 -p1
+%patch -P106 -p1
+%patch -P107 -p1
+%patch -P108 -p1
+%patch -P109 -p1
+%patch -P110 -p1
+%patch -P111 -p1
+%patch -P112 -p1
+%patch -P113 -p1
+%patch -P114 -p1
+%patch -P115 -p1
+%patch -P116 -p1
+%patch -P117 -p1
+%patch -P118 -p1
+%patch -P119 -p1
+%patch -P120 -p1
+%patch -P121 -p1
+%patch -P122 -p1
+%patch -P123 -p1
+%patch -P124 -p1
+%patch -P125 -p1
+%patch -P126 -p1
+%patch -P127 -p1
+%patch -P128 -p1
+%patch -P129 -p1
+%patch -P130 -p1
+%patch -P131 -p1
+%patch -P132 -p1
+%patch -P133 -p1
+%patch -P134 -p1
+%patch -P135 -p1
+%patch -P136 -p1
+%patch -P137 -p1
+%patch -P138 -p1
+%patch -P139 -p1
+%patch -P140 -p1
+%patch -P141 -p1
+%patch -P142 -p1
+%patch -P143 -p1
+%patch -P144 -p1
+%patch -P145 -p1
+%patch -P146 -p1
+%patch -P147 -p1
+%patch -P148 -p1
+%patch -P149 -p1
+%patch -P150 -p1
+%patch -P151 -p1
+%patch -P152 -p1
+%patch -P153 -p1
+%patch -P154 -p1
+%patch -P155 -p1
+%patch -P156 -p1
+%patch -P157 -p1
+%patch -P158 -p1
+%patch -P159 -p1
+%patch -P160 -p1
+%patch -P161 -p1
+%patch -P162 -p1
+%patch -P163 -p1
+%patch -P164 -p1
+%patch -P165 -p1
+%patch -P166 -p1
+%patch -P167 -p1
+%patch -P168 -p1
+%patch -P169 -p1
+%patch -P170 -p1
+%patch -P171 -p1
+%patch -P172 -p1
+%patch -P173 -p1
+%patch -P174 -p1
+%patch -P175 -p1
+%patch -P176 -p1
+%patch -P177 -p1
+%patch -P178 -p1
+%patch -P179 -p1
+%patch -P180 -p1
+%patch -P181 -p1
+%patch -P182 -p1
+%patch -P183 -p1
+%patch -P184 -p1
+%patch -P185 -p1
+%patch -P186 -p1
+%patch -P187 -p1
+%patch -P188 -p1
+%patch -P189 -p1
+%patch -P190 -p1
+%patch -P191 -p1
+%patch -P192 -p1
+%patch -P193 -p1
+%patch -P194 -p1
+%patch -P195 -p1
+%patch -P196 -p1
+%patch -P197 -p1
+%patch -P198 -p1
+%patch -P199 -p1
+%patch -P200 -p1
+%patch -P201 -p1
+%patch -P202 -p1
+%patch -P203 -p1
+%patch -P204 -p1
+%patch -P205 -p1
+%patch -P206 -p1
+%patch -P207 -p1
+%patch -P208 -p1
+%patch -P209 -p1
+%patch -P210 -p1
+%patch -P211 -p1
+%patch -P212 -p1
+%patch -P213 -p1
+%patch -P214 -p1
+%patch -P215 -p1
+%patch -P216 -p1
+%patch -P217 -p1
+%patch -P218 -p1
+%patch -P219 -p1
+%patch -P220 -p1
+%patch -P221 -p1
+%patch -P222 -p1
+%patch -P223 -p1
+%patch -P224 -p1
+%patch -P225 -p1
+%patch -P226 -p1
+%patch -P227 -p1
+%patch -P228 -p1
+%patch -P229 -p1
+%patch -P230 -p1
+%patch -P231 -p1
+%patch -P232 -p1
+%patch -P233 -p1
+%patch -P234 -p1
+%patch -P235 -p1
+%patch -P236 -p1
+%patch -P237 -p1
+%patch -P238 -p1
+%patch -P239 -p1
+%patch -P240 -p1
+%patch -P241 -p1
+%patch -P242 -p1
+%patch -P243 -p1
+%patch -P244 -p1
+%patch -P245 -p1
+%patch -P246 -p1
+%patch -P247 -p1
+%patch -P248 -p1
+%patch -P249 -p1
+%patch -P250 -p1
+%patch -P251 -p1
+%patch -P252 -p1
+%patch -P253 -p1
+%patch -P254 -p1
+%patch -P255 -p1
+%patch -P256 -p1
+%patch -P257 -p1
+%patch -P258 -p1
+%patch -P259 -p1
+%patch -P260 -p1
+%patch -P261 -p1
+%patch -P262 -p1
+%patch -P263 -p1
+%patch -P264 -p1
+%patch -P265 -p1
+%patch -P266 -p1
+%patch -P267 -p1
+%patch -P268 -p1
+%patch -P269 -p1
+%patch -P270 -p1
+%patch -P271 -p1
+%patch -P272 -p1
+%patch -P273 -p1
+%patch -P274 -p1
+%patch -P275 -p1
+%patch -P276 -p1
+%patch -P277 -p1
+%patch -P278 -p1
+%patch -P279 -p1
+%patch -P280 -p1
+%patch -P281 -p1
+%patch -P282 -p1
+%patch -P283 -p1
+%patch -P284 -p1
+%patch -P285 -p1
+%patch -P286 -p1
+%patch -P287 -p1
+%patch -P288 -p1
+%patch -P289 -p1
+%patch -P290 -p1
+%patch -P291 -p1
+%patch -P292 -p1
+%patch -P293 -p1
+%patch -P294 -p1
+%patch -P295 -p1
+%patch -P296 -p1
+%patch -P297 -p1
+%patch -P298 -p1
+%patch -P299 -p1
+%patch -P300 -p1
+%patch -P301 -p1
+%patch -P302 -p1
+%patch -P303 -p1
+%patch -P304 -p1
+%patch -P305 -p1
+%patch -P306 -p1
+%patch -P307 -p1
+%patch -P308 -p1
+%patch -P309 -p1
+%patch -P310 -p1
+%patch -P311 -p1
+%patch -P312 -p1
+%patch -P313 -p1
+%patch -P314 -p1
+%patch -P315 -p1
+%patch -P316 -p1
+%patch -P317 -p1
+%patch -P318 -p1
+%patch -P319 -p1
+%patch -P320 -p1
+%patch -P321 -p1
+%patch -P322 -p1
+%patch -P323 -p1
+%patch -P324 -p1
+%patch -P325 -p1
+%patch -P326 -p1
+%patch -P327 -p1
+%patch -P328 -p1
+%patch -P329 -p1
+%patch -P330 -p1
+%patch -P331 -p1
+
+%ifarch sw_64
+%patch -P1001 -p1
+%patch -P1002 -p1
+%patch -P1003 -p1
+%patch -P1004 -p1
+%patch -P1005 -p1
+%patch -P1006 -p1
+%patch -P1007 -p1
+%patch -P1008 -p1
+%patch -P1009 -p1
+%patch -P1010 -p1
+%patch -P1011 -p1
+%patch -P1012 -p1
+%patch -P1013 -p1
+%patch -P1014 -p1
+%patch -P1015 -p1
+%patch -P1016 -p1
+%patch -P1017 -p1
+%endif
+
+%ifarch loongarch64
+%patch -P3001 -p1
+%patch -P3002 -p1
+%patch -P3003 -p1
+%patch -P3004 -p1
+%patch -P3005 -p1
+%patch -P3006 -p1
+%patch -P3007 -p1
+%patch -P3008 -p1
+%patch -P3009 -p1
+%patch -P3010 -p1
+%patch -P3011 -p1
+%patch -P3012 -p1
+%patch -P3013 -p1
+%patch -P3014 -p1
+%patch -P3015 -p1
+%patch -P3016 -p1
+%patch -P3017 -p1
+%patch -P3018 -p1
+%patch -P3019 -p1
+%patch -P3020 -p1
+%patch -P3021 -p1
+%patch -P3022 -p1
+%patch -P3023 -p1
+%patch -P3024 -p1
+%patch -P3025 -p1
+%patch -P3026 -p1
+%patch -P3027 -p1
+%patch -P3028 -p1
+%patch -P3029 -p1
+%patch -P3030 -p1
+%patch -P3031 -p1
+%patch -P3032 -p1
+%patch -P3033 -p1
+%patch -P3034 -p1
+%patch -P3035 -p1
+%patch -P3036 -p1
+%patch -P3037 -p1
+%patch -P3038 -p1
+%patch -P3039 -p1
+%patch -P3040 -p1
+%patch -P3041 -p1
+%patch -P3042 -p1
+%patch -P3043 -p1
+%patch -P3044 -p1
+%patch -P3045 -p1
+%patch -P3046 -p1
+%patch -P3047 -p1
+%patch -P3048 -p1
+%patch -P3049 -p1
+%patch -P3050 -p1
+%patch -P3051 -p1
+%patch -P3052 -p1
+%patch -P3053 -p1
+%patch -P3054 -p1
+%patch -P3056 -p1
+%patch -P3057 -p1
+%patch -P3058 -p1
+%patch -P3059 -p1
+%patch -P3060 -p1
+%patch -P3061 -p1
+%patch -P3062 -p1
+%patch -P3063 -p1
+%patch -P3064 -p1
+%patch -P3065 -p1
+%patch -P3066 -p1
+%patch -P3067 -p1
+%patch -P3068 -p1
+%patch -P3069 -p1
+%patch -P3070 -p1
+%patch -P3071 -p1
+%patch -P3072 -p1
+%patch -P3073 -p1
+%patch -P3074 -p1
+%patch -P3075 -p1
+%patch -P3076 -p1
+%patch -P3077 -p1
+%patch -P3078 -p1
+%patch -P3079 -p1
+%patch -P3080 -p1
+%patch -P3081 -p1
+%patch -P3082 -p1
+%patch -P3083 -p1
+%patch -P3084 -p1
+%patch -P3085 -p1
+%patch -P3086 -p1
+%patch -P3087 -p1
+%patch -P3088 -p1
+%patch -P3089 -p1
+%patch -P3090 -p1
+%patch -P3091 -p1
+%patch -P3092 -p1
+%patch -P3093 -p1
+%patch -P3094 -p1
+%patch -P3095 -p1
+%patch -P3096 -p1
+%patch -P3097 -p1
+%patch -P3098 -p1
+%patch -P3099 -p1
+%patch -P3100 -p1
+%patch -P3101 -p1
+%patch -P3102 -p1
+%patch -P3103 -p1
+%patch -P3104 -p1
+%patch -P3105 -p1
+%patch -P3106 -p1
+%patch -P3107 -p1
+%patch -P3108 -p1
+%patch -P3109 -p1
+%patch -P3110 -p1
+%patch -P3111 -p1
+%patch -P3112 -p1
+%patch -P3113 -p1
+%patch -P3114 -p1
+%patch -P3115 -p1
+%patch -P3116 -p1
+%patch -P3117 -p1
+%patch -P3118 -p1
+%patch -P3119 -p1
+%patch -P3120 -p1
+%patch -P3121 -p1
+%patch -P3122 -p1
+%patch -P3123 -p1
+%patch -P3124 -p1
+%patch -P3125 -p1
+%patch -P3126 -p1
+%patch -P3127 -p1
+%patch -P3128 -p1
+%patch -P3129 -p1
+%patch -P3130 -p1
+#--
+%patch -P3131 -p1
+%patch -P3132 -p1
+%patch -P3133 -p1
+%patch -P3134 -p1
+%patch -P3135 -p1
+%patch -P3136 -p1
+%patch -P3137 -p1
+%patch -P3138 -p1
+%patch -P3139 -p1
+%patch -P3140 -p1
+%patch -P3141 -p1
+%patch -P3142 -p1
+%patch -P3143 -p1
+%patch -P3144 -p1
+%patch -P3145 -p1
+%patch -P3146 -p1
+%patch -P3147 -p1
+%patch -P3148 -p1
+%patch -P3149 -p1
+%patch -P3150 -p1
+%patch -P3151 -p1
+%patch -P3152 -p1
+%patch -P3153 -p1
+%patch -P3154 -p1
+%patch -P3155 -p1
+%patch -P3156 -p1
+%patch -P3157 -p1
+%patch -P3158 -p1
+%patch -P3159 -p1
+%patch -P3160 -p1
+%patch -P3161 -p1
+%patch -P3162 -p1
+%patch -P3163 -p1
+%patch -P3164 -p1
+%patch -P3165 -p1
+%patch -P3166 -p1
+%patch -P3167 -p1
+%patch -P3168 -p1
+%patch -P3169 -p1
+%patch -P3170 -p1
+%patch -P3171 -p1
+%patch -P3172 -p1
+%patch -P3173 -p1
+%patch -P3174 -p1
+%patch -P3175 -p1
+%patch -P3176 -p1
+%patch -P3177 -p1
+%patch -P3178 -p1
+%patch -P3179 -p1
+%patch -P3180 -p1
+%patch -P3181 -p1
+%patch -P3182 -p1
+%patch -P3183 -p1
+%patch -P3184 -p1
+%patch -P3185 -p1
+%patch -P3186 -p1
+%patch -P3187 -p1
+%patch -P3188 -p1
+%patch -P3189 -p1
+%patch -P3190 -p1
+%patch -P3191 -p1
+%patch -P3192 -p1
+%patch -P3193 -p1
+%patch -P3194 -p1
+%patch -P3195 -p1
+%patch -P3196 -p1
+%patch -P3197 -p1
+%patch -P3198 -p1
+%patch -P3199 -p1
+%patch -P3200 -p1
+%patch -P3201 -p1
+%patch -P3202 -p1
+%patch -P3203 -p1
+%patch -P3204 -p1
+%patch -P3205 -p1
+%patch -P3206 -p1
+%patch -P3207 -p1
+%patch -P3208 -p1
+%patch -P3209 -p1
+%patch -P3210 -p1
+%patch -P3211 -p1
+%patch -P3212 -p1
+%patch -P3213 -p1
+%patch -P3214 -p1
+%patch -P3215 -p1
+%patch -P3216 -p1
+%patch -P3217 -p1
+%patch -P3218 -p1
+%patch -P3219 -p1
+%patch -P3220 -p1
+%patch -P3221 -p1
+%patch -P3222 -p1
+%patch -P3223 -p1
+%patch -P3224 -p1
+%patch -P3225 -p1
+%patch -P3226 -p1
+%patch -P3227 -p1
+%patch -P3228 -p1
+%patch -P3229 -p1
+%patch -P3230 -p1
+%patch -P3231 -p1
+%patch -P3232 -p1
+%patch -P3233 -p1
+%patch -P3234 -p1
+%patch -P3235 -p1
+%patch -P3236 -p1
+%patch -P3237 -p1
+%patch -P3238 -p1
+%patch -P3239 -p1
+%patch -P3240 -p1
+%patch -P3241 -p1
+%patch -P3242 -p1
+%patch -P3243 -p1
+%patch -P3244 -p1
+%patch -P3245 -p1
+%patch -P3246 -p1
+%patch -P3247 -p1
+%patch -P3248 -p1
+%patch -P3249 -p1
+%patch -P3250 -p1
+%patch -P3251 -p1
+%patch -P3252 -p1
+%patch -P3253 -p1
+%patch -P3254 -p1
+%patch -P3255 -p1
+%patch -P3256 -p1
+%patch -P3257 -p1
+%patch -P3258 -p1
+%patch -P3259 -p1
+%patch -P3260 -p1
+%patch -P3261 -p1
+%patch -P3262 -p1
+%patch -P3263 -p1
+%patch -P3264 -p1
+%patch -P3265 -p1
+%patch -P3266 -p1
+%patch -P3267 -p1
+%patch -P3268 -p1
+%patch -P3269 -p1
+%patch -P3270 -p1
+%patch -P3271 -p1
+%patch -P3272 -p1
+%patch -P3273 -p1
+%patch -P3274 -p1
+%patch -P3275 -p1
+%patch -P3276 -p1
+%patch -P3277 -p1
+%patch -P3278 -p1
+%patch -P3279 -p1
+%patch -P3280 -p1
+%patch -P3281 -p1
+%patch -P3282 -p1
+%patch -P3283 -p1
+%patch -P3284 -p1
+%patch -P3285 -p1
+%patch -P3286 -p1
+%patch -P3287 -p1
+%patch -P3288 -p1
+%patch -P3289 -p1
+%patch -P3290 -p1
+%patch -P3291 -p1
+%patch -P3292 -p1
+%patch -P3293 -p1
+%patch -P3294 -p1
+%patch -P3295 -p1
+%patch -P3296 -p1
+%patch -P3297 -p1
+%patch -P3298 -p1
+%patch -P3299 -p1
+%patch -P3300 -p1
+%patch -P3301 -p1
+%patch -P3302 -p1
+%patch -P3303 -p1
+%patch -P3304 -p1
+%patch -P3305 -p1
+%patch -P3306 -p1
+%patch -P3307 -p1
+%patch -P3308 -p1
+%patch -P3309 -p1
+%patch -P3310 -p1
+%patch -P3311 -p1
+%patch -P3312 -p1
+%patch -P3313 -p1
+%patch -P3314 -p1
+%patch -P3315 -p1
+%patch -P3316 -p1
+%patch -P3317 -p1
+%patch -P3318 -p1
+%patch -P3319 -p1
+%patch -P3320 -p1
+%patch -P3321 -p1
+%patch -P3322 -p1
+%patch -P3323 -p1
+%endif
+
+echo '%{_vendor} %{version}-%{release}' > gcc/DEV-PHASE
+
+cp -a libstdc++-v3/config/cpu/i{4,3}86/atomicity.h
+
+./contrib/gcc_update --touch
+
+LC_ALL=C sed -i -e 's/\xa0/ /' gcc/doc/options.texi
+
+sed -i -e 's/Common Driver Var(flag_report_bug)/& Init(1)/' gcc/common.opt
+sed -i -e 's/context->report_bug = false;/context->report_bug = true;/' gcc/diagnostic.cc
+
+%build
+
+export CONFIG_SITE=NONE
+
+CC=gcc
+CXX=g++
+OPT_FLAGS=`echo %{optflags}|sed -e 's/-flto=auto//g;s/-flto//g;s/-ffat-lto-objects//g'`
+OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-m64//g;s/-m32//g;s/-m31//g'`
+OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mfpmath=sse/-mfpmath=sse -msse2/g'`
+OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/ -pipe / /g'`
+OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-Werror=format-security/ /g'`
+%ifarch sparc
+OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mcpu=ultrasparc/-mtune=ultrasparc/g;s/-mcpu=v[78]//g'`
+%endif
+%ifarch %{ix86}
+OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-march=i.86//g'`
+%endif
+OPT_FLAGS=`echo "$OPT_FLAGS" | sed -e 's/[[:blank:]]\+/ /g'`
+case "$OPT_FLAGS" in
+ *-fasynchronous-unwind-tables*)
+ sed -i -e 's/-fno-exceptions /-fno-exceptions -fno-asynchronous-unwind-tables /' \
+ libgcc/Makefile.in
+ ;;
+esac
+
+rm -rf obj-%{gcc_target_platform}
+mkdir obj-%{gcc_target_platform}
+cd obj-%{gcc_target_platform}
+
+enablelgo=
+enablelada=
+enablelobjc=
+enableld=
+%if %{build_objc}
+enablelobjc=,objc,obj-c++
+%endif
+%if %{build_ada}
+enablelada=,ada
+%endif
+%if %{build_go}
+enablelgo=,go
+%endif
+%if %{build_d}
+enableld=,d
+%endif
+
+CONFIGURE_OPTS="\
+ --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \
+ --with-bugurl=https://gitee.com/src-openeuler/gcc/issues \
+ --enable-shared --enable-threads=posix --enable-checking=release\
+%ifarch aarch64
+ --enable-multilib \
+%else
+ --disable-multilib \
+%endif
+ --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions \
+ --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only \
+ --enable-libstdcxx-backtrace \
+%ifnarch %{mips}
+ --with-linker-hash-style=gnu \
+%endif
+ --enable-plugin --enable-initfini-array \
+%if %{isl_enable}
+ --with-isl \
+%else
+ --without-isl \
+%endif
+%if %{attr_ifunc}
+ --enable-gnu-indirect-function \
+%endif
+%ifarch %{arm}
+ --disable-sjlj-exceptions \
+%endif
+%ifarch aarch64
+ --with-multilib-list=lp64 \
+ --enable-bolt
+%endif
+%ifarch %{ix86} x86_64
+ --enable-cet \
+ --with-tune=generic \
+%endif
+%ifarch %{ix86}
+ --with-arch=x86-64 \
+%endif
+%ifarch x86_64
+ --with-arch_64=x86-64-v3 \
+%endif
+%ifarch riscv64
+ --with-arch=rv64gc --with-abi=lp64d --disable-libquadmath \
+%endif
+%ifnarch sparc sparcv9 ppc
+ --build=%{gcc_target_platform} \
+%endif
+%ifarch loongarch64
+ --with-arch=loongarch64 --with-abi=lp64d \
+ --disable-libquadmath --disable-multilib --enable-tls \
+ --enable-default-pie
+%endif
+%ifarch sw_64
+ --with-cpu=sw6b --disable-libquadmath --disable-multilib \
+ --enable-tls
+%endif
+ "
+
+# Add Secure Compilation Options
+OPT_FLAGS="$OPT_FLAGS -O2 -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -fPIE -Wl,-z,relro,-z,now"
+OPT_LDFLAGS="$OPT_LDFLAGS -Wl,-z,relro,-z,now"
+
+# Disable bootstrap for saving compilation time
+export extra_ldflags_libobjc="-Wl,-z,relro,-z,now"
+export FCFLAGS="$OPT_FLAGS"
+CC="$CC" CXX="$CXX" \
+ CFLAGS="$OPT_FLAGS" \
+ CXXFLAGS="`echo " $OPT_FLAGS " | sed 's/ -Wall / /g;s/ -fexceptions / /g' \
+ | sed 's/ -Wformat-security / -Wformat -Wformat-security /'`" \
+ LDFLAGS="$OPT_LDFLAGS" \
+ CFLAGS_FOR_TARGET="$OPT_FLAGS" \
+ CXXFLAGS_FOR_TARGET="$OPT_FLAGS" \
+ XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" GCJFLAGS="$OPT_FLAGS" \
+ ../configure --disable-bootstrap --disable-libgcj --without-cloog\
+ --enable-languages=c,c++,fortran${enablelobjc}${enablelada}${enablelgo}${enableld},lto \
+ $CONFIGURE_OPTS
+
+%ifarch sparc sparcv9 sparc64
+make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" LDFLAGS_FOR_TARGET=-Wl,-z,relro,-z,now
+%else
+make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" LDFLAGS_FOR_TARGET=-Wl,-z,relro,-z,now
+%endif
+
+CC="`%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-cc`"
+CXX="`%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-cxx` `%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-includes`"
+
+# Build libgccjit separately, so that normal compiler binaries aren't -fpic
+# unnecessarily.
+mkdir objlibgccjit
+cd objlibgccjit
+CC="$CC" CXX="$CXX" \
+ CFLAGS="$OPT_FLAGS" \
+ CXXFLAGS="`echo " $OPT_FLAGS " | sed 's/ -Wall / /g;s/ -fexceptions / /g' \
+ | sed 's/ -Wformat-security / -Wformat -Wformat-security /'`" \
+ LDFLAGS="$OPT_LDFLAGS" \
+ CFLAGS_FOR_TARGET="$OPT_FLAGS" \
+ CXXFLAGS_FOR_TARGET="$OPT_FLAGS" \
+ XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" GCJFLAGS="$OPT_FLAGS" \
+ ../../configure --disable-bootstrap --enable-host-shared \
+ --enable-languages=jit $CONFIGURE_OPTS
+make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" all-gcc
+cp -a gcc/libgccjit.so* ../gcc/
+cd ../gcc/
+ln -sf xgcc %{gcc_target_platform}-gcc-%{gcc_major}
+cp -a Makefile{,.orig}
+sed -i -e '/^CHECK_TARGETS/s/$/ check-jit/' Makefile
+touch -r Makefile.orig Makefile
+rm Makefile.orig
+make jit.sphinx.html
+make jit.sphinx.install-html jit_htmldir=`pwd`/../../rpm.doc/libgccjit-devel/html
+cd ..
+
+# Make generated man pages even if Pod::Man is not new enough
+perl -pi -e 's/head3/head2/' ../contrib/texi2pod.pl
+for i in ../gcc/doc/*.texi; do
+ cp -a $i $i.orig; sed 's/ftable/table/' $i.orig > $i
+done
+make -C gcc generated-manpages
+for i in ../gcc/doc/*.texi; do mv -f $i.orig $i; done
+
+# Make generated doxygen pages.
+%if %{build_libstdcxx_docs}
+cd %{gcc_target_platform}/libstdc++-v3
+make doc-html-doxygen
+make doc-man-doxygen
+cd ../..
+%endif
+
+# Copy various doc files here and there
+cd ..
+mkdir -p rpm.doc/gfortran rpm.doc/objc rpm.doc/gdc rpm.doc/libphobos
+mkdir -p rpm.doc/go rpm.doc/libgo rpm.doc/libquadmath rpm.doc/libitm
+mkdir -p rpm.doc/changelogs/{gcc/cp,gcc/ada,gcc/jit,libstdc++-v3,libobjc,libgomp,libcc1,libatomic,libsanitizer}
+
+for i in {gcc,gcc/cp,gcc/ada,gcc/jit,libstdc++-v3,libobjc,libgomp,libcc1,libatomic,libsanitizer}/ChangeLog*; do
+ cp -p $i rpm.doc/changelogs/$i
+done
+
+(cd gcc/fortran; for i in ChangeLog*; do
+ cp -p $i ../../rpm.doc/gfortran/$i
+done)
+(cd libgfortran; for i in ChangeLog*; do
+ cp -p $i ../rpm.doc/gfortran/$i.libgfortran
+done)
+%if %{build_objc}
+(cd libobjc; for i in README*; do
+ cp -p $i ../rpm.doc/objc/$i.libobjc
+done)
+%endif
+%if %{build_d}
+(cd gcc/d; for i in ChangeLog*; do
+ cp -p $i ../../rpm.doc/gdc/$i.gdc
+done)
+(cd libphobos; for i in ChangeLog*; do
+ cp -p $i ../rpm.doc/libphobos/$i.libphobos
+done
+cp -a src/LICENSE*.txt libdruntime/LICENSE.txt ../rpm.doc/libphobos/)
+%endif
+%if %{build_libquadmath}
+(cd libquadmath; for i in ChangeLog* COPYING.LIB; do
+ cp -p $i ../rpm.doc/libquadmath/$i.libquadmath
+done)
+%endif
+%if %{build_libitm}
+(cd libitm; for i in ChangeLog*; do
+ cp -p $i ../rpm.doc/libitm/$i.libitm
+done)
+%endif
+%if %{build_go}
+(cd gcc/go; for i in README* ChangeLog*; do
+ cp -p $i ../../rpm.doc/go/$i
+done)
+(cd libgo; for i in LICENSE* PATENTS* README; do
+ cp -p $i ../rpm.doc/libgo/$i.libgo
+done)
+%endif
+
+rm -f rpm.doc/changelogs/gcc/ChangeLog.[1-9]
+find rpm.doc -name \*ChangeLog\* | xargs bzip2 -9
+
+%install
+rm -rf %{buildroot}
+mkdir -p %{buildroot}
+
+# RISC-V ABI wants to install everything in /lib64/lp64d or /usr/lib64/lp64d.
+# Make these be symlinks to /lib64 or /usr/lib64 respectively. See:
+# https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/DRHT5YTPK4WWVGL3GIN5BF2IKX2ODHZ3/
+%ifarch riscv64
+for d in %{buildroot}%{_libdir} %{buildroot}/%{_lib} \
+ %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib} \
+ %{buildroot}%{_prefix}/include/c++/%{gcc_major}/%{gcc_target_platform}/%{_lib}; do
+ mkdir -p $d
+ (cd $d && ln -sf . lp64d)
+done
+%endif
+
+cd obj-%{gcc_target_platform}
+
+TARGET_PLATFORM=%{gcc_target_platform}
+
+# There are some MP bugs in libstdc++ Makefiles
+make -C %{gcc_target_platform}/libstdc++-v3
+
+make prefix=%{buildroot}%{_prefix} mandir=%{buildroot}%{_mandir} \
+ infodir=%{buildroot}%{_infodir} install
+%if %{build_ada}
+chmod 644 %{buildroot}%{_infodir}/gnat*
+%endif
+
+FULLPATH=%{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+FULLEPATH=%{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
+
+# fix some things
+ln -sf gcc %{buildroot}%{_prefix}/bin/cc
+rm -f %{buildroot}%{_prefix}/lib/cpp
+ln -sf ../bin/cpp %{buildroot}/%{_prefix}/lib/cpp
+ln -sf gfortran %{buildroot}%{_prefix}/bin/f95
+rm -f %{buildroot}%{_infodir}/dir
+gzip -9 %{buildroot}%{_infodir}/*.info*
+ln -sf gcc %{buildroot}%{_prefix}/bin/gnatgcc
+mkdir -p %{buildroot}%{_fmoddir}
+
+%if %{build_go}
+mv %{buildroot}%{_prefix}/bin/go{,.gcc}
+mv %{buildroot}%{_prefix}/bin/gofmt{,.gcc}
+ln -sf /etc/alternatives/go %{buildroot}%{_prefix}/bin/go
+ln -sf /etc/alternatives/gofmt %{buildroot}%{_prefix}/bin/gofmt
+%endif
+
+cxxconfig="`find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h`"
+for i in `find %{gcc_target_platform}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do
+ if ! diff -up $cxxconfig $i; then
+ cat > %{buildroot}%{_prefix}/include/c++/%{gcc_major}/%{gcc_target_platform}/bits/c++config.h <<EOF
+#ifndef _CPP_CPPCONFIG_WRAPPER
+#define _CPP_CPPCONFIG_WRAPPER 1
+#include <bits/wordsize.h>
+#if __WORDSIZE == 32
+%ifarch %{multilib_64_archs}
+`cat $(find %{gcc_target_platform}/32/libstdc++-v3/include -name c++config.h)`
+%else
+`cat $(find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h)`
+%endif
+#else
+%ifarch %{multilib_64_archs}
+`cat $(find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h)`
+%else
+`cat $(find %{gcc_target_platform}/64/libstdc++-v3/include -name c++config.h)`
+%endif
+#endif
+#endif
+EOF
+ break
+ fi
+done
+
+for f in `find %{buildroot}%{_prefix}/include/c++/%{gcc_major}/%{gcc_target_platform}/ -name c++config.h`; do
+ for i in 1 2 4 8; do
+ sed -i -e 's/#define _GLIBCXX_ATOMIC_BUILTINS_'$i' 1/#ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_'$i'\
+&\
+#endif/' $f
+ done
+done
+
+# Nuke bits/*.h.gch dirs
+# 1) there is no bits/*.h header installed, so when gch file can't be
+# used, compilation fails
+# 2) sometimes it is hard to match the exact options used for building
+# libstdc++-v3 or they aren't desirable
+# 3) there are multilib issues, conflicts etc. with this
+# 4) it is huge
+# People can always precompile on their own whatever they want, but
+# shipping this for everybody is unnecessary.
+rm -rf %{buildroot}%{_prefix}/include/c++/%{gcc_major}/%{gcc_target_platform}/bits/*.h.gch
+
+%if %{build_libstdcxx_docs}
+libstdcxx_doc_builddir=%{gcc_target_platform}/libstdc++-v3/doc/doxygen
+mkdir -p ../rpm.doc/libstdc++-v3
+cp -r -p ../libstdc++-v3/doc/html ../rpm.doc/libstdc++-v3/html
+cp -r -p $libstdcxx_doc_builddir/html ../rpm.doc/libstdc++-v3/html/api
+mkdir -p %{buildroot}%{_mandir}/man3
+cp -r -p $libstdcxx_doc_builddir/man/man3/* %{buildroot}%{_mandir}/man3/
+find ../rpm.doc/libstdc++-v3 -name \*~ | xargs rm
+%endif
+
+%ifarch sparcv9 sparc64
+ln -f %{buildroot}%{_prefix}/bin/%{gcc_target_platform}-gcc \
+ %{buildroot}%{_prefix}/bin/sparc-%{_vendor}-%{_target_os}-gcc
+%endif
+%ifarch ppc ppc64 ppc64p7
+ln -f %{buildroot}%{_prefix}/bin/%{gcc_target_platform}-gcc \
+ %{buildroot}%{_prefix}/bin/ppc-%{_vendor}-%{_target_os}-gcc
+%endif
+
+FULLLSUBDIR=
+%ifarch sparcv9 ppc
+FULLLSUBDIR=lib32
+%endif
+%ifarch sparc64 ppc64 ppc64p7
+FULLLSUBDIR=lib64
+%endif
+if [ -n "$FULLLSUBDIR" ]; then
+ FULLLPATH=$FULLPATH/$FULLLSUBDIR
+ mkdir -p $FULLLPATH
+else
+ FULLLPATH=$FULLPATH
+fi
+
+find %{buildroot} -name \*.la | xargs rm -f
+
+mv %{buildroot}%{_prefix}/%{_lib}/libgfortran.spec $FULLPATH/
+%if %{build_d}
+mv %{buildroot}%{_prefix}/%{_lib}/libgphobos.spec $FULLPATH/
+%endif
+%if %{build_libitm}
+mv %{buildroot}%{_prefix}/%{_lib}/libitm.spec $FULLPATH/
+%endif
+%if %{build_libasan}
+mv %{buildroot}%{_prefix}/%{_lib}/libsanitizer.spec $FULLPATH/
+%endif
+
+mkdir -p %{buildroot}/%{_lib}
+mv -f %{buildroot}%{_prefix}/%{_lib}/libgcc_s.so.1 %{buildroot}/%{_lib}/libgcc_s-%{gcc_major}.so.1
+chmod 755 %{buildroot}/%{_lib}/libgcc_s-%{gcc_major}.so.1
+ln -sf libgcc_s-%{gcc_major}.so.1 %{buildroot}/%{_lib}/libgcc_s.so.1
+%ifarch %{ix86} x86_64 ppc ppc64 ppc64p7 ppc64le %{arm} aarch64 riscv64 loongarch64 sw_64
+rm -f $FULLPATH/libgcc_s.so
+echo '/* GNU ld script
+ Use the shared library, but some functions are only in
+ the static library, so try that secondarily. */
+OUTPUT_FORMAT('`gcc -Wl,--print-output-format -nostdlib -r -o /dev/null`')
+GROUP ( /%{_lib}/libgcc_s.so.1 libgcc.a )' > $FULLPATH/libgcc_s.so
+%else
+ln -sf /%{_lib}/libgcc_s.so.1 $FULLPATH/libgcc_s.so
+%endif
+%ifarch sparcv9 ppc
+%ifarch ppc
+rm -f $FULLPATH/64/libgcc_s.so
+echo '/* GNU ld script
+ Use the shared library, but some functions are only in
+ the static library, so try that secondarily. */
+OUTPUT_FORMAT('`gcc -m64 -Wl,--print-output-format -nostdlib -r -o /dev/null`')
+GROUP ( /lib64/libgcc_s.so.1 libgcc.a )' > $FULLPATH/64/libgcc_s.so
+%else
+ln -sf /lib64/libgcc_s.so.1 $FULLPATH/64/libgcc_s.so
+%endif
+%endif
+%ifarch %{multilib_64_archs}
+%ifarch x86_64 ppc64 ppc64p7
+rm -f $FULLPATH/64/libgcc_s.so
+echo '/* GNU ld script
+ Use the shared library, but some functions are only in
+ the static library, so try that secondarily. */
+OUTPUT_FORMAT('`gcc -m32 -Wl,--print-output-format -nostdlib -r -o /dev/null`')
+GROUP ( /lib/libgcc_s.so.1 libgcc.a )' > $FULLPATH/32/libgcc_s.so
+%else
+ln -sf /lib/libgcc_s.so.1 $FULLPATH/32/libgcc_s.so
+%endif
+%endif
+
+mv -f %{buildroot}%{_prefix}/%{_lib}/libgomp.spec $FULLPATH/
+
+%if %{build_ada}
+mv -f $FULLPATH/adalib/libgnarl-*.so %{buildroot}%{_prefix}/%{_lib}/
+mv -f $FULLPATH/adalib/libgnat-*.so %{buildroot}%{_prefix}/%{_lib}/
+rm -f $FULLPATH/adalib/libgnarl.so* $FULLPATH/adalib/libgnat.so*
+%endif
+
+mkdir -p %{buildroot}%{_prefix}/libexec/getconf
+if gcc/xgcc -B gcc/ -E -P -dD -xc /dev/null | grep '__LONG_MAX__.*\(2147483647\|0x7fffffff\($\|[LU]\)\)'; then
+ ln -sf POSIX_V6_ILP32_OFF32 %{buildroot}%{_prefix}/libexec/getconf/default
+else
+ ln -sf POSIX_V6_LP64_OFF64 %{buildroot}%{_prefix}/libexec/getconf/default
+fi
+
+mkdir -p %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}
+mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++*gdb.py* \
+ %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/
+pushd ../libstdc++-v3/python
+for i in `find . -name \*.py`; do
+ touch -r $i %{buildroot}%{_prefix}/share/gcc-%{gcc_major}/python/$i
+done
+touch -r hook.in %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/libstdc++*gdb.py
+popd
+for f in `find %{buildroot}%{_prefix}/share/gcc-%{gcc_major}/python/ \
+ %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/ -name \*.py`; do
+ r=${f/$RPM_BUILD_ROOT/}
+ %{__python3} -c 'import py_compile; py_compile.compile("'$f'", dfile="'$r'")'
+ %{__python3} -O -c 'import py_compile; py_compile.compile("'$f'", dfile="'$r'")'
+done
+
+rm -f $FULLEPATH/libgccjit.so
+cp -a objlibgccjit/gcc/libgccjit.so* %{buildroot}%{_prefix}/%{_lib}/
+cp -a ../gcc/jit/libgccjit*.h %{buildroot}%{_prefix}/include/
+/usr/bin/install -c -m 644 objlibgccjit/gcc/doc/libgccjit.info %{buildroot}/%{_infodir}/
+gzip -9 %{buildroot}/%{_infodir}/libgccjit.info
+
+pushd $FULLPATH
+if [ "%{_lib}" = "lib" ]; then
+%if %{build_objc}
+ln -sf ../../../libobjc.so.4 libobjc.so
+%endif
+ln -sf ../../../libstdc++.so.6.*[0-9] libstdc++.so
+ln -sf ../../../libgfortran.so.5.* libgfortran.so
+ln -sf ../../../libgomp.so.1.* libgomp.so
+%if %{build_go}
+ln -sf ../../../libgo.so.21.* libgo.so
+%endif
+%if %{build_libquadmath}
+ln -sf ../../../libquadmath.so.0.* libquadmath.so
+%endif
+%if %{build_d}
+ln -sf ../../../libgdruntime.so.3.* libgdruntime.so
+ln -sf ../../../libgphobos.so.3.* libgphobos.so
+%endif
+%if %{build_libitm}
+ln -sf ../../../libitm.so.1.* libitm.so
+%endif
+%if %{build_libatomic}
+ln -sf ../../../libatomic.so.1.* libatomic.so
+%endif
+%if %{build_libasan}
+ln -sf ../../../libasan.so.8.* libasan.so
+mv ../../../libasan_preinit.o libasan_preinit.o
+%endif
+%if %{build_libubsan}
+ln -sf ../../../libubsan.so.1.* libubsan.so
+%endif
+%ifarch loongarch64 sw_64
+%if %{build_libtsan}
+rm -f libtsan.so
+echo 'INPUT ( %{_prefix}/%{_lib}/'`echo ../../../../%{_lib}/libtsan.so.2.* | sed 's,^.*libt,libt,'`' )' > libtsan.so
+mv ../../../../%{_lib}/libtsan_preinit.o libtsan_preinit.o
+%endif
+%if %{build_liblsan}
+rm -f liblsan.so
+echo 'INPUT ( %{_prefix}/%{_lib}/'`echo ../../../../%{_lib}/liblsan.so.0.* | sed 's,^.*libl,libl,'`' )' > liblsan.so
+mv ../../../../%{_lib}/liblsan_preinit.o liblsan_preinit.o
+%endif
+%endif
+else
+%if %{build_objc}
+ln -sf ../../../../%{_lib}/libobjc.so.4 libobjc.so
+%endif
+ln -sf ../../../../%{_lib}/libstdc++.so.6.*[0-9] libstdc++.so
+ln -sf ../../../../%{_lib}/libgfortran.so.5.* libgfortran.so
+ln -sf ../../../../%{_lib}/libgomp.so.1.* libgomp.so
+%if %{build_go}
+ln -sf ../../../../%{_lib}/libgo.so.21.* libgo.so
+%endif
+%if %{build_libquadmath}
+ln -sf ../../../../%{_lib}/libquadmath.so.0.* libquadmath.so
+%endif
+%if %{build_d}
+ln -sf ../../../../%{_lib}/libgdruntime.so.3.* libgdruntime.so
+ln -sf ../../../../%{_lib}/libgphobos.so.3.* libgphobos.so
+%endif
+%if %{build_libitm}
+ln -sf ../../../../%{_lib}/libitm.so.1.* libitm.so
+%endif
+%if %{build_libatomic}
+ln -sf ../../../../%{_lib}/libatomic.so.1.* libatomic.so
+%endif
+%if %{build_libasan}
+ln -sf ../../../../%{_lib}/libasan.so.8.* libasan.so
+mv ../../../../%{_lib}/libasan_preinit.o libasan_preinit.o
+%endif
+%if %{build_libubsan}
+ln -sf ../../../../%{_lib}/libubsan.so.1.* libubsan.so
+%endif
+%if %{build_libtsan}
+rm -f libtsan.so
+echo 'INPUT ( %{_prefix}/%{_lib}/'`echo ../../../../%{_lib}/libtsan.so.2.* | sed 's,^.*libt,libt,'`' )' > libtsan.so
+mv ../../../../%{_lib}/libtsan_preinit.o libtsan_preinit.o
+%endif
+%if %{build_liblsan}
+rm -f liblsan.so
+echo 'INPUT ( %{_prefix}/%{_lib}/'`echo ../../../../%{_lib}/liblsan.so.0.* | sed 's,^.*libl,libl,'`' )' > liblsan.so
+mv ../../../../%{_lib}/liblsan_preinit.o liblsan_preinit.o
+%endif
+fi
+mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++.*a $FULLLPATH/
+mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++fs.*a $FULLLPATH/
+mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++_libbacktrace.*a $FULLLPATH/
+mv -f %{buildroot}%{_prefix}/%{_lib}/libsupc++.*a $FULLLPATH/
+mv -f %{buildroot}%{_prefix}/%{_lib}/libgfortran.*a $FULLLPATH/
+%if %{build_objc}
+mv -f %{buildroot}%{_prefix}/%{_lib}/libobjc.*a .
+%endif
+mv -f %{buildroot}%{_prefix}/%{_lib}/libgomp.*a .
+%if %{build_libquadmath}
+mv -f %{buildroot}%{_prefix}/%{_lib}/libquadmath.*a $FULLLPATH/
+%endif
+%if %{build_d}
+mv -f %{buildroot}%{_prefix}/%{_lib}/libgdruntime.*a $FULLLPATH/
+mv -f %{buildroot}%{_prefix}/%{_lib}/libgphobos.*a $FULLLPATH/
+%endif
+%if %{build_libitm}
+mv -f %{buildroot}%{_prefix}/%{_lib}/libitm.*a $FULLLPATH/
+%endif
+%if %{build_libatomic}
+mv -f %{buildroot}%{_prefix}/%{_lib}/libatomic.*a $FULLLPATH/
+%endif
+%if %{build_libasan}
+mv -f %{buildroot}%{_prefix}/%{_lib}/libasan.*a $FULLLPATH/
+%endif
+%if %{build_libubsan}
+mv -f %{buildroot}%{_prefix}/%{_lib}/libubsan.*a $FULLLPATH/
+%endif
+%if %{build_libtsan}
+mv -f %{buildroot}%{_prefix}/%{_lib}/libtsan.*a $FULLPATH/
+%endif
+%if %{build_liblsan}
+mv -f %{buildroot}%{_prefix}/%{_lib}/liblsan.*a $FULLPATH/
+%endif
+%if %{build_go}
+mv -f %{buildroot}%{_prefix}/%{_lib}/libgo.*a $FULLLPATH/
+mv -f %{buildroot}%{_prefix}/%{_lib}/libgobegin.*a $FULLLPATH/
+mv -f %{buildroot}%{_prefix}/%{_lib}/libgolibbegin.*a $FULLLPATH/
+%endif
+
+%if %{build_ada}
+%ifarch sparcv9 ppc
+rm -rf $FULLPATH/64/ada{include,lib}
+%endif
+%ifarch %{multilib_64_archs}
+rm -rf $FULLPATH/32/ada{include,lib}
+%endif
+if [ "$FULLPATH" != "$FULLLPATH" ]; then
+mv -f $FULLPATH/ada{include,lib} $FULLLPATH/
+pushd $FULLLPATH/adalib
+if [ "%{_lib}" = "lib" ]; then
+ln -sf ../../../../../libgnarl-*.so libgnarl.so
+ln -sf ../../../../../libgnarl-*.so libgnarl-12.so
+ln -sf ../../../../../libgnat-*.so libgnat.so
+ln -sf ../../../../../libgnat-*.so libgnat-12.so
+else
+ln -sf ../../../../../../%{_lib}/libgnarl-*.so libgnarl.so
+ln -sf ../../../../../../%{_lib}/libgnarl-*.so libgnarl-12.so
+ln -sf ../../../../../../%{_lib}/libgnat-*.so libgnat.so
+ln -sf ../../../../../../%{_lib}/libgnat-*.so libgnat-12.so
+fi
+popd
+else
+pushd $FULLPATH/adalib
+if [ "%{_lib}" = "lib" ]; then
+ln -sf ../../../../libgnarl-*.so libgnarl.so
+ln -sf ../../../../libgnarl-*.so libgnarl-12.so
+ln -sf ../../../../libgnat-*.so libgnat.so
+ln -sf ../../../../libgnat-*.so libgnat-12.so
+else
+ln -sf ../../../../../%{_lib}/libgnarl-*.so libgnarl.so
+ln -sf ../../../../../%{_lib}/libgnarl-*.so libgnarl-12.so
+ln -sf ../../../../../%{_lib}/libgnat-*.so libgnat.so
+ln -sf ../../../../../%{_lib}/libgnat-*.so libgnat-12.so
+fi
+popd
+fi
+%endif
+
+%ifarch sparcv9 ppc
+%if %{build_objc}
+ln -sf ../../../../../lib64/libobjc.so.4 64/libobjc.so
+%endif
+ln -sf ../`echo ../../../../lib/libstdc++.so.6.*[0-9] | sed s~/lib/~/lib64/~` 64/libstdc++.so
+ln -sf ../`echo ../../../../lib/libgfortran.so.5.* | sed s~/lib/~/lib64/~` 64/libgfortran.so
+ln -sf ../`echo ../../../../lib/libgomp.so.1.* | sed s~/lib/~/lib64/~` 64/libgomp.so
+%if %{build_go}
+rm -f libgo.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libgo.so.21.* | sed 's,^.*libg,libg,'`' )' > libgo.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libgo.so.21.* | sed 's,^.*libg,libg,'`' )' > 64/libgo.so
+%endif
+%if %{build_libquadmath}
+rm -f libquadmath.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libquadmath.so.0.* | sed 's,^.*libq,libq,'`' )' > libquadmath.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libquadmath.so.0.* | sed 's,^.*libq,libq,'`' )' > 64/libquadmath.so
+%endif
+%if %{build_d}
+rm -f libgdruntime.so libgphobos.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libgdruntime.so.3.* | sed 's,^.*libg,libg,'`' )' > libgdruntime.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libgdruntime.so.3.* | sed 's,^.*libg,libg,'`' )' > 64/libgdruntime.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libgphobos.so.3.* | sed 's,^.*libg,libg,'`' )' > libgphobos.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libgphobos.so.3.* | sed 's,^.*libg,libg,'`' )' > 64/libgphobos.so
+%endif
+%if %{build_libitm}
+rm -f libitm.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libitm.so.1.* | sed 's,^.*libi,libi,'`' )' > libitm.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libitm.so.1.* | sed 's,^.*libi,libi,'`' )' > 64/libitm.so
+%endif
+%if %{build_libatomic}
+rm -f libatomic.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libatomic.so.1.* | sed 's,^.*liba,liba,'`' )' > libatomic.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libatomic.so.1.* | sed 's,^.*liba,liba,'`' )' > 64/libatomic.so
+%endif
+%if %{build_libasan}
+rm -f libasan.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libasan.so.8.* | sed 's,^.*liba,liba,'`' )' > libasan.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libasan.so.8.* | sed 's,^.*liba,liba,'`' )' > 64/libasan.so
+mv ../../../../lib64/libasan_preinit.o 64/libasan_preinit.o
+%endif
+%if %{build_libubsan}
+rm -f libubsan.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libubsan.so.1.* | sed 's,^.*libu,libu,'`' )' > libubsan.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libubsan.so.1.* | sed 's,^.*libu,libu,'`' )' > 64/libubsan.so
+%endif
+ln -sf lib32/libgfortran.a libgfortran.a
+ln -sf ../lib64/libgfortran.a 64/libgfortran.a
+%if %{build_objc}
+mv -f %{buildroot}%{_prefix}/lib64/libobjc.*a 64/
+%endif
+mv -f %{buildroot}%{_prefix}/lib64/libgomp.*a 64/
+ln -sf lib32/libstdc++.a libstdc++.a
+ln -sf ../lib64/libstdc++.a 64/libstdc++.a
+ln -sf lib32/libstdc++fs.a libstdc++fs.a
+ln -sf ../lib64/libstdc++fs.a 64/libstdc++fs.a
+ln -sf lib32/libstdc++_libbacktrace.a libstdc++_libbacktrace.a
+ln -sf ../lib64/libstdc++_libbacktrace.a 64/libstdc++_libbacktrace.a
+ln -sf lib32/libsupc++.a libsupc++.a
+ln -sf ../lib64/libsupc++.a 64/libsupc++.a
+%if %{build_libquadmath}
+ln -sf lib32/libquadmath.a libquadmath.a
+ln -sf ../lib64/libquadmath.a 64/libquadmath.a
+%endif
+%if %{build_d}
+ln -sf lib32/libgdruntime.a libgdruntime.a
+ln -sf ../lib64/libgdruntime.a 64/libgdruntime.a
+ln -sf lib32/libgphobos.a libgphobos.a
+ln -sf ../lib64/libgphobos.a 64/libgphobos.a
+%endif
+%if %{build_libitm}
+ln -sf lib32/libitm.a libitm.a
+ln -sf ../lib64/libitm.a 64/libitm.a
+%endif
+%if %{build_libatomic}
+ln -sf lib32/libatomic.a libatomic.a
+ln -sf ../lib64/libatomic.a 64/libatomic.a
+%endif
+%if %{build_libasan}
+ln -sf lib32/libasan.a libasan.a
+ln -sf ../lib64/libasan.a 64/libasan.a
+%endif
+%if %{build_libubsan}
+ln -sf lib32/libubsan.a libubsan.a
+ln -sf ../lib64/libubsan.a 64/libubsan.a
+%endif
+%if %{build_go}
+ln -sf lib32/libgo.a libgo.a
+ln -sf ../lib64/libgo.a 64/libgo.a
+ln -sf lib32/libgobegin.a libgobegin.a
+ln -sf ../lib64/libgobegin.a 64/libgobegin.a
+ln -sf lib32/libgolibbegin.a libgolibbegin.a
+ln -sf ../lib64/libgolibbegin.a 64/libgolibbegin.a
+%endif
+%if %{build_ada}
+ln -sf lib32/adainclude adainclude
+ln -sf ../lib64/adainclude 64/adainclude
+ln -sf lib32/adalib adalib
+ln -sf ../lib64/adalib 64/adalib
+%endif
+%endif
+%ifarch %{multilib_64_archs}
+mkdir -p 32
+%if %{build_objc}
+ln -sf ../../../../libobjc.so.4 32/libobjc.so
+%endif
+ln -sf ../`echo ../../../../lib64/libstdc++.so.6.*[0-9] | sed s~/../lib64/~/~` 32/libstdc++.so
+ln -sf ../`echo ../../../../lib64/libgfortran.so.5.* | sed s~/../lib64/~/~` 32/libgfortran.so
+ln -sf ../`echo ../../../../lib64/libgomp.so.1.* | sed s~/../lib64/~/~` 32/libgomp.so
+%if %{build_go}
+rm -f libgo.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libgo.so.21.* | sed 's,^.*libg,libg,'`' )' > libgo.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgo.so.21.* | sed 's,^.*libg,libg,'`' )' > 32/libgo.so
+%endif
+%if %{build_libquadmath}
+rm -f libquadmath.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libquadmath.so.0.* | sed 's,^.*libq,libq,'`' )' > libquadmath.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libquadmath.so.0.* | sed 's,^.*libq,libq,'`' )' > 32/libquadmath.so
+%endif
+%if %{build_d}
+rm -f libgdruntime.so libgphobos.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libgdruntime.so.3.* | sed 's,^.*libg,libg,'`' )' > libgdruntime.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgdruntime.so.3.* | sed 's,^.*libg,libg,'`' )' > 32/libgdruntime.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libgphobos.so.3.* | sed 's,^.*libg,libg,'`' )' > libgphobos.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgphobos.so.3.* | sed 's,^.*libg,libg,'`' )' > 32/libgphobos.so
+%endif
+%if %{build_libitm}
+rm -f libitm.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libitm.so.1.* | sed 's,^.*libi,libi,'`' )' > libitm.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libitm.so.1.* | sed 's,^.*libi,libi,'`' )' > 32/libitm.so
+%endif
+%if %{build_libatomic}
+rm -f libatomic.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libatomic.so.1.* | sed 's,^.*liba,liba,'`' )' > libatomic.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libatomic.so.1.* | sed 's,^.*liba,liba,'`' )' > 32/libatomic.so
+%endif
+%if %{build_libasan}
+rm -f libasan.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libasan.so.8.* | sed 's,^.*liba,liba,'`' )' > libasan.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libasan.so.8.* | sed 's,^.*liba,liba,'`' )' > 32/libasan.so
+mv ../../../../lib/libasan_preinit.o 32/libasan_preinit.o
+%endif
+%if %{build_libubsan}
+rm -f libubsan.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libubsan.so.1.* | sed 's,^.*libu,libu,'`' )' > libubsan.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libubsan.so.1.* | sed 's,^.*libu,libu,'`' )' > 32/libubsan.so
+%endif
+%if %{build_objc}
+mv -f %{buildroot}%{_prefix}/lib/libobjc.*a 32/
+%endif
+mv -f %{buildroot}%{_prefix}/lib/libgomp.*a 32/
+%endif
+%ifarch sparc64 ppc64 ppc64p7
+ln -sf ../lib32/libgfortran.a 32/libgfortran.a
+ln -sf lib64/libgfortran.a libgfortran.a
+ln -sf ../lib32/libstdc++.a 32/libstdc++.a
+ln -sf lib64/libstdc++.a libstdc++.a
+ln -sf ../lib32/libstdc++fs.a 32/libstdc++fs.a
+ln -sf lib64/libstdc++fs.a libstdc++fs.a
+ln -sf ../lib32/libstdc++_libbacktrace.a 32/libstdc++_libbacktrace.a
+ln -sf lib64/libstdc++_libbacktrace.a libstdc++_libbacktrace.a
+ln -sf ../lib32/libsupc++.a 32/libsupc++.a
+ln -sf lib64/libsupc++.a libsupc++.a
+%if %{build_libquadmath}
+ln -sf ../lib32/libquadmath.a 32/libquadmath.a
+ln -sf lib64/libquadmath.a libquadmath.a
+%endif
+%if %{build_d}
+ln -sf ../lib32/libgdruntime.a 32/libgdruntime.a
+ln -sf lib64/libgdruntime.a libgdruntime.a
+ln -sf ../lib32/libgphobos.a 32/libgphobos.a
+ln -sf lib64/libgphobos.a libgphobos.a
+%endif
+%if %{build_libitm}
+ln -sf ../lib32/libitm.a 32/libitm.a
+ln -sf lib64/libitm.a libitm.a
+%endif
+%if %{build_libatomic}
+ln -sf ../lib32/libatomic.a 32/libatomic.a
+ln -sf lib64/libatomic.a libatomic.a
+%endif
+%if %{build_libasan}
+ln -sf ../lib32/libasan.a 32/libasan.a
+ln -sf lib64/libasan.a libasan.a
+%endif
+%if %{build_libubsan}
+ln -sf ../lib32/libubsan.a 32/libubsan.a
+ln -sf lib64/libubsan.a libubsan.a
+%endif
+%if %{build_go}
+ln -sf ../lib32/libgo.a 32/libgo.a
+ln -sf lib64/libgo.a libgo.a
+ln -sf ../lib32/libgobegin.a 32/libgobegin.a
+ln -sf lib64/libgobegin.a libgobegin.a
+ln -sf ../lib32/libgolibbegin.a 32/libgolibbegin.a
+ln -sf lib64/libgolibbegin.a libgolibbegin.a
+%endif
+%if %{build_ada}
+ln -sf ../lib32/adainclude 32/adainclude
+ln -sf lib64/adainclude adainclude
+ln -sf ../lib32/adalib 32/adalib
+ln -sf lib64/adalib adalib
+%endif
+%else
+%ifarch %{multilib_64_archs}
+ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libgfortran.a 32/libgfortran.a
+ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libstdc++.a 32/libstdc++.a
+ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libstdc++fs.a 32/libstdc++fs.a
+ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libstdc++_libbacktrace.a 32/libstdc++_libbacktrace.a
+ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libsupc++.a 32/libsupc++.a
+%if %{build_libquadmath}
+ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libquadmath.a 32/libquadmath.a
+%endif
+%if %{build_d}
+ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libgdruntime.a 32/libgdruntime.a
+ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libgphobos.a 32/libgphobos.a
+%endif
+%if %{build_libitm}
+ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libitm.a 32/libitm.a
+%endif
+%if %{build_libatomic}
+ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libatomic.a 32/libatomic.a
+%endif
+%if %{build_libasan}
+ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libasan.a 32/libasan.a
+%endif
+%if %{build_libubsan}
+ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libubsan.a 32/libubsan.a
+%endif
+%if %{build_go}
+ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libgo.a 32/libgo.a
+ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libgobegin.a 32/libgobegin.a
+ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libgolibbegin.a 32/libgolibbegin.a
+%endif
+%if %{build_ada}
+ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/adainclude 32/adainclude
+ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/adalib 32/adalib
+%endif
+%endif
+%endif
+
+# If we are building a debug package then copy all of the static archives
+# into the debug directory to keep them as unstripped copies.
+%if 0%{?_enable_debug_packages}
+for d in . $FULLLSUBDIR; do
+ mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/debug%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/$d
+ for f in `find $d -maxdepth 1 -a \
+ \( -name libasan.a -o -name libatomic.a \
+ -o -name libcaf_single.a \
+ -o -name libgcc.a -o -name libgcc_eh.a \
+ -o -name libgcov.a -o -name libgfortran.a \
+ -o -name libgo.a -o -name libgobegin.a \
+ -o -name libgolibbegin.a -o -name libgomp.a \
+ -o -name libitm.a -o -name liblsan.a \
+ -o -name libobjc.a -o -name libgdruntime.a -o -name libgphobos.a \
+ -o -name libquadmath.a -o -name libstdc++.a \
+ -o -name libstdc++fs.a -o -name libstdc++_libbacktrace.a -o -name libsupc++.a \
+ -o -name libtsan.a -o -name libubsan.a \) -a -type f`; do
+ cp -a $f $RPM_BUILD_ROOT%{_prefix}/lib/debug%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/$d/
+ done
+done
+%endif
+
+# Strip debug info from Fortran/ObjC/Java static libraries
+strip -g `find . \( -name libgfortran.a -o -name libobjc.a -o -name libgomp.a \
+ -o -name libgcc.a -o -name libgcov.a -o -name libquadmath.a \
+ -o -name libgdruntime.a -o -name libgphobos.a \
+ -o -name libitm.a -o -name libgo.a -o -name libcaf\*.a \
+ -o -name libatomic.a -o -name libasan.a -o -name libtsan.a \
+ -o -name libubsan.a -o -name liblsan.a -o -name libcc1.a \) \
+ -a -type f`
+popd
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgfortran.so.5.*
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgomp.so.1.*
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libcc1.so.0.*
+%if %{build_libquadmath}
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libquadmath.so.0.*
+%endif
+%if %{build_d}
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgdruntime.so.3.*
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgphobos.so.3.*
+%endif
+%if %{build_libitm}
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libitm.so.1.*
+%endif
+%if %{build_libatomic}
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libatomic.so.1.*
+%endif
+%if %{build_libasan}
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libasan.so.8.*
+chrpath -d %{buildroot}%{_prefix}/%{_lib}/libasan.so.8.*
+%endif
+%if %{build_libubsan}
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libubsan.so.1.*
+chrpath -d %{buildroot}%{_prefix}/%{_lib}/libubsan.so.1.*
+%endif
+%if %{build_libtsan}
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libtsan.so.2.*
+chrpath -d %{buildroot}%{_prefix}/%{_lib}/libtsan.so.2.*
+%endif
+%if %{build_liblsan}
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/liblsan.so.0.*
+chrpath -d %{buildroot}%{_prefix}/%{_lib}/liblsan.so.0.*
+%endif
+%ifarch aarch64
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libhwasan.so.0.*
+chrpath -d %{buildroot}%{_prefix}/%{_lib}/libhwasan.so.0.*
+%endif
+%if %{build_go}
+# Avoid stripping these libraries and binaries.
+chmod 644 %{buildroot}%{_prefix}/%{_lib}/libgo.so.21.*
+chmod 644 %{buildroot}%{_prefix}/bin/go.gcc
+chmod 644 %{buildroot}%{_prefix}/bin/gofmt.gcc
+chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cgo
+chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/buildid
+chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/test2json
+chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/vet
+%endif
+%if %{build_objc}
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libobjc.so.4.*
+%endif
+
+%if %{build_ada}
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgnarl*so*
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgnat*so*
+%endif
+
+mv $FULLPATH/include-fixed/syslimits.h $FULLPATH/include/syslimits.h
+mv $FULLPATH/include-fixed/limits.h $FULLPATH/include/limits.h
+for h in `find $FULLPATH/include -name \*.h`; do
+ if grep -q 'It has been auto-edited by fixincludes from' $h; then
+ rh=`grep -A2 'It has been auto-edited by fixincludes from' $h | tail -1 | sed 's|^.*"\(.*\)".*$|\1|'`
+ diff -up $rh $h || :
+ rm -f $h
+ fi
+done
+
+cat > %{buildroot}%{_prefix}/bin/c89 <<"EOF"
+#!/bin/sh
+fl="-std=c89"
+for opt; do
+ case "$opt" in
+ -ansi|-std=c89|-std=iso9899:1990) fl="";;
+ -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2
+ exit 1;;
+ esac
+done
+exec gcc $fl ${1+"$@"}
+EOF
+cat > %{buildroot}%{_prefix}/bin/c99 <<"EOF"
+#!/bin/sh
+fl="-std=c99"
+for opt; do
+ case "$opt" in
+ -std=c99|-std=iso9899:1999) fl="";;
+ -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2
+ exit 1;;
+ esac
+done
+exec gcc $fl ${1+"$@"}
+EOF
+chmod 755 %{buildroot}%{_prefix}/bin/c?9
+
+cd ..
+%find_lang %{name}
+%find_lang cpplib
+
+# Remove binaries we will not be including, so that they don't end up in
+# gcc-debuginfo
+rm -f %{buildroot}%{_prefix}/%{_lib}/{libffi*,libiberty.a} || :
+rm -f $FULLEPATH/install-tools/{mkheaders,fixincl}
+rm -f %{buildroot}%{_prefix}/lib/{32,64}/libiberty.a
+rm -f %{buildroot}%{_prefix}/%{_lib}/libssp*
+rm -f %{buildroot}%{_prefix}/%{_lib}/libvtv* || :
+rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gfortran || :
+rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gccgo || :
+rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gcj || :
+rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gcc-ar || :
+rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gcc-nm || :
+rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gcc-ranlib || :
+rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gdc || :
+
+%ifarch %{multilib_64_archs}
+# Remove libraries for the other arch on multilib arches
+rm -f %{buildroot}%{_prefix}/lib/lib*.so*
+rm -f %{buildroot}%{_prefix}/lib/lib*.a
+rm -f %{buildroot}/lib/libgcc_s*.so*
+%if %{build_go}
+rm -rf %{buildroot}%{_prefix}/lib/go/%{gcc_major}/%{gcc_target_platform}
+%ifnarch sparc64 ppc64 ppc64p7
+ln -sf %{multilib_32_arch}-%{_vendor}-%{_target_os} %{buildroot}%{_prefix}/lib/go/%{gcc_major}/%{gcc_target_platform}
+%endif
+%endif
+%else
+%ifarch sparcv9 ppc
+rm -f %{buildroot}%{_prefix}/lib64/lib*.so*
+rm -f %{buildroot}%{_prefix}/lib64/lib*.a
+rm -f %{buildroot}/lib64/libgcc_s*.so*
+%if %{build_go}
+rm -rf %{buildroot}%{_prefix}/lib64/go/%{gcc_major}/%{gcc_target_platform}
+%endif
+%endif
+%endif
+
+rm -f %{buildroot}%{mandir}/man3/ffi*
+
+# Help plugins find out nvra.
+echo gcc-%{version}-%{release}.%{_arch} > $FULLPATH/rpmver
+
+# Add symlink to lto plugin in the binutils plugin directory.
+%{__mkdir_p} %{buildroot}%{_libdir}/bfd-plugins/
+ln -s ../../libexec/gcc/%{gcc_target_platform}/%{gcc_major}/liblto_plugin.so \
+ %{buildroot}%{_libdir}/bfd-plugins/
+
+%ifarch aarch64
+ if [ -e %{buildroot}%{_prefix}/bin/gcc ]; then strip -s %{buildroot}%{_prefix}/bin/gcc; fi
+ if [ -e %{buildroot}%{_prefix}/bin/%{_target_platform}-gcc-12 ]; then strip -s %{buildroot}%{_prefix}/bin/%{_target_platform}-gcc-12; fi
+%endif
+%ifarch x86_64
+ if [ -e %{buildroot}%{_prefix}/bin/%{_target_platform}-gcc ]; then strip -s %{buildroot}%{_prefix}/bin/%{_target_platform}-gcc; fi
+ if [ -e %{buildroot}%{_prefix}/bin/%{_target_platform}-gcc-12 ]; then strip -s %{buildroot}%{_prefix}/bin/%{_target_platform}-gcc-12; fi
+%endif
+
+# Remove installed but unpacked files.
+# If any file is useful in the future, remove it from here.
+if [ -f %{buildroot}%{_prefix}/bin/gnatgcc ]; then rm -f %{buildroot}%{_prefix}/bin/gnatgcc; fi
+if [ -f %{buildroot}%{_prefix}/lib64/libasan.so ]; then rm -f %{buildroot}%{_prefix}/lib64/libasan.so; fi
+if [ -f %{buildroot}%{_prefix}/lib64/libasan.so ]; then rm -f %{buildroot}%{_prefix}/lib64/libasan.so; fi
+if [ -f %{buildroot}%{_prefix}/lib64/libatomic.so ]; then rm -f %{buildroot}%{_prefix}/lib64/libatomic.so; fi
+if [ -f %{buildroot}%{_prefix}/lib64/libgcc_s.so ]; then rm -f %{buildroot}%{_prefix}/lib64/libgcc_s.so; fi
+if [ -f %{buildroot}%{_prefix}/lib64/libgfortran.so ]; then rm -f %{buildroot}%{_prefix}/lib64/libgfortran.so; fi
+if [ -f %{buildroot}%{_prefix}/lib64/libgomp.so ]; then rm -f %{buildroot}%{_prefix}/lib64/libgomp.so; fi
+if [ -f %{buildroot}%{_prefix}/lib64/libitm.so ]; then rm -f %{buildroot}%{_prefix}/lib64/libitm.so; fi
+if [ -f %{buildroot}%{_prefix}/lib64/liblsan.so ]; then rm -f %{buildroot}%{_prefix}/lib64/liblsan.so; fi
+if [ -f %{buildroot}%{_prefix}/lib64/libobjc.so ]; then rm -f %{buildroot}%{_prefix}/lib64/libobjc.so; fi
+if [ -f %{buildroot}%{_prefix}/lib64/libquadmath.so ]; then rm -f %{buildroot}%{_prefix}/lib64/libquadmath.so; fi
+if [ -f %{buildroot}%{_prefix}/lib64/libstdc++.so ]; then rm -f %{buildroot}%{_prefix}/lib64/libstdc++.so; fi
+if [ -f %{buildroot}%{_prefix}/lib64/libtsan.so ]; then rm -f %{buildroot}%{_prefix}/lib64/libtsan.so; fi
+if [ -f %{buildroot}%{_prefix}/lib64/libubsan.so ]; then rm -f %{buildroot}%{_prefix}/lib64/libubsan.so; fi
+if [ -f %{buildroot}%{_prefix}/lib64/libhwasan.a ]; then rm -f %{buildroot}%{_prefix}/lib64/libhwasan.a; fi
+if [ -f %{buildroot}%{_prefix}/lib64/libhwasan.so ]; then rm -f %{buildroot}%{_prefix}/lib64/libhwasan.so; fi
+if [ -f %{buildroot}%{_prefix}/lib64/libhwasan.so.0 ]; then rm -f %{buildroot}%{_prefix}/lib64/libhwasan.so.0; fi
+if [ -f %{buildroot}%{_prefix}/lib64/libhwasan.so.0.0.0 ]; then rm -f %{buildroot}%{_prefix}/lib64/libhwasan.so.0.0.0; fi
+
+if [ -f %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include-fixed/README ];
+then
+ rm -f %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include-fixed/README;
+fi
+
+if [ -f %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include-fixed/pthread.h ];
+then
+ rm -f %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include-fixed/pthread.h;
+fi
+
+if [ -f %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include-fixed/X11/Xw32defs.h ];
+then
+ rm -f %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include-fixed/X11/Xw32defs.h;
+fi
+
+if [ -f %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include-fixed/slang.h ];
+then
+ rm -f %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include-fixed/slang.h;
+fi
+
+if [ -f %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include-fixed/slang/slang.h ];
+then
+ rm -f %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include-fixed/slang/slang.h;
+fi
+
+if [ -f %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ssp/ssp.h ];
+then
+ rm -f %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ssp/ssp.h;
+fi
+
+if [ -f %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ssp/stdio.h ];
+then
+ rm -f %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ssp/stdio.h;
+fi
+
+if [ -f %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ssp/string.h ];
+then
+ rm -f %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ssp/string.h;
+fi
+
+if [ -f %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ssp/unistd.h ];
+then
+ rm -f %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ssp/unistd.h;
+fi
+
+if [ -f %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/install-tools/fixinc_list ];
+then
+ rm -f %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/install-tools/fixinc_list;
+fi
+
+if [ -f %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/install-tools/gsyslimits.h ];
+then
+ rm -f %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/install-tools/gsyslimits.h;
+fi
+
+if [ -f %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/install-tools/include/README ];
+then
+ rm -f %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/install-tools/include/README;
+fi
+
+if [ -f %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/install-tools/include/limits.h ];
+then
+ rm -f %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/install-tools/include/limits.h;
+fi
+
+if [ -f %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/install-tools/macro_list ];
+then
+ rm -f %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/install-tools/macro_list;
+fi
+
+if [ -f %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/install-tools/mkheaders.conf ];
+then
+ rm -f %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/install-tools/mkheaders.conf;
+fi
+
+if [ -f %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/install-tools/fixinc.sh ];
+then
+ rm -f %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/install-tools/fixinc.sh;
+fi
+
+if [ -f %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/install-tools/mkinstalldirs ];
+then
+ rm -f %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/install-tools/mkinstalldirs;
+fi
+
+if [ -f %{buildroot}%{_prefix}/share/locale/de/LC_MESSAGES/libstdc++.mo ];
+then
+ rm -f %{buildroot}%{_prefix}/share/locale/de/LC_MESSAGES/libstdc++.mo;
+fi
+
+if [ -f %{buildroot}%{_prefix}/share/locale/fr/LC_MESSAGES/libstdc++.mo ];
+then
+ rm -f %{buildroot}%{_prefix}/share/locale/fr/LC_MESSAGES/libstdc++.mo;
+fi
+
+%check
+cd obj-%{gcc_target_platform}
+
+# run the tests.
+%if %{check_enable}
+LC_ALL=C make %{?_smp_mflags} -k check ALT_CC_UNDER_TEST=gcc ALT_CXX_UNDER_TEST=g++ \
+ RUNTESTFLAGS="--target_board=unix/'{,-fstack-protector-strong}'" || :
+echo ====================TESTING=========================
+( LC_ALL=C ../contrib/test_summary || : ) 2>&1 | sed -n '/^cat.*EOF/,/^EOF/{/^cat.*EOF/d;/^EOF/d;/^LAST_UPDATED:/d;p;}'
+echo ====================TESTING END=====================
+mkdir testlogs-%{_target_platform}-%{version}-%{release}
+for i in `find . -name \*.log | grep -F testsuite/ | grep -v 'config.log\|acats.*/tests/'`; do
+ ln $i testlogs-%{_target_platform}-%{version}-%{release}/ || :
+done
+tar cf - testlogs-%{_target_platform}-%{version}-%{release} | xz -9e \
+ | uuencode testlogs-%{_target_platform}.tar.xz || :
+rm -rf testlogs-%{_target_platform}-%{version}-%{release}
+%endif
+
+%post go
+%{_sbindir}/update-alternatives --install \
+ %{_prefix}/bin/go go %{_prefix}/bin/go.gcc 92 \
+ --slave %{_prefix}/bin/gofmt gofmt %{_prefix}/bin/gofmt.gcc
+
+%preun go
+if [ $1 = 0 ]; then
+ %{_sbindir}/update-alternatives --remove go %{_prefix}/bin/go.gcc
+fi
+
+# Because glibc Prereq's libgcc and /sbin/ldconfig
+# comes from glibc, it might not exist yet when
+# libgcc is installed
+%post -n libgcc -p <lua>
+if posix.access ("/sbin/ldconfig", "x") then
+ local pid = posix.fork ()
+ if pid == 0 then
+ posix.exec ("/sbin/ldconfig")
+ elseif pid ~= -1 then
+ posix.wait (pid)
+ end
+end
+
+%postun -n libgcc -p <lua>
+if posix.access ("/sbin/ldconfig", "x") then
+ local pid = posix.fork ()
+ if pid == 0 then
+ posix.exec ("/sbin/ldconfig")
+ elseif pid ~= -1 then
+ posix.wait (pid)
+ end
+end
+
+%ldconfig_scriptlets -n libstdc++
+
+%ldconfig_scriptlets -n libobjc
+
+%ldconfig_scriptlets -n libgfortran
+
+%ldconfig_scriptlets -n libgphobos
+
+%ldconfig_scriptlets -n libgnat
+
+%ldconfig_scriptlets -n libgomp
+
+%ldconfig_scriptlets gdb-plugin
+
+%ldconfig_scriptlets -n libgccjit
+
+%ldconfig_scriptlets -n libquadmath
+
+%ldconfig_scriptlets -n libitm
+
+%ldconfig_scriptlets -n libatomic
+
+%ldconfig_scriptlets -n libasan
+
+%ldconfig_scriptlets -n libubsan
+
+%ldconfig_scriptlets -n libtsan
+
+%ldconfig_scriptlets -n liblsan
+
+%ldconfig_scriptlets -n libgo
+
+%files -f %{name}.lang
+%{_prefix}/bin/cc
+%{_prefix}/bin/c89
+%{_prefix}/bin/c99
+%{_prefix}/bin/gcc
+%{_prefix}/bin/gcov
+%{_prefix}/bin/gcov-tool
+%{_prefix}/bin/gcov-dump
+%{_prefix}/bin/gcc-ar
+%{_prefix}/bin/gcc-nm
+%{_prefix}/bin/gcc-ranlib
+%{_prefix}/bin/lto-dump
+%ifarch ppc
+%{_prefix}/bin/%{_target_platform}-gcc
+%endif
+%ifarch sparc64 sparcv9
+%{_prefix}/bin/sparc-%{_vendor}-%{_target_os}-gcc
+%endif
+%ifarch ppc64 ppc64p7
+%{_prefix}/bin/ppc-%{_vendor}-%{_target_os}-gcc
+%endif
+%{_prefix}/bin/%{gcc_target_platform}-gcc*
+%{_mandir}/man1/gcc.1*
+%{_mandir}/man1/gcov.1*
+%{_mandir}/man1/gcov-tool.1*
+%{_mandir}/man1/gcov-dump.1*
+%{_mandir}/man1/lto-dump.1*
+%{_mandir}/man7/*
+%{_infodir}/gcc*
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/libexec/gcc
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/lto1
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/lto-wrapper
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/liblto_plugin.so*
+%{_libdir}/bfd-plugins/liblto_plugin.so
+%{_prefix}/libexec/gcc/onnx.fdata
+%{_prefix}/libexec/gcc/optimizer.fdata
+%ifarch aarch64
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/libbolt_plugin.so*
+%endif
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/rpmver
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stddef.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdarg.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdfix.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/varargs.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/float.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/limits.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdbool.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/iso646.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/syslimits.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/unwind.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/omp.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/openacc.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/acc_prof.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdint.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdint-gcc.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdalign.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdnoreturn.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdatomic.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/gcov.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/simdmath.h
+%ifarch %{ix86} x86_64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xmmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/emmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/pmmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/tmmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ammintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/smmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/nmmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/bmmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/wmmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/immintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avxintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/x86intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/fma4intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xopintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/lwpintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/popcntintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/bmiintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/tbmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ia32intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx2intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/bmi2intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/f16cintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/fmaintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/lzcntintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/rtmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xtestintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/adxintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/prfchwintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/rdseedintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/fxsrintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xsaveintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xsaveoptintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512cdintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512erintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512fintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512pfintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/shaintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mm_malloc.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mm3dnow.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cpuid.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cross-stdarg.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512bwintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512dqintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512ifmaintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512ifmavlintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vbmiintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vbmivlintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vlbwintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vldqintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vlintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/clflushoptintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/clwbintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mwaitxintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xsavecintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xsavesintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/clzerointrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/pkuintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx5124fmapsintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx5124vnniwintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vpopcntdqintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/sgxintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/gfniintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cetintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cet.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vbmi2intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vbmi2vlintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vnniintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vnnivlintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/vaesintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/vpclmulqdqintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vpopcntdqvlintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512bitalgintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/pconfigintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/wbnoinvdintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/movdirintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/waitpkgintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cldemoteintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512bf16vlintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512bf16intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/enqcmdintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vp2intersectintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vp2intersectvlintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/serializeintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/tsxldtrkintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amxtileintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amxint8intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amxbf16intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amxfp16intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amxcomplexintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/x86gprintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/uintrintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/hresetintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/keylockerintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/prfchiintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avxvnniintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mwaitintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512fp16intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512fp16vlintrin.h
+%endif
+%ifarch ia64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ia64intrin.h
+%endif
+%ifarch ppc ppc64 ppc64le ppc64p7
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ppc-asm.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/altivec.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ppu_intrinsics.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/si2vmx.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/spu2vmx.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/vec_types.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/htmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/htmxlintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/bmi2intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/bmiintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xmmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mm_malloc.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/emmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/x86intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/pmmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/tmmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/smmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amo.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/nmmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/immintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/x86gprintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/rs6000-vecdefines.h
+%endif
+%ifarch %{arm}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/unwind-arm-common.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_neon.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_acle.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_cmse.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_fp16.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_bf16.h
+%endif
+%ifarch aarch64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_neon.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_acle.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_fp16.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_bf16.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_sve.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_sme.h
+%endif
+%ifarch loongarch64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/larchintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/include/config/loongarch/loongarch-protos.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/include/config/loongarch/loongarch-opts.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/include/config/loongarch/loongarch-str.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/include/config/loongarch/loongarch-def.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/include/config/loongarch/loongarch-tune.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/include/config/loongarch/loongarch-driver.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/lsxintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/lasxintrin.h
+%endif
+%ifarch sparc sparcv9 sparc64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/visintrin.h
+%endif
+%ifarch s390 s390x
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/s390intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/htmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/htmxlintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/vecintrin.h
+%endif
+%ifarch sw_64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/include/config/sw_64/sw_64-protos.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/include/config/sw_64/sw_64.h
+%endif
+%if %{build_libasan}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/sanitizer
+%endif
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/collect2
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/crt*.o
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgcc.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgcov.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgcc_eh.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgcc_s.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgomp.spec
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgomp.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgomp.so
+%if %{build_libitm}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.spec
+%endif
+%if %{build_libasan}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libsanitizer.spec
+%endif
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/crt*.o
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgcc.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgcov.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgcc_eh.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgcc_s.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgomp.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgomp.so
+%if %{build_libquadmath}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libquadmath.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libquadmath.so
+%endif
+%if %{build_libitm}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libitm.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libitm.so
+%endif
+%if %{build_libatomic}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libatomic.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libatomic.so
+%endif
+%if %{build_libasan}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libasan.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libasan.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libasan_preinit.o
+%endif
+%if %{build_libubsan}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libubsan.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libubsan.so
+%endif
+%endif
+%ifarch %{multilib_64_archs}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/crt*.o
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgcc.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgcov.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgcc_eh.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgcc_s.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgomp.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgomp.so
+%if %{build_libquadmath}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libquadmath.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libquadmath.so
+%endif
+%if %{build_libitm}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libitm.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libitm.so
+%endif
+%if %{build_libatomic}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libatomic.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libatomic.so
+%endif
+%if %{build_libasan}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libasan.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libasan.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libasan_preinit.o
+%endif
+%if %{build_libubsan}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libubsan.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libubsan.so
+%endif
+%endif
+%ifarch sparcv9 sparc64 ppc ppc64 ppc64p7
+%if %{build_libquadmath}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.so
+%endif
+%if %{build_libitm}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.so
+%endif
+%if %{build_libatomic}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.so
+%endif
+%if %{build_libasan}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan_preinit.o
+%endif
+%if %{build_libubsan}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libubsan.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libubsan.so
+%endif
+%else
+%if %{build_libatomic}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.so
+%endif
+%if %{build_libasan}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan_preinit.o
+%endif
+%if %{build_libubsan}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libubsan.so
+%endif
+%endif
+%if %{build_libtsan}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan_preinit.o
+%endif
+%if %{build_liblsan}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/liblsan.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/liblsan_preinit.o
+%endif
+%{_prefix}/libexec/getconf/default
+%doc gcc/README* rpm.doc/changelogs/gcc/ChangeLog*
+%{!?_licensedir:%global license %%doc}
+%license gcc/COPYING* COPYING.RUNTIME
+
+%files -n cpp -f cpplib.lang
+%{_prefix}/lib/cpp
+%{_prefix}/bin/cpp
+%{_mandir}/man1/cpp.1*
+%{_infodir}/cpp*
+%dir %{_prefix}/libexec/gcc
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cc1
+
+%files -n libgcc
+/%{_lib}/libgcc_s-%{gcc_major}.so.1
+/%{_lib}/libgcc_s.so.1
+%{!?_licensedir:%global license %%doc}
+%license gcc/COPYING* COPYING.RUNTIME
+
+%files c++
+%{_prefix}/bin/%{gcc_target_platform}-*++
+%{_prefix}/bin/g++
+%{_prefix}/bin/c++
+%{_mandir}/man1/g++.1*
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/libexec/gcc
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cc1plus
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/g++-mapper-server
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++fs.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++_libbacktrace.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libsupc++.a
+%endif
+%ifarch %{multilib_64_archs}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++fs.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++_libbacktrace.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libsupc++.a
+%endif
+%ifarch sparcv9 ppc %{multilib_64_archs}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++.so
+%endif
+%ifarch sparcv9 sparc64 ppc ppc64 ppc64p7
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++fs.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++_libbacktrace.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libsupc++.a
+%endif
+%doc rpm.doc/changelogs/gcc/cp/ChangeLog*
+
+%files -n libstdc++
+%{_prefix}/%{_lib}/libstdc++.so.6*
+%dir %{_datadir}/gdb
+%dir %{_datadir}/gdb/auto-load
+%dir %{_datadir}/gdb/auto-load/%{_prefix}
+%dir %{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/
+# Package symlink to keep compatibility
+%ifarch riscv64
+%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/lp64d
+%endif
+%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/libstdc*gdb.py*
+%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/__pycache__
+%dir %{_prefix}/share/gcc-%{gcc_major}
+%dir %{_prefix}/share/gcc-%{gcc_major}/python
+%{_prefix}/share/gcc-%{gcc_major}/python/libstdcxx
+
+%files -n libstdc++-devel
+%dir %{_prefix}/include/c++
+%{_prefix}/include/c++/%{gcc_major}
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%ifnarch sparcv9 ppc %{multilib_64_archs}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++.so
+%endif
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libstdc++fs.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libstdc++_libbacktrace.a
+%endif
+%ifarch sparc64 ppc64 ppc64p7
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libstdc++fs.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libstdc++_libbacktrace.a
+%endif
+%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++fs.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++_libbacktrace.a
+%endif
+%doc rpm.doc/changelogs/libstdc++-v3/ChangeLog* libstdc++-v3/README*
+
+%files -n libstdc++-static
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libstdc++.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libsupc++.a
+%endif
+%ifarch sparc64 ppc64 ppc64p7
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libstdc++.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libsupc++.a
+%endif
+%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libsupc++.a
+%endif
+
+%if %{build_libstdcxx_docs}
+%files -n libstdc++-docs
+%{_mandir}/man3/*
+%doc rpm.doc/libstdc++-v3/html
+%endif
+
+%if %{build_objc}
+%files objc
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/libexec/gcc
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/objc
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cc1obj
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libobjc.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libobjc.so
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libobjc.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libobjc.so
+%endif
+%ifarch %{multilib_64_archs}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libobjc.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libobjc.so
+%endif
+%doc rpm.doc/objc/*
+%doc libobjc/THREADS* rpm.doc/changelogs/libobjc/ChangeLog*
+
+%files objc++
+%dir %{_prefix}/libexec/gcc
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cc1objplus
+
+%files -n libobjc
+%{_prefix}/%{_lib}/libobjc.so.4*
+%endif
+
+%files gfortran
+%{_prefix}/bin/gfortran
+%{_prefix}/bin/f95
+%{_mandir}/man1/gfortran.1*
+%{_infodir}/gfortran*
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/libexec/gcc
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ISO_Fortran_binding.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/omp_lib.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/omp_lib.f90
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/omp_lib.mod
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/omp_lib_kinds.mod
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/openacc.f90
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/openacc.mod
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/openacc_kinds.mod
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/openacc_lib.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/ieee_arithmetic.mod
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/ieee_exceptions.mod
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/ieee_features.mod
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/simdmath_f.h
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/f951
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgfortran.spec
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libcaf_single.a
+%ifarch sparcv9 sparc64 ppc ppc64 ppc64p7
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgfortran.a
+%endif
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgfortran.so
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libcaf_single.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgfortran.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgfortran.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/finclude
+%endif
+%ifarch %{multilib_64_archs}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libcaf_single.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgfortran.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgfortran.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/finclude
+%endif
+%dir %{_fmoddir}
+%doc rpm.doc/gfortran/*
+
+%files -n libgfortran
+%{_prefix}/%{_lib}/libgfortran.so.5*
+
+%files -n libgfortran-static
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libgfortran.a
+%endif
+%ifarch sparc64 ppc64 ppc64p7
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libgfortran.a
+%endif
+%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgfortran.a
+%endif
+
+%if %{build_d}
+%files gdc
+%{_prefix}/bin/gdc
+%{_mandir}/man1/gdc.1*
+%{_infodir}/gdc*
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/libexec/gcc
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/d
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/d21
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgphobos.spec
+%ifarch sparcv9 sparc64 ppc ppc64 ppc64p7
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgdruntime.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgphobos.a
+%endif
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgdruntime.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgphobos.so
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgdruntime.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgphobos.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgdruntime.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgphobos.so
+%endif
+%ifarch %{multilib_64_archs}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgdruntime.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgphobos.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgdruntime.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgphobos.so
+%endif
+%doc rpm.doc/gdc/*
+
+%files -n libgphobos
+%{_prefix}/%{_lib}/libgdruntime.so.3*
+%{_prefix}/%{_lib}/libgphobos.so.3*
+%doc rpm.doc/libphobos/*
+
+%files -n libgphobos-static
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libgdruntime.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libgphobos.a
+%endif
+%ifarch sparc64 ppc64 ppc64p7
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libgdruntime.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libgphobos.a
+%endif
+%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgdruntime.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgphobos.a
+%endif
+%endif
+
+%if %{build_ada}
+%files gnat
+%{_prefix}/bin/gnat
+%{_prefix}/bin/gnat[^i]*
+%{_infodir}/gnat*
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/libexec/gcc
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/adainclude
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/adalib
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/ada_target_properties
+%endif
+%ifarch %{multilib_64_archs}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/adainclude
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/adalib
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/ada_target_properties
+%endif
+%ifarch sparcv9 sparc64 ppc ppc64 ppc64p7
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adainclude
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adalib
+%endif
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/ada_target_properties
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/gnat1
+%doc rpm.doc/changelogs/gcc/ada/ChangeLog*
+
+%files -n libgnat
+%{_prefix}/%{_lib}/libgnat-*.so
+%{_prefix}/%{_lib}/libgnarl-*.so
+
+%files -n libgnat-devel
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/adainclude
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/adalib
+%exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/adalib/libgnat.a
+%exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/adalib/libgnarl.a
+%endif
+%ifarch sparc64 ppc64 ppc64p7
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/adainclude
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/adalib
+%exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/adalib/libgnat.a
+%exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/adalib/libgnarl.a
+%endif
+%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adainclude
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adalib
+%exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adalib/libgnat.a
+%exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adalib/libgnarl.a
+%endif
+
+%files -n libgnat-static
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/adalib
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/adalib/libgnat.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/adalib/libgnarl.a
+%endif
+%ifarch sparc64 ppc64 ppc64p7
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/adalib
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/adalib/libgnat.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/adalib/libgnarl.a
+%endif
+%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adalib
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adalib/libgnat.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adalib/libgnarl.a
+%endif
+%endif
+
+%files -n libgomp
+%{_prefix}/%{_lib}/libgomp.so.1*
+%{_infodir}/libgomp.info*
+%doc rpm.doc/changelogs/libgomp/ChangeLog*
+
+%if %{build_libquadmath}
+%files -n libquadmath
+%{_prefix}/%{_lib}/libquadmath.so.0*
+%{_infodir}/libquadmath.info*
+%{!?_licensedir:%global license %%doc}
+%license rpm.doc/libquadmath/COPYING*
+
+%files -n libquadmath-devel
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/quadmath.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/quadmath_weak.h
+%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.so
+%endif
+%doc rpm.doc/libquadmath/ChangeLog*
+
+%files -n libquadmath-static
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libquadmath.a
+%endif
+%ifarch sparc64 ppc64 ppc64p7
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libquadmath.a
+%endif
+%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.a
+%endif
+%endif
+
+%if %{build_libitm}
+%files -n libitm
+%{_prefix}/%{_lib}/libitm.so.1*
+%{_infodir}/libitm.info*
+
+%files -n libitm-devel
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include
+#%%{_prefix}/lib/gcc/%%{gcc_target_platform}/%%{gcc_major}/include/itm.h
+#%%{_prefix}/lib/gcc/%%{gcc_target_platform}/%%{gcc_major}/include/itm_weak.h
+%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.so
+%endif
+%doc rpm.doc/libitm/ChangeLog*
+
+%files -n libitm-static
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libitm.a
+%endif
+%ifarch sparc64 ppc64 ppc64p7
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libitm.a
+%endif
+%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.a
+%endif
+%endif
+
+%if %{build_libatomic}
+%files -n libatomic
+%{_prefix}/%{_lib}/libatomic.so.1*
+
+%files -n libatomic-static
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libatomic.a
+%endif
+%ifarch sparc64 ppc64 ppc64p7
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libatomic.a
+%endif
+%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.a
+%endif
+%doc rpm.doc/changelogs/libatomic/ChangeLog*
+%endif
+
+%if %{build_libasan}
+%files -n libasan
+%{_prefix}/%{_lib}/libasan.so.8*
+
+%files -n libasan-static
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libasan.a
+%endif
+%ifarch sparc64 ppc64 ppc64p7
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libasan.a
+%endif
+%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan.a
+%endif
+%doc rpm.doc/changelogs/libsanitizer/ChangeLog*
+%{!?_licensedir:%global license %%doc}
+%license libsanitizer/LICENSE.TXT
+%endif
+
+%if %{build_libubsan}
+%files -n libubsan
+%{_prefix}/%{_lib}/libubsan.so.1*
+
+%files -n libubsan-static
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libubsan.a
+%endif
+%ifarch sparc64 ppc64 ppc64p7
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libubsan.a
+%endif
+%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libubsan.a
+%endif
+%doc rpm.doc/changelogs/libsanitizer/ChangeLog*
+%{!?_licensedir:%global license %%doc}
+%license libsanitizer/LICENSE.TXT
+%endif
+
+%if %{build_libtsan}
+%files -n libtsan
+%{_prefix}/%{_lib}/libtsan.so.2*
+
+%files -n libtsan-static
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan.a
+%doc rpm.doc/changelogs/libsanitizer/ChangeLog*
+%{!?_licensedir:%global license %%doc}
+%license libsanitizer/LICENSE.TXT
+%endif
+
+%if %{build_liblsan}
+%files -n liblsan
+%{_prefix}/%{_lib}/liblsan.so.0*
+
+%files -n liblsan-static
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/liblsan.a
+%doc rpm.doc/changelogs/libsanitizer/ChangeLog*
+%{!?_licensedir:%global license %%doc}
+%license libsanitizer/LICENSE.TXT
+%endif
+
+%if %{build_go}
+%files go
+%ghost %{_prefix}/bin/go
+%attr(755,root,root) %{_prefix}/bin/go.gcc
+%{_prefix}/bin/gccgo
+%ghost %{_prefix}/bin/gofmt
+%attr(755,root,root) %{_prefix}/bin/gofmt.gcc
+%{_mandir}/man1/gccgo.1*
+%{_mandir}/man1/go.1*
+%{_mandir}/man1/gofmt.1*
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/libexec/gcc
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/go1
+%attr(755,root,root) %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cgo
+%attr(755,root,root) %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/buildid
+%attr(755,root,root) %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/test2json
+%attr(755,root,root) %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/vet
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgo.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgo.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgobegin.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgolibbegin.a
+%endif
+%ifarch %{multilib_64_archs}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgo.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgo.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgobegin.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgolibbegin.a
+%endif
+%ifarch sparcv9 ppc %{multilib_64_archs}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgo.so
+%endif
+%ifarch sparcv9 sparc64 ppc ppc64 ppc64p7
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgo.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgobegin.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgolibbegin.a
+%endif
+%doc rpm.doc/go/*
+
+%files -n libgo
+%attr(755,root,root) %{_prefix}/%{_lib}/libgo.so.21*
+%doc rpm.doc/libgo/*
+
+%files -n libgo-devel
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/%{_lib}/go
+%dir %{_prefix}/%{_lib}/go/%{gcc_major}
+%{_prefix}/%{_lib}/go/%{gcc_major}/%{gcc_target_platform}
+%ifarch %{multilib_64_archs}
+%ifnarch sparc64 ppc64 ppc64p7
+%dir %{_prefix}/lib/go
+%dir %{_prefix}/lib/go/%{gcc_major}
+%{_prefix}/lib/go/%{gcc_major}/%{gcc_target_platform}
+%endif
+%endif
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libgobegin.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libgolibbegin.a
+%endif
+%ifarch sparc64 ppc64 ppc64p7
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libgobegin.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libgolibbegin.a
+%endif
+%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgobegin.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgolibbegin.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgo.so
+%endif
+
+%files -n libgo-static
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libgo.a
+%endif
+%ifarch sparc64 ppc64 ppc64p7
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libgo.a
+%endif
+%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgo.a
+%endif
+%endif
+
+%files -n libgccjit
+%{_prefix}/%{_lib}/libgccjit.so.*
+%doc rpm.doc/changelogs/gcc/jit/ChangeLog*
+
+%files -n libgccjit-devel
+%{_prefix}/%{_lib}/libgccjit.so
+%{_prefix}/include/libgccjit*.h
+%{_infodir}/libgccjit.info*
+%doc rpm.doc/libgccjit-devel/*
+%doc gcc/jit/docs/examples
+
+%files plugin-devel
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/gtype.state
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/include
+%dir %{_prefix}/libexec/gcc
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/plugin
+
+%files gdb-plugin
+%{_prefix}/%{_lib}/libcc1.so*
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/libcc1plugin.so*
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/libcp1plugin.so*
+%doc rpm.doc/changelogs/libcc1/ChangeLog*
+
+%changelog
+* Sat Dec 21 2024 rfwang07 <wangrufeng5@huawei.com> - 12.3.1-63
+- Type:Bugfix
+- ID:NA
+- SUG:NA
+- DESC:Fix function missing return value.
+
+* Wed Dec 18 2024 Mingchuan Wu <wumingchuan1992@foxmail.com> - 12.3.1-62
+- Type:Sync
+- ID:NA
+- SUG:NA
+- DESC: Sync patches from openeuler/gcc.
+
+* Mon Dec 16 2024 huzife <634763349@qq.com> - 12.3.1-61
+- Type:Bugfix
+- ID:NA
+- SUG:NA
+- DESC:Add checking for ssa_name in if-split
+
+* Mon Dec 16 2024 huang-xiaoquan <huangxiaoquan1@huawei.com> - 12.3.1-60
+- Type:Bugfix
+- ID:NA
+- SUG:NA
+- DESC:Adjust the same gate to use struct option.
+
+* Wed Dec 11 2024 Zhenyu Zhao <zhaozhenyu17@huawei.com> - 12.3.1-59
+- Type:Sync
+- ID:NA
+- SUG:NA
+- DESC: Sync patches from openeuler/gcc.
+
+* Tue Dec 10 2024 huzife <634763349@qq.com> - 12.3.1-58
+- Type:Bugfix
+- ID:NA
+- SUG:NA
+- DESC: Fix bugs in cmlt, replace tmp pattern split.
+
+* Mon Dec 09 2024 liyancheng <412998149@qq.com> - 12.3.1-57
+- Type:Bugfix
+- ID:NA
+- SUG:NA
+- DESC: Fix bugs in strcut-reorg and ipa-prefetch.
+
+* Sat Dec 07 2024 huzife <634763349@qq.com> - 12.3.1-56
+- Type:Bugfix
+- ID:NA
+- SUG:NA
+- DESC: Fix bugs for if-split.
+
+* Wed Dec 04 2024 liyancheng <412998149@qq.com> - 12.3.1-55
+- Type:Bugfix
+- ID:NA
+- SUG:NA
+- DESC: Fix bugs for cspgo.
+
+* Wed Dec 04 2024 Zhenyu Zhao <zhaozhenyu17@huawei.com> - 12.3.1-54
+- Type:Sync
+- ID:NA
+- SUG:NA
+- DESC:Sync patches from openeuler/gcc.
+
+* Wed Dec 04 2024 Zhenyu Zhao <zhaozhenyu17@huawei.com> - 12.3.1-53
+- Type:Sync
+- ID:NA
+- SUG:NA
+- DESC:Sync patches from openeuler/gcc.
+
+* Wed Dec 04 2024 Zhenyu Zhao <zhaozhenyu17@huawei.com> - 12.3.1-52
+- Type:Sync
+- ID:NA
+- SUG:NA
+- DESC:Bugfix add no var recored check for ssa_name in struct reorg.
+
+* Wed Dec 04 2024 Mingchuan Wu <wumingchuan1992@foxmail.com> - 12.3.1-51
+- Type:Sync
+- ID:NA
+- SUG:NA
+- DESC:Sync [late-SLP], [tracer-opt], [bugfix4hip09] patches from openeuler/gcc.
+
+* Thu Nov 28 2024 swcompiler <lc@wxiat.com> - 12.3.1-50
+- Type: Sw64
+- DESC:
+- Add sw64 architecture support.
+
+* Wed Nov 27 2024 liyancheng <412998149@qq.com> - 12.3.1-49
+- Type: Sync
+- DESC: Add if split optimization
+
+* Wed Nov 27 2024 Peng Fan <fanpeng@loongson.cn> - 12.3.1-48
+- Type: BUGFIX
+- DESC:
+- LoongArch: Allow attributes in non-gnu namespaces.
+
+* Wed Nov 27 2024 liyancheng <412998149@qq.com> - 12.3.1-47
+- Type: Sync
+- DESC: Add cfgo-pgo optimization
+
+* Wed Nov 27 2024 liyancheng <412998149@qq.com> - 12.3.1-46
+- Type: Sync
+- DESC: Add context sensitive PGO
+
+* Mon Nov 25 2024 Peng Fan <fanpeng@loongson.cn> - 12.3.1-45
+- Type: BUGFIX
+- DESC:
+- Fix indentation and numbering errors in makefile.
+
+* Thu Nov 21 2024 jchzhou <zhoujiacheng@iscas.ac.cn> - 12.3.1-44
+- Type: Sync
+- DESC: Sync patches for fixing building issues with clang
+- Source: https://gitee.com/openeuler/gcc/pulls/239
+
+* Thu Nov 21 2024 YunQiang Su <yunqiang@isrc.iscas.ac.cn> - 12.3.1-43
+- Type: Sync
+- DESC: RISC-V: Install libstdc++/libcc1 etc to /lib64 instead of lib
+
+* Thu Nov 21 2024 Feiyang Liu <liufeiyang6@huawei.com> - 12.3.1-42
+- Type:bugfix
+- ID:NA
+- SUG:NA
+- DESC:Sync backport patch varasm-Handle-private-COMDAT from upstream.
+
+* Thu Nov 21 2024 liyancheng <412998149@qq.com> - 12.3.1-41
+- Type:Sync
+- ID:NA
+- SUG:NA
+- DESC:Multi-version lto symbol parse and lto units ipa-inline extension
+
+* Thu Nov 21 2024 liyancheng <412998149@qq.com> - 12.3.1-40
+- Type:bugfix
+- ID:NA
+- SUG:NA
+- DESC:Add missing header file for x86
+
+* Thu Nov 21 2024 huangzifeng <huangzifeng6@huawei.com> - 12.3.1-39
+- Type:Sync
+- ID:NA
+- SUG:NA
+- DESC:Sync patches from openeuler/gcc
+
+* Thu Nov 21 2024 huangzifeng <huangzifeng6@huawei.com> - 12.3.1-38
+- Type:Sync
+- ID:NA
+- SUG:NA
+- DESC:Sync patches from branch openEuler-24.09
+
+* Wed Nov 20 2024 Hu,Lin1 <lin1.hu@inte.com> - 12.3.1-37
+- Type:Sync
+- ID:NA
+- SUG:NA
+- DESC: Sync some patch from src-openEuler/gcc's openeuler-24.09
+
+* Tue Nov 19 2024 eastb233 <xiezhiheng@huawei.com> - 12.3.1-36
+- Type:Sync
+- ID:NA
+- SUG:NA
+- DESC:Recover CVE-2023-4039
+
+* Mon Nov 18 2024 eastb233 <xiezhiheng@huawei.com> - 12.3.1-35
+- Type:Sync
+- ID:NA
+- SUG:NA
+- DESC:Apply SME patches
+
+* Mon Nov 18 2024 eastb233 <xiezhiheng@huawei.com> - 12.3.1-34
+- Type:Revert
+- ID:NA
+- SUG:NA
+- DESC:Revert CVE-2023-4039 to apply SME patches
+
+* Tue Nov 5 2024 Peng Fan <fanpeng@loongson.cn> - 12.3.1-33
+- Type: Sync
+- DESC:
+- LoongArch: Sync patch from upstream
+- Tweaks OSDIR are consistent with most other distributions.
+
+* Fri Sep 20 2024 fuanan <fuanan3@h-partners.com> - 12.3.1-32
+- Type:Sync
+- ID:NA
+- SUG:NA
+- DESC:Sync patch for CVE-2023-4039
+
+* Thu Jul 11 2024 huyubiao <huyubiao@huawei.com> - 12.3.1-31
+- Type:SPEC
+- ID:NA
+- SUG:NA
+- DESC:disable isl
+
+* Fri May 17 2024 Zhenyu Zhao <zhaozhenyu17@huawei.com> - 12.3.1-30
+- Type: Sync
+- DESC: Sync bug fix patch from openeuler/gcc
+
+* Sat May 11 2024 tiancheng-bao <baotiancheng1@huawei.com> - 12.3.1-29
+- Type: Sync
+- DESC: Sync bug fix patch from openeuler/gcc
+
+* Mon Apr 29 2024 huang-xiaoquan <huangxiaoquan1@huawei.com> - 12.3.1-28
+- Type: BUGFIX
+- DESC: StructReorderFields-Fix-gimple-call-not-rewritten.
+
+* Fri Apr 26 2024 Zhenyu Zhao <zhaozhenyu17@huawei.com> - 12.3.1-27
+- Type: BUGFIX
+- DESC: Update the configure file for BOLT.
+
+* Fri Apr 26 2024 Zheng Chenhui <zhengchenhui1@huawei.com> - 12.3.1-26
+- Type: Revert
+- DESC: Revert Intel patches.
+
+* Wed Apr 24 2024 Wang Ding <wangding16@huawei.com> - 12.3.1-25
+- Type: Sync
+- DESC: Sync patch from openeuler/gcc
+
+* Tue Apr 23 2024 laokz <zhangkai@iscas.ac.cn> - 12.3.1-24
+- Type: SPEC
+- DESC: riscv64 enable libasan, libusan package
+
+* Mon Apr 22 2024 Peng Fan <fanpeng@loongson.cn> - 12.3.1-23
+- DESC: Add LoongArch 3A6000 support
+
+* Fri Apr 12 2024 Zhengchen Hui <zhengchenhui1@huawei.com> - 12.3.1-22
+- Type: Sync
+- DESC: Sync patch from openeuler/gcc
+
+* Thu Apr 11 2024 Zhengchen Hui <zhengchenhui1@huawei.com> - 12.3.1-21
+- Type: Sync
+- DESC: Sync patch from openeuler/gcc
+
+* Thu Apr 11 2024 Zhenyu Zhao <zhaozhenyu17@huawei.com> - 12.3.1-20
+- Type: Sync
+- DESC: Sync patch from openeuler/gcc
+
+* Mon Apr 1 2024 Peng Fan <fanpeng@loongson.cn> 12.3.1-19
+- Type: SPEC
+- DESC: fix libcc1 file path for LoongArch.
+
+* Wed Mar 27 2024 Peng Fan <fanpeng@loongson.cn> 12.3.1-18
+- Type: Sync
+- DESC: Sync patch from gcc upstream
+- LoongArch: support libsanitizer
+- separate LoongArch's patch
+
+* Mon Jan 15 2024 laokz <zhangkai@iscas.ac.cn> 12.3.1-17
+- Type: SPEC
+- DESC: riscv64 -march default to rv64gc
+
+* Mon Sep 11 2023 dingguangya <dingguangya1@huawei.com> 12.3.1-16
+- Type: Sync
+- DESC: Sync patch from openeuler/gcc
+
+* Thu Sep 07 2023 zhaozhenyu <zhaozhenyu17@huawei.com> 12.3.1-15
+- Type: SPEC
+- DESC: Enable Strip for aarch64 and x86_64
+
+* Wed Sep 06 2023 eastb233 <xiezhiheng@huawei.com> 12.3.1-14
+- Type: Bugfix
+- DESC: Package simdmath.h and simdmath_f.h
+
+* Tue Sep 05 2023 liyancheng <412998149@qq.com> 12.3.1-13
+- Type: Bugfix
+- DESC: Remove installed but unpacked files
+
+* Tue Sep 05 2023 zhaozhenyu <zhaozhenyu17@huawei.com> 12.3.1-12
+- Type: SPEC
+- DESC: Enable Strip for gcc
+
+* Tue Sep 05 2023 huangxiaoquan <huangxiaoquan1@huawei.com> 12.3.1-11
+- Type: Sync
+- DESC: Sync patch from openeuler/gcc
+
+* Mon Sep 04 2023 dingguangya <dingguangya1@huawei.com> 12.3.1-10
+- Type: Sync
+- DESC: Sync patch from openeuler/gcc
+
+* Tue Aug 29 2023 huangxiaoquan <huangxiaoquan1@huawei.com> 12.3.1-9
+- Type: Sync
+- DESC: Sync patch from openeuler/gcc part 2
+
+* Tue Aug 29 2023 huangxiaoquan <huangxiaoquan1@huawei.com> 12.3.1-8
+- Type: Sync
+- DESC: Sync patch from openeuler/gcc
+
+* Fri Aug 11 2023 Hongyu Wang <hongyu.wang@intel.com> 12.3.1-7
+- Type:Sync
+- i386: Only enable small loop unrolling in backend [PR 107692].
+
+* Fri Aug 11 2023 Hongyu Wang <hongyu.wang@intel.com> 12.3.1-6
+- Type:Sync
+- Enable small loop unrolling for O2.
+
+* Fri Aug 11 2023 Cui,Lili <lili.cui@intel.com> 12.3.1-5
+- Type:Sync
+- Add attribute hot judgement for INLINE_HINT_known_hot hint.
+
+* Mon Jul 17 2023 huangxiaoquan <huangxiaoquan1@huawei.com> 12.3.1-4
+- Type:SPEC
+- DESC:Enable libquadmath on kunpeng
+
+* Fri Jul 14 2023 huangxiaoquan <huangxiaoquan1@huawei.com> 12.3.1-3
+- Type:Sync
+- DESC:Enable libquadmath on kunpeng
+
+* Tue Jul 11 2023 huangxiaoquan <huangxiaoquan1@huawei.com> 12.3.1-2
+- Type:SPEC
+- DESC:Set version to 12.3.1
+
+* Tue Jun 13 2023 huangxiaoquan <huangxiaoquan1@huawei.com> 12.3.0-1
+- Type:Init
+- DESC:Init GCC 12.3.0 repository