694bc6
%global DATE 20220421
694bc6
%global gitrev 1d3172725999deb0dca93ac70393ed9a0ad0da3f
694bc6
%global gcc_version 11.3.1
e7fd42
%global gcc_major 11
e7fd42
# Note, gcc_release must be integer, if you want to add suffixes to
e7fd42
# %%{release}, append them after %%{gcc_release} on Release: line.
694bc6
%global gcc_release 2
e7fd42
%global nvptx_tools_gitrev 5f6f343a302d620b0868edab376c00b15741e39e
e7fd42
%global newlib_cygwin_gitrev 50e2a63b04bdd018484605fbb954fd1bd5147fa0
e7fd42
%global _unpackaged_files_terminate_build 0
e7fd42
%if 0%{?fedora} > 27 || 0%{?rhel} > 7
e7fd42
# Until annobin is fixed (#1519165).
e7fd42
%undefine _annotated_build
e7fd42
%endif
e7fd42
# Strip will fail on nvptx-none *.a archives and the brp-* scripts will
e7fd42
# fail randomly depending on what is stripped last.
e7fd42
%if 0%{?__brp_strip_static_archive:1}
e7fd42
%global __brp_strip_static_archive %{__brp_strip_static_archive} || :
e7fd42
%endif
e7fd42
%if 0%{?__brp_strip_lto:1}
e7fd42
%global __brp_strip_lto %{__brp_strip_lto} || :
e7fd42
%endif
e7fd42
%if 0%{?fedora} < 32 && 0%{?rhel} < 8
e7fd42
%global multilib_64_archs sparc64 ppc64 ppc64p7 s390x x86_64
e7fd42
%else
e7fd42
%global multilib_64_archs sparc64 ppc64 ppc64p7 x86_64
e7fd42
%endif
e7fd42
%if 0%{?rhel} > 7
e7fd42
%global build_ada 0
e7fd42
%global build_objc 0
e7fd42
%global build_go 0
e7fd42
%global build_d 0
e7fd42
%else
e7fd42
%ifarch %{ix86} x86_64 ia64 ppc %{power64} alpha s390x %{arm} aarch64 riscv64
e7fd42
%global build_ada 1
e7fd42
%else
e7fd42
%global build_ada 0
e7fd42
%endif
e7fd42
%global build_objc 1
e7fd42
%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 %{mips} riscv64
e7fd42
%global build_go 1
e7fd42
%else
e7fd42
%global build_go 0
e7fd42
%endif
e7fd42
%ifarch %{ix86} x86_64 %{arm} %{mips} s390 s390x riscv64
e7fd42
%global build_d 1
e7fd42
%else
e7fd42
%global build_d 0
e7fd42
%endif
e7fd42
%endif
e7fd42
%ifarch %{ix86} x86_64 ia64 ppc64le
e7fd42
%global build_libquadmath 1
e7fd42
%else
e7fd42
%global build_libquadmath 0
e7fd42
%endif
e7fd42
%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64
e7fd42
%global build_libasan 1
e7fd42
%else
e7fd42
%global build_libasan 0
e7fd42
%endif
e7fd42
%ifarch x86_64 ppc64 ppc64le aarch64
e7fd42
%global build_libtsan 1
e7fd42
%else
e7fd42
%global build_libtsan 0
e7fd42
%endif
e7fd42
%ifarch x86_64 ppc64 ppc64le aarch64
e7fd42
%global build_liblsan 1
e7fd42
%else
e7fd42
%global build_liblsan 0
e7fd42
%endif
e7fd42
%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64
e7fd42
%global build_libubsan 1
e7fd42
%else
e7fd42
%global build_libubsan 0
e7fd42
%endif
e7fd42
%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 %{mips} riscv64
e7fd42
%global build_libatomic 1
e7fd42
%else
e7fd42
%global build_libatomic 0
e7fd42
%endif
e7fd42
%ifarch %{ix86} x86_64 %{arm} alpha ppc ppc64 ppc64le ppc64p7 s390 s390x aarch64
e7fd42
%global build_libitm 1
e7fd42
%else
e7fd42
%global build_libitm 0
e7fd42
%endif
e7fd42
%if 0%{?rhel} > 8
e7fd42
%global build_isl 0
e7fd42
%else
e7fd42
%global build_isl 1
e7fd42
%endif
e7fd42
%global build_libstdcxx_docs 1
e7fd42
%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 %{mips}
e7fd42
%global attr_ifunc 1
e7fd42
%else
e7fd42
%global attr_ifunc 0
e7fd42
%endif
e7fd42
%ifarch x86_64 ppc64le
e7fd42
%global build_offload_nvptx 1
e7fd42
%else
e7fd42
%global build_offload_nvptx 0
e7fd42
%endif
e7fd42
%if 0%{?fedora} < 32 && 0%{?rhel} < 8
e7fd42
%ifarch s390x
e7fd42
%global multilib_32_arch s390
e7fd42
%endif
e7fd42
%endif
e7fd42
%ifarch sparc64
e7fd42
%global multilib_32_arch sparcv9
e7fd42
%endif
e7fd42
%ifarch ppc64 ppc64p7
e7fd42
%global multilib_32_arch ppc
e7fd42
%endif
e7fd42
%ifarch x86_64
e7fd42
%global multilib_32_arch i686
e7fd42
%endif
e7fd42
Summary: Various compilers (C, C++, Objective-C, ...)
e7fd42
Name: gcc
e7fd42
Version: %{gcc_version}
694bc6
Release: %{gcc_release}.1%{?dist}
e7fd42
# libgcc, libgfortran, libgomp, libstdc++ and crtstuff have
e7fd42
# GCC Runtime Exception.
e7fd42
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
e7fd42
# The source for this package was pulled from upstream's vcs.
e7fd42
# %%{gitrev} is some commit from the
e7fd42
# https://gcc.gnu.org/git/?p=gcc.git;h=refs/vendors/redhat/heads/gcc-%%{gcc_major}-branch
e7fd42
# branch.  Use the following commands to generate the tarball:
e7fd42
# git clone --depth 1 git://gcc.gnu.org/git/gcc.git gcc-dir.tmp
e7fd42
# git --git-dir=gcc-dir.tmp/.git fetch --depth 1 origin %%{gitrev}
e7fd42
# git --git-dir=gcc-dir.tmp/.git archive --prefix=%%{name}-%%{version}-%%{DATE}/ %%{gitrev} | xz -9e > %%{name}-%%{version}-%%{DATE}.tar.xz
e7fd42
# rm -rf gcc-dir.tmp
e7fd42
Source0: gcc-%{version}-%{DATE}.tar.xz
e7fd42
# The source for nvptx-tools package was pulled from upstream's vcs.  Use the
e7fd42
# following commands to generate the tarball:
e7fd42
# git clone --depth 1 git://github.com/MentorEmbedded/nvptx-tools.git nvptx-tools-dir.tmp
e7fd42
# git --git-dir=nvptx-tools-dir.tmp/.git fetch --depth 1 origin %%{nvptx_tools_gitrev}
e7fd42
# git --git-dir=nvptx-tools-dir.tmp/.git archive --prefix=nvptx-tools-%%{nvptx_tools_gitrev}/ %%{nvptx_tools_gitrev} | xz -9e > nvptx-tools-%%{nvptx_tools_gitrev}.tar.xz
e7fd42
# rm -rf nvptx-tools-dir.tmp
e7fd42
Source1: nvptx-tools-%{nvptx_tools_gitrev}.tar.xz
e7fd42
# The source for nvptx-newlib package was pulled from upstream's vcs.  Use the
e7fd42
# following commands to generate the tarball:
e7fd42
# git clone git://sourceware.org/git/newlib-cygwin.git newlib-cygwin-dir.tmp
e7fd42
# git --git-dir=newlib-cygwin-dir.tmp/.git archive --prefix=newlib-cygwin-%%{newlib_cygwin_gitrev}/ %%{newlib_cygwin_gitrev} ":(exclude)newlib/libc/sys/linux/include/rpc/*.[hx]" | xz -9e > newlib-cygwin-%%{newlib_cygwin_gitrev}.tar.xz
e7fd42
# rm -rf newlib-cygwin-dir.tmp
e7fd42
Source2: newlib-cygwin-%{newlib_cygwin_gitrev}.tar.xz
e7fd42
%global isl_version 0.18
e7fd42
Source3: https://gcc.gnu.org/pub/gcc/infrastructure/isl-%{isl_version}.tar.bz2
e7fd42
URL: http://gcc.gnu.org
e7fd42
# Need binutils with -pie support >= 2.14.90.0.4-4
e7fd42
# Need binutils which can omit dot symbols and overlap .opd on ppc64 >= 2.15.91.0.2-4
e7fd42
# Need binutils which handle -msecure-plt on ppc >= 2.16.91.0.2-2
e7fd42
# Need binutils which support .weakref >= 2.16.91.0.3-1
e7fd42
# Need binutils which support --hash-style=gnu >= 2.17.50.0.2-7
e7fd42
# Need binutils which support mffgpr and mftgpr >= 2.17.50.0.2-8
e7fd42
# Need binutils which support --build-id >= 2.17.50.0.17-3
e7fd42
# Need binutils which support %%gnu_unique_object >= 2.19.51.0.14
e7fd42
# Need binutils which support .cfi_sections >= 2.19.51.0.14-33
e7fd42
# Need binutils which support --no-add-needed >= 2.20.51.0.2-12
e7fd42
# Need binutils which support -plugin
e7fd42
# Need binutils which support .loc view >= 2.30
e7fd42
# Need binutils which support --generate-missing-build-notes=yes >= 2.31
e7fd42
%if 0%{?fedora} >= 29 || 0%{?rhel} > 7
e7fd42
BuildRequires: binutils >= 2.31
e7fd42
%else
e7fd42
BuildRequires: binutils >= 2.24
e7fd42
%endif
e7fd42
# While gcc doesn't include statically linked binaries, during testing
e7fd42
# -static is used several times.
e7fd42
BuildRequires: glibc-static
e7fd42
BuildRequires: zlib-devel, gettext, dejagnu, bison, flex, sharutils
e7fd42
BuildRequires: texinfo, texinfo-tex, /usr/bin/pod2man
e7fd42
BuildRequires: systemtap-sdt-devel >= 1.3
e7fd42
BuildRequires: gmp-devel >= 4.1.2-8, mpfr-devel >= 3.1.0, libmpc-devel >= 0.8.1
e7fd42
BuildRequires: python3-devel, /usr/bin/python
e7fd42
BuildRequires: gcc, gcc-c++, make
e7fd42
%if %{build_go}
e7fd42
BuildRequires: hostname, procps
e7fd42
%endif
e7fd42
# For VTA guality testing
e7fd42
BuildRequires: gdb
e7fd42
# Make sure pthread.h doesn't contain __thread tokens
e7fd42
# Make sure glibc supports stack protector
e7fd42
# Make sure glibc supports DT_GNU_HASH
e7fd42
BuildRequires: glibc-devel >= 2.4.90-13
e7fd42
BuildRequires: elfutils-devel >= 0.147
e7fd42
BuildRequires: elfutils-libelf-devel >= 0.147
e7fd42
BuildRequires: libzstd-devel
e7fd42
%ifarch ppc ppc64 ppc64le ppc64p7 s390 s390x sparc sparcv9 alpha
e7fd42
# Make sure glibc supports TFmode long double
e7fd42
BuildRequires: glibc >= 2.3.90-35
e7fd42
%endif
e7fd42
%ifarch %{multilib_64_archs} sparcv9 ppc
e7fd42
# Ensure glibc{,-devel} is installed for both multilib arches
e7fd42
BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so
e7fd42
%endif
e7fd42
%if %{build_ada}
e7fd42
# Ada requires Ada to build
e7fd42
BuildRequires: gcc-gnat >= 3.1, libgnat >= 3.1
e7fd42
%endif
e7fd42
%ifarch ia64
e7fd42
BuildRequires: libunwind >= 0.98
e7fd42
%endif
e7fd42
%if %{build_libstdcxx_docs}
e7fd42
BuildRequires: doxygen >= 1.7.1
e7fd42
BuildRequires: graphviz, dblatex, texlive-collection-latex, docbook5-style-xsl
e7fd42
%endif
e7fd42
Requires: cpp = %{version}-%{release}
e7fd42
# Need .eh_frame ld optimizations
e7fd42
# Need proper visibility support
e7fd42
# Need -pie support
e7fd42
# Need --as-needed/--no-as-needed support
e7fd42
# On ppc64, need omit dot symbols support and --non-overlapping-opd
e7fd42
# Need binutils that owns /usr/bin/c++filt
e7fd42
# Need binutils that support .weakref
e7fd42
# Need binutils that supports --hash-style=gnu
e7fd42
# Need binutils that support mffgpr/mftgpr
e7fd42
# Need binutils that support --build-id
e7fd42
# Need binutils that support %%gnu_unique_object
e7fd42
# Need binutils that support .cfi_sections
e7fd42
# Need binutils that support --no-add-needed
e7fd42
# Need binutils that support -plugin
e7fd42
# Need binutils that support .loc view >= 2.30
e7fd42
# Need binutils which support --generate-missing-build-notes=yes >= 2.31
e7fd42
%if 0%{?fedora} >= 29 || 0%{?rhel} > 7
e7fd42
Requires: binutils >= 2.31
e7fd42
%else
e7fd42
Requires: binutils >= 2.24
e7fd42
%endif
e7fd42
# Make sure gdb will understand DW_FORM_strp
e7fd42
Conflicts: gdb < 5.1-2
e7fd42
Requires: glibc-devel >= 2.2.90-12
e7fd42
%ifarch ppc ppc64 ppc64le ppc64p7 s390 s390x sparc sparcv9 alpha
e7fd42
# Make sure glibc supports TFmode long double
e7fd42
Requires: glibc >= 2.3.90-35
e7fd42
%endif
e7fd42
%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
e7fd42
%ifarch %{arm}
e7fd42
Requires: glibc >= 2.16
e7fd42
%endif
e7fd42
%endif
e7fd42
Requires: libgcc >= %{version}-%{release}
e7fd42
Requires: libgomp = %{version}-%{release}
e7fd42
# lto-wrapper invokes make
e7fd42
Requires: make
e7fd42
%if !%{build_ada}
e7fd42
Obsoletes: gcc-gnat < %{version}-%{release}
e7fd42
%endif
e7fd42
Obsoletes: gcc-java < %{version}-%{release}
e7fd42
AutoReq: true
e7fd42
Provides: bundled(libiberty)
e7fd42
Provides: bundled(libbacktrace)
e7fd42
Provides: bundled(libffi)
e7fd42
Provides: gcc(major) = %{gcc_major}
e7fd42
e7fd42
Patch0: gcc11-hack.patch
e7fd42
Patch2: gcc11-sparc-config-detection.patch
e7fd42
Patch3: gcc11-libgomp-omp_h-multilib.patch
e7fd42
Patch4: gcc11-libtool-no-rpath.patch
e7fd42
Patch5: gcc11-isl-dl.patch
e7fd42
Patch6: gcc11-isl-dl2.patch
e7fd42
Patch7: gcc11-libstdc++-docs.patch
e7fd42
Patch8: gcc11-no-add-needed.patch
e7fd42
Patch9: gcc11-foffload-default.patch
e7fd42
Patch10: gcc11-Wno-format-security.patch
e7fd42
Patch11: gcc11-rh1574936.patch
e7fd42
Patch12: gcc11-d-shared-libphobos.patch
e7fd42
Patch14: gcc11-libgcc-link.patch
e7fd42
Patch15: gcc11-pr101786.patch
e7fd42
Patch16: gcc11-stringify-__VA_OPT__.patch
e7fd42
Patch17: gcc11-stringify-__VA_OPT__-2.patch
e7fd42
Patch18: gcc11-Wbidi-chars.patch
e7fd42
Patch19: gcc11-dg-ice-fixes.patch
e7fd42
Patch20: gcc11-relocatable-pch.patch
e7fd42
Patch21: gcc11-dejagnu-multiline.patch
e7fd42
Patch23: gcc11-pie.patch
e7fd42
Patch24: gcc11-bind-now.patch
694bc6
Patch25: gcc11-pr105331.patch
694bc6
# This can go once we rebase from GCC 11.
694bc6
Patch26: gcc11-rh2106262.patch
e7fd42
e7fd42
Patch100: gcc11-fortran-fdec-duplicates.patch
e7fd42
Patch101: gcc11-fortran-flogical-as-integer.patch
e7fd42
Patch102: gcc11-fortran-fdec-ichar.patch
e7fd42
Patch103: gcc11-fortran-fdec-non-integer-index.patch
e7fd42
Patch104: gcc11-fortran-fdec-old-init.patch
e7fd42
Patch105: gcc11-fortran-fdec-override-kind.patch
e7fd42
Patch106: gcc11-fortran-fdec-non-logical-if.patch
e7fd42
Patch107: gcc11-fortran-fdec-promotion.patch
e7fd42
Patch108: gcc11-fortran-fdec-sequence.patch
e7fd42
Patch109: gcc11-fortran-fdec-add-missing-indexes.patch
e7fd42
e7fd42
# On ARM EABI systems, we do want -gnueabi to be part of the
e7fd42
# target triple.
e7fd42
%ifnarch %{arm}
e7fd42
%global _gnu %{nil}
e7fd42
%else
e7fd42
%global _gnu -gnueabi
e7fd42
%endif
e7fd42
%ifarch sparcv9
e7fd42
%global gcc_target_platform sparc64-%{_vendor}-%{_target_os}
e7fd42
%endif
e7fd42
%ifarch ppc ppc64p7
e7fd42
%global gcc_target_platform ppc64-%{_vendor}-%{_target_os}
e7fd42
%endif
e7fd42
%ifnarch sparcv9 ppc ppc64p7
e7fd42
%global gcc_target_platform %{_target_platform}
e7fd42
%endif
e7fd42
e7fd42
%if %{build_go}
e7fd42
# Avoid stripping these libraries and binaries.
e7fd42
%global __os_install_post \
e7fd42
chmod 644 %{buildroot}%{_prefix}/%{_lib}/libgo.so.19.* \
e7fd42
chmod 644 %{buildroot}%{_prefix}/bin/go.gcc \
e7fd42
chmod 644 %{buildroot}%{_prefix}/bin/gofmt.gcc \
e7fd42
chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cgo \
e7fd42
chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/buildid \
e7fd42
chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/test2json \
e7fd42
chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/vet \
e7fd42
%__os_install_post \
e7fd42
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgo.so.19.* \
e7fd42
chmod 755 %{buildroot}%{_prefix}/bin/go.gcc \
e7fd42
chmod 755 %{buildroot}%{_prefix}/bin/gofmt.gcc \
e7fd42
chmod 755 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cgo \
e7fd42
chmod 755 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/buildid \
e7fd42
chmod 755 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/test2json \
e7fd42
chmod 755 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/vet \
e7fd42
%{nil}
e7fd42
%endif
e7fd42
e7fd42
%description
e7fd42
The gcc package contains the GNU Compiler Collection version 11.
e7fd42
You'll need this package in order to compile C code.
e7fd42
e7fd42
%package -n libgcc
e7fd42
Summary: GCC version 11 shared support library
e7fd42
Autoreq: false
e7fd42
%if !%{build_ada}
e7fd42
Obsoletes: libgnat < %{version}-%{release}
e7fd42
%endif
e7fd42
Obsoletes: libmudflap
e7fd42
Obsoletes: libmudflap-devel
e7fd42
Obsoletes: libmudflap-static
e7fd42
Obsoletes: libgcj < %{version}-%{release}
e7fd42
Obsoletes: libgcj-devel < %{version}-%{release}
e7fd42
Obsoletes: libgcj-src < %{version}-%{release}
e7fd42
%ifarch %{ix86} x86_64
e7fd42
Obsoletes: libcilkrts
e7fd42
Obsoletes: libcilkrts-static
e7fd42
Obsoletes: libmpx
e7fd42
Obsoletes: libmpx-static
e7fd42
%endif
e7fd42
e7fd42
%description -n libgcc
e7fd42
This package contains GCC shared support library which is needed
e7fd42
e.g. for exception handling support.
e7fd42
e7fd42
%package c++
e7fd42
Summary: C++ support for GCC
e7fd42
Requires: gcc = %{version}-%{release}
e7fd42
Requires: libstdc++ = %{version}-%{release}
e7fd42
Requires: libstdc++-devel = %{version}-%{release}
e7fd42
Provides: gcc-g++ = %{version}-%{release}
e7fd42
Provides: g++ = %{version}-%{release}
e7fd42
Autoreq: true
e7fd42
e7fd42
%description c++
e7fd42
This package adds C++ support to the GNU Compiler Collection.
e7fd42
It includes support for most of the current C++ specification,
e7fd42
including templates and exception handling.
e7fd42
e7fd42
%package -n libstdc++
e7fd42
Summary: GNU Standard C++ Library
e7fd42
Autoreq: true
e7fd42
Requires: glibc >= 2.10.90-7
e7fd42
e7fd42
%description -n libstdc++
e7fd42
The libstdc++ package contains a rewritten standard compliant GCC Standard
e7fd42
C++ Library.
e7fd42
e7fd42
%package -n libstdc++-devel
e7fd42
Summary: Header files and libraries for C++ development
e7fd42
Requires: libstdc++%{?_isa} = %{version}-%{release}
e7fd42
Autoreq: true
e7fd42
e7fd42
%description -n libstdc++-devel
e7fd42
This is the GNU implementation of the standard C++ libraries.  This
e7fd42
package includes the header files and libraries needed for C++
e7fd42
development. This includes rewritten implementation of STL.
e7fd42
e7fd42
%package -n libstdc++-static
e7fd42
Summary: Static libraries for the GNU standard C++ library
e7fd42
Requires: libstdc++-devel = %{version}-%{release}
e7fd42
Autoreq: true
e7fd42
e7fd42
%description -n libstdc++-static
e7fd42
Static libraries for the GNU standard C++ library.
e7fd42
e7fd42
%package -n libstdc++-docs
e7fd42
Summary: Documentation for the GNU standard C++ library
e7fd42
Autoreq: true
e7fd42
e7fd42
%description -n libstdc++-docs
e7fd42
Manual, doxygen generated API information and Frequently Asked Questions
e7fd42
for the GNU standard C++ library.
e7fd42
e7fd42
%package objc
e7fd42
Summary: Objective-C support for GCC
e7fd42
Requires: gcc = %{version}-%{release}
e7fd42
Requires: libobjc = %{version}-%{release}
e7fd42
Autoreq: true
e7fd42
e7fd42
%description objc
e7fd42
gcc-objc provides Objective-C support for the GCC.
e7fd42
Mainly used on systems running NeXTSTEP, Objective-C is an
e7fd42
object-oriented derivative of the C language.
e7fd42
e7fd42
%package objc++
e7fd42
Summary: Objective-C++ support for GCC
e7fd42
Requires: gcc-c++ = %{version}-%{release}, gcc-objc = %{version}-%{release}
e7fd42
Autoreq: true
e7fd42
e7fd42
%description objc++
e7fd42
gcc-objc++ package provides Objective-C++ support for the GCC.
e7fd42
e7fd42
%package -n libobjc
e7fd42
Summary: Objective-C runtime
e7fd42
Autoreq: true
e7fd42
e7fd42
%description -n libobjc
e7fd42
This package contains Objective-C shared library which is needed to run
e7fd42
Objective-C dynamically linked programs.
e7fd42
e7fd42
%package gfortran
e7fd42
Summary: Fortran support
e7fd42
Requires: gcc = %{version}-%{release}
e7fd42
Requires: libgfortran = %{version}-%{release}
e7fd42
%if %{build_libquadmath}
e7fd42
Requires: libquadmath = %{version}-%{release}
e7fd42
Requires: libquadmath-devel = %{version}-%{release}
e7fd42
%endif
e7fd42
Provides: gcc-fortran = %{version}-%{release}
e7fd42
Provides: gfortran = %{version}-%{release}
e7fd42
Autoreq: true
e7fd42
e7fd42
%description gfortran
e7fd42
The gcc-gfortran package provides support for compiling Fortran
e7fd42
programs with the GNU Compiler Collection.
e7fd42
e7fd42
%package -n libgfortran
e7fd42
Summary: Fortran runtime
e7fd42
Autoreq: true
e7fd42
%if %{build_libquadmath}
e7fd42
Requires: libquadmath = %{version}-%{release}
e7fd42
%endif
e7fd42
e7fd42
%description -n libgfortran
e7fd42
This package contains Fortran shared library which is needed to run
e7fd42
Fortran dynamically linked programs.
e7fd42
e7fd42
%package -n libgfortran-static
e7fd42
Summary: Static Fortran libraries
e7fd42
Requires: libgfortran = %{version}-%{release}
e7fd42
Requires: gcc = %{version}-%{release}
e7fd42
%if %{build_libquadmath}
e7fd42
Requires: libquadmath-static = %{version}-%{release}
e7fd42
%endif
e7fd42
e7fd42
%description -n libgfortran-static
e7fd42
This package contains static Fortran libraries.
e7fd42
e7fd42
%package gdc
e7fd42
Summary: D support
e7fd42
Requires: gcc = %{version}-%{release}
e7fd42
Requires: libgphobos = %{version}-%{release}
e7fd42
Provides: gcc-d = %{version}-%{release}
e7fd42
Provides: gdc = %{version}-%{release}
e7fd42
Autoreq: true
e7fd42
e7fd42
%description gdc
e7fd42
The gcc-gdc package provides support for compiling D
e7fd42
programs with the GNU Compiler Collection.
e7fd42
e7fd42
%package -n libgphobos
e7fd42
Summary: D runtime
e7fd42
Autoreq: true
e7fd42
e7fd42
%description -n libgphobos
e7fd42
This package contains D shared library which is needed to run
e7fd42
D dynamically linked programs.
e7fd42
e7fd42
%package -n libgphobos-static
e7fd42
Summary: Static D libraries
e7fd42
Requires: libgphobos = %{version}-%{release}
e7fd42
Requires: gcc-gdc = %{version}-%{release}
e7fd42
e7fd42
%description -n libgphobos-static
e7fd42
This package contains static D libraries.
e7fd42
e7fd42
%package -n libgomp
e7fd42
Summary: GCC OpenMP v4.5 shared support library
e7fd42
e7fd42
%description -n libgomp
e7fd42
This package contains GCC shared support library which is needed
e7fd42
for OpenMP v4.5 support.
e7fd42
e7fd42
%package -n libgomp-offload-nvptx
e7fd42
Summary: GCC OpenMP v4.5 plugin for offloading to NVPTX
e7fd42
Requires: libgomp = %{version}-%{release}
e7fd42
e7fd42
%description -n libgomp-offload-nvptx
e7fd42
This package contains libgomp plugin for offloading to NVidia
e7fd42
PTX.  The plugin needs libcuda.so.1 shared library that has to be
e7fd42
installed separately.
e7fd42
e7fd42
%package gdb-plugin
e7fd42
Summary: GCC plugin for GDB
e7fd42
Requires: gcc = %{version}-%{release}
e7fd42
e7fd42
%description gdb-plugin
e7fd42
This package contains GCC plugin for GDB C expression evaluation.
e7fd42
e7fd42
%package -n libgccjit
e7fd42
Summary: Library for embedding GCC inside programs and libraries
e7fd42
Requires: gcc = %{version}-%{release}
e7fd42
e7fd42
%description -n libgccjit
e7fd42
This package contains shared library with GCC JIT front-end.
e7fd42
e7fd42
%package -n libgccjit-devel
e7fd42
Summary: Support for embedding GCC inside programs and libraries
e7fd42
%if 0%{?fedora} > 27 || 0%{?rhel} > 7
e7fd42
BuildRequires: python3-sphinx
e7fd42
%else
e7fd42
BuildRequires: python-sphinx
e7fd42
%endif
e7fd42
Requires: libgccjit = %{version}-%{release}
e7fd42
e7fd42
%description -n libgccjit-devel
e7fd42
This package contains header files and documentation for GCC JIT front-end.
e7fd42
e7fd42
%package -n libquadmath
e7fd42
Summary: GCC __float128 shared support library
e7fd42
e7fd42
%description -n libquadmath
e7fd42
This package contains GCC shared support library which is needed
e7fd42
for __float128 math support and for Fortran REAL*16 support.
e7fd42
e7fd42
%package -n libquadmath-devel
e7fd42
Summary: GCC __float128 support
e7fd42
Requires: libquadmath = %{version}-%{release}
e7fd42
Requires: gcc = %{version}-%{release}
e7fd42
e7fd42
%description -n libquadmath-devel
e7fd42
This package contains headers for building Fortran programs using
e7fd42
REAL*16 and programs using __float128 math.
e7fd42
e7fd42
%package -n libquadmath-static
e7fd42
Summary: Static libraries for __float128 support
e7fd42
Requires: libquadmath-devel = %{version}-%{release}
e7fd42
e7fd42
%description -n libquadmath-static
e7fd42
This package contains static libraries for building Fortran programs
e7fd42
using REAL*16 and programs using __float128 math.
e7fd42
e7fd42
%package -n libitm
e7fd42
Summary: The GNU Transactional Memory library
e7fd42
e7fd42
%description -n libitm
e7fd42
This package contains the GNU Transactional Memory library
e7fd42
which is a GCC transactional memory support runtime library.
e7fd42
e7fd42
%package -n libitm-devel
e7fd42
Summary: The GNU Transactional Memory support
e7fd42
Requires: libitm = %{version}-%{release}
e7fd42
Requires: gcc = %{version}-%{release}
e7fd42
e7fd42
%description -n libitm-devel
e7fd42
This package contains headers and support files for the
e7fd42
GNU Transactional Memory library.
e7fd42
e7fd42
%package -n libitm-static
e7fd42
Summary: The GNU Transactional Memory static library
e7fd42
Requires: libitm-devel = %{version}-%{release}
e7fd42
e7fd42
%description -n libitm-static
e7fd42
This package contains GNU Transactional Memory static libraries.
e7fd42
e7fd42
%package -n libatomic
e7fd42
Summary: The GNU Atomic library
e7fd42
e7fd42
%description -n libatomic
e7fd42
This package contains the GNU Atomic library
e7fd42
which is a GCC support runtime library for atomic operations not supported
e7fd42
by hardware.
e7fd42
e7fd42
%package -n libatomic-static
e7fd42
Summary: The GNU Atomic static library
e7fd42
Requires: libatomic = %{version}-%{release}
e7fd42
e7fd42
%description -n libatomic-static
e7fd42
This package contains GNU Atomic static libraries.
e7fd42
e7fd42
%package -n libasan
e7fd42
Summary: The Address Sanitizer runtime library
e7fd42
e7fd42
%description -n libasan
e7fd42
This package contains the Address Sanitizer library
e7fd42
which is used for -fsanitize=address instrumented programs.
e7fd42
e7fd42
%package -n libasan-static
e7fd42
Summary: The Address Sanitizer static library
e7fd42
Requires: libasan = %{version}-%{release}
e7fd42
e7fd42
%description -n libasan-static
e7fd42
This package contains Address Sanitizer static runtime library.
e7fd42
e7fd42
%package -n libtsan
e7fd42
Summary: The Thread Sanitizer runtime library
e7fd42
e7fd42
%description -n libtsan
e7fd42
This package contains the Thread Sanitizer library
e7fd42
which is used for -fsanitize=thread instrumented programs.
e7fd42
e7fd42
%package -n libtsan-static
e7fd42
Summary: The Thread Sanitizer static library
e7fd42
Requires: libtsan = %{version}-%{release}
e7fd42
e7fd42
%description -n libtsan-static
e7fd42
This package contains Thread Sanitizer static runtime library.
e7fd42
e7fd42
%package -n libubsan
e7fd42
Summary: The Undefined Behavior Sanitizer runtime library
e7fd42
e7fd42
%description -n libubsan
e7fd42
This package contains the Undefined Behavior Sanitizer library
e7fd42
which is used for -fsanitize=undefined instrumented programs.
e7fd42
e7fd42
%package -n libubsan-static
e7fd42
Summary: The Undefined Behavior Sanitizer static library
e7fd42
Requires: libubsan = %{version}-%{release}
e7fd42
e7fd42
%description -n libubsan-static
e7fd42
This package contains Undefined Behavior Sanitizer static runtime library.
e7fd42
e7fd42
%package -n liblsan
e7fd42
Summary: The Leak Sanitizer runtime library
e7fd42
e7fd42
%description -n liblsan
e7fd42
This package contains the Leak Sanitizer library
e7fd42
which is used for -fsanitize=leak instrumented programs.
e7fd42
e7fd42
%package -n liblsan-static
e7fd42
Summary: The Leak Sanitizer static library
e7fd42
Requires: liblsan = %{version}-%{release}
e7fd42
e7fd42
%description -n liblsan-static
e7fd42
This package contains Leak Sanitizer static runtime library.
e7fd42
e7fd42
%package -n cpp
e7fd42
Summary: The C Preprocessor
e7fd42
Requires: filesystem >= 3
e7fd42
Provides: /lib/cpp
e7fd42
Autoreq: true
e7fd42
e7fd42
%description -n cpp
e7fd42
Cpp is the GNU C-Compatible Compiler Preprocessor.
e7fd42
Cpp is a macro processor which is used automatically
e7fd42
by the C compiler to transform your program before actual
e7fd42
compilation. It is called a macro processor because it allows
e7fd42
you to define macros, abbreviations for longer
e7fd42
constructs.
e7fd42
e7fd42
The C preprocessor provides four separate functionalities: the
e7fd42
inclusion of header files (files of declarations that can be
e7fd42
substituted into your program); macro expansion (you can define macros,
e7fd42
and the C preprocessor will replace the macros with their definitions
e7fd42
throughout the program); conditional compilation (using special
e7fd42
preprocessing directives, you can include or exclude parts of the
e7fd42
program according to various conditions); and line control (if you use
e7fd42
a program to combine or rearrange source files into an intermediate
e7fd42
file which is then compiled, you can use line control to inform the
e7fd42
compiler about where each source line originated).
e7fd42
e7fd42
You should install this package if you are a C programmer and you use
e7fd42
macros.
e7fd42
e7fd42
%package gnat
e7fd42
Summary: Ada 83, 95, 2005 and 2012 support for GCC
e7fd42
Requires: gcc = %{version}-%{release}
e7fd42
Requires: libgnat = %{version}-%{release}, libgnat-devel = %{version}-%{release}
e7fd42
Autoreq: true
e7fd42
e7fd42
%description gnat
e7fd42
GNAT is a GNU Ada 83, 95, 2005 and 2012 front-end to GCC. This package includes
e7fd42
development tools, the documents and Ada compiler.
e7fd42
e7fd42
%package -n libgnat
e7fd42
Summary: GNU Ada 83, 95, 2005 and 2012 runtime shared libraries
e7fd42
Autoreq: true
e7fd42
e7fd42
%description -n libgnat
e7fd42
GNAT is a GNU Ada 83, 95, 2005 and 2012 front-end to GCC. This package includes
e7fd42
shared libraries, which are required to run programs compiled with the GNAT.
e7fd42
e7fd42
%package -n libgnat-devel
e7fd42
Summary: GNU Ada 83, 95, 2005 and 2012 libraries
e7fd42
Autoreq: true
e7fd42
e7fd42
%description -n libgnat-devel
e7fd42
GNAT is a GNU Ada 83, 95, 2005 and 2012 front-end to GCC. This package includes
e7fd42
libraries, which are required to compile with the GNAT.
e7fd42
e7fd42
%package -n libgnat-static
e7fd42
Summary: GNU Ada 83, 95, 2005 and 2012 static libraries
e7fd42
Requires: libgnat-devel = %{version}-%{release}
e7fd42
Autoreq: true
e7fd42
e7fd42
%description -n libgnat-static
e7fd42
GNAT is a GNU Ada 83, 95, 2005 and 2012 front-end to GCC. This package includes
e7fd42
static libraries.
e7fd42
e7fd42
%package go
e7fd42
Summary: Go support
e7fd42
Requires: gcc = %{version}-%{release}
e7fd42
Requires: libgo = %{version}-%{release}
e7fd42
Requires: libgo-devel = %{version}-%{release}
e7fd42
Requires(post): %{_sbindir}/update-alternatives
e7fd42
Requires(postun): %{_sbindir}/update-alternatives
e7fd42
Provides: gccgo = %{version}-%{release}
e7fd42
Autoreq: true
e7fd42
e7fd42
%description go
e7fd42
The gcc-go package provides support for compiling Go programs
e7fd42
with the GNU Compiler Collection.
e7fd42
e7fd42
%package -n libgo
e7fd42
Summary: Go runtime
e7fd42
Autoreq: true
e7fd42
e7fd42
%description -n libgo
e7fd42
This package contains Go shared library which is needed to run
e7fd42
Go dynamically linked programs.
e7fd42
e7fd42
%package -n libgo-devel
e7fd42
Summary: Go development libraries
e7fd42
Requires: libgo = %{version}-%{release}
e7fd42
Autoreq: true
e7fd42
e7fd42
%description -n libgo-devel
e7fd42
This package includes libraries and support files for compiling
e7fd42
Go programs.
e7fd42
e7fd42
%package -n libgo-static
e7fd42
Summary: Static Go libraries
e7fd42
Requires: libgo = %{version}-%{release}
e7fd42
Requires: gcc = %{version}-%{release}
e7fd42
e7fd42
%description -n libgo-static
e7fd42
This package contains static Go libraries.
e7fd42
e7fd42
%package plugin-devel
e7fd42
Summary: Support for compiling GCC plugins
e7fd42
Requires: gcc = %{version}-%{release}
e7fd42
Requires: gmp-devel >= 4.1.2-8, mpfr-devel >= 3.1.0, libmpc-devel >= 0.8.1
e7fd42
e7fd42
%description plugin-devel
e7fd42
This package contains header files and other support files
e7fd42
for compiling GCC plugins.  The GCC plugin ABI is currently
e7fd42
not stable, so plugins must be rebuilt any time GCC is updated.
e7fd42
e7fd42
%package offload-nvptx
e7fd42
Summary: Offloading compiler to NVPTX
e7fd42
Requires: gcc = %{version}-%{release}
e7fd42
Requires: libgomp-offload-nvptx = %{version}-%{release}
e7fd42
e7fd42
%description offload-nvptx
e7fd42
The gcc-offload-nvptx package provides offloading support for
e7fd42
NVidia PTX.  OpenMP and OpenACC programs linked with -fopenmp will
e7fd42
by default add PTX code into the binaries, which can be offloaded
e7fd42
to NVidia PTX capable devices if available.
e7fd42
e7fd42
%package plugin-annobin
e7fd42
Summary: The annobin plugin for gcc, built by the installed version of gcc
e7fd42
Requires: gcc = %{version}-%{release}
e7fd42
# Starting with release 10.01 annobin fixed a bug in its configure scripts
e7fd42
# which prevented them from working with a built but not installed compiler
e7fd42
BuildRequires: annobin >= 10.01
e7fd42
# Starting with release  9.93 annobin-plugin-gcc puts a copy of the sources
e7fd42
# in /usr/src/annobin
e7fd42
# FIXME: Currently the annobin-plugin-gcc subpackage only exists in Fedora.
e7fd42
# For RHEL-9 the annobin package does everything.
e7fd42
# BuildRequires: annobin-plugin-gcc
e7fd42
# Needed in order to be able to decompress the annobin source tarball.
e7fd42
BuildRequires: xz
e7fd42
e7fd42
%description plugin-annobin
e7fd42
This package adds a version of the annobin plugin for gcc.  This version
e7fd42
of the plugin is explicitly built by the same version of gcc that is installed
e7fd42
so that there cannot be any synchronization problems.
e7fd42
e7fd42
%prep
e7fd42
%setup -q -n gcc-%{version}-%{DATE} -a 1 -a 2 -a 3
e7fd42
%patch0 -p0 -b .hack~
e7fd42
%patch2 -p0 -b .sparc-config-detection~
e7fd42
%patch3 -p0 -b .libgomp-omp_h-multilib~
e7fd42
%patch4 -p0 -b .libtool-no-rpath~
e7fd42
%if %{build_isl}
e7fd42
%patch5 -p0 -b .isl-dl~
e7fd42
%patch6 -p0 -b .isl-dl2~
e7fd42
%endif
e7fd42
%if %{build_libstdcxx_docs}
e7fd42
%patch7 -p0 -b .libstdc++-docs~
e7fd42
%endif
e7fd42
%patch8 -p0 -b .no-add-needed~
e7fd42
%patch9 -p0 -b .foffload-default~
e7fd42
%patch10 -p0 -b .Wno-format-security~
e7fd42
%if 0%{?fedora} >= 29 || 0%{?rhel} > 7
e7fd42
%patch11 -p0 -b .rh1574936~
e7fd42
%endif
e7fd42
%patch12 -p0 -b .d-shared-libphobos~
e7fd42
%patch14 -p0 -b .libgcc-link~
e7fd42
%patch15 -p0 -b .pr101786~
e7fd42
%patch16 -p0 -b .stringify-__VA_OPT__~
e7fd42
%patch17 -p0 -b .stringify-__VA_OPT__-2~
e7fd42
%patch18 -p1 -b .bidi~
e7fd42
%patch19 -p1 -b .ice~
e7fd42
%patch20 -p1 -b .pch~
e7fd42
%patch21 -p1 -b .dejagnu-multiline~
e7fd42
%patch23 -p1 -b .pie~
e7fd42
%patch24 -p1 -b .now~
694bc6
%patch25 -p0 -b .pr105331~
694bc6
%patch26 -p1 -b .rh2106262~
e7fd42
e7fd42
%if 0%{?rhel} >= 9
e7fd42
%patch100 -p1 -b .fortran-fdec-duplicates~
e7fd42
%patch101 -p1 -b .fortran-flogical-as-integer~
e7fd42
%patch102 -p1 -b .fortran-fdec-ichar~
e7fd42
%patch103 -p1 -b .fortran-fdec-non-integer-index~
e7fd42
%patch104 -p1 -b .fortran-fdec-old-init~
e7fd42
%patch105 -p1 -b .fortran-fdec-override-kind~
e7fd42
%patch106 -p1 -b .fortran-fdec-non-logical-if~
e7fd42
%patch107 -p1 -b .fortran-fdec-promotion~
e7fd42
%patch108 -p1 -b .fortran-fdec-sequence~
e7fd42
%patch109 -p1 -b .fortran-fdec-add-missing-indexes~
e7fd42
%endif
e7fd42
e7fd42
%ifarch %{arm}
e7fd42
rm -f gcc/testsuite/go.test/test/fixedbugs/issue19182.go
e7fd42
%endif
e7fd42
e7fd42
echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE
e7fd42
e7fd42
cp -a libstdc++-v3/config/cpu/i{4,3}86/atomicity.h
e7fd42
e7fd42
./contrib/gcc_update --touch
e7fd42
e7fd42
LC_ALL=C sed -i -e 's/\xa0/ /' gcc/doc/options.texi
e7fd42
e7fd42
sed -i -e 's/Common Driver Var(flag_report_bug)/& Init(1)/' gcc/common.opt
e7fd42
e7fd42
%ifarch ppc
e7fd42
if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then
e7fd42
  mkdir -p libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64
e7fd42
  mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/{,64/}baseline_symbols.txt
e7fd42
  mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/{32/,}baseline_symbols.txt
e7fd42
  rm -rf libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32
e7fd42
fi
e7fd42
%endif
e7fd42
%ifarch sparc
e7fd42
if [ -d libstdc++-v3/config/abi/post/sparc64-linux-gnu ]; then
e7fd42
  mkdir -p libstdc++-v3/config/abi/post/sparc64-linux-gnu/64
e7fd42
  mv libstdc++-v3/config/abi/post/sparc64-linux-gnu/{,64/}baseline_symbols.txt
e7fd42
  mv libstdc++-v3/config/abi/post/sparc64-linux-gnu/{32/,}baseline_symbols.txt
e7fd42
  rm -rf libstdc++-v3/config/abi/post/sparc64-linux-gnu/32
e7fd42
fi
e7fd42
%endif
e7fd42
e7fd42
# This test causes fork failures, because it spawns way too many threads
e7fd42
rm -f gcc/testsuite/go.test/test/chan/goroutines.go
e7fd42
e7fd42
# This test fails randomly.
e7fd42
%ifarch ppc64le
e7fd42
rm -f libstdc++-v3/testsuite/30_threads/future/members/poll.cc
e7fd42
%endif
e7fd42
e7fd42
%build
e7fd42
e7fd42
# Undo the broken autoconf change in recent Fedora versions
e7fd42
export CONFIG_SITE=NONE
e7fd42
e7fd42
CC=gcc
e7fd42
CXX=g++
e7fd42
OPT_FLAGS=`echo %{optflags}|sed -e 's/\(-Wp,\)\?-D_FORTIFY_SOURCE=[12]//g'`
e7fd42
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-flto=auto//g;s/-flto//g;s/-ffat-lto-objects//g'`
e7fd42
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-m64//g;s/-m32//g;s/-m31//g'`
e7fd42
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mfpmath=sse/-mfpmath=sse -msse2/g'`
e7fd42
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/ -pipe / /g'`
e7fd42
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-Werror=format-security/-Wformat-security/g'`
e7fd42
%ifarch sparc
e7fd42
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mcpu=ultrasparc/-mtune=ultrasparc/g;s/-mcpu=v[78]//g'`
e7fd42
%endif
e7fd42
%ifarch %{ix86}
e7fd42
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-march=i.86//g'`
e7fd42
%endif
e7fd42
OPT_FLAGS=`echo "$OPT_FLAGS" | sed -e 's/[[:blank:]]\+/ /g'`
e7fd42
case "$OPT_FLAGS" in
e7fd42
  *-fasynchronous-unwind-tables*)
e7fd42
    sed -i -e 's/-fno-exceptions /-fno-exceptions -fno-asynchronous-unwind-tables /' \
e7fd42
      libgcc/Makefile.in
e7fd42
    ;;
e7fd42
esac
e7fd42
e7fd42
%if %{build_offload_nvptx}
e7fd42
mkdir obji
e7fd42
IROOT=`pwd`/obji
e7fd42
cd nvptx-tools-%{nvptx_tools_gitrev}
e7fd42
rm -rf obj-%{gcc_target_platform}
e7fd42
mkdir obj-%{gcc_target_platform}
e7fd42
cd obj-%{gcc_target_platform}
e7fd42
CC="$CC" CXX="$CXX" CFLAGS="%{optflags} -fPIE" CXXFLAGS="%{optflags} -fPIE" LDFLAGS="-pie -Wl,-z,now" \
e7fd42
../configure --prefix=%{_prefix}
e7fd42
make %{?_smp_mflags}
e7fd42
make install prefix=${IROOT}%{_prefix}
e7fd42
cd ../..
e7fd42
e7fd42
ln -sf newlib-cygwin-%{newlib_cygwin_gitrev}/newlib newlib
e7fd42
rm -rf obj-offload-nvptx-none
e7fd42
mkdir obj-offload-nvptx-none
e7fd42
e7fd42
cd obj-offload-nvptx-none
e7fd42
CC="$CC" CXX="$CXX" CFLAGS="$OPT_FLAGS" \
e7fd42
	CXXFLAGS="`echo " $OPT_FLAGS " | sed 's/ -Wall / /g;s/ -fexceptions / /g' \
e7fd42
		  | sed 's/ -Wformat-security / -Wformat -Wformat-security /'`" \
e7fd42
	XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \
e7fd42
	../configure --disable-bootstrap --disable-sjlj-exceptions \
e7fd42
	--enable-newlib-io-long-long --with-build-time-tools=${IROOT}%{_prefix}/nvptx-none/bin \
e7fd42
	--target nvptx-none --enable-as-accelerator-for=%{gcc_target_platform} \
e7fd42
	--enable-languages=c,c++,fortran,lto \
e7fd42
	--prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \
e7fd42
	--with-bugurl=http://bugzilla.redhat.com/bugzilla \
e7fd42
	--enable-checking=release --with-system-zlib \
e7fd42
	--with-gcc-major-version-only --without-isl --enable-host-pie --enable-host-bind-now
e7fd42
make %{?_smp_mflags}
e7fd42
cd ..
e7fd42
rm -f newlib
e7fd42
%endif
e7fd42
e7fd42
rm -rf obj-%{gcc_target_platform}
e7fd42
mkdir obj-%{gcc_target_platform}
e7fd42
cd obj-%{gcc_target_platform}
e7fd42
e7fd42
%if %{build_isl}
e7fd42
mkdir isl-build isl-install
e7fd42
%ifarch s390 s390x
e7fd42
ISL_FLAG_PIC=-fPIC
e7fd42
%else
e7fd42
ISL_FLAG_PIC=-fpic
e7fd42
%endif
e7fd42
cd isl-build
e7fd42
sed -i 's|libisl|libgcc11privateisl|g' \
e7fd42
  ../../isl-%{isl_version}/Makefile.{am,in}
e7fd42
../../isl-%{isl_version}/configure \
e7fd42
  CC=/usr/bin/gcc CXX=/usr/bin/g++ \
e7fd42
  CFLAGS="${CFLAGS:-%optflags} $ISL_FLAG_PIC" --prefix=`cd ..; pwd`/isl-install
e7fd42
make %{?_smp_mflags}
e7fd42
make install
e7fd42
cd ../isl-install/lib
e7fd42
rm libgcc11privateisl.so{,.15}
e7fd42
mv libgcc11privateisl.so.15.3.0 libisl.so.15
e7fd42
ln -sf libisl.so.15 libisl.so
e7fd42
cd ../..
e7fd42
%endif
e7fd42
e7fd42
enablelgo=
e7fd42
enablelada=
e7fd42
enablelobjc=
e7fd42
enableld=
e7fd42
%if %{build_objc}
e7fd42
enablelobjc=,objc,obj-c++
e7fd42
%endif
e7fd42
%if %{build_ada}
e7fd42
enablelada=,ada
e7fd42
%endif
e7fd42
%if %{build_go}
e7fd42
enablelgo=,go
e7fd42
%endif
e7fd42
%if %{build_d}
e7fd42
enableld=,d
e7fd42
%endif
e7fd42
CONFIGURE_OPTS="\
e7fd42
	--prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \
e7fd42
	--with-bugurl=http://bugzilla.redhat.com/bugzilla \
e7fd42
	--enable-shared --enable-threads=posix --enable-checking=release \
e7fd42
%ifarch ppc64le
e7fd42
	--enable-targets=powerpcle-linux \
e7fd42
%endif
e7fd42
%ifarch ppc64le %{mips} s390x
e7fd42
%ifarch s390x
e7fd42
%if 0%{?fedora} < 32 && 0%{?rhel} < 8
e7fd42
	--enable-multilib \
e7fd42
%else
e7fd42
	--disable-multilib \
e7fd42
%endif
e7fd42
%else
e7fd42
	--disable-multilib \
e7fd42
%endif
e7fd42
%else
e7fd42
	--enable-multilib \
e7fd42
%endif
e7fd42
	--with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions \
e7fd42
	--enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only \
e7fd42
%ifnarch %{mips}
e7fd42
	--with-linker-hash-style=gnu \
e7fd42
%endif
e7fd42
	--enable-plugin --enable-initfini-array \
e7fd42
%if %{build_isl}
e7fd42
	--with-isl=`pwd`/isl-install \
e7fd42
%else
e7fd42
	--without-isl \
e7fd42
%endif
e7fd42
%if %{build_offload_nvptx}
e7fd42
	--enable-offload-targets=nvptx-none \
e7fd42
	--without-cuda-driver \
e7fd42
%endif
e7fd42
%if 0%{?fedora} >= 21 || 0%{?rhel} >= 7
e7fd42
%if %{attr_ifunc}
e7fd42
	--enable-gnu-indirect-function \
e7fd42
%endif
e7fd42
%endif
e7fd42
%ifarch %{arm}
e7fd42
	--disable-sjlj-exceptions \
e7fd42
%endif
e7fd42
%ifarch ppc ppc64 ppc64le ppc64p7
e7fd42
	--enable-secureplt \
e7fd42
%endif
e7fd42
%ifarch sparc sparcv9 sparc64 ppc ppc64 ppc64le ppc64p7 s390 s390x alpha
e7fd42
	--with-long-double-128 \
e7fd42
%endif
e7fd42
%ifarch sparc
e7fd42
	--disable-linux-futex \
e7fd42
%endif
e7fd42
%ifarch sparc64
e7fd42
	--with-cpu=ultrasparc \
e7fd42
%endif
e7fd42
%ifarch sparc sparcv9
e7fd42
	--host=%{gcc_target_platform} --build=%{gcc_target_platform} --target=%{gcc_target_platform} --with-cpu=v7
e7fd42
%endif
e7fd42
%ifarch ppc ppc64 ppc64p7
e7fd42
%if 0%{?rhel} >= 7
e7fd42
	--with-cpu-32=power7 --with-tune-32=power7 --with-cpu-64=power7 --with-tune-64=power7 \
e7fd42
%endif
e7fd42
%if 0%{?rhel} == 6
e7fd42
	--with-cpu-32=power4 --with-tune-32=power6 --with-cpu-64=power4 --with-tune-64=power6 \
e7fd42
%endif
e7fd42
%endif
e7fd42
%ifarch ppc64le
e7fd42
%if 0%{?rhel} == 9
e7fd42
	--with-cpu-32=power9 --with-tune-32=power9 --with-cpu-64=power9 --with-tune-64=power9 \
e7fd42
%else
e7fd42
	--with-cpu-32=power8 --with-tune-32=power8 --with-cpu-64=power8 --with-tune-64=power8 \
e7fd42
%endif
e7fd42
%endif
e7fd42
%ifarch ppc
e7fd42
	--build=%{gcc_target_platform} --target=%{gcc_target_platform} --with-cpu=default32
e7fd42
%endif
e7fd42
%ifarch %{ix86} x86_64
e7fd42
	--enable-cet \
e7fd42
	--with-tune=generic \
e7fd42
%endif
e7fd42
%if 0%{?rhel} >= 7
e7fd42
%ifarch %{ix86}
e7fd42
	--with-arch=x86-64 \
e7fd42
%endif
e7fd42
%ifarch x86_64
e7fd42
%if 0%{?rhel} > 8
e7fd42
	--with-arch_64=x86-64-v2 \
e7fd42
%endif
e7fd42
	--with-arch_32=x86-64 \
e7fd42
%endif
e7fd42
%else
e7fd42
%ifarch %{ix86}
e7fd42
	--with-arch=i686 \
e7fd42
%endif
e7fd42
%ifarch x86_64
e7fd42
	--with-arch_32=i686 \
e7fd42
%endif
e7fd42
%endif
e7fd42
%ifarch s390 s390x
e7fd42
%if 0%{?rhel} >= 7
e7fd42
%if 0%{?rhel} > 7
e7fd42
%if 0%{?rhel} > 8
e7fd42
%if 0%{?rhel} == 9
e7fd42
	--with-arch=z14 --with-tune=z15 \
e7fd42
%else
e7fd42
	--with-arch=z13 --with-tune=arch13 \
e7fd42
%endif
e7fd42
%else
e7fd42
	--with-arch=z13 --with-tune=z14 \
e7fd42
%endif
e7fd42
%else
e7fd42
	--with-arch=z196 --with-tune=zEC12 \
e7fd42
%endif
e7fd42
%else
e7fd42
%if 0%{?fedora} >= 26
e7fd42
	--with-arch=zEC12 --with-tune=z13 \
e7fd42
%else
e7fd42
	--with-arch=z9-109 --with-tune=z10 \
e7fd42
%endif
e7fd42
%endif
e7fd42
	--enable-decimal-float \
e7fd42
%endif
e7fd42
%ifarch armv7hl
e7fd42
	--with-tune=generic-armv7-a --with-arch=armv7-a \
e7fd42
	--with-float=hard --with-fpu=vfpv3-d16 --with-abi=aapcs-linux \
e7fd42
%endif
e7fd42
%ifarch mips mipsel
e7fd42
	--with-arch=mips32r2 --with-fp-32=xx \
e7fd42
%endif
e7fd42
%ifarch mips64 mips64el
e7fd42
	--with-arch=mips64r2 --with-abi=64 \
e7fd42
%endif
e7fd42
%ifarch riscv64
e7fd42
	--with-arch=rv64gc --with-abi=lp64d --with-multilib-list=lp64d \
e7fd42
%endif
e7fd42
%ifnarch sparc sparcv9 ppc
e7fd42
	--build=%{gcc_target_platform} \
e7fd42
%endif
e7fd42
%if 0%{?fedora} >= 35 || 0%{?rhel} >= 9
e7fd42
%ifnarch %{arm}
e7fd42
	--with-build-config=bootstrap-lto --enable-link-serialization=1 \
e7fd42
%endif
e7fd42
%endif
e7fd42
	"
e7fd42
e7fd42
CC="$CC" CXX="$CXX" CFLAGS="$OPT_FLAGS" \
e7fd42
	CXXFLAGS="`echo " $OPT_FLAGS " | sed 's/ -Wall / /g;s/ -fexceptions / /g' \
e7fd42
		  | sed 's/ -Wformat-security / -Wformat -Wformat-security /'`" \
e7fd42
	XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \
e7fd42
	../configure --enable-bootstrap --enable-host-pie --enable-host-bind-now \
e7fd42
	--enable-languages=c,c++,fortran${enablelobjc}${enablelada}${enablelgo}${enableld},lto \
e7fd42
	$CONFIGURE_OPTS
e7fd42
e7fd42
%ifarch sparc sparcv9 sparc64
e7fd42
make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" LDFLAGS_FOR_TARGET=-Wl,-z,relro,-z,now bootstrap
e7fd42
%else
e7fd42
make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" LDFLAGS_FOR_TARGET=-Wl,-z,relro,-z,now profiledbootstrap
e7fd42
%endif
e7fd42
e7fd42
CC="`%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-cc`"
e7fd42
CXX="`%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-cxx` `%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-includes`"
e7fd42
e7fd42
# Build libgccjit separately, so that normal compiler binaries aren't -fpic
e7fd42
# unnecessarily.
e7fd42
mkdir objlibgccjit
e7fd42
cd objlibgccjit
e7fd42
CC="$CC" CXX="$CXX" CFLAGS="$OPT_FLAGS" \
e7fd42
	CXXFLAGS="`echo " $OPT_FLAGS " | sed 's/ -Wall / /g;s/ -fexceptions / /g' \
e7fd42
		  | sed 's/ -Wformat-security / -Wformat -Wformat-security /'`" \
e7fd42
	XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \
e7fd42
	../../configure --disable-bootstrap --enable-host-shared  --enable-host-bind-now \
e7fd42
	--enable-languages=jit $CONFIGURE_OPTS
e7fd42
make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" all-gcc
e7fd42
cp -a gcc/libgccjit.so* ../gcc/
e7fd42
cd ../gcc/
e7fd42
ln -sf xgcc %{gcc_target_platform}-gcc-%{gcc_major}
e7fd42
cp -a Makefile{,.orig}
e7fd42
sed -i -e '/^CHECK_TARGETS/s/$/ check-jit/' Makefile
e7fd42
touch -r Makefile.orig Makefile
e7fd42
rm Makefile.orig
e7fd42
make jit.sphinx.html
e7fd42
make jit.sphinx.install-html jit_htmldir=`pwd`/../../rpm.doc/libgccjit-devel/html
e7fd42
cd ..
e7fd42
e7fd42
%if %{build_isl}
e7fd42
cp -a isl-install/lib/libisl.so.15 gcc/
e7fd42
%endif
e7fd42
e7fd42
# Make generated man pages even if Pod::Man is not new enough
e7fd42
perl -pi -e 's/head3/head2/' ../contrib/texi2pod.pl
e7fd42
for i in ../gcc/doc/*.texi; do
e7fd42
  cp -a $i $i.orig; sed 's/ftable/table/' $i.orig > $i
e7fd42
done
e7fd42
make -C gcc generated-manpages
e7fd42
for i in ../gcc/doc/*.texi; do mv -f $i.orig $i; done
e7fd42
e7fd42
# Make generated doxygen pages.
e7fd42
%if %{build_libstdcxx_docs}
e7fd42
cd %{gcc_target_platform}/libstdc++-v3
e7fd42
make doc-html-doxygen
e7fd42
make doc-man-doxygen
e7fd42
cd ../..
e7fd42
%endif
e7fd42
e7fd42
# Copy various doc files here and there
e7fd42
cd ..
e7fd42
mkdir -p rpm.doc/gfortran rpm.doc/objc rpm.doc/gdc rpm.doc/libphobos
e7fd42
mkdir -p rpm.doc/go rpm.doc/libgo rpm.doc/libquadmath rpm.doc/libitm
e7fd42
mkdir -p rpm.doc/changelogs/{gcc/cp,gcc/ada,gcc/jit,libstdc++-v3,libobjc,libgomp,libcc1,libatomic,libsanitizer}
e7fd42
e7fd42
for i in {gcc,gcc/cp,gcc/ada,gcc/jit,libstdc++-v3,libobjc,libgomp,libcc1,libatomic,libsanitizer}/ChangeLog*; do
e7fd42
	cp -p $i rpm.doc/changelogs/$i
e7fd42
done
e7fd42
e7fd42
(cd gcc/fortran; for i in ChangeLog*; do
e7fd42
	cp -p $i ../../rpm.doc/gfortran/$i
e7fd42
done)
e7fd42
(cd libgfortran; for i in ChangeLog*; do
e7fd42
	cp -p $i ../rpm.doc/gfortran/$i.libgfortran
e7fd42
done)
e7fd42
%if %{build_objc}
e7fd42
(cd libobjc; for i in README*; do
e7fd42
	cp -p $i ../rpm.doc/objc/$i.libobjc
e7fd42
done)
e7fd42
%endif
e7fd42
%if %{build_d}
e7fd42
(cd gcc/d; for i in ChangeLog*; do
e7fd42
	cp -p $i ../../rpm.doc/gdc/$i.gdc
e7fd42
done)
e7fd42
(cd libphobos; for i in ChangeLog*; do
e7fd42
	cp -p $i ../rpm.doc/libphobos/$i.libphobos
e7fd42
done
e7fd42
cp -a src/LICENSE*.txt libdruntime/LICENSE ../rpm.doc/libphobos/)
e7fd42
%endif
e7fd42
%if %{build_libquadmath}
e7fd42
(cd libquadmath; for i in ChangeLog* COPYING.LIB; do
e7fd42
	cp -p $i ../rpm.doc/libquadmath/$i.libquadmath
e7fd42
done)
e7fd42
%endif
e7fd42
%if %{build_libitm}
e7fd42
(cd libitm; for i in ChangeLog*; do
e7fd42
	cp -p $i ../rpm.doc/libitm/$i.libitm
e7fd42
done)
e7fd42
%endif
e7fd42
%if %{build_go}
e7fd42
(cd gcc/go; for i in README* ChangeLog*; do
e7fd42
	cp -p $i ../../rpm.doc/go/$i
e7fd42
done)
e7fd42
(cd libgo; for i in LICENSE* PATENTS* README; do
e7fd42
	cp -p $i ../rpm.doc/libgo/$i.libgo
e7fd42
done)
e7fd42
%endif
e7fd42
e7fd42
rm -f rpm.doc/changelogs/gcc/ChangeLog.[1-9]
e7fd42
find rpm.doc -name \*ChangeLog\* | xargs bzip2 -9
e7fd42
e7fd42
# Get the annobin sources.  Note these are not added to the rpm as SOURCE4
e7fd42
# because if they were the build phase would try to include them as part of
e7fd42
# gcc itself, and this causes problems.  Instead we locate the sources in
e7fd42
# the buildroot.  They should have been put there when annobin was installed.
e7fd42
e7fd42
pushd %{_builddir}
e7fd42
e7fd42
%global annobin_source_dir %{_usrsrc}/annobin
e7fd42
e7fd42
if [ -d %{annobin_source_dir} ]
e7fd42
then
e7fd42
    # Unpack the sources.
e7fd42
    echo "Unpacking annobin sources"
e7fd42
    rm -fr annobin-*
e7fd42
    tar xvf %{annobin_source_dir}/latest-annobin.tar.xz
e7fd42
e7fd42
    # Setting this as a local symbol because using %%global does not appear to work.
e7fd42
    annobin_dir=$(find . -maxdepth 1 -type d -name "annobin*")
e7fd42
e7fd42
    # Now build the annobin plugin using the just built compiler.
e7fd42
    echo "annobin directory = ${annobin_dir}"
e7fd42
    cd ${annobin_dir}
e7fd42
e7fd42
    # Work out where this version of gcc stores its plugins.
e7fd42
%global ANNOBIN_GCC_PLUGIN_DIR  %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin
e7fd42
e7fd42
    CONFIG_ARGS="--quiet"
e7fd42
    CONFIG_ARGS="$CONFIG_ARGS --with-gcc-plugin-dir=%{ANNOBIN_GCC_PLUGIN_DIR}"
e7fd42
    CONFIG_ARGS="$CONFIG_ARGS --without-annocheck"
e7fd42
    CONFIG_ARGS="$CONFIG_ARGS --without-tests"
e7fd42
    CONFIG_ARGS="$CONFIG_ARGS --disable-rpath"
e7fd42
e7fd42
    comp_dir="%{_builddir}/gcc-%{version}-%{DATE}/obj-%{gcc_target_platform}/gcc/"
e7fd42
    ccompiler="%{_builddir}/gcc-%{version}-%{DATE}/obj-%{gcc_target_platform}/gcc/xgcc -B $comp_dir"
e7fd42
    cxxcompiler="%{_builddir}/gcc-%{version}-%{DATE}/obj-%{gcc_target_platform}/gcc/xg++ -B $comp_dir"
e7fd42
e7fd42
    comp_flags="%build_cflags"
e7fd42
    comp_flags="$comp_flags -I %{_builddir}/gcc-%{version}-%{DATE}/gcc"
e7fd42
    comp_flags="$comp_flags -I %{_builddir}/gcc-%{version}-%{DATE}/obj-%{gcc_target_platform}/gcc/"
e7fd42
    comp_flags="$comp_flags -I %{_builddir}/gcc-%{version}-%{DATE}/obj-%{gcc_target_platform}/%{gcc_target_platform}/libstdc++-v3/include"
e7fd42
    comp_flags="$comp_flags -I %{_builddir}/gcc-%{version}-%{DATE}/obj-%{gcc_target_platform}/%{gcc_target_platform}/libstdc++-v3/include/%{gcc_target_platform}"
e7fd42
    comp_flags="$comp_flags -I %{_builddir}/gcc-%{version}-%{DATE}/libstdc++-v3/libsupc++"
e7fd42
    comp_flags="$comp_flags -I %{_builddir}/gcc-%{version}-%{DATE}/include"
e7fd42
    comp_flags="$comp_flags -I %{_builddir}/gcc-%{version}-%{DATE}/libcpp/include"
e7fd42
e7fd42
    ld_flags="%build_ldflags"
e7fd42
    ld_flags="$ld_flags -L%{_builddir}/gcc-%{version}-%{DATE}/obj-%{gcc_target_platform}/libstdc++-v3/.libs"
e7fd42
    ld_flags="$ld_flags -L%{_builddir}/gcc-%{version}-%{DATE}/obj-%{gcc_target_platform}/%{gcc_target_platform}/libstdc++-v3/.libs"
e7fd42
    ld_flags="$ld_flags -L%{_builddir}/gcc-%{version}-%{DATE}/obj-%{gcc_target_platform}/%{gcc_target_platform}/libstdc++-v3/src/.libs"
e7fd42
    ld_flags="$ld_flags -L%{_builddir}/gcc-%{version}-%{DATE}/obj-%{gcc_target_platform}/libstdc++-v3/libsupc++/.libs"
e7fd42
    ld_flags="$ld_flags -L%{_builddir}/gcc-%{version}-%{DATE}/obj-%{gcc_target_platform}/%{gcc_target_platform}/libstdc++-v3/libsupc++/.libs"
e7fd42
    ld_flags="$ld_flags -L%{_builddir}/gcc-%{version}-%{DATE}/obj-%{gcc_target_platform}/%{gcc_target_platform}/libgcc/.libs"
e7fd42
e7fd42
    # libtool works with CFLAGS but ignores LDFLAGS, so we have to combine them.
e7fd42
    comp_flags="$comp_flags $ld_flags"
e7fd42
e7fd42
    echo "Configuring the annobin plugin"
e7fd42
    CC="${ccompiler}" CFLAGS="${comp_flags}" \
e7fd42
      CXX="${cxxcompiler}" CXXFLAGS="${comp_flags}" \
e7fd42
      LDFLAGS="${ld_flags}" \
e7fd42
      ./configure ${CONFIG_ARGS}  || cat config.log
e7fd42
e7fd42
    echo "Building the annobin plugin"
e7fd42
    make
e7fd42
e7fd42
    echo "Annobin plugin build complete"
e7fd42
else
e7fd42
    echo "Unable to locate annobin sources (expected to find: %{annobin_source_dir}/latest-annobin.tar.xz)"
e7fd42
    echo "These should be provided by installing the annobin package"
e7fd42
    exit 1
e7fd42
fi
e7fd42
popd
e7fd42
e7fd42
%install
e7fd42
rm -rf %{buildroot}
e7fd42
mkdir -p %{buildroot}
e7fd42
e7fd42
# RISC-V ABI wants to install everything in /lib64/lp64d or /usr/lib64/lp64d.
e7fd42
# Make these be symlinks to /lib64 or /usr/lib64 respectively. See:
e7fd42
# https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/DRHT5YTPK4WWVGL3GIN5BF2IKX2ODHZ3/
e7fd42
%ifarch riscv64
e7fd42
for d in %{buildroot}%{_libdir} %{buildroot}/%{_lib} \
e7fd42
	  %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib} \
e7fd42
	  %{buildroot}%{_prefix}/include/c++/%{gcc_major}/%{gcc_target_platform}/%{_lib}; do
e7fd42
  mkdir -p $d
e7fd42
  (cd $d && ln -sf . lp64d)
e7fd42
done
e7fd42
%endif
e7fd42
e7fd42
%if %{build_offload_nvptx}
e7fd42
cd nvptx-tools-%{nvptx_tools_gitrev}
e7fd42
cd obj-%{gcc_target_platform}
e7fd42
make install prefix=%{buildroot}%{_prefix}
e7fd42
cd ../..
e7fd42
e7fd42
ln -sf newlib-cygwin-%{newlib_cygwin_gitrev}/newlib newlib
e7fd42
cd obj-offload-nvptx-none
e7fd42
make prefix=%{buildroot}%{_prefix} mandir=%{buildroot}%{_mandir} \
e7fd42
  infodir=%{buildroot}%{_infodir} install
e7fd42
rm -rf %{buildroot}%{_prefix}/libexec/gcc/nvptx-none/%{gcc_major}/install-tools
e7fd42
rm -rf %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none/{install-tools,plugin,cc1,cc1plus,f951}
e7fd42
rm -rf %{buildroot}%{_infodir} %{buildroot}%{_mandir}/man7 %{buildroot}%{_prefix}/share/locale
e7fd42
rm -rf %{buildroot}%{_prefix}/lib/gcc/nvptx-none/%{gcc_major}/{install-tools,plugin}
e7fd42
rm -rf %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none/{install-tools,plugin,include-fixed}
e7fd42
rm -rf %{buildroot}%{_prefix}/%{_lib}/libc[cp]1*
e7fd42
mv -f %{buildroot}%{_prefix}/nvptx-none/lib/*.{a,spec} %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none/
e7fd42
mv -f %{buildroot}%{_prefix}/nvptx-none/lib/mgomp/*.{a,spec} %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none/mgomp/
e7fd42
mv -f %{buildroot}%{_prefix}/lib/gcc/nvptx-none/%{gcc_major}/*.a %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none/
e7fd42
mv -f %{buildroot}%{_prefix}/lib/gcc/nvptx-none/%{gcc_major}/mgomp/*.a %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none/mgomp/
e7fd42
find %{buildroot}%{_prefix}/lib/gcc/nvptx-none %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none \
e7fd42
     %{buildroot}%{_prefix}/nvptx-none/lib -name \*.la | xargs rm
e7fd42
cd ..
e7fd42
rm -f newlib
e7fd42
%endif
e7fd42
e7fd42
cd obj-%{gcc_target_platform}
e7fd42
e7fd42
TARGET_PLATFORM=%{gcc_target_platform}
e7fd42
e7fd42
# There are some MP bugs in libstdc++ Makefiles
e7fd42
make -C %{gcc_target_platform}/libstdc++-v3
e7fd42
e7fd42
make prefix=%{buildroot}%{_prefix} mandir=%{buildroot}%{_mandir} \
e7fd42
  infodir=%{buildroot}%{_infodir} install
e7fd42
%if %{build_ada}
e7fd42
chmod 644 %{buildroot}%{_infodir}/gnat*
e7fd42
%endif
e7fd42
e7fd42
FULLPATH=%{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
FULLEPATH=%{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
e7fd42
%if %{build_isl}
e7fd42
cp -a isl-install/lib/libisl.so.15 $FULLPATH/
e7fd42
%endif
e7fd42
e7fd42
# fix some things
e7fd42
ln -sf gcc %{buildroot}%{_prefix}/bin/cc
e7fd42
rm -f %{buildroot}%{_prefix}/lib/cpp
e7fd42
ln -sf ../bin/cpp %{buildroot}/%{_prefix}/lib/cpp
e7fd42
ln -sf gfortran %{buildroot}%{_prefix}/bin/f95
e7fd42
rm -f %{buildroot}%{_infodir}/dir
e7fd42
gzip -9 %{buildroot}%{_infodir}/*.info*
e7fd42
ln -sf gcc %{buildroot}%{_prefix}/bin/gnatgcc
e7fd42
mkdir -p %{buildroot}%{_fmoddir}
e7fd42
e7fd42
%if %{build_go}
e7fd42
mv %{buildroot}%{_prefix}/bin/go{,.gcc}
e7fd42
mv %{buildroot}%{_prefix}/bin/gofmt{,.gcc}
e7fd42
ln -sf /etc/alternatives/go %{buildroot}%{_prefix}/bin/go
e7fd42
ln -sf /etc/alternatives/gofmt %{buildroot}%{_prefix}/bin/gofmt
e7fd42
%endif
e7fd42
e7fd42
cxxconfig="`find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h`"
e7fd42
for i in `find %{gcc_target_platform}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do
e7fd42
  if ! diff -up $cxxconfig $i; then
e7fd42
    cat > %{buildroot}%{_prefix}/include/c++/%{gcc_major}/%{gcc_target_platform}/bits/c++config.h <
e7fd42
#ifndef _CPP_CPPCONFIG_WRAPPER
e7fd42
#define _CPP_CPPCONFIG_WRAPPER 1
e7fd42
#include <bits/wordsize.h>
e7fd42
#if __WORDSIZE == 32
e7fd42
%ifarch %{multilib_64_archs}
e7fd42
`cat $(find %{gcc_target_platform}/32/libstdc++-v3/include -name c++config.h)`
e7fd42
%else
e7fd42
`cat $(find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h)`
e7fd42
%endif
e7fd42
#else
e7fd42
%ifarch %{multilib_64_archs}
e7fd42
`cat $(find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h)`
e7fd42
%else
e7fd42
`cat $(find %{gcc_target_platform}/64/libstdc++-v3/include -name c++config.h)`
e7fd42
%endif
e7fd42
#endif
e7fd42
#endif
e7fd42
EOF
e7fd42
    break
e7fd42
  fi
e7fd42
done
e7fd42
e7fd42
for f in `find %{buildroot}%{_prefix}/include/c++/%{gcc_major}/%{gcc_target_platform}/ -name c++config.h`; do
e7fd42
  for i in 1 2 4 8; do
e7fd42
    sed -i -e 's/#define _GLIBCXX_ATOMIC_BUILTINS_'$i' 1/#ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_'$i'\
e7fd42
&\
e7fd42
#endif/' $f
e7fd42
  done
e7fd42
done
e7fd42
e7fd42
# Nuke bits/*.h.gch dirs
e7fd42
# 1) there is no bits/*.h header installed, so when gch file can't be
e7fd42
#    used, compilation fails
e7fd42
# 2) sometimes it is hard to match the exact options used for building
e7fd42
#    libstdc++-v3 or they aren't desirable
e7fd42
# 3) there are multilib issues, conflicts etc. with this
e7fd42
# 4) it is huge
e7fd42
# People can always precompile on their own whatever they want, but
e7fd42
# shipping this for everybody is unnecessary.
e7fd42
rm -rf %{buildroot}%{_prefix}/include/c++/%{gcc_major}/%{gcc_target_platform}/bits/*.h.gch
e7fd42
e7fd42
%if %{build_libstdcxx_docs}
e7fd42
libstdcxx_doc_builddir=%{gcc_target_platform}/libstdc++-v3/doc/doxygen
e7fd42
mkdir -p ../rpm.doc/libstdc++-v3
e7fd42
cp -r -p ../libstdc++-v3/doc/html ../rpm.doc/libstdc++-v3/html
e7fd42
cp -r -p $libstdcxx_doc_builddir/html ../rpm.doc/libstdc++-v3/html/api
e7fd42
mkdir -p %{buildroot}%{_mandir}/man3
e7fd42
cp -r -p $libstdcxx_doc_builddir/man/man3/* %{buildroot}%{_mandir}/man3/
e7fd42
find ../rpm.doc/libstdc++-v3 -name \*~ | xargs rm
e7fd42
%endif
e7fd42
e7fd42
%ifarch sparcv9 sparc64
e7fd42
ln -f %{buildroot}%{_prefix}/bin/%{gcc_target_platform}-gcc \
e7fd42
  %{buildroot}%{_prefix}/bin/sparc-%{_vendor}-%{_target_os}-gcc
e7fd42
%endif
e7fd42
%ifarch ppc ppc64 ppc64p7
e7fd42
ln -f %{buildroot}%{_prefix}/bin/%{gcc_target_platform}-gcc \
e7fd42
  %{buildroot}%{_prefix}/bin/ppc-%{_vendor}-%{_target_os}-gcc
e7fd42
%endif
e7fd42
e7fd42
FULLLSUBDIR=
e7fd42
%ifarch sparcv9 ppc
e7fd42
FULLLSUBDIR=lib32
e7fd42
%endif
e7fd42
%ifarch sparc64 ppc64 ppc64p7
e7fd42
FULLLSUBDIR=lib64
e7fd42
%endif
e7fd42
if [ -n "$FULLLSUBDIR" ]; then
e7fd42
  FULLLPATH=$FULLPATH/$FULLLSUBDIR
e7fd42
  mkdir -p $FULLLPATH
e7fd42
else
e7fd42
  FULLLPATH=$FULLPATH
e7fd42
fi
e7fd42
e7fd42
find %{buildroot} -name \*.la | xargs rm -f
e7fd42
e7fd42
mv %{buildroot}%{_prefix}/%{_lib}/libgfortran.spec $FULLPATH/
e7fd42
%if %{build_d}
e7fd42
mv %{buildroot}%{_prefix}/%{_lib}/libgphobos.spec $FULLPATH/
e7fd42
%endif
e7fd42
%if %{build_libitm}
e7fd42
mv %{buildroot}%{_prefix}/%{_lib}/libitm.spec $FULLPATH/
e7fd42
%endif
e7fd42
%if %{build_libasan}
e7fd42
mv %{buildroot}%{_prefix}/%{_lib}/libsanitizer.spec $FULLPATH/
e7fd42
%endif
e7fd42
e7fd42
mkdir -p %{buildroot}/%{_lib}
e7fd42
mv -f %{buildroot}%{_prefix}/%{_lib}/libgcc_s.so.1 %{buildroot}/%{_lib}/libgcc_s-%{gcc_major}-%{DATE}.so.1
e7fd42
chmod 755 %{buildroot}/%{_lib}/libgcc_s-%{gcc_major}-%{DATE}.so.1
e7fd42
ln -sf libgcc_s-%{gcc_major}-%{DATE}.so.1 %{buildroot}/%{_lib}/libgcc_s.so.1
e7fd42
%ifarch %{ix86} x86_64 ppc ppc64 ppc64p7 ppc64le %{arm} aarch64 riscv64
e7fd42
rm -f $FULLPATH/libgcc_s.so
e7fd42
echo '/* GNU ld script
e7fd42
   Use the shared library, but some functions are only in
e7fd42
   the static library, so try that secondarily.  */
e7fd42
OUTPUT_FORMAT('`gcc -Wl,--print-output-format -nostdlib -r -o /dev/null`')
e7fd42
GROUP ( /%{_lib}/libgcc_s.so.1 libgcc.a )' > $FULLPATH/libgcc_s.so
e7fd42
%else
e7fd42
ln -sf /%{_lib}/libgcc_s.so.1 $FULLPATH/libgcc_s.so
e7fd42
%endif
e7fd42
%ifarch sparcv9 ppc
e7fd42
%ifarch ppc
e7fd42
rm -f $FULLPATH/64/libgcc_s.so
e7fd42
echo '/* GNU ld script
e7fd42
   Use the shared library, but some functions are only in
e7fd42
   the static library, so try that secondarily.  */
e7fd42
OUTPUT_FORMAT('`gcc -m64 -Wl,--print-output-format -nostdlib -r -o /dev/null`')
e7fd42
GROUP ( /lib64/libgcc_s.so.1 libgcc.a )' > $FULLPATH/64/libgcc_s.so
e7fd42
%else
e7fd42
ln -sf /lib64/libgcc_s.so.1 $FULLPATH/64/libgcc_s.so
e7fd42
%endif
e7fd42
%endif
e7fd42
%ifarch %{multilib_64_archs}
e7fd42
%ifarch x86_64 ppc64 ppc64p7
e7fd42
rm -f $FULLPATH/64/libgcc_s.so
e7fd42
echo '/* GNU ld script
e7fd42
   Use the shared library, but some functions are only in
e7fd42
   the static library, so try that secondarily.  */
e7fd42
OUTPUT_FORMAT('`gcc -m32 -Wl,--print-output-format -nostdlib -r -o /dev/null`')
e7fd42
GROUP ( /lib/libgcc_s.so.1 libgcc.a )' > $FULLPATH/32/libgcc_s.so
e7fd42
%else
e7fd42
ln -sf /lib/libgcc_s.so.1 $FULLPATH/32/libgcc_s.so
e7fd42
%endif
e7fd42
%endif
e7fd42
e7fd42
mv -f %{buildroot}%{_prefix}/%{_lib}/libgomp.spec $FULLPATH/
e7fd42
e7fd42
%if %{build_ada}
e7fd42
mv -f $FULLPATH/adalib/libgnarl-*.so %{buildroot}%{_prefix}/%{_lib}/
e7fd42
mv -f $FULLPATH/adalib/libgnat-*.so %{buildroot}%{_prefix}/%{_lib}/
e7fd42
rm -f $FULLPATH/adalib/libgnarl.so* $FULLPATH/adalib/libgnat.so*
e7fd42
%endif
e7fd42
e7fd42
mkdir -p %{buildroot}%{_prefix}/libexec/getconf
e7fd42
if gcc/xgcc -B gcc/ -E -P -dD -xc /dev/null | grep '__LONG_MAX__.*\(2147483647\|0x7fffffff\($\|[LU]\)\)'; then
e7fd42
  ln -sf POSIX_V6_ILP32_OFF32 %{buildroot}%{_prefix}/libexec/getconf/default
e7fd42
else
e7fd42
  ln -sf POSIX_V6_LP64_OFF64 %{buildroot}%{_prefix}/libexec/getconf/default
e7fd42
fi
e7fd42
e7fd42
mkdir -p %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}
e7fd42
mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++*gdb.py* \
e7fd42
      %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/
e7fd42
pushd ../libstdc++-v3/python
e7fd42
for i in `find . -name \*.py`; do
e7fd42
  touch -r $i %{buildroot}%{_prefix}/share/gcc-%{gcc_major}/python/$i
e7fd42
done
e7fd42
touch -r hook.in %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/libstdc++*gdb.py
e7fd42
popd
e7fd42
for f in `find %{buildroot}%{_prefix}/share/gcc-%{gcc_major}/python/ \
e7fd42
	       %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/ -name \*.py`; do
e7fd42
  r=${f/$RPM_BUILD_ROOT/}
e7fd42
  %{__python3} -c 'import py_compile; py_compile.compile("'$f'", dfile="'$r'")'
e7fd42
  %{__python3} -O -c 'import py_compile; py_compile.compile("'$f'", dfile="'$r'")'
e7fd42
done
e7fd42
e7fd42
rm -f $FULLEPATH/libgccjit.so
e7fd42
cp -a objlibgccjit/gcc/libgccjit.so* %{buildroot}%{_prefix}/%{_lib}/
e7fd42
cp -a ../gcc/jit/libgccjit*.h %{buildroot}%{_prefix}/include/
e7fd42
/usr/bin/install -c -m 644 objlibgccjit/gcc/doc/libgccjit.info %{buildroot}/%{_infodir}/
e7fd42
gzip -9 %{buildroot}/%{_infodir}/libgccjit.info
e7fd42
e7fd42
pushd $FULLPATH
e7fd42
if [ "%{_lib}" = "lib" ]; then
e7fd42
%if %{build_objc}
e7fd42
ln -sf ../../../libobjc.so.4 libobjc.so
e7fd42
%endif
e7fd42
ln -sf ../../../libstdc++.so.6.*[0-9] libstdc++.so
e7fd42
ln -sf ../../../libgfortran.so.5.* libgfortran.so
e7fd42
ln -sf ../../../libgomp.so.1.* libgomp.so
e7fd42
%if %{build_go}
e7fd42
ln -sf ../../../libgo.so.19.* libgo.so
e7fd42
%endif
e7fd42
%if %{build_libquadmath}
e7fd42
ln -sf ../../../libquadmath.so.0.* libquadmath.so
e7fd42
%endif
e7fd42
%if %{build_d}
e7fd42
ln -sf ../../../libgdruntime.so.2.* libgdruntime.so
e7fd42
ln -sf ../../../libgphobos.so.2.* libgphobos.so
e7fd42
%endif
e7fd42
%if %{build_libitm}
e7fd42
ln -sf ../../../libitm.so.1.* libitm.so
e7fd42
%endif
e7fd42
%if %{build_libatomic}
e7fd42
ln -sf ../../../libatomic.so.1.* libatomic.so
e7fd42
%endif
e7fd42
%if %{build_libasan}
e7fd42
ln -sf ../../../libasan.so.6.* libasan.so
e7fd42
mv ../../../libasan_preinit.o libasan_preinit.o
e7fd42
%endif
e7fd42
%if %{build_libubsan}
e7fd42
ln -sf ../../../libubsan.so.1.* libubsan.so
e7fd42
%endif
e7fd42
else
e7fd42
%if %{build_objc}
e7fd42
ln -sf ../../../../%{_lib}/libobjc.so.4 libobjc.so
e7fd42
%endif
e7fd42
ln -sf ../../../../%{_lib}/libstdc++.so.6.*[0-9] libstdc++.so
e7fd42
ln -sf ../../../../%{_lib}/libgfortran.so.5.* libgfortran.so
e7fd42
ln -sf ../../../../%{_lib}/libgomp.so.1.* libgomp.so
e7fd42
%if %{build_go}
e7fd42
ln -sf ../../../../%{_lib}/libgo.so.19.* libgo.so
e7fd42
%endif
e7fd42
%if %{build_libquadmath}
e7fd42
ln -sf ../../../../%{_lib}/libquadmath.so.0.* libquadmath.so
e7fd42
%endif
e7fd42
%if %{build_d}
e7fd42
ln -sf ../../../../%{_lib}/libgdruntime.so.2.* libgdruntime.so
e7fd42
ln -sf ../../../../%{_lib}/libgphobos.so.2.* libgphobos.so
e7fd42
%endif
e7fd42
%if %{build_libitm}
e7fd42
ln -sf ../../../../%{_lib}/libitm.so.1.* libitm.so
e7fd42
%endif
e7fd42
%if %{build_libatomic}
e7fd42
ln -sf ../../../../%{_lib}/libatomic.so.1.* libatomic.so
e7fd42
%endif
e7fd42
%if %{build_libasan}
e7fd42
ln -sf ../../../../%{_lib}/libasan.so.6.* libasan.so
e7fd42
mv ../../../../%{_lib}/libasan_preinit.o libasan_preinit.o
e7fd42
%endif
e7fd42
%if %{build_libubsan}
e7fd42
ln -sf ../../../../%{_lib}/libubsan.so.1.* libubsan.so
e7fd42
%endif
e7fd42
%if %{build_libtsan}
e7fd42
rm -f libtsan.so
e7fd42
echo 'INPUT ( %{_prefix}/%{_lib}/'`echo ../../../../%{_lib}/libtsan.so.0.* | sed 's,^.*libt,libt,'`' )' > libtsan.so
e7fd42
mv ../../../../%{_lib}/libtsan_preinit.o libtsan_preinit.o
e7fd42
%endif
e7fd42
%if %{build_liblsan}
e7fd42
rm -f liblsan.so
e7fd42
echo 'INPUT ( %{_prefix}/%{_lib}/'`echo ../../../../%{_lib}/liblsan.so.0.* | sed 's,^.*libl,libl,'`' )' > liblsan.so
e7fd42
mv ../../../../%{_lib}/liblsan_preinit.o liblsan_preinit.o
e7fd42
%endif
e7fd42
fi
e7fd42
mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++.*a $FULLLPATH/
e7fd42
mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++fs.*a $FULLLPATH/
e7fd42
mv -f %{buildroot}%{_prefix}/%{_lib}/libsupc++.*a $FULLLPATH/
e7fd42
mv -f %{buildroot}%{_prefix}/%{_lib}/libgfortran.*a $FULLLPATH/
e7fd42
%if %{build_objc}
e7fd42
mv -f %{buildroot}%{_prefix}/%{_lib}/libobjc.*a .
e7fd42
%endif
e7fd42
mv -f %{buildroot}%{_prefix}/%{_lib}/libgomp.*a .
e7fd42
%if %{build_libquadmath}
e7fd42
mv -f %{buildroot}%{_prefix}/%{_lib}/libquadmath.*a $FULLLPATH/
e7fd42
%endif
e7fd42
%if %{build_d}
e7fd42
mv -f %{buildroot}%{_prefix}/%{_lib}/libgdruntime.*a $FULLLPATH/
e7fd42
mv -f %{buildroot}%{_prefix}/%{_lib}/libgphobos.*a $FULLLPATH/
e7fd42
%endif
e7fd42
%if %{build_libitm}
e7fd42
mv -f %{buildroot}%{_prefix}/%{_lib}/libitm.*a $FULLLPATH/
e7fd42
%endif
e7fd42
%if %{build_libatomic}
e7fd42
mv -f %{buildroot}%{_prefix}/%{_lib}/libatomic.*a $FULLLPATH/
e7fd42
%endif
e7fd42
%if %{build_libasan}
e7fd42
mv -f %{buildroot}%{_prefix}/%{_lib}/libasan.*a $FULLLPATH/
e7fd42
%endif
e7fd42
%if %{build_libubsan}
e7fd42
mv -f %{buildroot}%{_prefix}/%{_lib}/libubsan.*a $FULLLPATH/
e7fd42
%endif
e7fd42
%if %{build_libtsan}
e7fd42
mv -f %{buildroot}%{_prefix}/%{_lib}/libtsan.*a $FULLPATH/
e7fd42
%endif
e7fd42
%if %{build_liblsan}
e7fd42
mv -f %{buildroot}%{_prefix}/%{_lib}/liblsan.*a $FULLPATH/
e7fd42
%endif
e7fd42
%if %{build_go}
e7fd42
mv -f %{buildroot}%{_prefix}/%{_lib}/libgo.*a $FULLLPATH/
e7fd42
mv -f %{buildroot}%{_prefix}/%{_lib}/libgobegin.*a $FULLLPATH/
e7fd42
mv -f %{buildroot}%{_prefix}/%{_lib}/libgolibbegin.*a $FULLLPATH/
e7fd42
%endif
e7fd42
e7fd42
%if %{build_ada}
e7fd42
%ifarch sparcv9 ppc
e7fd42
rm -rf $FULLPATH/64/ada{include,lib}
e7fd42
%endif
e7fd42
%ifarch %{multilib_64_archs}
e7fd42
rm -rf $FULLPATH/32/ada{include,lib}
e7fd42
%endif
e7fd42
if [ "$FULLPATH" != "$FULLLPATH" ]; then
e7fd42
mv -f $FULLPATH/ada{include,lib} $FULLLPATH/
e7fd42
pushd $FULLLPATH/adalib
e7fd42
if [ "%{_lib}" = "lib" ]; then
e7fd42
ln -sf ../../../../../libgnarl-*.so libgnarl.so
e7fd42
ln -sf ../../../../../libgnarl-*.so libgnarl-11.so
e7fd42
ln -sf ../../../../../libgnat-*.so libgnat.so
e7fd42
ln -sf ../../../../../libgnat-*.so libgnat-11.so
e7fd42
else
e7fd42
ln -sf ../../../../../../%{_lib}/libgnarl-*.so libgnarl.so
e7fd42
ln -sf ../../../../../../%{_lib}/libgnarl-*.so libgnarl-11.so
e7fd42
ln -sf ../../../../../../%{_lib}/libgnat-*.so libgnat.so
e7fd42
ln -sf ../../../../../../%{_lib}/libgnat-*.so libgnat-11.so
e7fd42
fi
e7fd42
popd
e7fd42
else
e7fd42
pushd $FULLPATH/adalib
e7fd42
if [ "%{_lib}" = "lib" ]; then
e7fd42
ln -sf ../../../../libgnarl-*.so libgnarl.so
e7fd42
ln -sf ../../../../libgnarl-*.so libgnarl-11.so
e7fd42
ln -sf ../../../../libgnat-*.so libgnat.so
e7fd42
ln -sf ../../../../libgnat-*.so libgnat-11.so
e7fd42
else
e7fd42
ln -sf ../../../../../%{_lib}/libgnarl-*.so libgnarl.so
e7fd42
ln -sf ../../../../../%{_lib}/libgnarl-*.so libgnarl-11.so
e7fd42
ln -sf ../../../../../%{_lib}/libgnat-*.so libgnat.so
e7fd42
ln -sf ../../../../../%{_lib}/libgnat-*.so libgnat-11.so
e7fd42
fi
e7fd42
popd
e7fd42
fi
e7fd42
%endif
e7fd42
e7fd42
%ifarch sparcv9 ppc
e7fd42
%if %{build_objc}
e7fd42
ln -sf ../../../../../lib64/libobjc.so.4 64/libobjc.so
e7fd42
%endif
e7fd42
ln -sf ../`echo ../../../../lib/libstdc++.so.6.*[0-9] | sed s~/lib/~/lib64/~` 64/libstdc++.so
e7fd42
ln -sf ../`echo ../../../../lib/libgfortran.so.5.* | sed s~/lib/~/lib64/~` 64/libgfortran.so
e7fd42
ln -sf ../`echo ../../../../lib/libgomp.so.1.* | sed s~/lib/~/lib64/~` 64/libgomp.so
e7fd42
%if %{build_go}
e7fd42
rm -f libgo.so
e7fd42
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libgo.so.19.* | sed 's,^.*libg,libg,'`' )' > libgo.so
e7fd42
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libgo.so.19.* | sed 's,^.*libg,libg,'`' )' > 64/libgo.so
e7fd42
%endif
e7fd42
%if %{build_libquadmath}
e7fd42
rm -f libquadmath.so
e7fd42
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libquadmath.so.0.* | sed 's,^.*libq,libq,'`' )' > libquadmath.so
e7fd42
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libquadmath.so.0.* | sed 's,^.*libq,libq,'`' )' > 64/libquadmath.so
e7fd42
%endif
e7fd42
%if %{build_d}
e7fd42
rm -f libgdruntime.so libgphobos.so
e7fd42
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libgdruntime.so.2.* | sed 's,^.*libg,libg,'`' )' > libgdruntime.so
e7fd42
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libgdruntime.so.2.* | sed 's,^.*libg,libg,'`' )' > 64/libgdruntime.so
e7fd42
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libgphobos.so.2.* | sed 's,^.*libg,libg,'`' )' > libgphobos.so
e7fd42
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libgphobos.so.2.* | sed 's,^.*libg,libg,'`' )' > 64/libgphobos.so
e7fd42
%endif
e7fd42
%if %{build_libitm}
e7fd42
rm -f libitm.so
e7fd42
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libitm.so.1.* | sed 's,^.*libi,libi,'`' )' > libitm.so
e7fd42
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libitm.so.1.* | sed 's,^.*libi,libi,'`' )' > 64/libitm.so
e7fd42
%endif
e7fd42
%if %{build_libatomic}
e7fd42
rm -f libatomic.so
e7fd42
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libatomic.so.1.* | sed 's,^.*liba,liba,'`' )' > libatomic.so
e7fd42
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libatomic.so.1.* | sed 's,^.*liba,liba,'`' )' > 64/libatomic.so
e7fd42
%endif
e7fd42
%if %{build_libasan}
e7fd42
rm -f libasan.so
e7fd42
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libasan.so.6.* | sed 's,^.*liba,liba,'`' )' > libasan.so
e7fd42
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libasan.so.6.* | sed 's,^.*liba,liba,'`' )' > 64/libasan.so
e7fd42
mv ../../../../lib64/libasan_preinit.o 64/libasan_preinit.o
e7fd42
%endif
e7fd42
%if %{build_libubsan}
e7fd42
rm -f libubsan.so
e7fd42
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libubsan.so.1.* | sed 's,^.*libu,libu,'`' )' > libubsan.so
e7fd42
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libubsan.so.1.* | sed 's,^.*libu,libu,'`' )' > 64/libubsan.so
e7fd42
%endif
e7fd42
ln -sf lib32/libgfortran.a libgfortran.a
e7fd42
ln -sf ../lib64/libgfortran.a 64/libgfortran.a
e7fd42
%if %{build_objc}
e7fd42
mv -f %{buildroot}%{_prefix}/lib64/libobjc.*a 64/
e7fd42
%endif
e7fd42
mv -f %{buildroot}%{_prefix}/lib64/libgomp.*a 64/
e7fd42
ln -sf lib32/libstdc++.a libstdc++.a
e7fd42
ln -sf ../lib64/libstdc++.a 64/libstdc++.a
e7fd42
ln -sf lib32/libstdc++fs.a libstdc++fs.a
e7fd42
ln -sf ../lib64/libstdc++fs.a 64/libstdc++fs.a
e7fd42
ln -sf lib32/libsupc++.a libsupc++.a
e7fd42
ln -sf ../lib64/libsupc++.a 64/libsupc++.a
e7fd42
%if %{build_libquadmath}
e7fd42
ln -sf lib32/libquadmath.a libquadmath.a
e7fd42
ln -sf ../lib64/libquadmath.a 64/libquadmath.a
e7fd42
%endif
e7fd42
%if %{build_d}
e7fd42
ln -sf lib32/libgdruntime.a libgdruntime.a
e7fd42
ln -sf ../lib64/libgdruntime.a 64/libgdruntime.a
e7fd42
ln -sf lib32/libgphobos.a libgphobos.a
e7fd42
ln -sf ../lib64/libgphobos.a 64/libgphobos.a
e7fd42
%endif
e7fd42
%if %{build_libitm}
e7fd42
ln -sf lib32/libitm.a libitm.a
e7fd42
ln -sf ../lib64/libitm.a 64/libitm.a
e7fd42
%endif
e7fd42
%if %{build_libatomic}
e7fd42
ln -sf lib32/libatomic.a libatomic.a
e7fd42
ln -sf ../lib64/libatomic.a 64/libatomic.a
e7fd42
%endif
e7fd42
%if %{build_libasan}
e7fd42
ln -sf lib32/libasan.a libasan.a
e7fd42
ln -sf ../lib64/libasan.a 64/libasan.a
e7fd42
%endif
e7fd42
%if %{build_libubsan}
e7fd42
ln -sf lib32/libubsan.a libubsan.a
e7fd42
ln -sf ../lib64/libubsan.a 64/libubsan.a
e7fd42
%endif
e7fd42
%if %{build_go}
e7fd42
ln -sf lib32/libgo.a libgo.a
e7fd42
ln -sf ../lib64/libgo.a 64/libgo.a
e7fd42
ln -sf lib32/libgobegin.a libgobegin.a
e7fd42
ln -sf ../lib64/libgobegin.a 64/libgobegin.a
e7fd42
ln -sf lib32/libgolibbegin.a libgolibbegin.a
e7fd42
ln -sf ../lib64/libgolibbegin.a 64/libgolibbegin.a
e7fd42
%endif
e7fd42
%if %{build_ada}
e7fd42
ln -sf lib32/adainclude adainclude
e7fd42
ln -sf ../lib64/adainclude 64/adainclude
e7fd42
ln -sf lib32/adalib adalib
e7fd42
ln -sf ../lib64/adalib 64/adalib
e7fd42
%endif
e7fd42
%endif
e7fd42
%ifarch %{multilib_64_archs}
e7fd42
mkdir -p 32
e7fd42
%if %{build_objc}
e7fd42
ln -sf ../../../../libobjc.so.4 32/libobjc.so
e7fd42
%endif
e7fd42
ln -sf ../`echo ../../../../lib64/libstdc++.so.6.*[0-9] | sed s~/../lib64/~/~` 32/libstdc++.so
e7fd42
ln -sf ../`echo ../../../../lib64/libgfortran.so.5.* | sed s~/../lib64/~/~` 32/libgfortran.so
e7fd42
ln -sf ../`echo ../../../../lib64/libgomp.so.1.* | sed s~/../lib64/~/~` 32/libgomp.so
e7fd42
%if %{build_go}
e7fd42
rm -f libgo.so
e7fd42
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libgo.so.19.* | sed 's,^.*libg,libg,'`' )' > libgo.so
e7fd42
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgo.so.19.* | sed 's,^.*libg,libg,'`' )' > 32/libgo.so
e7fd42
%endif
e7fd42
%if %{build_libquadmath}
e7fd42
rm -f libquadmath.so
e7fd42
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libquadmath.so.0.* | sed 's,^.*libq,libq,'`' )' > libquadmath.so
e7fd42
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libquadmath.so.0.* | sed 's,^.*libq,libq,'`' )' > 32/libquadmath.so
e7fd42
%endif
e7fd42
%if %{build_d}
e7fd42
rm -f libgdruntime.so libgphobos.so
e7fd42
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libgdruntime.so.2.* | sed 's,^.*libg,libg,'`' )' > libgdruntime.so
e7fd42
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgdruntime.so.2.* | sed 's,^.*libg,libg,'`' )' > 32/libgdruntime.so
e7fd42
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libgphobos.so.2.* | sed 's,^.*libg,libg,'`' )' > libgphobos.so
e7fd42
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgphobos.so.2.* | sed 's,^.*libg,libg,'`' )' > 32/libgphobos.so
e7fd42
%endif
e7fd42
%if %{build_libitm}
e7fd42
rm -f libitm.so
e7fd42
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libitm.so.1.* | sed 's,^.*libi,libi,'`' )' > libitm.so
e7fd42
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libitm.so.1.* | sed 's,^.*libi,libi,'`' )' > 32/libitm.so
e7fd42
%endif
e7fd42
%if %{build_libatomic}
e7fd42
rm -f libatomic.so
e7fd42
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libatomic.so.1.* | sed 's,^.*liba,liba,'`' )' > libatomic.so
e7fd42
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libatomic.so.1.* | sed 's,^.*liba,liba,'`' )' > 32/libatomic.so
e7fd42
%endif
e7fd42
%if %{build_libasan}
e7fd42
rm -f libasan.so
e7fd42
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libasan.so.6.* | sed 's,^.*liba,liba,'`' )' > libasan.so
e7fd42
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libasan.so.6.* | sed 's,^.*liba,liba,'`' )' > 32/libasan.so
e7fd42
mv ../../../../lib/libasan_preinit.o 32/libasan_preinit.o
e7fd42
%endif
e7fd42
%if %{build_libubsan}
e7fd42
rm -f libubsan.so
e7fd42
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libubsan.so.1.* | sed 's,^.*libu,libu,'`' )' > libubsan.so
e7fd42
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libubsan.so.1.* | sed 's,^.*libu,libu,'`' )' > 32/libubsan.so
e7fd42
%endif
e7fd42
%if %{build_objc}
e7fd42
mv -f %{buildroot}%{_prefix}/lib/libobjc.*a 32/
e7fd42
%endif
e7fd42
mv -f %{buildroot}%{_prefix}/lib/libgomp.*a 32/
e7fd42
%endif
e7fd42
%ifarch sparc64 ppc64 ppc64p7
e7fd42
ln -sf ../lib32/libgfortran.a 32/libgfortran.a
e7fd42
ln -sf lib64/libgfortran.a libgfortran.a
e7fd42
ln -sf ../lib32/libstdc++.a 32/libstdc++.a
e7fd42
ln -sf lib64/libstdc++.a libstdc++.a
e7fd42
ln -sf ../lib32/libstdc++fs.a 32/libstdc++fs.a
e7fd42
ln -sf lib64/libstdc++fs.a libstdc++fs.a
e7fd42
ln -sf ../lib32/libsupc++.a 32/libsupc++.a
e7fd42
ln -sf lib64/libsupc++.a libsupc++.a
e7fd42
%if %{build_libquadmath}
e7fd42
ln -sf ../lib32/libquadmath.a 32/libquadmath.a
e7fd42
ln -sf lib64/libquadmath.a libquadmath.a
e7fd42
%endif
e7fd42
%if %{build_d}
e7fd42
ln -sf ../lib32/libgdruntime.a 32/libgdruntime.a
e7fd42
ln -sf lib64/libgdruntime.a libgdruntime.a
e7fd42
ln -sf ../lib32/libgphobos.a 32/libgphobos.a
e7fd42
ln -sf lib64/libgphobos.a libgphobos.a
e7fd42
%endif
e7fd42
%if %{build_libitm}
e7fd42
ln -sf ../lib32/libitm.a 32/libitm.a
e7fd42
ln -sf lib64/libitm.a libitm.a
e7fd42
%endif
e7fd42
%if %{build_libatomic}
e7fd42
ln -sf ../lib32/libatomic.a 32/libatomic.a
e7fd42
ln -sf lib64/libatomic.a libatomic.a
e7fd42
%endif
e7fd42
%if %{build_libasan}
e7fd42
ln -sf ../lib32/libasan.a 32/libasan.a
e7fd42
ln -sf lib64/libasan.a libasan.a
e7fd42
%endif
e7fd42
%if %{build_libubsan}
e7fd42
ln -sf ../lib32/libubsan.a 32/libubsan.a
e7fd42
ln -sf lib64/libubsan.a libubsan.a
e7fd42
%endif
e7fd42
%if %{build_go}
e7fd42
ln -sf ../lib32/libgo.a 32/libgo.a
e7fd42
ln -sf lib64/libgo.a libgo.a
e7fd42
ln -sf ../lib32/libgobegin.a 32/libgobegin.a
e7fd42
ln -sf lib64/libgobegin.a libgobegin.a
e7fd42
ln -sf ../lib32/libgolibbegin.a 32/libgolibbegin.a
e7fd42
ln -sf lib64/libgolibbegin.a libgolibbegin.a
e7fd42
%endif
e7fd42
%if %{build_ada}
e7fd42
ln -sf ../lib32/adainclude 32/adainclude
e7fd42
ln -sf lib64/adainclude adainclude
e7fd42
ln -sf ../lib32/adalib 32/adalib
e7fd42
ln -sf lib64/adalib adalib
e7fd42
%endif
e7fd42
%else
e7fd42
%ifarch %{multilib_64_archs}
e7fd42
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libgfortran.a 32/libgfortran.a
e7fd42
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libstdc++.a 32/libstdc++.a
e7fd42
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libstdc++fs.a 32/libstdc++fs.a
e7fd42
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libsupc++.a 32/libsupc++.a
e7fd42
%if %{build_libquadmath}
e7fd42
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libquadmath.a 32/libquadmath.a
e7fd42
%endif
e7fd42
%if %{build_d}
e7fd42
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libgdruntime.a 32/libgdruntime.a
e7fd42
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libgphobos.a 32/libgphobos.a
e7fd42
%endif
e7fd42
%if %{build_libitm}
e7fd42
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libitm.a 32/libitm.a
e7fd42
%endif
e7fd42
%if %{build_libatomic}
e7fd42
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libatomic.a 32/libatomic.a
e7fd42
%endif
e7fd42
%if %{build_libasan}
e7fd42
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libasan.a 32/libasan.a
e7fd42
%endif
e7fd42
%if %{build_libubsan}
e7fd42
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libubsan.a 32/libubsan.a
e7fd42
%endif
e7fd42
%if %{build_go}
e7fd42
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libgo.a 32/libgo.a
e7fd42
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libgobegin.a 32/libgobegin.a
e7fd42
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libgolibbegin.a 32/libgolibbegin.a
e7fd42
%endif
e7fd42
%if %{build_ada}
e7fd42
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/adainclude 32/adainclude
e7fd42
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/adalib 32/adalib
e7fd42
%endif
e7fd42
%endif
e7fd42
%endif
e7fd42
e7fd42
# If we are building a debug package then copy all of the static archives
e7fd42
# into the debug directory to keep them as unstripped copies.
e7fd42
%if 0%{?_enable_debug_packages}
e7fd42
for d in . $FULLLSUBDIR; do
e7fd42
  mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/debug%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/$d
e7fd42
  for f in `find $d -maxdepth 1 -a \
e7fd42
		\( -name libasan.a -o -name libatomic.a \
e7fd42
		-o -name libcaf_single.a \
e7fd42
		-o -name libgcc.a -o -name libgcc_eh.a \
e7fd42
		-o -name libgcov.a -o -name libgfortran.a \
e7fd42
		-o -name libgo.a -o -name libgobegin.a \
e7fd42
		-o -name libgolibbegin.a -o -name libgomp.a \
e7fd42
		-o -name libitm.a -o -name liblsan.a \
e7fd42
		-o -name libobjc.a -o -name libgdruntime.a -o -name libgphobos.a \
e7fd42
		-o -name libquadmath.a -o -name libstdc++.a \
e7fd42
		-o -name libstdc++fs.a -o -name libsupc++.a \
e7fd42
		-o -name libtsan.a -o -name libubsan.a \) -a -type f`; do
e7fd42
    cp -a $f $RPM_BUILD_ROOT%{_prefix}/lib/debug%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/$d/
e7fd42
  done
e7fd42
done
e7fd42
%endif
e7fd42
e7fd42
# Strip debug info from Fortran/ObjC/Java static libraries
e7fd42
strip -g `find . \( -name libgfortran.a -o -name libobjc.a -o -name libgomp.a \
e7fd42
		    -o -name libgcc.a -o -name libgcov.a -o -name libquadmath.a \
e7fd42
		    -o -name libgdruntime.a -o -name libgphobos.a \
e7fd42
		    -o -name libitm.a -o -name libgo.a -o -name libcaf\*.a \
e7fd42
		    -o -name libatomic.a -o -name libasan.a -o -name libtsan.a \
e7fd42
		    -o -name libubsan.a -o -name liblsan.a -o -name libcc1.a \) \
e7fd42
		 -a -type f`
e7fd42
popd
e7fd42
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgfortran.so.5.*
e7fd42
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgomp.so.1.*
e7fd42
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libcc1.so.0.*
e7fd42
%if %{build_libquadmath}
e7fd42
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libquadmath.so.0.*
e7fd42
%endif
e7fd42
%if %{build_d}
e7fd42
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgdruntime.so.2.*
e7fd42
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgphobos.so.2.*
e7fd42
%endif
e7fd42
%if %{build_libitm}
e7fd42
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libitm.so.1.*
e7fd42
%endif
e7fd42
%if %{build_libatomic}
e7fd42
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libatomic.so.1.*
e7fd42
%endif
e7fd42
%if %{build_libasan}
e7fd42
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libasan.so.6.*
e7fd42
%endif
e7fd42
%if %{build_libubsan}
e7fd42
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libubsan.so.1.*
e7fd42
%endif
e7fd42
%if %{build_libtsan}
e7fd42
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libtsan.so.0.*
e7fd42
%endif
e7fd42
%if %{build_liblsan}
e7fd42
chmod 755 %{buildroot}%{_prefix}/%{_lib}/liblsan.so.0.*
e7fd42
%endif
e7fd42
%if %{build_go}
e7fd42
# Avoid stripping these libraries and binaries.
e7fd42
chmod 644 %{buildroot}%{_prefix}/%{_lib}/libgo.so.19.*
e7fd42
chmod 644 %{buildroot}%{_prefix}/bin/go.gcc
e7fd42
chmod 644 %{buildroot}%{_prefix}/bin/gofmt.gcc
e7fd42
chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cgo
e7fd42
chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/buildid
e7fd42
chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/test2json
e7fd42
chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/vet
e7fd42
%endif
e7fd42
%if %{build_objc}
e7fd42
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libobjc.so.4.*
e7fd42
%endif
e7fd42
e7fd42
%if %{build_ada}
e7fd42
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgnarl*so*
e7fd42
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgnat*so*
e7fd42
%endif
e7fd42
e7fd42
mv $FULLPATH/include-fixed/syslimits.h $FULLPATH/include/syslimits.h
e7fd42
mv $FULLPATH/include-fixed/limits.h $FULLPATH/include/limits.h
e7fd42
for h in `find $FULLPATH/include -name \*.h`; do
e7fd42
  if grep -q 'It has been auto-edited by fixincludes from' $h; then
e7fd42
    rh=`grep -A2 'It has been auto-edited by fixincludes from' $h | tail -1 | sed 's|^.*"\(.*\)".*$|\1|'`
e7fd42
    diff -up $rh $h || :
e7fd42
    rm -f $h
e7fd42
  fi
e7fd42
done
e7fd42
e7fd42
cat > %{buildroot}%{_prefix}/bin/c89 <<"EOF"
e7fd42
#!/bin/sh
e7fd42
fl="-std=c89"
e7fd42
for opt; do
e7fd42
  case "$opt" in
e7fd42
    -ansi|-std=c89|-std=iso9899:1990) fl="";;
e7fd42
    -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2
e7fd42
	    exit 1;;
e7fd42
  esac
e7fd42
done
e7fd42
exec gcc $fl ${1+"$@"}
e7fd42
EOF
e7fd42
cat > %{buildroot}%{_prefix}/bin/c99 <<"EOF"
e7fd42
#!/bin/sh
e7fd42
fl="-std=c99"
e7fd42
for opt; do
e7fd42
  case "$opt" in
e7fd42
    -std=c99|-std=iso9899:1999) fl="";;
e7fd42
    -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2
e7fd42
	    exit 1;;
e7fd42
  esac
e7fd42
done
e7fd42
exec gcc $fl ${1+"$@"}
e7fd42
EOF
e7fd42
chmod 755 %{buildroot}%{_prefix}/bin/c?9
e7fd42
e7fd42
cd ..
e7fd42
%find_lang %{name}
e7fd42
%find_lang cpplib
e7fd42
e7fd42
# Remove binaries we will not be including, so that they don't end up in
e7fd42
# gcc-debuginfo
e7fd42
rm -f %{buildroot}%{_prefix}/%{_lib}/{libffi*,libiberty.a} || :
e7fd42
rm -f $FULLEPATH/install-tools/{mkheaders,fixincl}
e7fd42
rm -f %{buildroot}%{_prefix}/lib/{32,64}/libiberty.a
e7fd42
rm -f %{buildroot}%{_prefix}/%{_lib}/libssp*
e7fd42
rm -f %{buildroot}%{_prefix}/%{_lib}/libvtv* || :
e7fd42
rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gfortran || :
e7fd42
rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gccgo || :
e7fd42
rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gcj || :
e7fd42
rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gcc-ar || :
e7fd42
rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gcc-nm || :
e7fd42
rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gcc-ranlib || :
e7fd42
rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gdc || :
e7fd42
e7fd42
%ifarch %{multilib_64_archs}
e7fd42
# Remove libraries for the other arch on multilib arches
e7fd42
rm -f %{buildroot}%{_prefix}/lib/lib*.so*
e7fd42
rm -f %{buildroot}%{_prefix}/lib/lib*.a
e7fd42
rm -f %{buildroot}/lib/libgcc_s*.so*
e7fd42
%if %{build_go}
e7fd42
rm -rf %{buildroot}%{_prefix}/lib/go/%{gcc_major}/%{gcc_target_platform}
e7fd42
%ifnarch sparc64 ppc64 ppc64p7
e7fd42
ln -sf %{multilib_32_arch}-%{_vendor}-%{_target_os} %{buildroot}%{_prefix}/lib/go/%{gcc_major}/%{gcc_target_platform}
e7fd42
%endif
e7fd42
%endif
e7fd42
%else
e7fd42
%ifarch sparcv9 ppc
e7fd42
rm -f %{buildroot}%{_prefix}/lib64/lib*.so*
e7fd42
rm -f %{buildroot}%{_prefix}/lib64/lib*.a
e7fd42
rm -f %{buildroot}/lib64/libgcc_s*.so*
e7fd42
%if %{build_go}
e7fd42
rm -rf %{buildroot}%{_prefix}/lib64/go/%{gcc_major}/%{gcc_target_platform}
e7fd42
%endif
e7fd42
%endif
e7fd42
%endif
e7fd42
e7fd42
rm -f %{buildroot}%{mandir}/man3/ffi*
e7fd42
e7fd42
# Help plugins find out nvra.
e7fd42
echo gcc-%{version}-%{release}.%{_arch} > $FULLPATH/rpmver
e7fd42
e7fd42
# Add symlink to lto plugin in the binutils plugin directory.
e7fd42
%{__mkdir_p} %{buildroot}%{_libdir}/bfd-plugins/
e7fd42
ln -s ../../libexec/gcc/%{gcc_target_platform}/%{gcc_major}/liblto_plugin.so \
e7fd42
  %{buildroot}%{_libdir}/bfd-plugins/
e7fd42
e7fd42
# Rename the annobin plugin to gcc-annobin.
e7fd42
mkdir -p %{buildroot}%{ANNOBIN_GCC_PLUGIN_DIR}
e7fd42
pushd    %{buildroot}%{ANNOBIN_GCC_PLUGIN_DIR}
e7fd42
e7fd42
annobin_dir=$(find %{_builddir} -maxdepth 1 -type d -name "annobin*")
e7fd42
echo "annobin directory = ${annobin_dir}"
e7fd42
e7fd42
cp ${annobin_dir}/gcc-plugin/.libs/annobin.so.0.0.0 gcc-annobin.so.0.0.0
e7fd42
e7fd42
rm -f gcc-annobin.so.0 gcc-annobin.so
e7fd42
ln -s gcc-annobin.so.0.0.0 gcc-annobin.so.0
e7fd42
ln -s gcc-annobin.so.0.0.0 gcc-annobin.so
e7fd42
popd
e7fd42
e7fd42
%check
e7fd42
cd obj-%{gcc_target_platform}
e7fd42
e7fd42
# run the tests.
e7fd42
LC_ALL=C make %{?_smp_mflags} -k check ALT_CC_UNDER_TEST=gcc ALT_CXX_UNDER_TEST=g++ \
e7fd42
%if 0%{?fedora} >= 20 || 0%{?rhel} > 7
e7fd42
     RUNTESTFLAGS="--target_board=unix/'{,-fstack-protector-strong}'" || :
e7fd42
%else
e7fd42
     RUNTESTFLAGS="--target_board=unix/'{,-fstack-protector}'" || :
e7fd42
%endif
e7fd42
if [ -f %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/annobin.so ]; then
e7fd42
  # Test whether current annobin plugin won't fail miserably with the newly built gcc.
e7fd42
  echo -e '#include <stdio.h>\nint main () { printf ("Hello, world!\\n"); return 0; }' > annobin-test.c
e7fd42
  echo -e '#include <iostream>\nint main () { std::cout << "Hello, world!" << std::endl; return 0; }' > annobin-test.C
e7fd42
  `%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-cc` \
e7fd42
  -O2 -g -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS \
e7fd42
  -fexceptions -fstack-protector-strong -grecord-gcc-switches -o annobin-test{c,.c} \
e7fd42
  -Wl,-rpath,%{gcc_target_platform}/libgcc/ \
e7fd42
  -fplugin=%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/annobin.so \
e7fd42
  2> ANNOBINOUT1 || echo Annobin test 1 FAIL > ANNOBINOUT2;
e7fd42
  `%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-cxx` \
e7fd42
  `%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-includes` \
e7fd42
  -O2 -g -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS \
e7fd42
  -fexceptions -fstack-protector-strong -grecord-gcc-switches -o annobin-test{C,.C} \
e7fd42
  -Wl,-rpath,%{gcc_target_platform}/libgcc/:%{gcc_target_platform}/libstdc++-v3/src/.libs/ \
e7fd42
  -fplugin=%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/annobin.so \
e7fd42
  -B %{gcc_target_platform}/libstdc++-v3/src/.libs/ \
e7fd42
  2> ANNOBINOUT3 || echo Annobin test 2 FAIL > ANNOBINOUT4;
e7fd42
  [ -f ./annobin-testc ] || echo Annobin test 1 MISSING > ANNOBINOUT5;
e7fd42
  [ -f ./annobin-testc ] && \
e7fd42
  ( ./annobin-testc > ANNOBINRES1 2>&1 || echo Annobin test 1 RUNFAIL > ANNOBINOUT6 );
e7fd42
  [ -f ./annobin-testC ] || echo Annobin test 2 MISSING > ANNOBINOUT7;
e7fd42
  [ -f ./annobin-testC ] && \
e7fd42
  ( ./annobin-testC > ANNOBINRES2 2>&1 || echo Annobin test 2 RUNFAIL > ANNOBINOUT8 );
e7fd42
  cat ANNOBINOUT[1-8] > ANNOBINOUT
e7fd42
  touch ANNOBINRES1 ANNOBINRES2
e7fd42
  [ -s ANNOBINOUT ] && echo Annobin testing FAILed > ANNOBINRES
e7fd42
  cat ANNOBINOUT ANNOBINRES[12] >> ANNOBINRES
e7fd42
  rm -f ANNOBINOUT* ANNOBINRES[12] annobin-test{c,C}
e7fd42
fi
e7fd42
echo ====================TESTING=========================
e7fd42
( LC_ALL=C ../contrib/test_summary || : ) 2>&1 | sed -n '/^cat.*EOF/,/^EOF/{/^cat.*EOF/d;/^EOF/d;/^LAST_UPDATED:/d;p;}'
e7fd42
[ -f ANNOBINRES ] && cat ANNOBINRES
e7fd42
echo ====================TESTING END=====================
e7fd42
mkdir testlogs-%{_target_platform}-%{version}-%{release}
e7fd42
for i in `find . -name \*.log | grep -F testsuite/ | grep -v 'config.log\|acats.*/tests/'`; do
e7fd42
  ln $i testlogs-%{_target_platform}-%{version}-%{release}/ || :
e7fd42
done
e7fd42
tar cf - testlogs-%{_target_platform}-%{version}-%{release} | xz -9e \
e7fd42
  | uuencode testlogs-%{_target_platform}.tar.xz || :
e7fd42
rm -rf testlogs-%{_target_platform}-%{version}-%{release}
e7fd42
e7fd42
%post go
e7fd42
%{_sbindir}/update-alternatives --install \
e7fd42
  %{_prefix}/bin/go go %{_prefix}/bin/go.gcc 92 \
e7fd42
  --slave %{_prefix}/bin/gofmt gofmt %{_prefix}/bin/gofmt.gcc
e7fd42
e7fd42
%preun go
e7fd42
if [ $1 = 0 ]; then
e7fd42
  %{_sbindir}/update-alternatives --remove go %{_prefix}/bin/go.gcc
e7fd42
fi
e7fd42
e7fd42
# Because glibc Prereq's libgcc and /sbin/ldconfig
e7fd42
# comes from glibc, it might not exist yet when
e7fd42
# libgcc is installed
e7fd42
%post -n libgcc -p <lua>
e7fd42
if posix.access ("/sbin/ldconfig", "x") then
e7fd42
  local pid = posix.fork ()
e7fd42
  if pid == 0 then
e7fd42
    posix.exec ("/sbin/ldconfig")
e7fd42
  elseif pid ~= -1 then
e7fd42
    posix.wait (pid)
e7fd42
  end
e7fd42
end
e7fd42
e7fd42
%postun -n libgcc -p <lua>
e7fd42
if posix.access ("/sbin/ldconfig", "x") then
e7fd42
  local pid = posix.fork ()
e7fd42
  if pid == 0 then
e7fd42
    posix.exec ("/sbin/ldconfig")
e7fd42
  elseif pid ~= -1 then
e7fd42
    posix.wait (pid)
e7fd42
  end
e7fd42
end
e7fd42
e7fd42
%ldconfig_scriptlets -n libstdc++
e7fd42
e7fd42
%ldconfig_scriptlets -n libobjc
e7fd42
e7fd42
%ldconfig_scriptlets -n libgfortran
e7fd42
e7fd42
%ldconfig_scriptlets -n libgphobos
e7fd42
e7fd42
%ldconfig_scriptlets -n libgnat
e7fd42
e7fd42
%ldconfig_scriptlets -n libgomp
e7fd42
e7fd42
%ldconfig_scriptlets gdb-plugin
e7fd42
e7fd42
%ldconfig_scriptlets -n libgccjit
e7fd42
e7fd42
%ldconfig_scriptlets -n libquadmath
e7fd42
e7fd42
%ldconfig_scriptlets -n libitm
e7fd42
e7fd42
%ldconfig_scriptlets -n libatomic
e7fd42
e7fd42
%ldconfig_scriptlets -n libasan
e7fd42
e7fd42
%ldconfig_scriptlets -n libubsan
e7fd42
e7fd42
%ldconfig_scriptlets -n libtsan
e7fd42
e7fd42
%ldconfig_scriptlets -n liblsan
e7fd42
e7fd42
%ldconfig_scriptlets -n libgo
e7fd42
e7fd42
%files -f %{name}.lang
e7fd42
%{_prefix}/bin/cc
e7fd42
%{_prefix}/bin/c89
e7fd42
%{_prefix}/bin/c99
e7fd42
%{_prefix}/bin/gcc
e7fd42
%{_prefix}/bin/gcov
e7fd42
%{_prefix}/bin/gcov-tool
e7fd42
%{_prefix}/bin/gcov-dump
e7fd42
%{_prefix}/bin/gcc-ar
e7fd42
%{_prefix}/bin/gcc-nm
e7fd42
%{_prefix}/bin/gcc-ranlib
e7fd42
%{_prefix}/bin/lto-dump
e7fd42
%ifarch ppc
e7fd42
%{_prefix}/bin/%{_target_platform}-gcc
e7fd42
%endif
e7fd42
%ifarch sparc64 sparcv9
e7fd42
%{_prefix}/bin/sparc-%{_vendor}-%{_target_os}-gcc
e7fd42
%endif
e7fd42
%ifarch ppc64 ppc64p7
e7fd42
%{_prefix}/bin/ppc-%{_vendor}-%{_target_os}-gcc
e7fd42
%endif
e7fd42
%{_prefix}/bin/%{gcc_target_platform}-gcc
e7fd42
%{_prefix}/bin/%{gcc_target_platform}-gcc-%{gcc_major}
e7fd42
%{_mandir}/man1/gcc.1*
e7fd42
%{_mandir}/man1/gcov.1*
e7fd42
%{_mandir}/man1/gcov-tool.1*
e7fd42
%{_mandir}/man1/gcov-dump.1*
e7fd42
%{_mandir}/man1/lto-dump.1*
e7fd42
%{_infodir}/gcc*
e7fd42
%dir %{_prefix}/lib/gcc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%dir %{_prefix}/libexec/gcc
e7fd42
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include
e7fd42
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/lto1
e7fd42
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/lto-wrapper
e7fd42
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/liblto_plugin.so*
e7fd42
%{_libdir}/bfd-plugins/liblto_plugin.so
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/rpmver
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stddef.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdarg.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdfix.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/varargs.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/float.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/limits.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdbool.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/iso646.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/syslimits.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/unwind.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/omp.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/openacc.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/acc_prof.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdint.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdint-gcc.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdalign.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdnoreturn.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdatomic.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/gcov.h
e7fd42
%ifarch %{ix86} x86_64
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mmintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xmmintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/emmintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/pmmintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/tmmintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ammintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/smmintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/nmmintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/bmmintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/wmmintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/immintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avxintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/x86intrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/fma4intrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xopintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/lwpintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/popcntintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/bmiintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/tbmintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ia32intrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx2intrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/bmi2intrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/f16cintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/fmaintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/lzcntintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/rtmintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xtestintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/adxintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/prfchwintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/rdseedintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/fxsrintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xsaveintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xsaveoptintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512cdintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512erintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512fintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512pfintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/shaintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mm_malloc.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mm3dnow.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cpuid.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cross-stdarg.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512bwintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512dqintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512ifmaintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512ifmavlintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vbmiintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vbmivlintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vlbwintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vldqintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vlintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/clflushoptintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/clwbintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mwaitxintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xsavecintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xsavesintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/clzerointrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/pkuintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx5124fmapsintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx5124vnniwintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vpopcntdqintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/sgxintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/gfniintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cetintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cet.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vbmi2intrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vbmi2vlintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vnniintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vnnivlintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/vaesintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/vpclmulqdqintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vpopcntdqvlintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512bitalgintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/pconfigintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/wbnoinvdintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/movdirintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/waitpkgintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cldemoteintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512bf16vlintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512bf16intrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/enqcmdintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vp2intersectintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vp2intersectvlintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/serializeintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/tsxldtrkintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amxtileintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amxint8intrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amxbf16intrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/x86gprintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/uintrintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/hresetintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/keylockerintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avxvnniintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mwaitintrin.h
e7fd42
%endif
e7fd42
%ifarch ia64
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ia64intrin.h
e7fd42
%endif
e7fd42
%ifarch ppc ppc64 ppc64le ppc64p7
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ppc-asm.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/altivec.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ppu_intrinsics.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/si2vmx.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/spu2vmx.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/vec_types.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/htmintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/htmxlintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/bmi2intrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/bmiintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xmmintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mm_malloc.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/emmintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mmintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/x86intrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/pmmintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/tmmintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/smmintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amo.h
e7fd42
%endif
e7fd42
%ifarch %{arm}
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/unwind-arm-common.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mmintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_neon.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_acle.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_cmse.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_fp16.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_bf16.h
e7fd42
%endif
e7fd42
%ifarch aarch64
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_neon.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_acle.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_fp16.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_bf16.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_sve.h
e7fd42
%endif
e7fd42
%ifarch sparc sparcv9 sparc64
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/visintrin.h
e7fd42
%endif
e7fd42
%ifarch s390 s390x
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/s390intrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/htmintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/htmxlintrin.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/vecintrin.h
e7fd42
%endif
e7fd42
%if %{build_libasan}
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/sanitizer
e7fd42
%endif
e7fd42
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/collect2
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/crt*.o
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgcc.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgcov.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgcc_eh.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgcc_s.so
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgomp.spec
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgomp.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgomp.so
e7fd42
%if %{build_libitm}
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.spec
e7fd42
%endif
e7fd42
%if %{build_libasan}
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libsanitizer.spec
e7fd42
%endif
e7fd42
%if %{build_isl}
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libisl.so.*
e7fd42
%endif
e7fd42
%ifarch sparcv9 ppc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/crt*.o
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgcc.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgcov.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgcc_eh.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgcc_s.so
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgomp.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgomp.so
e7fd42
%if %{build_libquadmath}
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libquadmath.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libquadmath.so
e7fd42
%endif
e7fd42
%if %{build_libitm}
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libitm.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libitm.so
e7fd42
%endif
e7fd42
%if %{build_libatomic}
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libatomic.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libatomic.so
e7fd42
%endif
e7fd42
%if %{build_libasan}
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libasan.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libasan.so
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libasan_preinit.o
e7fd42
%endif
e7fd42
%if %{build_libubsan}
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libubsan.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libubsan.so
e7fd42
%endif
e7fd42
%endif
e7fd42
%ifarch %{multilib_64_archs}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/crt*.o
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgcc.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgcov.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgcc_eh.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgcc_s.so
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgomp.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgomp.so
e7fd42
%if %{build_libquadmath}
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libquadmath.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libquadmath.so
e7fd42
%endif
e7fd42
%if %{build_libitm}
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libitm.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libitm.so
e7fd42
%endif
e7fd42
%if %{build_libatomic}
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libatomic.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libatomic.so
e7fd42
%endif
e7fd42
%if %{build_libasan}
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libasan.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libasan.so
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libasan_preinit.o
e7fd42
%endif
e7fd42
%if %{build_libubsan}
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libubsan.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libubsan.so
e7fd42
%endif
e7fd42
%endif
e7fd42
%ifarch sparcv9 sparc64 ppc ppc64 ppc64p7
e7fd42
%if %{build_libquadmath}
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.so
e7fd42
%endif
e7fd42
%if %{build_libitm}
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.so
e7fd42
%endif
e7fd42
%if %{build_libatomic}
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.so
e7fd42
%endif
e7fd42
%if %{build_libasan}
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan.so
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan_preinit.o
e7fd42
%endif
e7fd42
%if %{build_libubsan}
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libubsan.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libubsan.so
e7fd42
%endif
e7fd42
%else
e7fd42
%if %{build_libatomic}
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.so
e7fd42
%endif
e7fd42
%if %{build_libasan}
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan.so
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan_preinit.o
e7fd42
%endif
e7fd42
%if %{build_libubsan}
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libubsan.so
e7fd42
%endif
e7fd42
%endif
e7fd42
%if %{build_libtsan}
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan.so
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan_preinit.o
e7fd42
%endif
e7fd42
%if %{build_liblsan}
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/liblsan.so
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/liblsan_preinit.o
e7fd42
%endif
e7fd42
%{_prefix}/libexec/getconf/default
e7fd42
%doc gcc/README* rpm.doc/changelogs/gcc/ChangeLog* 
e7fd42
%{!?_licensedir:%global license %%doc}
e7fd42
%license gcc/COPYING* COPYING.RUNTIME
e7fd42
e7fd42
%files -n cpp -f cpplib.lang
e7fd42
%{_prefix}/lib/cpp
e7fd42
%{_prefix}/bin/cpp
e7fd42
%{_mandir}/man1/cpp.1*
e7fd42
%{_infodir}/cpp*
e7fd42
%dir %{_prefix}/libexec/gcc
e7fd42
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cc1
e7fd42
e7fd42
%files -n libgcc
e7fd42
/%{_lib}/libgcc_s-%{gcc_major}-%{DATE}.so.1
e7fd42
/%{_lib}/libgcc_s.so.1
e7fd42
%{!?_licensedir:%global license %%doc}
e7fd42
%license gcc/COPYING* COPYING.RUNTIME
e7fd42
e7fd42
%files c++
e7fd42
%{_prefix}/bin/%{gcc_target_platform}-*++
e7fd42
%{_prefix}/bin/g++
e7fd42
%{_prefix}/bin/c++
e7fd42
%{_mandir}/man1/g++.1*
e7fd42
%dir %{_prefix}/lib/gcc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%dir %{_prefix}/libexec/gcc
e7fd42
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cc1plus
e7fd42
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/g++-mapper-server
e7fd42
%ifarch sparcv9 ppc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++.so
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++fs.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libsupc++.a
e7fd42
%endif
e7fd42
%ifarch %{multilib_64_archs}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++.so
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++fs.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libsupc++.a
e7fd42
%endif
e7fd42
%ifarch sparcv9 ppc %{multilib_64_archs}
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++.so
e7fd42
%endif
e7fd42
%ifarch sparcv9 sparc64 ppc ppc64 ppc64p7
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++fs.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libsupc++.a
e7fd42
%endif
e7fd42
%doc rpm.doc/changelogs/gcc/cp/ChangeLog*
e7fd42
e7fd42
%files -n libstdc++
e7fd42
%{_prefix}/%{_lib}/libstdc++.so.6*
e7fd42
%dir %{_datadir}/gdb
e7fd42
%dir %{_datadir}/gdb/auto-load
e7fd42
%dir %{_datadir}/gdb/auto-load/%{_prefix}
e7fd42
%dir %{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/
e7fd42
# Package symlink to keep compatibility
e7fd42
%ifarch riscv64
e7fd42
%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/lp64d
e7fd42
%endif
e7fd42
%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/libstdc*gdb.py*
e7fd42
%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/__pycache__
e7fd42
%dir %{_prefix}/share/gcc-%{gcc_major}
e7fd42
%dir %{_prefix}/share/gcc-%{gcc_major}/python
e7fd42
%{_prefix}/share/gcc-%{gcc_major}/python/libstdcxx
e7fd42
e7fd42
%files -n libstdc++-devel
e7fd42
%dir %{_prefix}/include/c++
e7fd42
%{_prefix}/include/c++/%{gcc_major}
e7fd42
%dir %{_prefix}/lib/gcc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%ifnarch sparcv9 ppc %{multilib_64_archs}
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++.so
e7fd42
%endif
e7fd42
%ifarch sparcv9 ppc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libstdc++fs.a
e7fd42
%endif
e7fd42
%ifarch sparc64 ppc64 ppc64p7
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libstdc++fs.a
e7fd42
%endif
e7fd42
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++fs.a
e7fd42
%endif
e7fd42
%doc rpm.doc/changelogs/libstdc++-v3/ChangeLog* libstdc++-v3/README*
e7fd42
e7fd42
%files -n libstdc++-static
e7fd42
%dir %{_prefix}/lib/gcc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%ifarch sparcv9 ppc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libstdc++.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libsupc++.a
e7fd42
%endif
e7fd42
%ifarch sparc64 ppc64 ppc64p7
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libstdc++.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libsupc++.a
e7fd42
%endif
e7fd42
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libsupc++.a
e7fd42
%endif
e7fd42
e7fd42
%if %{build_libstdcxx_docs}
e7fd42
%files -n libstdc++-docs
e7fd42
%{_mandir}/man3/*
e7fd42
%doc rpm.doc/libstdc++-v3/html
e7fd42
%endif
e7fd42
e7fd42
%if %{build_objc}
e7fd42
%files objc
e7fd42
%dir %{_prefix}/lib/gcc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%dir %{_prefix}/libexec/gcc
e7fd42
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/objc
e7fd42
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cc1obj
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libobjc.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libobjc.so
e7fd42
%ifarch sparcv9 ppc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libobjc.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libobjc.so
e7fd42
%endif
e7fd42
%ifarch %{multilib_64_archs}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libobjc.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libobjc.so
e7fd42
%endif
e7fd42
%doc rpm.doc/objc/*
e7fd42
%doc libobjc/THREADS* rpm.doc/changelogs/libobjc/ChangeLog*
e7fd42
e7fd42
%files objc++
e7fd42
%dir %{_prefix}/libexec/gcc
e7fd42
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cc1objplus
e7fd42
e7fd42
%files -n libobjc
e7fd42
%{_prefix}/%{_lib}/libobjc.so.4*
e7fd42
%endif
e7fd42
e7fd42
%files gfortran
e7fd42
%{_prefix}/bin/gfortran
e7fd42
%{_prefix}/bin/f95
e7fd42
%{_mandir}/man1/gfortran.1*
e7fd42
%{_infodir}/gfortran*
e7fd42
%dir %{_prefix}/lib/gcc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%dir %{_prefix}/libexec/gcc
e7fd42
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ISO_Fortran_binding.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/omp_lib.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/omp_lib.f90
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/omp_lib.mod
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/omp_lib_kinds.mod
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/openacc.f90
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/openacc.mod
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/openacc_kinds.mod
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/openacc_lib.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/ieee_arithmetic.mod
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/ieee_exceptions.mod
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/ieee_features.mod
e7fd42
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/f951
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgfortran.spec
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libcaf_single.a
e7fd42
%ifarch sparcv9 sparc64 ppc ppc64 ppc64p7
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgfortran.a
e7fd42
%endif
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgfortran.so
e7fd42
%ifarch sparcv9 ppc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libcaf_single.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgfortran.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgfortran.so
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/finclude
e7fd42
%endif
e7fd42
%ifarch %{multilib_64_archs}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libcaf_single.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgfortran.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgfortran.so
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/finclude
e7fd42
%endif
e7fd42
%dir %{_fmoddir}
e7fd42
%doc rpm.doc/gfortran/*
e7fd42
e7fd42
%files -n libgfortran
e7fd42
%{_prefix}/%{_lib}/libgfortran.so.5*
e7fd42
e7fd42
%files -n libgfortran-static
e7fd42
%dir %{_prefix}/lib/gcc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%ifarch sparcv9 ppc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libgfortran.a
e7fd42
%endif
e7fd42
%ifarch sparc64 ppc64 ppc64p7
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libgfortran.a
e7fd42
%endif
e7fd42
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgfortran.a
e7fd42
%endif
e7fd42
e7fd42
%if %{build_d}
e7fd42
%files gdc
e7fd42
%{_prefix}/bin/gdc
e7fd42
%{_mandir}/man1/gdc.1*
e7fd42
%{_infodir}/gdc*
e7fd42
%dir %{_prefix}/lib/gcc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%dir %{_prefix}/libexec/gcc
e7fd42
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/d
e7fd42
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/d21
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgphobos.spec
e7fd42
%ifarch sparcv9 sparc64 ppc ppc64 ppc64p7
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgdruntime.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgphobos.a
e7fd42
%endif
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgdruntime.so
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgphobos.so
e7fd42
%ifarch sparcv9 ppc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgdruntime.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgphobos.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgdruntime.so
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgphobos.so
e7fd42
%endif
e7fd42
%ifarch %{multilib_64_archs}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgdruntime.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgphobos.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgdruntime.so
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgphobos.so
e7fd42
%endif
e7fd42
%doc rpm.doc/gdc/*
e7fd42
e7fd42
%files -n libgphobos
e7fd42
%{_prefix}/%{_lib}/libgdruntime.so.2*
e7fd42
%{_prefix}/%{_lib}/libgphobos.so.2*
e7fd42
%doc rpm.doc/libphobos/*
e7fd42
e7fd42
%files -n libgphobos-static
e7fd42
%dir %{_prefix}/lib/gcc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%ifarch sparcv9 ppc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libgdruntime.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libgphobos.a
e7fd42
%endif
e7fd42
%ifarch sparc64 ppc64 ppc64p7
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libgdruntime.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libgphobos.a
e7fd42
%endif
e7fd42
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgdruntime.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgphobos.a
e7fd42
%endif
e7fd42
%endif
e7fd42
e7fd42
%if %{build_ada}
e7fd42
%files gnat
e7fd42
%{_prefix}/bin/gnat
e7fd42
%{_prefix}/bin/gnat[^i]*
e7fd42
%{_infodir}/gnat*
e7fd42
%dir %{_prefix}/lib/gcc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%dir %{_prefix}/libexec/gcc
e7fd42
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%ifarch sparcv9 ppc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/adainclude
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/adalib
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/ada_target_properties
e7fd42
%endif
e7fd42
%ifarch %{multilib_64_archs}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/adainclude
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/adalib
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/ada_target_properties
e7fd42
%endif
e7fd42
%ifarch sparcv9 sparc64 ppc ppc64 ppc64p7
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adainclude
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adalib
e7fd42
%endif
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/ada_target_properties
e7fd42
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/gnat1
e7fd42
%doc rpm.doc/changelogs/gcc/ada/ChangeLog*
e7fd42
e7fd42
%files -n libgnat
e7fd42
%{_prefix}/%{_lib}/libgnat-*.so
e7fd42
%{_prefix}/%{_lib}/libgnarl-*.so
e7fd42
e7fd42
%files -n libgnat-devel
e7fd42
%dir %{_prefix}/lib/gcc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%ifarch sparcv9 ppc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/adainclude
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/adalib
e7fd42
%exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/adalib/libgnat.a
e7fd42
%exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/adalib/libgnarl.a
e7fd42
%endif
e7fd42
%ifarch sparc64 ppc64 ppc64p7
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/adainclude
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/adalib
e7fd42
%exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/adalib/libgnat.a
e7fd42
%exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/adalib/libgnarl.a
e7fd42
%endif
e7fd42
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adainclude
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adalib
e7fd42
%exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adalib/libgnat.a
e7fd42
%exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adalib/libgnarl.a
e7fd42
%endif
e7fd42
e7fd42
%files -n libgnat-static
e7fd42
%dir %{_prefix}/lib/gcc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%ifarch sparcv9 ppc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/adalib
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/adalib/libgnat.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/adalib/libgnarl.a
e7fd42
%endif
e7fd42
%ifarch sparc64 ppc64 ppc64p7
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/adalib
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/adalib/libgnat.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/adalib/libgnarl.a
e7fd42
%endif
e7fd42
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adalib
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adalib/libgnat.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adalib/libgnarl.a
e7fd42
%endif
e7fd42
%endif
e7fd42
e7fd42
%files -n libgomp
e7fd42
%{_prefix}/%{_lib}/libgomp.so.1*
e7fd42
%{_infodir}/libgomp.info*
e7fd42
%doc rpm.doc/changelogs/libgomp/ChangeLog*
e7fd42
e7fd42
%if %{build_libquadmath}
e7fd42
%files -n libquadmath
e7fd42
%{_prefix}/%{_lib}/libquadmath.so.0*
e7fd42
%{_infodir}/libquadmath.info*
e7fd42
%{!?_licensedir:%global license %%doc}
e7fd42
%license rpm.doc/libquadmath/COPYING*
e7fd42
e7fd42
%files -n libquadmath-devel
e7fd42
%dir %{_prefix}/lib/gcc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/quadmath.h
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/quadmath_weak.h
e7fd42
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.so
e7fd42
%endif
e7fd42
%doc rpm.doc/libquadmath/ChangeLog*
e7fd42
e7fd42
%files -n libquadmath-static
e7fd42
%dir %{_prefix}/lib/gcc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%ifarch sparcv9 ppc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libquadmath.a
e7fd42
%endif
e7fd42
%ifarch sparc64 ppc64 ppc64p7
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libquadmath.a
e7fd42
%endif
e7fd42
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.a
e7fd42
%endif
e7fd42
%endif
e7fd42
e7fd42
%if %{build_libitm}
e7fd42
%files -n libitm
e7fd42
%{_prefix}/%{_lib}/libitm.so.1*
e7fd42
%{_infodir}/libitm.info*
e7fd42
e7fd42
%files -n libitm-devel
e7fd42
%dir %{_prefix}/lib/gcc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include
e7fd42
#%%{_prefix}/lib/gcc/%%{gcc_target_platform}/%%{gcc_major}/include/itm.h
e7fd42
#%%{_prefix}/lib/gcc/%%{gcc_target_platform}/%%{gcc_major}/include/itm_weak.h
e7fd42
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.so
e7fd42
%endif
e7fd42
%doc rpm.doc/libitm/ChangeLog*
e7fd42
e7fd42
%files -n libitm-static
e7fd42
%dir %{_prefix}/lib/gcc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%ifarch sparcv9 ppc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libitm.a
e7fd42
%endif
e7fd42
%ifarch sparc64 ppc64 ppc64p7
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libitm.a
e7fd42
%endif
e7fd42
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.a
e7fd42
%endif
e7fd42
%endif
e7fd42
e7fd42
%if %{build_libatomic}
e7fd42
%files -n libatomic
e7fd42
%{_prefix}/%{_lib}/libatomic.so.1*
e7fd42
e7fd42
%files -n libatomic-static
e7fd42
%dir %{_prefix}/lib/gcc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%ifarch sparcv9 ppc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libatomic.a
e7fd42
%endif
e7fd42
%ifarch sparc64 ppc64 ppc64p7
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libatomic.a
e7fd42
%endif
e7fd42
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.a
e7fd42
%endif
e7fd42
%doc rpm.doc/changelogs/libatomic/ChangeLog*
e7fd42
%endif
e7fd42
e7fd42
%if %{build_libasan}
e7fd42
%files -n libasan
e7fd42
%{_prefix}/%{_lib}/libasan.so.6*
e7fd42
e7fd42
%files -n libasan-static
e7fd42
%dir %{_prefix}/lib/gcc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%ifarch sparcv9 ppc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libasan.a
e7fd42
%endif
e7fd42
%ifarch sparc64 ppc64 ppc64p7
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libasan.a
e7fd42
%endif
e7fd42
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan.a
e7fd42
%endif
e7fd42
%doc rpm.doc/changelogs/libsanitizer/ChangeLog*
e7fd42
%{!?_licensedir:%global license %%doc}
e7fd42
%license libsanitizer/LICENSE.TXT
e7fd42
%endif
e7fd42
e7fd42
%if %{build_libubsan}
e7fd42
%files -n libubsan
e7fd42
%{_prefix}/%{_lib}/libubsan.so.1*
e7fd42
e7fd42
%files -n libubsan-static
e7fd42
%dir %{_prefix}/lib/gcc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%ifarch sparcv9 ppc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libubsan.a
e7fd42
%endif
e7fd42
%ifarch sparc64 ppc64 ppc64p7
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libubsan.a
e7fd42
%endif
e7fd42
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libubsan.a
e7fd42
%endif
e7fd42
%doc rpm.doc/changelogs/libsanitizer/ChangeLog*
e7fd42
%{!?_licensedir:%global license %%doc}
e7fd42
%license libsanitizer/LICENSE.TXT
e7fd42
%endif
e7fd42
e7fd42
%if %{build_libtsan}
e7fd42
%files -n libtsan
e7fd42
%{_prefix}/%{_lib}/libtsan.so.0*
e7fd42
e7fd42
%files -n libtsan-static
e7fd42
%dir %{_prefix}/lib/gcc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan.a
e7fd42
%doc rpm.doc/changelogs/libsanitizer/ChangeLog*
e7fd42
%{!?_licensedir:%global license %%doc}
e7fd42
%license libsanitizer/LICENSE.TXT
e7fd42
%endif
e7fd42
e7fd42
%if %{build_liblsan}
e7fd42
%files -n liblsan
e7fd42
%{_prefix}/%{_lib}/liblsan.so.0*
e7fd42
e7fd42
%files -n liblsan-static
e7fd42
%dir %{_prefix}/lib/gcc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/liblsan.a
e7fd42
%doc rpm.doc/changelogs/libsanitizer/ChangeLog*
e7fd42
%{!?_licensedir:%global license %%doc}
e7fd42
%license libsanitizer/LICENSE.TXT
e7fd42
%endif
e7fd42
e7fd42
%if %{build_go}
e7fd42
%files go
e7fd42
%ghost %{_prefix}/bin/go
e7fd42
%attr(755,root,root) %{_prefix}/bin/go.gcc
e7fd42
%{_prefix}/bin/gccgo
e7fd42
%ghost %{_prefix}/bin/gofmt
e7fd42
%attr(755,root,root) %{_prefix}/bin/gofmt.gcc
e7fd42
%{_mandir}/man1/gccgo.1*
e7fd42
%{_mandir}/man1/go.1*
e7fd42
%{_mandir}/man1/gofmt.1*
e7fd42
%dir %{_prefix}/lib/gcc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%dir %{_prefix}/libexec/gcc
e7fd42
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/go1
e7fd42
%attr(755,root,root) %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cgo
e7fd42
%attr(755,root,root) %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/buildid
e7fd42
%attr(755,root,root) %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/test2json
e7fd42
%attr(755,root,root) %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/vet
e7fd42
%ifarch sparcv9 ppc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgo.so
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgo.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgobegin.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgolibbegin.a
e7fd42
%endif
e7fd42
%ifarch %{multilib_64_archs}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgo.so
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgo.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgobegin.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgolibbegin.a
e7fd42
%endif
e7fd42
%ifarch sparcv9 ppc %{multilib_64_archs}
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgo.so
e7fd42
%endif
e7fd42
%ifarch sparcv9 sparc64 ppc ppc64 ppc64p7
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgo.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgobegin.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgolibbegin.a
e7fd42
%endif
e7fd42
%doc rpm.doc/go/*
e7fd42
e7fd42
%files -n libgo
e7fd42
%attr(755,root,root) %{_prefix}/%{_lib}/libgo.so.19*
e7fd42
%doc rpm.doc/libgo/*
e7fd42
e7fd42
%files -n libgo-devel
e7fd42
%dir %{_prefix}/lib/gcc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%dir %{_prefix}/%{_lib}/go
e7fd42
%dir %{_prefix}/%{_lib}/go/%{gcc_major}
e7fd42
%{_prefix}/%{_lib}/go/%{gcc_major}/%{gcc_target_platform}
e7fd42
%ifarch %{multilib_64_archs}
e7fd42
%ifnarch sparc64 ppc64 ppc64p7
e7fd42
%dir %{_prefix}/lib/go
e7fd42
%dir %{_prefix}/lib/go/%{gcc_major}
e7fd42
%{_prefix}/lib/go/%{gcc_major}/%{gcc_target_platform}
e7fd42
%endif
e7fd42
%endif
e7fd42
%ifarch sparcv9 ppc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libgobegin.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libgolibbegin.a
e7fd42
%endif
e7fd42
%ifarch sparc64 ppc64 ppc64p7
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libgobegin.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libgolibbegin.a
e7fd42
%endif
e7fd42
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgobegin.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgolibbegin.a
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgo.so
e7fd42
%endif
e7fd42
e7fd42
%files -n libgo-static
e7fd42
%dir %{_prefix}/lib/gcc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%ifarch sparcv9 ppc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libgo.a
e7fd42
%endif
e7fd42
%ifarch sparc64 ppc64 ppc64p7
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libgo.a
e7fd42
%endif
e7fd42
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgo.a
e7fd42
%endif
e7fd42
%endif
e7fd42
e7fd42
%files -n libgccjit
e7fd42
%{_prefix}/%{_lib}/libgccjit.so.*
e7fd42
%doc rpm.doc/changelogs/gcc/jit/ChangeLog*
e7fd42
e7fd42
%files -n libgccjit-devel
e7fd42
%{_prefix}/%{_lib}/libgccjit.so
e7fd42
%{_prefix}/include/libgccjit*.h
e7fd42
%{_infodir}/libgccjit.info*
e7fd42
%doc rpm.doc/libgccjit-devel/*
e7fd42
%doc gcc/jit/docs/examples
e7fd42
e7fd42
%files plugin-devel
e7fd42
%dir %{_prefix}/lib/gcc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/gtype.state
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/include
e7fd42
%dir %{_prefix}/libexec/gcc
e7fd42
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/plugin
e7fd42
e7fd42
%files gdb-plugin
e7fd42
%{_prefix}/%{_lib}/libcc1.so*
e7fd42
%dir %{_prefix}/lib/gcc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/libcc1plugin.so*
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/libcp1plugin.so*
e7fd42
%doc rpm.doc/changelogs/libcc1/ChangeLog*
e7fd42
e7fd42
%if %{build_offload_nvptx}
e7fd42
%files offload-nvptx
e7fd42
%{_prefix}/bin/nvptx-none-*
e7fd42
%{_prefix}/bin/%{gcc_target_platform}-accel-nvptx-none-gcc
e7fd42
%{_prefix}/bin/%{gcc_target_platform}-accel-nvptx-none-lto-dump
e7fd42
%dir %{_prefix}/lib/gcc
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel
e7fd42
%dir %{_prefix}/libexec/gcc
e7fd42
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
e7fd42
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
e7fd42
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/accel
e7fd42
%{_prefix}/lib/gcc/nvptx-none
e7fd42
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none
e7fd42
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none
e7fd42
%dir %{_prefix}/nvptx-none
e7fd42
%{_prefix}/nvptx-none/bin
e7fd42
%{_prefix}/nvptx-none/include
e7fd42
e7fd42
%files -n libgomp-offload-nvptx
e7fd42
%{_prefix}/%{_lib}/libgomp-plugin-nvptx.so.*
e7fd42
%endif
e7fd42
e7fd42
%files plugin-annobin
e7fd42
%{ANNOBIN_GCC_PLUGIN_DIR}/gcc-annobin.so
e7fd42
%{ANNOBIN_GCC_PLUGIN_DIR}/gcc-annobin.so.0
e7fd42
%{ANNOBIN_GCC_PLUGIN_DIR}/gcc-annobin.so.0.0.0
e7fd42
e7fd42
%changelog
694bc6
* Tue Jul 12 2022 Marek Polacek <polacek@redhat.com> 11.3.1-2.1
694bc6
- fix handling of invalid ranges in std::regex (#2106262)
694bc6
694bc6
* Thu Apr 21 2022 Jakub Jelinek <jakub@redhat.com> 11.3.1-2
694bc6
- update from releases/gcc-11-branch (#2077536)
694bc6
  - GCC 11.3 release
694bc6
  - PRs c++/98249, c++/99893, c++/100608, c++/101051, c++/101532, c++/101677,
694bc6
	c++/101717, c++/101894, c++/102869, c++/103105, c++/103328,
694bc6
	c++/103341, c++/103455, c++/103706, c++/103885, c++/103943,
694bc6
	c++/104008, c++/104079, c++/104225, c++/104507, c++/104565,
694bc6
	c++/105003, c++/105064, c++/105143, c++/105186, c++/105256, c/101585,
694bc6
	debug/105203, fortran/102992, fortran/104210, fortran/104228,
694bc6
	fortran/104570, fortran/105138, gcov-profile/105282, ipa/103083,
694bc6
	ipa/103432, jit/100613, libstdc++/90943, libstdc++/100516,
694bc6
	libstdc++/103630, libstdc++/103638, libstdc++/103650,
694bc6
	libstdc++/103955, libstdc++/104098, libstdc++/104301,
694bc6
	libstdc++/104542, libstdc++/104859, libstdc++/105021,
694bc6
	libstdc++/105027, middle-end/104497, middle-end/105165,
694bc6
	rtl-optimization/104985, rtl-optimization/105028,
694bc6
	rtl-optimization/105211, target/80556, target/100106, target/104117,
694bc6
	target/104474, target/104853, target/104894, target/105214,
694bc6
	target/105257, tree-optimization/99121, tree-optimization/104880,
694bc6
	tree-optimization/105053, tree-optimization/105070,
694bc6
	tree-optimization/105189, tree-optimization/105198,
694bc6
	tree-optimization/105226, tree-optimization/105232,
694bc6
	tree-optimization/105235
694bc6
- fix bogus -Wuninitialized warning on va_arg with complex types on x86_64
694bc6
  (PR target/105331)
694bc6
- remove bogus assertion in std::from_chars (PR libstdc++/105324)
694bc6
694bc6
* Mon Apr  4 2022 David Malcolm <dmalcolm@redhat.com> - 11.2.1-10
694bc6
- update from releases/gcc-11-branch (#2063255)
694bc6
  - PRs ada/98724, ada/104258, ada/104767, ada/104861, c++/58646, c++/59950,
694bc6
	c++/61611, c++/95036, c++/100468, c++/101030, c++/101095, c++/101371,
694bc6
	c++/101515, c++/101767, c++/102045, c++/102123, c++/102538,
694bc6
	c++/102740, c++/102990, c++/103057, c++/103186, c++/103291,
694bc6
	c++/103299, c++/103337, c++/103711, c++/103769, c++/103968,
694bc6
	c++/104107, c++/104108, c++/104284, c++/104410, c++/104472,
694bc6
	c++/104513, c++/104568, c++/104667, c++/104806, c++/104847,
694bc6
	c++/104944, c++/104994, c++/105035, c++/105061, c/82283, c/84685,
694bc6
	c/104510, c/104711, d/104659, d/105004, debug/104337, debug/104517,
694bc6
	debug/104557, fortran/66193, fortran/99585, fortran/100337,
694bc6
	fortran/103790, fortran/104211, fortran/104311, fortran/104331,
694bc6
	fortran/104430, fortran/104619, fortran/104811, go/100537,
694bc6
	libgomp/104385, libstdc++/101231, libstdc++/102358, libstdc++/103904,
694bc6
	libstdc++/104442, lto/104237, lto/104333, lto/104617,
694bc6
	middle-end/95115, middle-end/99578, middle-end/100464,
694bc6
	middle-end/100680, middle-end/100775, middle-end/100786,
694bc6
	middle-end/104307, middle-end/104402, middle-end/104446,
694bc6
	middle-end/104786, middle-end/104971, middle-end/105032,
694bc6
	preprocessor/104147, rtl-optimization/104544, rtl-optimization/104589,
694bc6
	rtl-optimization/104777, rtl-optimization/104814, sanitizer/102656,
694bc6
	sanitizer/104449, sanitizer/105093, target/79754, target/87496,
694bc6
	target/99708, target/99754, target/100784, target/101324,
694bc6
	target/102140, target/102952, target/102957, target/103307,
694bc6
	target/103627, target/103925, target/104090, target/104208,
694bc6
	target/104219, target/104253, target/104362, target/104448,
694bc6
	target/104451, target/104453, target/104458, target/104462,
694bc6
	target/104469, target/104502, target/104674, target/104681,
694bc6
	target/104688, target/104775, target/104890, target/104910,
694bc6
	target/104923, target/104963, target/104998, target/105000,
694bc6
	target/105052, target/105058, target/105068, testsuite/103556,
694bc6
	testsuite/103586, testsuite/104730, testsuite/104759,
694bc6
	testsuite/105055, tree-optimization/45178, tree-optimization/100834,
694bc6
	tree-optimization/101636, tree-optimization/102819,
694bc6
	tree-optimization/102893, tree-optimization/103169,
694bc6
	tree-optimization/103361, tree-optimization/103489,
694bc6
	tree-optimization/103544, tree-optimization/103596,
694bc6
	tree-optimization/103641, tree-optimization/103864,
694bc6
	tree-optimization/104263, tree-optimization/104288,
694bc6
	tree-optimization/104511, tree-optimization/104601,
694bc6
	tree-optimization/104675, tree-optimization/104782,
694bc6
	tree-optimization/104931, tree-optimization/105094
694bc6
- fix x86 vector initialization expansion fallback (PR target/105123)
694bc6
- drop patch 22 (gcc11-libsanitizer-pthread.patch;
694bc6
  upstreamed as r11-9607-ga8dd74bfb921ed)
694bc6
e7fd42
* Thu Feb 10 2022 Marek Polacek <polacek@redhat.com> 11.2.1-9.4
e7fd42
- add --enable-host-bind-now, use it (#2044917)
e7fd42
e7fd42
* Tue Feb  8 2022 Marek Polacek <polacek@redhat.com> 11.2.1-9.3
e7fd42
- use _thread_db_sizeof_pthread to obtain struct pthread size (#2034494)
e7fd42
- add --enable-host-pie, build the compilers as PIE (#2044917)
e7fd42
e7fd42
* Mon Feb  7 2022 Marek Polacek <polacek@redhat.com> 11.2.1-9.2
e7fd42
- add support for relocation of the PCH data (pch/71934, #2044917)
e7fd42
- remove 30_threads/future/members/poll.cc (#2050090)
e7fd42
- avoid overly-greedy match in dejagnu regexp (#2050089)
e7fd42
e7fd42
* Mon Jan 31 2022 Marek Polacek <polacek@redhat.com> 11.2.1-9.1
e7fd42
- don't set -Wl,-rpath when building annobin (#2047356)
e7fd42
e7fd42
* Fri Jan 28 2022 Marek Polacek <polacek@redhat.com> 11.2.1-9
e7fd42
- update from releases/gcc-11-branch (#2047296)
e7fd42
  - PRs fortran/104127, fortran/104212, fortran/104227, target/101529
e7fd42
- fix up va-opt-6.c testcase
e7fd42
e7fd42
* Fri Jan 28 2022 Marek Polacek <polacek@redhat.com> 11.2.1-8
e7fd42
- update from releases/gcc-11-branch (#2047296)
e7fd42
  - PRs ada/103538, analyzer/101962, bootstrap/103688, c++/85846, c++/95009,
e7fd42
	c++/98394, c++/99911, c++/100493, c++/101715, c++/102229, c++/102933,
e7fd42
	c++/103012, c++/103198, c++/103480, c++/103703, c++/103714,
e7fd42
	c++/103758, c++/103783, c++/103831, c++/103912, c++/104055, c/97548,
e7fd42
	c/101289, c/101537, c/103587, c/103881, d/103604, debug/103838,
e7fd42
	debug/103874, fortran/67804, fortran/83079, fortran/101329,
e7fd42
	fortran/101762, fortran/102332, fortran/102717, fortran/102787,
e7fd42
	fortran/103411, fortran/103412, fortran/103418, fortran/103473,
e7fd42
	fortran/103505, fortran/103588, fortran/103591, fortran/103606,
e7fd42
	fortran/103607, fortran/103609, fortran/103610, fortran/103692,
e7fd42
	fortran/103717, fortran/103718, fortran/103719, fortran/103776,
e7fd42
	fortran/103777, fortran/103778, fortran/103782, fortran/103789,
e7fd42
	ipa/101354, jit/103562, libfortran/103634, libstdc++/100017,
e7fd42
	libstdc++/102994, libstdc++/103453, libstdc++/103501,
e7fd42
	libstdc++/103549, libstdc++/103877, libstdc++/103919,
e7fd42
	middle-end/101751, middle-end/102860, middle-end/103813, objc/103639,
e7fd42
	preprocessor/89971, preprocessor/102432, rtl-optimization/102478,
e7fd42
	rtl-optimization/103837, rtl-optimization/103860,
e7fd42
	rtl-optimization/103908, sanitizer/102911, target/102347,
e7fd42
	target/103465, target/103661, target/104172, target/104188,
e7fd42
	tree-optimization/101615, tree-optimization/103523,
e7fd42
	tree-optimization/103603, tree-optimization/103995
e7fd42
e7fd42
* Tue Jan 25 2022 Marek Polacek <polacek@redhat.com> 11.2.1-7.7
e7fd42
- do not undefine _hardened_build (#2044917)
e7fd42
e7fd42
* Mon Jan 24 2022 Marek Polacek <polacek@redhat.com> 11.2.1-7.6
e7fd42
- update annobin plugin patch (#2030667)
e7fd42
e7fd42
* Thu Jan 13 2022 Marek Polacek <polacek@redhat.com> 11.2.1-7.5
e7fd42
- update annobin plugin patch (#2030667)
e7fd42
e7fd42
* Fri Jan  7 2022 Marek Polacek <polacek@redhat.com> 11.2.1-7.4
e7fd42
- update annobin plugin patch (#2030667)
e7fd42
e7fd42
* Tue Jan  4 2022 Marek Polacek <polacek@redhat.com> 11.2.1-7.3
e7fd42
- fix dg-ice tests (#1996047)
e7fd42
e7fd42
* Tue Jan  4 2022 Marek Polacek <polacek@redhat.com> 11.2.1-7.2
e7fd42
- update annobin plugin patch (#2030667)
e7fd42
e7fd42
* Thu Dec 16 2021 Marek Polacek <polacek@redhat.com> 11.2.1-7.1
e7fd42
- build annobin plugin (patch by Nick Clifton) (#2030667)
e7fd42
e7fd42
* Tue Dec  7 2021 Marek Polacek <polacek@redhat.com> 11.2.1-7
e7fd42
- update from releases/gcc-11-branch (#1996858)
e7fd42
  - PRs ada/100486, c++/70796, c++/92746, c++/93286, c++/94490, c++/102642,
e7fd42
	c++/102786, debug/101378, debug/103046, debug/103315, fortran/87711,
e7fd42
	fortran/87851, fortran/97896, fortran/99061, fortran/99348,
e7fd42
	fortran/102521, fortran/102685, fortran/102715, fortran/102745,
e7fd42
	fortran/102816, fortran/102817, fortran/102917, fortran/103137,
e7fd42
	fortran/103138, fortran/103392, gcov-profile/100520, ipa/102714,
e7fd42
	ipa/102762, ipa/103052, ipa/103246, ipa/103267, libstdc++/96416,
e7fd42
	libstdc++/98421, libstdc++/100117, libstdc++/100153, libstdc++/100748,
e7fd42
	libstdc++/101571, libstdc++/101608, libstdc++/102894,
e7fd42
	libstdc++/103022, libstdc++/103086, libstdc++/103133,
e7fd42
	libstdc++/103240, libstdc++/103381, middle-end/64888,
e7fd42
	middle-end/101480, middle-end/102431, middle-end/102518,
e7fd42
	middle-end/103059, middle-end/103181, middle-end/103248,
e7fd42
	middle-end/103384, preprocessor/103130, rtl-optimization/102356,
e7fd42
	rtl-optimization/102842, target/101985, target/102976, target/102991,
e7fd42
	target/103205, target/103274, target/103275, testsuite/102690,
e7fd42
	tree-optimization/100393, tree-optimization/102139,
e7fd42
	tree-optimization/102505, tree-optimization/102572,
e7fd42
	tree-optimization/102788, tree-optimization/102789,
e7fd42
	tree-optimization/102798, tree-optimization/102970,
e7fd42
	tree-optimization/103192, tree-optimization/103204,
e7fd42
	tree-optimization/103237, tree-optimization/103255,
e7fd42
	tree-optimization/103435
e7fd42
- fix up #__VA_OPT__ handling (PR preprocessor/103415)
e7fd42
e7fd42
* Mon Nov 29 2021 Marek Polacek <polacek@redhat.com> 11.2.1-6.1
e7fd42
- add -Wbidi-chars patch (#2008393)
e7fd42
e7fd42
* Wed Oct 27 2021 Marek Polacek <polacek@redhat.com> 11.2.1-6
e7fd42
- update from releases/gcc-11-branch (#1996858)
e7fd42
- build target shared libraries with -Wl,-z,relro,-z,now
e7fd42
- add mwaitintrin.h on x86 (#2013860)
e7fd42
- improve generated code with extern thread_local constinit vars
e7fd42
  with trivial dtors
e7fd42
- add support for C++20 #__VA_OPT__
e7fd42
- add bundled(libbacktrace) and bundled(libffi) provides (#1993932)
e7fd42
e7fd42
* Thu Aug 12 2021 Marek Polacek <polacek@redhat.com> 11.2.1-2.2
e7fd42
- bootstrap with -Wl,-z,relro,-z,now, apply libgcc hardening patch (#1988450)
e7fd42
- fix libsanitizer with non-constant SIGSTKSZ (#1992727)
e7fd42
e7fd42
* Fri Jul 30 2021 Marek Polacek <polacek@redhat.com> 11.2.1-2.1
e7fd42
- enable LTO profiledbootstrap on all arches (#1986141)
e7fd42
e7fd42
* Thu Jul 29 2021 Florian Weimer <fweimer@redhat.com> 11.2.1-2
e7fd42
- Rebuild with changed aarch64 build flags (#1984652)
e7fd42
e7fd42
* Wed Jul 28 2021 Marek Polacek <polacek@redhat.com> 11.2.1-1
e7fd42
- update from releases/gcc-11-branch (#1986836)
e7fd42
  - GCC 11.2 release
e7fd42
  - PRs middle-end/101586, rtl-optimization/101562
e7fd42
- enable LTO profiledbootstrap on x86_64, i?86, ppc64le and s390x for rhel9
e7fd42
  (#1986141)
e7fd42
e7fd42
* Wed Jun 23 2021 David Malcolm <dmalcolm@redhat.com> 11.1.1-6.1
e7fd42
- drop patch that retained broken std::call_once symbols
e7fd42
  (#1937700, PR libstdc++/99341)
e7fd42
e7fd42
* Wed Jun 23 2021 Jakub Jelinek <jakub@redhat.com> 11.1.1-6
e7fd42
- update from releases/gcc-11-branch
e7fd42
  - PRs c++/100876, c++/100879, c++/101106, c/100619, c/100783, fortran/95501,
e7fd42
	fortran/95502, fortran/100283, fortran/101123, inline-asm/100785,
e7fd42
	libstdc++/91488, libstdc++/95833, libstdc++/100806, libstdc++/100940,
e7fd42
	middle-end/100250, middle-end/100307, middle-end/100574,
e7fd42
	middle-end/100684, middle-end/100732, middle-end/100876,
e7fd42
	middle-end/101062, middle-end/101167, target/99842, target/99939,
e7fd42
	target/100310, target/100777, target/100856, target/100871,
e7fd42
	target/101016
e7fd42
e7fd42
* Thu Jun 17 2021 Jakub Jelinek <jakub@redhat.com> 11.1.1-5
e7fd42
- update from releases/gcc-11-branch
e7fd42
  - PRs bootstrap/100731, c++/91706, c++/91859, c++/95719, c++/100065,
e7fd42
	c++/100102, c++/100580, c++/100666, c++/100796, c++/100797,
e7fd42
	c++/100862, c++/100946, c++/100963, c++/101029, c++/101078, c/100902,
e7fd42
	c/100920, d/100882, d/100935, d/100964, d/100967, d/100999,
e7fd42
	debug/100852, fortran/82376, fortran/98301, fortran/99839,
e7fd42
	fortran/100965, ipa/100791, libstdc++/98842, libstdc++/100475,
e7fd42
	libstdc++/100577, libstdc++/100631, libstdc++/100639,
e7fd42
	libstdc++/100676, libstdc++/100690, libstdc++/100768,
e7fd42
	libstdc++/100770, libstdc++/100824, libstdc++/100833,
e7fd42
	libstdc++/100889, libstdc++/100894, libstdc++/100900,
e7fd42
	libstdc++/100982, libstdc++/101034, libstdc++/101055,
e7fd42
	middle-end/100576, middle-end/100898, middle-end/101009,
e7fd42
	preprocessor/100646, rtl-optimization/100342, rtl-optimization/100590,
e7fd42
	rtl-optimization/101008, target/100333, target/100885, target/100887,
e7fd42
	target/101046, testsuite/100750, tree-optimization/100934,
e7fd42
	tree-optimization/100981
e7fd42
e7fd42
* Mon Jun 14 2021 Florian Weimer <fweimer@redhat.com> 11.1.1-4
e7fd42
- NVR bump to enable rebuild in side tag
e7fd42
e7fd42
* Mon May 31 2021 Jakub Jelinek <jakub@redhat.com> 11.1.1-3
e7fd42
- update from releases/gcc-11-branch
e7fd42
  - PRs bootstrap/100552, c++/100205, c++/100261, c++/100281, c++/100367,
e7fd42
	c++/100372, c++/100489, c++/100502, c++/100634, c++/100644,
e7fd42
	c++/100659, c/100550, fortran/98411, fortran/100551, fortran/100602,
e7fd42
	fortran/100633, fortran/100656, ipa/100513, libstdc++/100361,
e7fd42
	libstdc++/100479, libstdc++/100630, middle-end/100471,
e7fd42
	middle-end/100508, middle-end/100509, preprocessor/100392,
e7fd42
	target/94177, target/99725, target/99960, target/99977, target/100419,
e7fd42
	target/100563, target/100626, target/100767, testsuite/96488,
e7fd42
	tree-optimization/100492, tree-optimization/100519
e7fd42
e7fd42
* Wed May 12 2021 Jakub Jelinek <jakub@redhat.com> 11.1.1-2
e7fd42
- update from releases/gcc-11-branch
e7fd42
  - PRs c++/98032, c++/100319, c++/100362, c/100450, fortran/100274,
e7fd42
	ipa/100308, libgomp/100352, libstdc++/99006, libstdc++/99453,
e7fd42
	libstdc++/100259, libstdc++/100298, libstdc++/100384,
e7fd42
	rtl-optimization/84878, rtl-optimization/100225,
e7fd42
	rtl-optimization/100230, rtl-optimization/100263,
e7fd42
	rtl-optimization/100411, target/99988, target/100217, target/100232,
e7fd42
	target/100236, target/100270, target/100305, target/100311,
e7fd42
	target/100375, target/100402, tree-optimization/96513,
e7fd42
	tree-optimization/100253, tree-optimization/100278,
e7fd42
	tree-optimization/100329, tree-optimization/100414
e7fd42
- fix build with removed linux/cyclades.h header (PR sanitizer/100379)
e7fd42
- fix up mausezahn miscompilation (#1958887, PR tree-optimization/100566)
e7fd42
e7fd42
* Wed Apr 28 2021 Jakub Jelinek <jakub@redhat.com> 11.1.1-1
e7fd42
- update from releases/gcc-11-branch
e7fd42
  - GCC 11.1 release
e7fd42
  - PRs c++/93383, c++/95291, c++/96380, c++/99200, c++/99683, c++/100161,
e7fd42
	debug/100255, fortran/100154, fortran/100218, libstdc++/100290,
e7fd42
	rtl-optimization/100254, target/98952, target/100200,
e7fd42
	tree-optimization/100239
e7fd42
- fix ICE in aarch64_add_offset_1_temporaries (PR target/100302)
e7fd42
e7fd42
* Fri Apr 23 2021 Jakub Jelinek <jakub@redhat.com> 11.0.1-0.7
e7fd42
- update from trunk and releases/gcc-11 branch
e7fd42
  - GCC 11.1-rc2
e7fd42
  - PRs libstdc++/100179, target/100182
e7fd42
e7fd42
* Thu Apr 22 2021 Jakub Jelinek <jakub@redhat.com> 11.0.1-0.6
e7fd42
- update from trunk and releases/gcc-11 branch
e7fd42
  - GCC 11.1-rc1
e7fd42
  - PRs ada/99360, c++/97536, c/100143, d/98058, d/98457, d/98494, d/98584,
e7fd42
	d/99794, demangler/100177, fortran/100110, libstdc++/95983,
e7fd42
	libstdc++/100146, libstdc++/100164, preprocessor/100142,
e7fd42
	rtl-optimization/99927, target/100108, testsuite/100176,
e7fd42
	tree-optimization/100081
e7fd42
- fix a cprop -fcompare-debug bug (PR rtl-optimization/100148)
e7fd42
e7fd42
* Sun Apr 18 2021 Jakub Jelinek <jakub@redhat.com> 11.0.1-0.5
e7fd42
- update from trunk
e7fd42
  - PRs analyzer/98599, analyzer/99042, analyzer/99212, analyzer/99774,
e7fd42
	analyzer/99886, analyzer/99906, analyzer/100011, c++/41723, c++/49951,
e7fd42
	c++/52202, c++/52625, c++/58123, c++/80456, c++/83476, c++/88742,
e7fd42
	c++/90215, c++/90479, c++/90674, c++/91241, c++/91849, c++/91933,
e7fd42
	c++/92918, c++/93085, c++/93295, c++/93314, c++/93867, c++/94529,
e7fd42
	c++/95317, c++/95486, c++/95870, c++/96311, c++/96673, c++/96873,
e7fd42
	c++/97121, c++/97134, c++/97679, c++/97974, c++/98440, c++/98800,
e7fd42
	c++/98852, c++/99008, c++/99066, c++/99118, c++/99180, c++/99201,
e7fd42
	c++/99380, c++/99478, c++/99700, c++/99803, c++/99806, c++/99833,
e7fd42
	c++/99844, c++/99850, c++/99859, c++/99874, c++/99885, c++/99899,
e7fd42
	c++/99901, c++/99961, c++/99994, c++/100006, c++/100032, c++/100054,
e7fd42
	c++/100078, c++/100079, c++/100091, c++/100101, c++/100111, c/98852,
e7fd42
	c/99420, c/99972, c/99990, d/99812, d/99914, d/99917, debug/99830,
e7fd42
	fortran/63797, fortran/99307, fortran/99817, fortran/100018,
e7fd42
	fortran/100094, jit/100096, libfortran/78314, libgomp/99984,
e7fd42
	libstdc++/96657, libstdc++/99402, libstdc++/99433, libstdc++/99805,
e7fd42
	libstdc++/99985, libstdc++/99995, libstdc++/100044, libstdc++/100060,
e7fd42
	lto/98599, lto/99849, lto/99857, middle-end/55288, middle-end/84877,
e7fd42
	middle-end/84991, middle-end/84992, middle-end/86058,
e7fd42
	middle-end/90779, middle-end/98088, middle-end/99883,
e7fd42
	middle-end/99989, preprocessor/99446, rtl-optimization/98601,
e7fd42
	rtl-optimization/98689, rtl-optimization/99596,
e7fd42
	rtl-optimization/99905, rtl-optimization/99929,
e7fd42
	rtl-optimization/100066, sanitizer/99877, sanitizer/100114,
e7fd42
	target/87763, target/99246, target/99647, target/99648, target/99748,
e7fd42
	target/99767, target/99781, target/99872, target/100028,
e7fd42
	target/100048, target/100056, target/100067, target/100075,
e7fd42
	testsuite/99955, testsuite/100071, testsuite/100073,
e7fd42
	tree-optimization/82800, tree-optimization/97513,
e7fd42
	tree-optimization/98736, tree-optimization/99873,
e7fd42
	tree-optimization/99880, tree-optimization/99924,
e7fd42
	tree-optimization/99947, tree-optimization/99954,
e7fd42
	tree-optimization/100053
e7fd42
- for %%{rhel} == 9, default to -march=z14 -mtune=z15 on s390x and
e7fd42
  to -mcpu=power9 -mtune=power9 on ppc64le
e7fd42
e7fd42
* Fri Apr  9 2021 Marek Polacek <polacek@redhat.com> 11.0.1-0.3.1
e7fd42
- for %%{rhel} == 9, default to -march=z14 -mtune=z15 on s390x and
e7fd42
  to -mcpu=power9 -mtune=power9 on ppc64le
e7fd42
e7fd42
* Mon Apr  5 2021 Jakub Jelinek <jakub@redhat.com> 11.0.1-0.4
e7fd42
- update from trunk
e7fd42
  - PRs ada/99802, analyzer/93695, analyzer/99044, analyzer/99716,
e7fd42
	analyzer/99771, bootstrap/98860, c++/90664, c++/91217, c++/91416,
e7fd42
	c++/94751, c++/97900, c++/97938, c++/98352, c++/99331, c++/99445,
e7fd42
	c++/99565, c++/99583, c++/99584, c++/99586, c++/99643, c++/99672,
e7fd42
	c++/99705, c++/99745, c++/99790, c++/99815, c++/99831, c++/99869,
e7fd42
	d/91595, d/99691, debug/99334, fortran/99369, fortran/99602,
e7fd42
	fortran/99651, fortran/99818, fortran/99840, ipa/98265, ipa/99122,
e7fd42
	ipa/99466, ipa/99751, libstdc++/99533, lto/99447, middle-end/65182,
e7fd42
	rtl-optimization/97141, rtl-optimization/98726,
e7fd42
	rtl-optimization/99863, target/96974, target/97653, target/98119,
e7fd42
	target/98136, target/98209, target/99037, target/99133, target/99216,
e7fd42
	target/99555, target/99718, target/99724, target/99727, target/99744,
e7fd42
	target/99753, target/99766, target/99773, target/99786, target/99808,
e7fd42
	target/99813, target/99820, target/99822, testsuite/98125,
e7fd42
	tree-optimization/48483, tree-optimization/55060,
e7fd42
	tree-optimization/59970, tree-optimization/61112,
e7fd42
	tree-optimization/61677, tree-optimization/61869,
e7fd42
	tree-optimization/96573, tree-optimization/96974,
e7fd42
	tree-optimization/97009, tree-optimization/98268,
e7fd42
	tree-optimization/99726, tree-optimization/99746,
e7fd42
	tree-optimization/99777, tree-optimization/99807,
e7fd42
	tree-optimization/99824, tree-optimization/99825,
e7fd42
	tree-optimization/99856, tree-optimization/99863,
e7fd42
	tree-optimization/99882
e7fd42
e7fd42
* Wed Mar 24 2021 Jakub Jelinek <jakub@redhat.com> 11.0.1-0.3
e7fd42
- update from trunk
e7fd42
  - PRs analyzer/99614, c++/99239, c++/99283, c++/99318, c++/99425, c++/99456,
e7fd42
	c++/99480, c++/99687, c/99588, fortran/93660, fortran/99688,
e7fd42
	rtl-optimization/99680, target/97252, target/97926, target/98914,
e7fd42
	target/99540, target/99581, target/99652, target/99660, target/99661,
e7fd42
	target/99663, target/99679, target/99702, target/99704, target/99733,
e7fd42
	tree-optimization/99296, tree-optimization/99656,
e7fd42
	tree-optimization/99694, tree-optimization/99721
e7fd42
e7fd42
* Fri Mar 19 2021 Jakub Jelinek <jakub@redhat.com> 11.0.1-0.2
e7fd42
- update from trunk
e7fd42
  - PRs c++/90448, c++/96268, c++/96749, c++/97973, c++/98480, c++/98704,
e7fd42
	c++/99047, c++/99108, c++/99238, c++/99248, c++/99285, c++/99423,
e7fd42
	c++/99436, c++/99459, c++/99472, c++/99496, c++/99500, c++/99507,
e7fd42
	c++/99508, c++/99509, c++/99528, c++/99601, c++/99613, c++/99617,
e7fd42
	fortran/49278, fortran/96983, fortran/97927, fortran/98858,
e7fd42
	fortran/99125, fortran/99205, fortran/99345, fortran/99514,
e7fd42
	fortran/99545, ipa/99517, libstdc++/99172, libstdc++/99341,
e7fd42
	libstdc++/99413, libstdc++/99536, libstdc++/99537, middle-end/97631,
e7fd42
	middle-end/98266, middle-end/99502, middle-end/99641, objc++/49070,
e7fd42
	sanitizer/98920, target/98092, target/98959, target/99070,
e7fd42
	target/99094, target/99102, target/99422, target/99437, target/99454,
e7fd42
	target/99463, target/99464, target/99492, target/99504, target/99542,
e7fd42
	target/99563, target/99592, target/99600, testsuite/97680,
e7fd42
	testsuite/98245, testsuite/99292, testsuite/99498, testsuite/99626,
e7fd42
	testsuite/99636, tree-optimization/98834, tree-optimization/99305,
e7fd42
	tree-optimization/99489, tree-optimization/99510,
e7fd42
	tree-optimization/99523, tree-optimization/99544
e7fd42
  - fix ARM ICE in neon_output_shift_immediate (#1922599, PR target/99593)
e7fd42
- avoid false positive aarch64 -Wpsabi notes in some cases (PR target/91710)
e7fd42
- fix a -fcompare-debug failure caused by C FE bug (PR debug/99230)
e7fd42
- fix up -gdwarf-5 -gsplit-dwarf ranges handling (PR debug/99490)
e7fd42
- fix up handling of > 64 bit constants in dwarf2out (PR debug/99562,
e7fd42
  PR debug/66728)
e7fd42
- reject invalid C++ structured bindings that need reference to void
e7fd42
  (PR c++/99650)
e7fd42
- include private isl 0.18 in the package instead of relying on old
e7fd42
  distro version
e7fd42
e7fd42
* Sun Mar  7 2021 Jakub Jelinek <jakub@redhat.com> 11.0.1-0.1
e7fd42
- update from trunk
e7fd42
  - PRs ada/98996, ada/99020, ada/99095, ada/99264, analyzer/96374,
e7fd42
	analyzer/99193, bootstrap/92002, bootstrap/98590, c++/82959,
e7fd42
	c++/88146, c++/90333, c++/94521, c++/95451, c++/95615, c++/95616,
e7fd42
	c++/95675, c++/95822, c++/96078, c++/96330, c++/96443, c++/96474,
e7fd42
	c++/96960, c++/97034, c++/97587, c++/98118, c++/98318, c++/98810,
e7fd42
	c++/98990, c++/99009, c++/99103, c++/99120, c++/99166, c++/99170,
e7fd42
	c++/99176, c++/99213, c++/99245, c++/99251, c++/99287, c++/99294,
e7fd42
	c++/99344, c++/99362, c++/99365, c++/99374, c++/99377, c++/99389,
e7fd42
	c/99137, c/99275, c/99304, c/99323, c/99324, c/99325, c/99363,
e7fd42
	d/99337, debug/66668, debug/99090, debug/99319, fortran/57871,
e7fd42
	fortran/99300, fortran/99303, fortran/99355, gcov-profile/97461,
e7fd42
	gcov-profile/99105, gcov-profile/99385, gcov-profile/99406, ipa/98078,
e7fd42
	ipa/98338, libbacktrace/98818, libfortran/81986, libfortran/99218,
e7fd42
	libgomp/98738, libstdc++/99265, libstdc++/99270, libstdc++/99301,
e7fd42
	libstdc++/99382, libstdc++/99396, middle-end/93235, middle-end/94655,
e7fd42
	middle-end/95757, middle-end/96963, middle-end/97172,
e7fd42
	middle-end/97855, middle-end/99276, middle-end/99281,
e7fd42
	middle-end/99295, middle-end/99322, other/99288,
e7fd42
	rtl-optimization/99376, target/44107, target/48097, target/95798,
e7fd42
	target/98996, target/99085, target/99234, target/99271, target/99279,
e7fd42
	target/99313, target/99321, target/99381, testsuite/99233,
e7fd42
	tree-optimization/80635, tree-optimization/99253
e7fd42
- fix debug info for __fp16 constants (PR debug/99388)
e7fd42
e7fd42
* Thu Feb 25 2021 Jakub Jelinek <jakub@redhat.com> 11.0.0-0.20
e7fd42
- update from trunk
e7fd42
  - PRs analyzer/94596, analyzer/98969, analyzer/99196, c++/94034, c++/94546,
e7fd42
	c++/95468, c++/95888, c++/96251, c++/96926, c++/97246, c++/97582,
e7fd42
	c++/97742, c++/98718, c++/98741, c++/98988, c++/99023, c++/99030,
e7fd42
	c++/99031, c++/99033, c++/99035, c++/99039, c++/99040, c++/99062,
e7fd42
	c++/99063, c++/99071, c++/99072, c++/99074, c++/99116, c++/99132,
e7fd42
	c++/99150, c++/99153, c++/99174, c++/99208, c/97172, c/99055, c/99136,
e7fd42
	c/99224, debug/96997, debug/98755, fortran/98342, fortran/98686,
e7fd42
	fortran/98897, fortran/98979, fortran/99010, fortran/99027,
e7fd42
	fortran/99043, fortran/99060, fortran/99111, fortran/99124,
e7fd42
	fortran/99146, fortran/99171, fortran/99206, fortran/99226,
e7fd42
	inline-asm/98096, inline-asm/99123, ipa/97346, ipa/99003, ipa/99029,
e7fd42
	ipa/99034, jit/99126, libfortran/95647, libfortran/98825,
e7fd42
	libgcc/99236, libstdc++/88881, libstdc++/97549, libstdc++/98389,
e7fd42
	libstdc++/99058, libstdc++/99077, libstdc++/99096, libstdc++/99181,
e7fd42
	libstdc++/99261, middle-end/38474, middle-end/99007, middle-end/99109,
e7fd42
	middle-end/99122, preprocessor/96391, rtl-optimization/96264,
e7fd42
	rtl-optimization/98439, rtl-optimization/98791,
e7fd42
	rtl-optimization/98872, rtl-optimization/99054, sanitizer/99106,
e7fd42
	sanitizer/99168, target/85074, target/96166, target/97417,
e7fd42
	target/98491, target/98657, target/98931, target/98998, target/99025,
e7fd42
	target/99041, target/99100, target/99104, target/99113, target/99134,
e7fd42
	target/99157, testsuite/99173, translation/99167,
e7fd42
	tree-optimization/38474, tree-optimization/92879,
e7fd42
	tree-optimization/98772, tree-optimization/99002,
e7fd42
	tree-optimization/99024, tree-optimization/99026,
e7fd42
	tree-optimization/99079, tree-optimization/99142,
e7fd42
	tree-optimization/99149, tree-optimization/99165,
e7fd42
	tree-optimization/99204, tree-optimization/99220,
e7fd42
	tree-optimization/99225
e7fd42
e7fd42
* Wed Feb 10 2021 Jakub Jelinek <jakub@redhat.com> 11.0.0-0.19
e7fd42
- update from trunk
e7fd42
  - PRs analyzer/93355, analyzer/96374, analyzer/98575, analyzer/98918,
e7fd42
	c++/20408, c++/84494, c++/90926, c++/95192, c++/96199, c++/96462,
e7fd42
	c++/96905, c++/97804, c++/97878, c++/98295, c++/98326, c++/98355,
e7fd42
	c++/98531, c++/98570, c++/98717, c++/98802, c++/98835, c++/98899,
e7fd42
	c++/98926, c++/98929, c++/98944, c++/98947, c++/98951, c++/98994,
e7fd42
	c/97882, c/97932, d/98910, d/98921, debug/98656, driver/98943,
e7fd42
	fortran/91862, fortran/98913, libstdc++/70303, libstdc++/99021,
e7fd42
	lto/96591, lto/98912, lto/98971, middle-end/97172, middle-end/97487,
e7fd42
	middle-end/97971, middle-end/98465, middle-end/98974,
e7fd42
	middle-end/99004, preprocessor/98882, rtl-optimization/96015,
e7fd42
	target/97510, target/98172, target/98537, target/98743, target/98957,
e7fd42
	testsuite/98243, testsuite/98325, tree-optimization/97960,
e7fd42
	tree-optimization/98287, tree-optimization/98499,
e7fd42
	tree-optimization/98848, tree-optimization/98855,
e7fd42
	tree-optimization/98863, tree-optimization/98928,
e7fd42
	tree-optimization/98937, tree-optimization/99017
e7fd42
e7fd42
* Sat Jan 30 2021 Jakub Jelinek <jakub@redhat.com> 11.0.0-0.18
e7fd42
- update from trunk
e7fd42
  - PRs ada/98228, bootstrap/98839, c++/33661, c++/88548, c++/94775,
e7fd42
	c++/96137, c++/97474, c++/97566, c++/97874, c++/98463, c++/98646,
e7fd42
	c++/98770, c++/98841, c++/98843, c++/98847, d/98806, debug/98331,
e7fd42
	debug/98811, fortran/67539, fortran/70070, fortran/86470,
e7fd42
	fortran/93924, fortran/93925, fortran/96843, fortran/98472,
e7fd42
	fortran/98517, libstdc++/66414, lto/85574, middle-end/98726,
e7fd42
	middle-end/98807, rtl-optimization/80960, rtl-optimization/97684,
e7fd42
	rtl-optimization/98144, rtl-optimization/98863, sanitizer/98828,
e7fd42
	target/97701, target/98730, target/98799, target/98827, target/98833,
e7fd42
	target/98849, target/98853, testsuite/98771, testsuite/98870,
e7fd42
	tree-optimization/97260, tree-optimization/97627,
e7fd42
	tree-optimization/98854, tree-optimization/98866
e7fd42
e7fd42
* Sat Jan 23 2021 Jakub Jelinek <jakub@redhat.com> 11.0.0-0.17
e7fd42
- update from trunk
e7fd42
  - PRs ada/98740, c++/41437, c++/58993, c++/71879, c++/82613, c++/95434,
e7fd42
	c++/96623, c++/97399, c++/97966, c++/98333, c++/98530, c++/98545,
e7fd42
	c++/98624, c++/98659, c++/98744, fortran/96320, fortran/98476,
e7fd42
	fortran/98565, fortran/98757, fortran/98763, gcov-profile/98739,
e7fd42
	ipa/97673, ipa/98330, ipa/98690, middle-end/98664, middle-end/98773,
e7fd42
	middle-end/98793, rtl-optimization/92294, rtl-optimization/98694,
e7fd42
	rtl-optimization/98722, rtl-optimization/98777, sanitizer/95693,
e7fd42
	target/79251, target/96372, target/96891, target/98065, target/98093,
e7fd42
	target/98348, target/98636, testsuite/97301, testsuite/98241,
e7fd42
	testsuite/98795, tree-optimization/47059, tree-optimization/90248,
e7fd42
	tree-optimization/96674, tree-optimization/98255,
e7fd42
	tree-optimization/98535, tree-optimization/98758,
e7fd42
	tree-optimization/98766, tree-optimization/98786
e7fd42
  - ensure for empty CUs -gdwarf-5 emits at least the required 0th directory
e7fd42
    and filename entry in the .debug_line section (#1919243, PR debug/98796)
e7fd42
- fix aarch64 bug where emitted ubfix insn can't be assembled
e7fd42
  (PR target/98681)
e7fd42
e7fd42
* Wed Jan 20 2021 Jakub Jelinek <jakub@redhat.com> 11.0.0-0.16
e7fd42
- fix DWARF5 -g -flto -ffat-lto-objects, so that LTO sections can be stripped
e7fd42
  off later (PR debug/98765)
e7fd42
- fix GOMP_task caller stack corruption on s390x
e7fd42
- libgccjit DWARF5 fixes (PR debug/98751)
e7fd42
e7fd42
* Tue Jan 19 2021 Jakub Jelinek <jakub@redhat.com> 11.0.0-0.15
e7fd42
- update from trunk
e7fd42
  - PRs debug/98708, debug/98716, ipa/98222, libstdc++/98725, target/97847,
e7fd42
	testsuite/97299, testsuite/97494, testsuite/97987,
e7fd42
	tree-optimization/96271
e7fd42
  - fix miscompilation of portable signed multiplication overflow check
e7fd42
    (#1916576, PR tree-optimization/98727)
e7fd42
  - switch to DWARF 5 by default
e7fd42
- fix PRs c++/98672, c++/98687, c++/98742, middle-end/98638,
e7fd42
	  tree-optimization/98721
e7fd42
e7fd42
* Sat Jan 16 2021 Jakub Jelinek <jakub@redhat.com> 11.0.0-0.14
e7fd42
- update from trunk
e7fd42
  - PRs ada/98595, analyzer/98679, bootstrap/98696, c++/63707, c++/98231,
e7fd42
	c++/98372, c++/98538, c++/98591, c++/98626, c++/98642, fortran/98661,
e7fd42
	ipa/98652, jit/98586, libgomp/65099, libstdc++/98466, libstdc++/98471,
e7fd42
	preprocessor/95253, target/70454, target/71233, target/88836,
e7fd42
	target/95905, target/96938, target/98667, target/98671, target/98676,
e7fd42
	testsuite/96098, testsuite/96147, tree-optimization/92645,
e7fd42
	tree-optimization/96376, tree-optimization/96669,
e7fd42
	tree-optimization/96681, tree-optimization/96688,
e7fd42
	tree-optimization/96691, tree-optimization/98455,
e7fd42
	tree-optimization/98597, tree-optimization/98640,
e7fd42
	tree-optimization/98674, tree-optimization/98685
e7fd42
  - fix up pmovzx permutation SSE4.1 patterns (#1916240, PR target/98670)
e7fd42
e7fd42
* Wed Jan 13 2021 Jakub Jelinek <jakub@redhat.com> 11.0.0-0.13
e7fd42
- update from trunk
e7fd42
  - PRs analyzer/98628, c++/97284, c++/98481, c++/98556, c++/98611, c++/98620,
e7fd42
	c/98592, debug/97714, jit/98615, libstdc++/98613,
e7fd42
	rtl-optimization/98603, target/97875, target/97969, target/98612,
e7fd42
	testsuite/98225, testsuite/98602, tree-optimization/91403,
e7fd42
	tree-optimization/95731, tree-optimization/95852,
e7fd42
	tree-optimization/95867, tree-optimization/98526,
e7fd42
	tree-optimization/98550, tree-optimization/98629
e7fd42
  - fix ICEs in print_mem_ref (#1915400, #1915437, #1915781, PR c/98597)
e7fd42
e7fd42
* Sat Jan  9 2021 Jakub Jelinek <jakub@redhat.com> 11.0.0-0.12
e7fd42
- update from trunk
e7fd42
  - PRs analyzer/97072, analyzer/97074, analyzer/98073, analyzer/98223,
e7fd42
	analyzer/98293, analyzer/98564, analyzer/98580, bootstrap/98324,
e7fd42
	bootstrap/98506, c++/82099, c++/95768, c++/96045, c++/96504,
e7fd42
	c++/97597, c++/98206, c++/98305, c++/98316, c++/98329, c++/98332,
e7fd42
	c++/98353, c++/98413, c++/98441, c++/98469, c++/98515, c++/98551,
e7fd42
	c/98029, d/98427, fortran/83118, fortran/93701, fortran/93794,
e7fd42
	fortran/93833, fortran/97612, fortran/97694, fortran/97723,
e7fd42
	fortran/98022, fortran/98458, libstdc++/98384, middle-end/98160,
e7fd42
	middle-end/98578, other/98437, rtl-optimization/97144,
e7fd42
	rtl-optimization/97978, rtl-optimization/98214,
e7fd42
	rtl-optimization/98334, rtl-optimization/98403, target/89057,
e7fd42
	target/96793, target/97269, target/98461, target/98482, target/98495,
e7fd42
	target/98521, target/98522, target/98567, target/98585,
e7fd42
	testsuite/98489, testsuite/98566, tree-optimization/56719,
e7fd42
	tree-optimization/94785, tree-optimization/94802,
e7fd42
	tree-optimization/94994, tree-optimization/95401,
e7fd42
	tree-optimization/95582, tree-optimization/95771,
e7fd42
	tree-optimization/96239, tree-optimization/96782,
e7fd42
	tree-optimization/96928, tree-optimization/96930,
e7fd42
	tree-optimization/98282, tree-optimization/98291,
e7fd42
	tree-optimization/98302, tree-optimization/98308,
e7fd42
	tree-optimization/98371, tree-optimization/98381,
e7fd42
	tree-optimization/98393, tree-optimization/98428,
e7fd42
	tree-optimization/98464, tree-optimization/98474,
e7fd42
	tree-optimization/98513, tree-optimization/98514,
e7fd42
	tree-optimization/98516, tree-optimization/98544,
e7fd42
	tree-optimization/98560, tree-optimization/98568
e7fd42
e7fd42
* Wed Dec 23 2020 Jakub Jelinek <jakub@redhat.com> 11.0.0-0.11
e7fd42
- update from trunk
e7fd42
  - PRs bootstrap/98300, bootstrap/98380, bootstrap/98412, c++/67343,
e7fd42
	c++/93480, c++/96840, c++/98340, c++/98343, c++/98353, c++/98383,
e7fd42
	c/98047, c/98260, d/98067, fortran/83118, fortran/92587,
e7fd42
	fortran/96012, fortran/98284, fortran/98307, go/98402,
e7fd42
	libstdc++/46447, libstdc++/93151, libstdc++/96083, libstdc++/98319,
e7fd42
	libstdc++/98344, libstdc++/98370, libstdc++/98374, libstdc++/98377,
e7fd42
	middle-end/98366, other/98400, other/98409, rtl-optimization/98271,
e7fd42
	rtl-optimization/98276, rtl-optimization/98289,
e7fd42
	rtl-optimization/98347, sanitizer/97868, target/96793, target/98146,
e7fd42
	target/98177, target/98280, tree-optimization/96239,
e7fd42
	tree-optimization/97750, tree-optimization/98272,
e7fd42
	tree-optimization/98279, tree-optimization/98378,
e7fd42
	tree-optimization/98407
e7fd42
e7fd42
* Thu Dec 17 2020 Jakub Jelinek <jakub@redhat.com> 11.0.0-0.10
e7fd42
- apply workaround for profiledbootstrap x86_64 failure
e7fd42
- put g++-mapper-server into the right directory
e7fd42
e7fd42
* Wed Dec 16 2020 Jakub Jelinek <jakub@redhat.com> 11.0.0-0.8
e7fd42
- update from trunk
e7fd42
  - PRs ada/98230, bootstrap/98188, c++/57111, c++/59238, c++/68451,
e7fd42
	c++/78173, c++/91506, c++/93083, c++/96299, c++/97093, c++/97517,
e7fd42
	c++/98043, c++/98103, c++/98122, c++/98126, c++/98130, c++/98187,
e7fd42
	c++/98193, c/97981, c/98200, d/98277, fortran/90207, fortran/98016,
e7fd42
	fortran/98022, gcov-profile/98273, libstdc++/98108, libstdc++/98226,
e7fd42
	lto/98275, middle-end/94600, middle-end/98160, middle-end/98166,
e7fd42
	middle-end/98183, middle-end/98190, middle-end/98205,
e7fd42
	middle-end/98264, rtl-optimization/97092, rtl-optimization/97421,
e7fd42
	rtl-optimization/98212, rtl-optimization/98229, sanitizer/98204,
e7fd42
	target/58901, target/66791, target/92469, target/94440, target/95294,
e7fd42
	target/96226, target/96470, target/97865, target/97872, target/98100,
e7fd42
	target/98147, target/98152, target/98161, target/98162, target/98219,
e7fd42
	target/98274, testsuite/95900, testsuite/98123, testsuite/98156,
e7fd42
	testsuite/98239, testsuite/98240, testsuite/98242, testsuite/98244,
e7fd42
	tree-optimization/95582, tree-optimization/96094,
e7fd42
	tree-optimization/96232, tree-optimization/96272,
e7fd42
	tree-optimization/96344, tree-optimization/96685,
e7fd42
	tree-optimization/97559, tree-optimization/97929,
e7fd42
	tree-optimization/98069, tree-optimization/98113,
e7fd42
	tree-optimization/98117, tree-optimization/98137,
e7fd42
	tree-optimization/98169, tree-optimization/98174,
e7fd42
	tree-optimization/98180, tree-optimization/98182,
e7fd42
	tree-optimization/98191, tree-optimization/98192,
e7fd42
	tree-optimization/98199, tree-optimization/98211,
e7fd42
	tree-optimization/98213, tree-optimization/98235,
e7fd42
	tree-optimization/98256
e7fd42
  - C++20 modules support
e7fd42
  - fix up __patchable_function_entries handling when gcc is configured
e7fd42
    against recent binutils (#1907945)
e7fd42
- fix up handling of non-memory VIEW_CONVERT_EXPRs in PRE
e7fd42
  (PR tree-optimization/98282)
e7fd42
e7fd42
* Fri Dec  4 2020 Jakub Jelinek <jakub@redhat.com> 11.0.0-0.7
e7fd42
- update from trunk
e7fd42
  - PRs bootstrap/97983, c++/80780, c++/90629, c++/93093, c++/97187,
e7fd42
	c++/97947, c++/97975, c++/97993, c++/98019, c++/98054, c++/98072,
e7fd42
	c++/98104, c++/98107, c++/98115, c++/98116, c/65455, c/92935, c/97880,
e7fd42
	c/98087, d/87788, d/87818, d/98025, debug/97989, fortran/95342,
e7fd42
	fortran/98010, fortran/98011, fortran/98013, ipa/88702, ipa/98057,
e7fd42
	ipa/98075, jit/97867, libgcc/97543, libgcc/97643, libstdc++/65480,
e7fd42
	libstdc++/68735, libstdc++/93121, libstdc++/98001, libstdc++/98003,
e7fd42
	middle-end/89428, middle-end/92936, middle-end/92940,
e7fd42
	middle-end/93195, middle-end/93197, middle-end/94527,
e7fd42
	middle-end/97373, middle-end/97595, middle-end/98070,
e7fd42
	middle-end/98082, middle-end/98099, other/98027, plugins/98059,
e7fd42
	preprocessor/97602, rtl-optimization/97459, rtl-optimization/97777,
e7fd42
	rtl-optimization/97954, rtl-optimization/98037, target/96607,
e7fd42
	target/96906, target/97642, target/97770, target/97939, target/98063,
e7fd42
	target/98079, target/98086, testsuite/98002, testsuite/98036,
e7fd42
	testsuite/98085, tree-optimization/14799, tree-optimization/88702,
e7fd42
	tree-optimization/96679, tree-optimization/96708,
e7fd42
	tree-optimization/97630, tree-optimization/97953,
e7fd42
	tree-optimization/97979, tree-optimization/97997,
e7fd42
	tree-optimization/98024, tree-optimization/98048,
e7fd42
	tree-optimization/98064, tree-optimization/98066,
e7fd42
	tree-optimization/98084
e7fd42
e7fd42
* Thu Nov 26 2020 Jakub Jelinek <jakub@redhat.com> 11.0.0-0.6
e7fd42
- update from trunk
e7fd42
  - PRs bootstrap/94982, bootstrap/97622, bootstrap/97933, c++/97899, c/97958,
e7fd42
	fortran/85796, libstdc++/67791, libstdc++/97935, libstdc++/97936,
e7fd42
	libstdc++/97944, middle-end/97943, middle-end/97956,
e7fd42
	rtl-optimization/95862, target/91816, target/97534, target/97950,
e7fd42
	tree-optimization/96929, tree-optimization/97849,
e7fd42
	tree-optimization/97964
e7fd42
e7fd42
* Tue Nov 24 2020 Jakub Jelinek <jakub@redhat.com> 11.0.0-0.5
e7fd42
- update from trunk
e7fd42
  - PRs c++/94695, c++/97427, c++/97839, c++/97846, c++/97881, c++/97904,
e7fd42
	c/95630, d/97889, libstdc++/97948, tree-optimization/95853
e7fd42
e7fd42
* Sat Nov 21 2020 Jakub Jelinek <jakub@redhat.com> 11.0.0-0.4
e7fd42
- update from trunk
e7fd42
  - PRs ada/97805, ada/97859, analyzer/97668, analyzer/97893, bootstrap/57076,
e7fd42
	bootstrap/97666, bootstrap/97857, c++/25814, c++/52830, c++/63287,
e7fd42
	c++/67453, c++/78209, c++/81660, c++/87765, c++/88115, c++/88982,
e7fd42
	c++/89565, c++/90799, c++/91318, c++/93107, c++/93907, c++/95808,
e7fd42
	c++/97388, c++/97412, c++/97453, c++/97479, c++/97518, c++/97523,
e7fd42
	c++/97632, c++/97663, c++/97670, c++/97675, c++/97762, c++/97790,
e7fd42
	c++/97871, c++/97877, c++/97895, c++/97905, c++/97918, c/90628,
e7fd42
	c/97748, c/97860, d/97644, d/97842, d/97843, debug/97060, debug/97599,
e7fd42
	debug/97718, driver/97574, fortran/90111, fortran/92793,
e7fd42
	fortran/94358, fortran/95847, fortran/97652, fortran/97655,
e7fd42
	fortran/97768, fortran/97782, ipa/97578, ipa/97660, ipa/97695,
e7fd42
	ipa/97698, ipa/97816, jit/87291, libstdc++/55394, libstdc++/66146,
e7fd42
	libstdc++/83938, libstdc++/84323, libstdc++/88101, libstdc++/92285,
e7fd42
	libstdc++/92546, libstdc++/93421, libstdc++/93456, libstdc++/94971,
e7fd42
	libstdc++/95989, libstdc++/96269, libstdc++/96958, libstdc++/97415,
e7fd42
	libstdc++/97600, libstdc++/97613, libstdc++/97719, libstdc++/97729,
e7fd42
	libstdc++/97731, libstdc++/97758, libstdc++/97798, libstdc++/97828,
e7fd42
	libstdc++/97869, lto/97290, lto/97508, middle-end/85811,
e7fd42
	middle-end/95673, middle-end/97267, middle-end/97556,
e7fd42
	middle-end/97579, middle-end/97840, middle-end/97862,
e7fd42
	middle-end/97879, objc/77404, objc/90707, objc/97854, other/97911,
e7fd42
	pch/86674, pch/97593, preprocessor/97858, rtl-optimization/92180,
e7fd42
	rtl-optimization/97705, sanitizer/95634, target/31799, target/85486,
e7fd42
	target/91489, target/93449, target/96307, target/96770, target/96791,
e7fd42
	target/96933, target/96967, target/96998, target/97140, target/97194,
e7fd42
	target/97205, target/97326, target/97528, target/97532, target/97540,
e7fd42
	target/97638, target/97682, target/97685, target/97715, target/97726,
e7fd42
	target/97727, target/97730, target/97870, target/97873,
e7fd42
	testsuite/80219, testsuite/85303, testsuite/97117, testsuite/97688,
e7fd42
	testsuite/97788, testsuite/97797, testsuite/97803,
e7fd42
	tree-optimization/80928, tree-optimization/83072,
e7fd42
	tree-optimization/91029, tree-optimization/93781,
e7fd42
	tree-optimization/94406, tree-optimization/96671,
e7fd42
	tree-optimization/96789, tree-optimization/97223,
e7fd42
	tree-optimization/97424, tree-optimization/97558,
e7fd42
	tree-optimization/97609, tree-optimization/97623,
e7fd42
	tree-optimization/97626, tree-optimization/97633,
e7fd42
	tree-optimization/97650, tree-optimization/97678,
e7fd42
	tree-optimization/97690, tree-optimization/97693,
e7fd42
	tree-optimization/97706, tree-optimization/97709,
e7fd42
	tree-optimization/97721, tree-optimization/97725,
e7fd42
	tree-optimization/97732, tree-optimization/97733,
e7fd42
	tree-optimization/97736, tree-optimization/97737,
e7fd42
	tree-optimization/97741, tree-optimization/97746,
e7fd42
	tree-optimization/97753, tree-optimization/97760,
e7fd42
	tree-optimization/97761, tree-optimization/97764,
e7fd42
	tree-optimization/97765, tree-optimization/97767,
e7fd42
	tree-optimization/97769, tree-optimization/97780,
e7fd42
	tree-optimization/97806, tree-optimization/97812,
e7fd42
	tree-optimization/97830, tree-optimization/97835,
e7fd42
	tree-optimization/97838, tree-optimization/97886,
e7fd42
	tree-optimization/97888, tree-optimization/97897,
e7fd42
	tree-optimization/97901
e7fd42
- add BuildRequires: make and Requires: make, the latter for -flto reasons
e7fd42
e7fd42
* Thu Oct 29 2020 Jakub Jelinek <jakub@redhat.com> 11.0.0-0.3
e7fd42
- update from trunk
e7fd42
  - PRs ada/97504, analyzer/96608, analyzer/97489, analyzer/97514,
e7fd42
	analyzer/97568, analyzer/97608, bootstrap/97451, c++/82239, c++/86773,
e7fd42
	c++/91741, c++/94799, c++/95132, c++/96241, c++/96575, c++/96675,
e7fd42
	c++/96742, c++/97328, c++/97438, c++/97511, c++/97573, c/94722,
e7fd42
	c/97463, fortran/45516, fortran/97454, gcov-profile/97461, ipa/97445,
e7fd42
	ipa/97576, ipa/97586, libstdc++/94268, libstdc++/95592,
e7fd42
	libstdc++/95609, libstdc++/95917, libstdc++/96713, libstdc++/97512,
e7fd42
	libstdc++/97570, lto/96680, lto/97524, middle-end/92942,
e7fd42
	middle-end/97521, middle-end/97552, rtl-optimization/97249,
e7fd42
	rtl-optimization/97439, rtl-optimization/97497, sanitizer/97414,
e7fd42
	target/87767, target/95151, target/95458, target/97360, target/97502,
e7fd42
	target/97506, target/97535, testsuite/81690, testsuite/97590,
e7fd42
	tree-optimization/66552, tree-optimization/97164,
e7fd42
	tree-optimization/97360, tree-optimization/97456,
e7fd42
	tree-optimization/97457, tree-optimization/97466,
e7fd42
	tree-optimization/97467, tree-optimization/97486,
e7fd42
	tree-optimization/97488, tree-optimization/97496,
e7fd42
	tree-optimization/97500, tree-optimization/97501,
e7fd42
	tree-optimization/97503, tree-optimization/97505,
e7fd42
	tree-optimization/97515, tree-optimization/97520,
e7fd42
	tree-optimization/97538, tree-optimization/97539,
e7fd42
	tree-optimization/97546, tree-optimization/97555,
e7fd42
	tree-optimization/97560, tree-optimization/97567,
e7fd42
	tree-optimization/97615
e7fd42
- for ELN default to -march=x86-64-v2 for x86 64-bit compilation and
e7fd42
  for s390x to -march=z13 -mtune=arch13
e7fd42
e7fd42
* Mon Oct 19 2020 Jakub Jelinek <jakub@redhat.com> 11.0.0-0.2
e7fd42
- new package