%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 < #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 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 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 - 12.3.1-63 - Type:Bugfix - ID:NA - SUG:NA - DESC:Fix function missing return value. * Wed Dec 18 2024 Mingchuan Wu - 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 - 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 - 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 - 12.3.1-54 - Type:Sync - ID:NA - SUG:NA - DESC:Sync patches from openeuler/gcc. * Wed Dec 04 2024 Zhenyu Zhao - 12.3.1-53 - Type:Sync - ID:NA - SUG:NA - DESC:Sync patches from openeuler/gcc. * Wed Dec 04 2024 Zhenyu Zhao - 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 - 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 - 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 - 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 - 12.3.1-45 - Type: BUGFIX - DESC: - Fix indentation and numbering errors in makefile. * Thu Nov 21 2024 jchzhou - 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 - 12.3.1-43 - Type: Sync - DESC: RISC-V: Install libstdc++/libcc1 etc to /lib64 instead of lib * Thu Nov 21 2024 Feiyang Liu - 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 - 12.3.1-39 - Type:Sync - ID:NA - SUG:NA - DESC:Sync patches from openeuler/gcc * Thu Nov 21 2024 huangzifeng - 12.3.1-38 - Type:Sync - ID:NA - SUG:NA - DESC:Sync patches from branch openEuler-24.09 * Wed Nov 20 2024 Hu,Lin1 - 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 - 12.3.1-36 - Type:Sync - ID:NA - SUG:NA - DESC:Recover CVE-2023-4039 * Mon Nov 18 2024 eastb233 - 12.3.1-35 - Type:Sync - ID:NA - SUG:NA - DESC:Apply SME patches * Mon Nov 18 2024 eastb233 - 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 - 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 - 12.3.1-32 - Type:Sync - ID:NA - SUG:NA - DESC:Sync patch for CVE-2023-4039 * Thu Jul 11 2024 huyubiao - 12.3.1-31 - Type:SPEC - ID:NA - SUG:NA - DESC:disable isl * Fri May 17 2024 Zhenyu Zhao - 12.3.1-30 - Type: Sync - DESC: Sync bug fix patch from openeuler/gcc * Sat May 11 2024 tiancheng-bao - 12.3.1-29 - Type: Sync - DESC: Sync bug fix patch from openeuler/gcc * Mon Apr 29 2024 huang-xiaoquan - 12.3.1-28 - Type: BUGFIX - DESC: StructReorderFields-Fix-gimple-call-not-rewritten. * Fri Apr 26 2024 Zhenyu Zhao - 12.3.1-27 - Type: BUGFIX - DESC: Update the configure file for BOLT. * Fri Apr 26 2024 Zheng Chenhui - 12.3.1-26 - Type: Revert - DESC: Revert Intel patches. * Wed Apr 24 2024 Wang Ding - 12.3.1-25 - Type: Sync - DESC: Sync patch from openeuler/gcc * Tue Apr 23 2024 laokz - 12.3.1-24 - Type: SPEC - DESC: riscv64 enable libasan, libusan package * Mon Apr 22 2024 Peng Fan - 12.3.1-23 - DESC: Add LoongArch 3A6000 support * Fri Apr 12 2024 Zhengchen Hui - 12.3.1-22 - Type: Sync - DESC: Sync patch from openeuler/gcc * Thu Apr 11 2024 Zhengchen Hui - 12.3.1-21 - Type: Sync - DESC: Sync patch from openeuler/gcc * Thu Apr 11 2024 Zhenyu Zhao - 12.3.1-20 - Type: Sync - DESC: Sync patch from openeuler/gcc * Mon Apr 1 2024 Peng Fan 12.3.1-19 - Type: SPEC - DESC: fix libcc1 file path for LoongArch. * Wed Mar 27 2024 Peng Fan 12.3.1-18 - Type: Sync - DESC: Sync patch from gcc upstream - LoongArch: support libsanitizer - separate LoongArch's patch * Mon Jan 15 2024 laokz 12.3.1-17 - Type: SPEC - DESC: riscv64 -march default to rv64gc * Mon Sep 11 2023 dingguangya 12.3.1-16 - Type: Sync - DESC: Sync patch from openeuler/gcc * Thu Sep 07 2023 zhaozhenyu 12.3.1-15 - Type: SPEC - DESC: Enable Strip for aarch64 and x86_64 * Wed Sep 06 2023 eastb233 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 12.3.1-12 - Type: SPEC - DESC: Enable Strip for gcc * Tue Sep 05 2023 huangxiaoquan 12.3.1-11 - Type: Sync - DESC: Sync patch from openeuler/gcc * Mon Sep 04 2023 dingguangya 12.3.1-10 - Type: Sync - DESC: Sync patch from openeuler/gcc * Tue Aug 29 2023 huangxiaoquan 12.3.1-9 - Type: Sync - DESC: Sync patch from openeuler/gcc part 2 * Tue Aug 29 2023 huangxiaoquan 12.3.1-8 - Type: Sync - DESC: Sync patch from openeuler/gcc * Fri Aug 11 2023 Hongyu Wang 12.3.1-7 - Type:Sync - i386: Only enable small loop unrolling in backend [PR 107692]. * Fri Aug 11 2023 Hongyu Wang 12.3.1-6 - Type:Sync - Enable small loop unrolling for O2. * Fri Aug 11 2023 Cui,Lili 12.3.1-5 - Type:Sync - Add attribute hot judgement for INLINE_HINT_known_hot hint. * Mon Jul 17 2023 huangxiaoquan 12.3.1-4 - Type:SPEC - DESC:Enable libquadmath on kunpeng * Fri Jul 14 2023 huangxiaoquan 12.3.1-3 - Type:Sync - DESC:Enable libquadmath on kunpeng * Tue Jul 11 2023 huangxiaoquan 12.3.1-2 - Type:SPEC - DESC:Set version to 12.3.1 * Tue Jun 13 2023 huangxiaoquan 12.3.0-1 - Type:Init - DESC:Init GCC 12.3.0 repository