b76f40
%global DATE 20210514
b76f40
%global gitrev a3253c88425835d5b339d6998a1110a66ccd8b44
b76f40
%global gcc_version 8.5.0
f56e54
%global gcc_major 8
f56e54
# Note, gcc_release must be integer, if you want to add suffixes to
f56e54
# %%{release}, append them after %%{gcc_release} on Release: line.
cb101c
%global gcc_release 13
f56e54
%global nvptx_tools_gitrev c28050f60193b3b95a18866a96f03334e874e78f
f56e54
%global nvptx_newlib_gitrev aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24
f56e54
%global _unpackaged_files_terminate_build 0
f56e54
%global _performance_build 1
f56e54
%if 0%{?fedora} > 27 || 0%{?rhel} > 7
f56e54
# Until annobin is fixed (#1519165).
f56e54
%undefine _annotated_build
f56e54
%endif
f56e54
%global multilib_64_archs sparc64 ppc64 ppc64p7 x86_64
f56e54
%if 0%{?rhel} > 7
f56e54
%global build_ada 0
f56e54
%global build_objc 0
f56e54
%global build_go 0
f56e54
%global build_libgccjit 0
f56e54
%else
f56e54
%ifarch %{ix86} x86_64 ia64 ppc %{power64} alpha s390x %{arm} aarch64
f56e54
%global build_ada 1
f56e54
%else
f56e54
%global build_ada 0
f56e54
%endif
f56e54
%global build_objc 1
f56e54
%global build_libgccjit 1
f56e54
%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 %{mips}
f56e54
%global build_go 1
f56e54
%else
f56e54
%global build_go 0
f56e54
%endif
f56e54
%endif
f56e54
%ifarch %{ix86} x86_64 ia64 ppc64le
f56e54
%global build_libquadmath 1
f56e54
%else
f56e54
%global build_libquadmath 0
f56e54
%endif
f56e54
%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64
f56e54
%global build_libasan 1
f56e54
%else
f56e54
%global build_libasan 0
f56e54
%endif
f56e54
%ifarch x86_64 ppc64 ppc64le aarch64
f56e54
%global build_libtsan 1
f56e54
%else
f56e54
%global build_libtsan 0
f56e54
%endif
f56e54
%ifarch x86_64 ppc64 ppc64le aarch64
f56e54
%global build_liblsan 1
f56e54
%else
f56e54
%global build_liblsan 0
f56e54
%endif
f56e54
%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64
f56e54
%global build_libubsan 1
f56e54
%else
f56e54
%global build_libubsan 0
f56e54
%endif
f56e54
%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 %{mips}
f56e54
%global build_libatomic 1
f56e54
%else
f56e54
%global build_libatomic 0
f56e54
%endif
f56e54
%ifarch %{ix86} x86_64 %{arm} alpha ppc ppc64 ppc64le ppc64p7 s390 s390x aarch64
f56e54
%global build_libitm 1
f56e54
%else
f56e54
%global build_libitm 0
f56e54
%endif
f56e54
%if 0%{?rhel} > 7
f56e54
%global build_libmpx 0
f56e54
%else
f56e54
%ifarch %{ix86} x86_64
f56e54
%global build_libmpx 1
f56e54
%else
f56e54
%global build_libmpx 0
f56e54
%endif
f56e54
%endif
f56e54
%global build_isl 1
f56e54
%global build_libstdcxx_docs 1
f56e54
%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 %{mips}
f56e54
%global attr_ifunc 1
f56e54
%else
f56e54
%global attr_ifunc 0
f56e54
%endif
f56e54
%ifarch x86_64 ppc64le
f56e54
%global build_offload_nvptx 1
f56e54
%else
f56e54
%global build_offload_nvptx 0
f56e54
%endif
f56e54
%ifarch s390x
f56e54
%global multilib_32_arch s390
f56e54
%endif
f56e54
%ifarch sparc64
f56e54
%global multilib_32_arch sparcv9
f56e54
%endif
f56e54
%ifarch ppc64 ppc64p7
f56e54
%global multilib_32_arch ppc
f56e54
%endif
f56e54
%ifarch x86_64
f56e54
%global multilib_32_arch i686
f56e54
%endif
f56e54
Summary: Various compilers (C, C++, Objective-C, ...)
f56e54
Name: gcc
f56e54
Version: %{gcc_version}
b76f40
Release: %{gcc_release}%{?dist}
f56e54
# libgcc, libgfortran, libgomp, libstdc++ and crtstuff have
f56e54
# GCC Runtime Exception.
f56e54
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
f56e54
Group: Development/Languages
f56e54
# The source for this package was pulled from upstream's vcs.  Use the
f56e54
# following commands to generate the tarball:
c92907
# git clone --depth 1 git://gcc.gnu.org/git/gcc.git gcc-dir.tmp
c92907
# git --git-dir=gcc-dir.tmp/.git fetch --depth 1 origin %%{gitrev}
c92907
# git --git-dir=gcc-dir.tmp/.git archive --prefix=%%{name}-%%{version}-%%{DATE}/ %%{gitrev} | xz -9e > %%{name}-%%{version}-%%{DATE}.tar.xz
c92907
# rm -rf gcc-dir.tmp
f56e54
Source0: gcc-%{version}-%{DATE}.tar.xz
f56e54
# The source for nvptx-tools package was pulled from upstream's vcs.  Use the
f56e54
# following commands to generate the tarball:
c92907
# git clone --depth 1 git://github.com/MentorEmbedded/nvptx-tools.git nvptx-tools-dir.tmp
c92907
# git --git-dir=nvptx-tools-dir.tmp/.git fetch --depth 1 origin %%{nvptx_tools_gitrev}
c92907
# 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
c92907
# rm -rf nvptx-tools-dir.tmp
f56e54
Source1: nvptx-tools-%{nvptx_tools_gitrev}.tar.xz
f56e54
# The source for nvptx-newlib package was pulled from upstream's vcs.  Use the
f56e54
# following commands to generate the tarball:
c92907
# git clone git://sourceware.org/git/newlib-cygwin.git newlib-cygwin-dir.tmp
c92907
# 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
c92907
# rm -rf newlib-cygwin-dir.tmp
f56e54
Source2: nvptx-newlib-%{nvptx_newlib_gitrev}.tar.xz
f56e54
%global isl_version 0.16.1
f56e54
URL: http://gcc.gnu.org
f56e54
# Need binutils with -pie support >= 2.14.90.0.4-4
f56e54
# Need binutils which can omit dot symbols and overlap .opd on ppc64 >= 2.15.91.0.2-4
f56e54
# Need binutils which handle -msecure-plt on ppc >= 2.16.91.0.2-2
f56e54
# Need binutils which support .weakref >= 2.16.91.0.3-1
f56e54
# Need binutils which support --hash-style=gnu >= 2.17.50.0.2-7
f56e54
# Need binutils which support mffgpr and mftgpr >= 2.17.50.0.2-8
f56e54
# Need binutils which support --build-id >= 2.17.50.0.17-3
f56e54
# Need binutils which support %%gnu_unique_object >= 2.19.51.0.14
f56e54
# Need binutils which support .cfi_sections >= 2.19.51.0.14-33
f56e54
# Need binutils which support --no-add-needed >= 2.20.51.0.2-12
f56e54
# Need binutils which support -plugin
f56e54
# Need binutils which support .loc view >= 2.30
f56e54
# Need binutils which support --generate-missing-build-notes=yes >= 2.31
f56e54
%if 0%{?fedora} >= 29
f56e54
BuildRequires: binutils >= 2.31
f56e54
%else
f56e54
%if 0%{?rhel} > 7
f56e54
BuildRequires: binutils >= 2.30-17
f56e54
%else
f56e54
BuildRequires: binutils >= 2.24
f56e54
%endif
f56e54
%endif
f56e54
# While gcc doesn't include statically linked binaries, during testing
f56e54
# -static is used several times.
f56e54
BuildRequires: glibc-static
f56e54
BuildRequires: zlib-devel, gettext, dejagnu, bison, flex, sharutils
f56e54
BuildRequires: texinfo, texinfo-tex, /usr/bin/pod2man
f56e54
BuildRequires: systemtap-sdt-devel >= 1.3
f56e54
BuildRequires: gmp-devel >= 4.1.2-8, mpfr-devel >= 2.2.1, libmpc-devel >= 0.8.1
f56e54
BuildRequires: python3-devel
f56e54
BuildRequires: gcc, gcc-c++
f56e54
%if %{build_go}
f56e54
BuildRequires: hostname, procps
f56e54
%endif
f56e54
# For VTA guality testing
f56e54
BuildRequires: gdb
f56e54
# Make sure pthread.h doesn't contain __thread tokens
f56e54
# Make sure glibc supports stack protector
f56e54
# Make sure glibc supports DT_GNU_HASH
f56e54
BuildRequires: glibc-devel >= 2.4.90-13
f56e54
BuildRequires: elfutils-devel >= 0.147
f56e54
BuildRequires: elfutils-libelf-devel >= 0.147
f56e54
%ifarch ppc ppc64 ppc64le ppc64p7 s390 s390x sparc sparcv9 alpha
f56e54
# Make sure glibc supports TFmode long double
f56e54
BuildRequires: glibc >= 2.3.90-35
f56e54
%endif
f56e54
%ifarch %{multilib_64_archs} sparcv9 ppc
f56e54
# Ensure glibc{,-devel} is installed for both multilib arches
f56e54
BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so
f56e54
%endif
f56e54
%if %{build_ada}
f56e54
# Ada requires Ada to build
f56e54
BuildRequires: gcc-gnat >= 3.1, libgnat >= 3.1
f56e54
%endif
f56e54
%ifarch ia64
f56e54
BuildRequires: libunwind >= 0.98
f56e54
%endif
f56e54
%if %{build_isl}
f56e54
BuildRequires: isl = %{isl_version}
f56e54
BuildRequires: isl-devel = %{isl_version}
f56e54
%if 0%{?__isa_bits} == 64
f56e54
Requires: libisl.so.15()(64bit)
f56e54
%else
f56e54
Requires: libisl.so.15
f56e54
%endif
f56e54
%endif
f56e54
%if %{build_libstdcxx_docs}
f56e54
BuildRequires: doxygen >= 1.7.1
cb101c
BuildRequires: graphviz, dblatex, texlive-collection-latex, docbook-style-xsl
f56e54
%endif
f56e54
Requires: cpp = %{version}-%{release}
f56e54
# Need .eh_frame ld optimizations
f56e54
# Need proper visibility support
f56e54
# Need -pie support
f56e54
# Need --as-needed/--no-as-needed support
f56e54
# On ppc64, need omit dot symbols support and --non-overlapping-opd
f56e54
# Need binutils that owns /usr/bin/c++filt
f56e54
# Need binutils that support .weakref
f56e54
# Need binutils that supports --hash-style=gnu
f56e54
# Need binutils that support mffgpr/mftgpr
f56e54
# Need binutils that support --build-id
f56e54
# Need binutils that support %%gnu_unique_object
f56e54
# Need binutils that support .cfi_sections
f56e54
# Need binutils that support --no-add-needed
f56e54
# Need binutils that support -plugin
f56e54
# Need binutils that support .loc view >= 2.30
f56e54
# Need binutils which support --generate-missing-build-notes=yes >= 2.31
f56e54
%if 0%{?fedora} >= 29
f56e54
Requires: binutils >= 2.31
f56e54
%else
f56e54
%if 0%{?rhel} > 7
f56e54
Requires: binutils >= 2.30-17
f56e54
%else
f56e54
Requires: binutils >= 2.24
f56e54
%endif
f56e54
%endif
f56e54
# Make sure gdb will understand DW_FORM_strp
f56e54
Conflicts: gdb < 5.1-2
f56e54
Requires: glibc-devel >= 2.2.90-12
f56e54
%ifarch ppc ppc64 ppc64le ppc64p7 s390 s390x sparc sparcv9 alpha
f56e54
# Make sure glibc supports TFmode long double
f56e54
Requires: glibc >= 2.3.90-35
f56e54
%endif
f56e54
%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
f56e54
%ifarch %{arm}
f56e54
Requires: glibc >= 2.16
f56e54
%endif
f56e54
%endif
f56e54
Requires: libgcc >= %{version}-%{release}
f56e54
Requires: libgomp = %{version}-%{release}
f56e54
%if !%{build_ada}
f56e54
Obsoletes: gcc-gnat < %{version}-%{release}
f56e54
%endif
f56e54
Obsoletes: gcc-java < %{version}-%{release}
f56e54
%ifarch %{ix86} x86_64
f56e54
Obsoletes: libcilkrts
f56e54
Obsoletes: libcilkrts-static
f56e54
%endif
f56e54
Requires(post): /sbin/install-info
f56e54
Requires(preun): /sbin/install-info
f56e54
AutoReq: true
6608a3
# Various libraries are imported.  #1859893 asks us to list them all.
f56e54
Provides: bundled(libiberty)
6608a3
Provides: bundled(libbacktrace)
6608a3
Provides: bundled(libffi)
f56e54
Provides: gcc(major) = %{gcc_major}
f56e54
f56e54
Patch0: gcc8-hack.patch
f56e54
Patch2: gcc8-i386-libgomp.patch
f56e54
Patch3: gcc8-sparc-config-detection.patch
f56e54
Patch4: gcc8-libgomp-omp_h-multilib.patch
f56e54
Patch5: gcc8-libtool-no-rpath.patch
f56e54
Patch6: gcc8-isl-dl.patch
f56e54
Patch7: gcc8-libstdc++-docs.patch
f56e54
Patch8: gcc8-no-add-needed.patch
f56e54
Patch9: gcc8-foffload-default.patch
f56e54
Patch10: gcc8-Wno-format-security.patch
f56e54
Patch11: gcc8-rh1512529-aarch64.patch
f56e54
Patch12: gcc8-mcet.patch
f56e54
Patch13: gcc8-rh1574936.patch
f56e54
Patch14: gcc8-libgcc-hardened.patch
f56e54
Patch15: gcc8-rh1670535.patch
c92907
Patch16: gcc8-libgomp-20190503.patch
c92907
Patch17: gcc8-libgomp-testsuite.patch
a4c5b4
Patch18: gcc8-remove-old-demangle.patch
74f1fc
Patch19: gcc8-rh1960701.patch
74f1fc
Patch20: gcc8-pr100797.patch
6608a3
Patch21: gcc8-rh1981822.patch
3f7692
Patch22: gcc8-Wbidi-chars.patch
606228
Patch23: gcc8-pr96796.patch
f5f9ee
Patch24: gcc8-pch-tweaks.patch
c89b6d
Patch25: gcc8-aarch64-mtune-neoverse-512tvb.patch
da1516
Patch26: gcc8-rh2028609.patch
cb101c
Patch27: gcc8-libgfortran-default-values.patch
f56e54
f56e54
Patch30: gcc8-rh1668903-1.patch
f56e54
Patch31: gcc8-rh1668903-2.patch
f56e54
Patch32: gcc8-rh1668903-3.patch
f56e54
f56e54
Patch1000: nvptx-tools-no-ptxas.patch
f56e54
Patch1001: nvptx-tools-build.patch
f56e54
Patch1002: nvptx-tools-glibc.patch
f56e54
f56e54
f56e54
# On ARM EABI systems, we do want -gnueabi to be part of the
f56e54
# target triple.
f56e54
%ifnarch %{arm}
f56e54
%global _gnu %{nil}
f56e54
%else
f56e54
%global _gnu -gnueabi
f56e54
%endif
f56e54
%ifarch sparcv9
f56e54
%global gcc_target_platform sparc64-%{_vendor}-%{_target_os}
f56e54
%endif
f56e54
%ifarch ppc ppc64p7
f56e54
%global gcc_target_platform ppc64-%{_vendor}-%{_target_os}
f56e54
%endif
f56e54
%ifnarch sparcv9 ppc ppc64p7
f56e54
%global gcc_target_platform %{_target_platform}
f56e54
%endif
f56e54
f56e54
%if %{build_go}
f56e54
# Avoid stripping these libraries and binaries.
f56e54
%global __os_install_post \
f56e54
chmod 644 %{buildroot}%{_prefix}/%{_lib}/libgo.so.13.* \
f56e54
chmod 644 %{buildroot}%{_prefix}/bin/go.gcc \
f56e54
chmod 644 %{buildroot}%{_prefix}/bin/gofmt.gcc \
f56e54
chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cgo \
f56e54
chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/buildid \
f56e54
chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/test2json \
f56e54
chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/vet \
f56e54
%__os_install_post \
f56e54
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgo.so.13.* \
f56e54
chmod 755 %{buildroot}%{_prefix}/bin/go.gcc \
f56e54
chmod 755 %{buildroot}%{_prefix}/bin/gofmt.gcc \
f56e54
chmod 755 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cgo \
f56e54
chmod 755 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/buildid \
f56e54
chmod 755 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/test2json \
f56e54
chmod 755 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/vet \
f56e54
%{nil}
f56e54
%endif
f56e54
f56e54
%description
f56e54
The gcc package contains the GNU Compiler Collection version 8.
f56e54
You'll need this package in order to compile C code.
f56e54
f56e54
%package -n libgcc
f56e54
Summary: GCC version 8 shared support library
f56e54
Group: System Environment/Libraries
f56e54
Autoreq: false
f56e54
%if !%{build_ada}
f56e54
Obsoletes: libgnat < %{version}-%{release}
f56e54
%endif
f56e54
Obsoletes: libmudflap
f56e54
Obsoletes: libmudflap-devel
f56e54
Obsoletes: libmudflap-static
f56e54
Obsoletes: libgcj < %{version}-%{release}
f56e54
Obsoletes: libgcj-devel < %{version}-%{release}
f56e54
Obsoletes: libgcj-src < %{version}-%{release}
f56e54
f56e54
%description -n libgcc
f56e54
This package contains GCC shared support library which is needed
f56e54
e.g. for exception handling support.
f56e54
f56e54
%package c++
f56e54
Summary: C++ support for GCC
f56e54
Group: Development/Languages
f56e54
Requires: gcc = %{version}-%{release}
f56e54
Requires: libstdc++ = %{version}-%{release}
f56e54
Requires: libstdc++-devel = %{version}-%{release}
f56e54
Autoreq: true
f56e54
f56e54
%description c++
f56e54
This package adds C++ support to the GNU Compiler Collection.
f56e54
It includes support for most of the current C++ specification,
f56e54
including templates and exception handling.
f56e54
f56e54
%package -n libstdc++
f56e54
Summary: GNU Standard C++ Library
f56e54
Group: System Environment/Libraries
f56e54
Autoreq: true
f56e54
Requires: glibc >= 2.10.90-7
f56e54
f56e54
%description -n libstdc++
f56e54
The libstdc++ package contains a rewritten standard compliant GCC Standard
f56e54
C++ Library.
f56e54
f56e54
%package -n libstdc++-devel
f56e54
Summary: Header files and libraries for C++ development
f56e54
Group: Development/Libraries
f56e54
Requires: libstdc++%{?_isa} = %{version}-%{release}
f56e54
Autoreq: true
f56e54
f56e54
%description -n libstdc++-devel
f56e54
This is the GNU implementation of the standard C++ libraries.  This
f56e54
package includes the header files and libraries needed for C++
f56e54
development. This includes rewritten implementation of STL.
f56e54
f56e54
%package -n libstdc++-static
f56e54
Summary: Static libraries for the GNU standard C++ library
f56e54
Group: Development/Libraries
f56e54
Requires: libstdc++-devel = %{version}-%{release}
f56e54
Autoreq: true
f56e54
f56e54
%description -n libstdc++-static
f56e54
Static libraries for the GNU standard C++ library.
f56e54
f56e54
%package -n libstdc++-docs
f56e54
Summary: Documentation for the GNU standard C++ library
f56e54
Group: Development/Libraries
f56e54
Autoreq: true
f56e54
f56e54
%description -n libstdc++-docs
f56e54
Manual, doxygen generated API information and Frequently Asked Questions
f56e54
for the GNU standard C++ library.
f56e54
f56e54
%package objc
f56e54
Summary: Objective-C support for GCC
f56e54
Group: Development/Languages
f56e54
Requires: gcc = %{version}-%{release}
f56e54
Requires: libobjc = %{version}-%{release}
f56e54
Autoreq: true
f56e54
f56e54
%description objc
f56e54
gcc-objc provides Objective-C support for the GCC.
f56e54
Mainly used on systems running NeXTSTEP, Objective-C is an
f56e54
object-oriented derivative of the C language.
f56e54
f56e54
%package objc++
f56e54
Summary: Objective-C++ support for GCC
f56e54
Group: Development/Languages
f56e54
Requires: gcc-c++ = %{version}-%{release}, gcc-objc = %{version}-%{release}
f56e54
Autoreq: true
f56e54
f56e54
%description objc++
f56e54
gcc-objc++ package provides Objective-C++ support for the GCC.
f56e54
f56e54
%package -n libobjc
f56e54
Summary: Objective-C runtime
f56e54
Group: System Environment/Libraries
f56e54
Autoreq: true
f56e54
f56e54
%description -n libobjc
f56e54
This package contains Objective-C shared library which is needed to run
f56e54
Objective-C dynamically linked programs.
f56e54
f56e54
%package gfortran
f56e54
Summary: Fortran support
f56e54
Group: Development/Languages
f56e54
Requires: gcc = %{version}-%{release}
f56e54
Requires: libgfortran = %{version}-%{release}
f56e54
%if %{build_libquadmath}
f56e54
Requires: libquadmath = %{version}-%{release}
f56e54
Requires: libquadmath-devel = %{version}-%{release}
f56e54
%endif
f56e54
Requires(post): /sbin/install-info
f56e54
Requires(preun): /sbin/install-info
f56e54
Autoreq: true
f56e54
f56e54
%description gfortran
f56e54
The gcc-gfortran package provides support for compiling Fortran
f56e54
programs with the GNU Compiler Collection.
f56e54
f56e54
%package -n libgfortran
f56e54
Summary: Fortran runtime
f56e54
Group: System Environment/Libraries
f56e54
Autoreq: true
f56e54
%if %{build_libquadmath}
f56e54
Requires: libquadmath = %{version}-%{release}
f56e54
%endif
f56e54
f56e54
%description -n libgfortran
f56e54
This package contains Fortran shared library which is needed to run
f56e54
Fortran dynamically linked programs.
f56e54
f56e54
%package -n libgfortran-static
f56e54
Summary: Static Fortran libraries
f56e54
Group: Development/Libraries
f56e54
Requires: libgfortran = %{version}-%{release}
f56e54
Requires: gcc = %{version}-%{release}
f56e54
%if %{build_libquadmath}
f56e54
Requires: libquadmath-static = %{version}-%{release}
f56e54
%endif
f56e54
f56e54
%description -n libgfortran-static
f56e54
This package contains static Fortran libraries.
f56e54
f56e54
%package -n libgomp
f56e54
Summary: GCC OpenMP v4.5 shared support library
f56e54
Group: System Environment/Libraries
f56e54
Requires(post): /sbin/install-info
f56e54
Requires(preun): /sbin/install-info
f56e54
f56e54
%description -n libgomp
f56e54
This package contains GCC shared support library which is needed
f56e54
for OpenMP v4.5 support.
f56e54
f56e54
%package -n libgomp-offload-nvptx
f56e54
Summary: GCC OpenMP v4.5 plugin for offloading to NVPTX
f56e54
Group: System Environment/Libraries
f56e54
Requires: libgomp = %{version}-%{release}
f56e54
f56e54
%description -n libgomp-offload-nvptx
f56e54
This package contains libgomp plugin for offloading to NVidia
f56e54
PTX.  The plugin needs libcuda.so.1 shared library that has to be
f56e54
installed separately.
f56e54
f56e54
%package gdb-plugin
f56e54
Summary: GCC plugin for GDB
f56e54
Group: Development/Debuggers
f56e54
Requires: gcc = %{version}-%{release}
f56e54
f56e54
%description gdb-plugin
f56e54
This package contains GCC plugin for GDB C expression evaluation.
f56e54
f56e54
%package -n libgccjit
f56e54
Summary: Library for embedding GCC inside programs and libraries
f56e54
Group: System Environment/Libraries
f56e54
Requires: gcc = %{version}-%{release}
f56e54
f56e54
%description -n libgccjit
f56e54
This package contains shared library with GCC JIT front-end.
f56e54
f56e54
%package -n libgccjit-devel
f56e54
Summary: Support for embedding GCC inside programs and libraries
f56e54
Group: Development/Libraries
f56e54
%if 0%{?fedora} > 27 || 0%{?rhel} > 7
f56e54
BuildRequires: python3-sphinx
f56e54
%else
f56e54
BuildRequires: python-sphinx
f56e54
%endif
f56e54
Requires: libgccjit = %{version}-%{release}
f56e54
Requires(post): /sbin/install-info
f56e54
Requires(preun): /sbin/install-info
f56e54
f56e54
%description -n libgccjit-devel
f56e54
This package contains header files and documentation for GCC JIT front-end.
f56e54
f56e54
%package -n libquadmath
f56e54
Summary: GCC __float128 shared support library
f56e54
Group: System Environment/Libraries
f56e54
Requires(post): /sbin/install-info
f56e54
Requires(preun): /sbin/install-info
f56e54
f56e54
%description -n libquadmath
f56e54
This package contains GCC shared support library which is needed
f56e54
for __float128 math support and for Fortran REAL*16 support.
f56e54
f56e54
%package -n libquadmath-devel
f56e54
Summary: GCC __float128 support
f56e54
Group: Development/Libraries
f56e54
Requires: libquadmath = %{version}-%{release}
f56e54
Requires: gcc = %{version}-%{release}
f56e54
f56e54
%description -n libquadmath-devel
f56e54
This package contains headers for building Fortran programs using
f56e54
REAL*16 and programs using __float128 math.
f56e54
f56e54
%package -n libquadmath-static
f56e54
Summary: Static libraries for __float128 support
f56e54
Group: Development/Libraries
f56e54
Requires: libquadmath-devel = %{version}-%{release}
f56e54
f56e54
%description -n libquadmath-static
f56e54
This package contains static libraries for building Fortran programs
f56e54
using REAL*16 and programs using __float128 math.
f56e54
f56e54
%package -n libitm
f56e54
Summary: The GNU Transactional Memory library
f56e54
Group: System Environment/Libraries
f56e54
Requires(post): /sbin/install-info
f56e54
Requires(preun): /sbin/install-info
f56e54
f56e54
%description -n libitm
f56e54
This package contains the GNU Transactional Memory library
f56e54
which is a GCC transactional memory support runtime library.
f56e54
f56e54
%package -n libitm-devel
f56e54
Summary: The GNU Transactional Memory support
f56e54
Group: Development/Libraries
f56e54
Requires: libitm = %{version}-%{release}
f56e54
Requires: gcc = %{version}-%{release}
f56e54
f56e54
%description -n libitm-devel
f56e54
This package contains headers and support files for the
f56e54
GNU Transactional Memory library.
f56e54
f56e54
%package -n libitm-static
f56e54
Summary: The GNU Transactional Memory static library
f56e54
Group: Development/Libraries
f56e54
Requires: libitm-devel = %{version}-%{release}
f56e54
f56e54
%description -n libitm-static
f56e54
This package contains GNU Transactional Memory static libraries.
f56e54
f56e54
%package -n libatomic
f56e54
Summary: The GNU Atomic library
f56e54
Group: System Environment/Libraries
f56e54
Requires(post): /sbin/install-info
f56e54
Requires(preun): /sbin/install-info
f56e54
f56e54
%description -n libatomic
f56e54
This package contains the GNU Atomic library
f56e54
which is a GCC support runtime library for atomic operations not supported
f56e54
by hardware.
f56e54
f56e54
%package -n libatomic-static
f56e54
Summary: The GNU Atomic static library
f56e54
Group: Development/Libraries
f56e54
Requires: libatomic = %{version}-%{release}
f56e54
f56e54
%description -n libatomic-static
f56e54
This package contains GNU Atomic static libraries.
f56e54
f56e54
%package -n libasan
f56e54
Summary: The Address Sanitizer runtime library
f56e54
Group: System Environment/Libraries
f56e54
Requires(post): /sbin/install-info
f56e54
Requires(preun): /sbin/install-info
f56e54
f56e54
%description -n libasan
f56e54
This package contains the Address Sanitizer library
f56e54
which is used for -fsanitize=address instrumented programs.
f56e54
f56e54
%package -n libasan-static
f56e54
Summary: The Address Sanitizer static library
f56e54
Group: Development/Libraries
f56e54
Requires: libasan = %{version}-%{release}
f56e54
f56e54
%description -n libasan-static
f56e54
This package contains Address Sanitizer static runtime library.
f56e54
f56e54
%package -n libtsan
f56e54
Summary: The Thread Sanitizer runtime library
f56e54
Group: System Environment/Libraries
f56e54
Requires(post): /sbin/install-info
f56e54
Requires(preun): /sbin/install-info
f56e54
f56e54
%description -n libtsan
f56e54
This package contains the Thread Sanitizer library
f56e54
which is used for -fsanitize=thread instrumented programs.
f56e54
f56e54
%package -n libtsan-static
f56e54
Summary: The Thread Sanitizer static library
f56e54
Group: Development/Libraries
f56e54
Requires: libtsan = %{version}-%{release}
f56e54
f56e54
%description -n libtsan-static
f56e54
This package contains Thread Sanitizer static runtime library.
f56e54
f56e54
%package -n libubsan
f56e54
Summary: The Undefined Behavior Sanitizer runtime library
f56e54
Group: System Environment/Libraries
f56e54
Requires(post): /sbin/install-info
f56e54
Requires(preun): /sbin/install-info
f56e54
f56e54
%description -n libubsan
f56e54
This package contains the Undefined Behavior Sanitizer library
f56e54
which is used for -fsanitize=undefined instrumented programs.
f56e54
f56e54
%package -n libubsan-static
f56e54
Summary: The Undefined Behavior Sanitizer static library
f56e54
Group: Development/Libraries
f56e54
Requires: libubsan = %{version}-%{release}
f56e54
f56e54
%description -n libubsan-static
f56e54
This package contains Undefined Behavior Sanitizer static runtime library.
f56e54
f56e54
%package -n liblsan
f56e54
Summary: The Leak Sanitizer runtime library
f56e54
Group: System Environment/Libraries
f56e54
Requires(post): /sbin/install-info
f56e54
Requires(preun): /sbin/install-info
f56e54
f56e54
%description -n liblsan
f56e54
This package contains the Leak Sanitizer library
f56e54
which is used for -fsanitize=leak instrumented programs.
f56e54
f56e54
%package -n liblsan-static
f56e54
Summary: The Leak Sanitizer static library
f56e54
Group: Development/Libraries
f56e54
Requires: liblsan = %{version}-%{release}
f56e54
f56e54
%description -n liblsan-static
f56e54
This package contains Leak Sanitizer static runtime library.
f56e54
f56e54
%package -n libmpx
f56e54
Summary: The Memory Protection Extensions runtime libraries
f56e54
Group: System Environment/Libraries
f56e54
Requires(post): /sbin/install-info
f56e54
Requires(preun): /sbin/install-info
f56e54
f56e54
%description -n libmpx
f56e54
This package contains the Memory Protection Extensions runtime libraries
f56e54
which is used for -fcheck-pointer-bounds -mmpx instrumented programs.
f56e54
f56e54
%package -n libmpx-static
f56e54
Summary: The Memory Protection Extensions static libraries
f56e54
Group: Development/Libraries
f56e54
Requires: libmpx = %{version}-%{release}
f56e54
f56e54
%description -n libmpx-static
f56e54
This package contains the Memory Protection Extensions static runtime libraries.
f56e54
f56e54
%package -n cpp
f56e54
Summary: The C Preprocessor
f56e54
Group: Development/Languages
f56e54
Requires: filesystem >= 3
f56e54
Provides: /lib/cpp
f56e54
Requires(post): /sbin/install-info
f56e54
Requires(preun): /sbin/install-info
f56e54
Autoreq: true
f56e54
f56e54
%description -n cpp
f56e54
Cpp is the GNU C-Compatible Compiler Preprocessor.
f56e54
Cpp is a macro processor which is used automatically
f56e54
by the C compiler to transform your program before actual
f56e54
compilation. It is called a macro processor because it allows
f56e54
you to define macros, abbreviations for longer
f56e54
constructs.
f56e54
f56e54
The C preprocessor provides four separate functionalities: the
f56e54
inclusion of header files (files of declarations that can be
f56e54
substituted into your program); macro expansion (you can define macros,
f56e54
and the C preprocessor will replace the macros with their definitions
f56e54
throughout the program); conditional compilation (using special
f56e54
preprocessing directives, you can include or exclude parts of the
f56e54
program according to various conditions); and line control (if you use
f56e54
a program to combine or rearrange source files into an intermediate
f56e54
file which is then compiled, you can use line control to inform the
f56e54
compiler about where each source line originated).
f56e54
f56e54
You should install this package if you are a C programmer and you use
f56e54
macros.
f56e54
f56e54
%package gnat
f56e54
Summary: Ada 83, 95, 2005 and 2012 support for GCC
f56e54
Group: Development/Languages
f56e54
Requires: gcc = %{version}-%{release}
f56e54
Requires: libgnat = %{version}-%{release}, libgnat-devel = %{version}-%{release}
f56e54
Requires(post): /sbin/install-info
f56e54
Requires(preun): /sbin/install-info
f56e54
Autoreq: true
f56e54
f56e54
%description gnat
f56e54
GNAT is a GNU Ada 83, 95, 2005 and 2012 front-end to GCC. This package includes
f56e54
development tools, the documents and Ada compiler.
f56e54
f56e54
%package -n libgnat
f56e54
Summary: GNU Ada 83, 95, 2005 and 2012 runtime shared libraries
f56e54
Group: System Environment/Libraries
f56e54
Autoreq: true
f56e54
f56e54
%description -n libgnat
f56e54
GNAT is a GNU Ada 83, 95, 2005 and 2012 front-end to GCC. This package includes
f56e54
shared libraries, which are required to run programs compiled with the GNAT.
f56e54
f56e54
%package -n libgnat-devel
f56e54
Summary: GNU Ada 83, 95, 2005 and 2012 libraries
f56e54
Group: Development/Languages
f56e54
Autoreq: true
f56e54
f56e54
%description -n libgnat-devel
f56e54
GNAT is a GNU Ada 83, 95, 2005 and 2012 front-end to GCC. This package includes
f56e54
libraries, which are required to compile with the GNAT.
f56e54
f56e54
%package -n libgnat-static
f56e54
Summary: GNU Ada 83, 95, 2005 and 2012 static libraries
f56e54
Group: Development/Languages
f56e54
Requires: libgnat-devel = %{version}-%{release}
f56e54
Autoreq: true
f56e54
f56e54
%description -n libgnat-static
f56e54
GNAT is a GNU Ada 83, 95, 2005 and 2012 front-end to GCC. This package includes
f56e54
static libraries.
f56e54
f56e54
%package go
f56e54
Summary: Go support
f56e54
Group: Development/Languages
f56e54
Requires: gcc = %{version}-%{release}
f56e54
Requires: libgo = %{version}-%{release}
f56e54
Requires: libgo-devel = %{version}-%{release}
f56e54
Requires(post): /sbin/install-info
f56e54
Requires(preun): /sbin/install-info
f56e54
Requires(post): %{_sbindir}/update-alternatives
f56e54
Requires(postun): %{_sbindir}/update-alternatives
f56e54
Autoreq: true
f56e54
f56e54
%description go
f56e54
The gcc-go package provides support for compiling Go programs
f56e54
with the GNU Compiler Collection.
f56e54
f56e54
%package -n libgo
f56e54
Summary: Go runtime
f56e54
Group: System Environment/Libraries
f56e54
Autoreq: true
f56e54
f56e54
%description -n libgo
f56e54
This package contains Go shared library which is needed to run
f56e54
Go dynamically linked programs.
f56e54
f56e54
%package -n libgo-devel
f56e54
Summary: Go development libraries
f56e54
Group: Development/Languages
f56e54
Requires: libgo = %{version}-%{release}
f56e54
Autoreq: true
f56e54
f56e54
%description -n libgo-devel
f56e54
This package includes libraries and support files for compiling
f56e54
Go programs.
f56e54
f56e54
%package -n libgo-static
f56e54
Summary: Static Go libraries
f56e54
Group: Development/Libraries
f56e54
Requires: libgo = %{version}-%{release}
f56e54
Requires: gcc = %{version}-%{release}
f56e54
f56e54
%description -n libgo-static
f56e54
This package contains static Go libraries.
f56e54
f56e54
%package plugin-devel
f56e54
Summary: Support for compiling GCC plugins
f56e54
Group: Development/Languages
f56e54
Requires: gcc = %{version}-%{release}
f56e54
Requires: gmp-devel >= 4.1.2-8, mpfr-devel >= 2.2.1, libmpc-devel >= 0.8.1
f56e54
f56e54
%description plugin-devel
f56e54
This package contains header files and other support files
f56e54
for compiling GCC plugins.  The GCC plugin ABI is currently
f56e54
not stable, so plugins must be rebuilt any time GCC is updated.
f56e54
f56e54
%package offload-nvptx
f56e54
Summary: Offloading compiler to NVPTX
f56e54
Group: Group: Development/Languages
f56e54
Requires: gcc = %{version}-%{release}
f56e54
Requires: libgomp-offload-nvptx = %{version}-%{release}
f56e54
f56e54
%description offload-nvptx
f56e54
The gcc-offload-nvptx package provides offloading support for
f56e54
NVidia PTX.  OpenMP and OpenACC programs linked with -fopenmp will
f56e54
by default add PTX code into the binaries, which can be offloaded
f56e54
to NVidia PTX capable devices if available.
f56e54
57edee
%package plugin-annobin
57edee
Summary: The annobin plugin for gcc, built by the installed version of gcc
57edee
Requires: gcc = %{version}-%{release}
57edee
# Starting with release 10.01 annobin fixed a bug in its configure scripts
57edee
# which prevented them from working with a built but not installed compiler
57edee
BuildRequires: annobin >= 10.01
57edee
# Starting with release  9.93 annobin-plugin-gcc puts a copy of the sources
57edee
# in /usr/src/annobin
57edee
# FIXME: Currently the annobin-plugin-gcc subpackage only exists in Fedora.
57edee
# For RHEL-9 the annobin package does everything.
57edee
# BuildRequires: annobin-plugin-gcc
57edee
# Needed in order to be able to decompress the annobin source tarball.
57edee
BuildRequires: xz
57edee
57edee
%description plugin-annobin
57edee
This package adds a version of the annobin plugin for gcc.  This version
57edee
of the plugin is explicitly built by the same version of gcc that is installed
57edee
so that there cannot be any synchronization problems.
57edee
f56e54
%prep
f56e54
%setup -q -n gcc-%{version}-%{DATE} -a 1 -a 2
f56e54
%patch0 -p0 -b .hack~
f56e54
%patch2 -p0 -b .i386-libgomp~
f56e54
%patch3 -p0 -b .sparc-config-detection~
f56e54
%patch4 -p0 -b .libgomp-omp_h-multilib~
f56e54
%patch5 -p0 -b .libtool-no-rpath~
f56e54
%if %{build_isl}
f56e54
%patch6 -p0 -b .isl-dl~
f56e54
%endif
f56e54
%if %{build_libstdcxx_docs}
f56e54
%patch7 -p0 -b .libstdc++-docs~
f56e54
%endif
f56e54
%patch8 -p0 -b .no-add-needed~
f56e54
%patch9 -p0 -b .foffload-default~
f56e54
%patch10 -p0 -b .Wno-format-security~
f56e54
%patch11 -p0 -b .rh1512529-aarch64~
f56e54
%if 0%{?fedora} == 28
f56e54
%patch12 -p0 -b .mcet~
f56e54
%endif
f56e54
%if 0%{?fedora} >= 29 || 0%{?rhel} > 7
f56e54
%patch13 -p0 -b .rh1574936~
f56e54
%patch14 -p0 -b .libgcc-hardened~
f56e54
%endif
f56e54
%patch15 -p0 -b .rh1670535~
c92907
%patch16 -p0 -b .libgomp-20190503~
c92907
%patch17 -p0 -b .libgomp-testsuite~
a4c5b4
%patch18 -p0 -b .demangle~
74f1fc
%patch19 -p0 -b .rh1960701~
74f1fc
%patch20 -p0 -b .pr100797~
6608a3
%patch21 -p0 -b .rh1981822~
3f7692
%patch22 -p1 -b .bidi~
606228
%patch23 -p1 -b .pr96796~
f5f9ee
%patch24 -p1 -b .pch-tweaks~
c89b6d
%patch25 -p1 -b .neoverse~
da1516
%patch26 -p1 -b .rh2028609~
cb101c
%patch27 -p1 -b .libgfortran-default~
f56e54
f56e54
%patch30 -p0 -b .rh1668903-1~
f56e54
%patch31 -p0 -b .rh1668903-2~
f56e54
%patch32 -p0 -b .rh1668903-3~
f56e54
f56e54
cd nvptx-tools-%{nvptx_tools_gitrev}
f56e54
%patch1000 -p1 -b .nvptx-tools-no-ptxas~
f56e54
%patch1001 -p1 -b .nvptx-tools-build~
f56e54
%patch1002 -p1 -b .nvptx-tools-glibc~
f56e54
cd ..
f56e54
f56e54
echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE
f56e54
f56e54
cp -a libstdc++-v3/config/cpu/i{4,3}86/atomicity.h
f56e54
f56e54
echo 'TM_H += $(srcdir)/config/rs6000/rs6000-modes.h' >> gcc/config/rs6000/t-rs6000
f56e54
f56e54
./contrib/gcc_update --touch
f56e54
f56e54
LC_ALL=C sed -i -e 's/\xa0/ /' gcc/doc/options.texi
f56e54
f56e54
sed -i -e 's/Common Driver Var(flag_report_bug)/& Init(1)/' gcc/common.opt
f56e54
f56e54
%ifarch ppc
f56e54
if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then
f56e54
  mkdir -p libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64
f56e54
  mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/{,64/}baseline_symbols.txt
f56e54
  mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/{32/,}baseline_symbols.txt
f56e54
  rm -rf libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32
f56e54
fi
f56e54
%endif
f56e54
%ifarch sparc
f56e54
if [ -d libstdc++-v3/config/abi/post/sparc64-linux-gnu ]; then
f56e54
  mkdir -p libstdc++-v3/config/abi/post/sparc64-linux-gnu/64
f56e54
  mv libstdc++-v3/config/abi/post/sparc64-linux-gnu/{,64/}baseline_symbols.txt
f56e54
  mv libstdc++-v3/config/abi/post/sparc64-linux-gnu/{32/,}baseline_symbols.txt
f56e54
  rm -rf libstdc++-v3/config/abi/post/sparc64-linux-gnu/32
f56e54
fi
f56e54
%endif
f56e54
f56e54
# This test causes fork failures, because it spawns way too many threads
f56e54
rm -f gcc/testsuite/go.test/test/chan/goroutines.go
f56e54
f56e54
%build
f56e54
f56e54
# Undo the broken autoconf change in recent Fedora versions
f56e54
export CONFIG_SITE=NONE
f56e54
f56e54
CC=gcc
f56e54
CXX=g++
f56e54
OPT_FLAGS=`echo %{optflags}|sed -e 's/\(-Wp,\)\?-D_FORTIFY_SOURCE=[12]//g'`
f56e54
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-m64//g;s/-m32//g;s/-m31//g'`
f56e54
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mfpmath=sse/-mfpmath=sse -msse2/g'`
f56e54
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/ -pipe / /g'`
f56e54
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-Werror=format-security/-Wformat-security/g'`
f56e54
%ifarch sparc
f56e54
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mcpu=ultrasparc/-mtune=ultrasparc/g;s/-mcpu=v[78]//g'`
f56e54
%endif
f56e54
%ifarch %{ix86}
f56e54
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-march=i.86//g'`
f56e54
%endif
f56e54
OPT_FLAGS=`echo "$OPT_FLAGS" | sed -e 's/[[:blank:]]\+/ /g'`
f56e54
case "$OPT_FLAGS" in
f56e54
  *-fasynchronous-unwind-tables*)
f56e54
    sed -i -e 's/-fno-exceptions /-fno-exceptions -fno-asynchronous-unwind-tables /' \
f56e54
      libgcc/Makefile.in
f56e54
    ;;
f56e54
esac
f56e54
f56e54
%if %{build_offload_nvptx}
f56e54
mkdir obji
f56e54
IROOT=`pwd`/obji
f56e54
cd nvptx-tools-%{nvptx_tools_gitrev}
f56e54
rm -rf obj-%{gcc_target_platform}
f56e54
mkdir obj-%{gcc_target_platform}
f56e54
cd obj-%{gcc_target_platform}
f56e54
CC="$CC" CXX="$CXX" CFLAGS="%{optflags}" CXXFLAGS="%{optflags}" LDFLAGS="$RPM_LD_FLAGS" \
f56e54
../configure --prefix=%{_prefix}
f56e54
make %{?_smp_mflags}
f56e54
make install prefix=${IROOT}%{_prefix}
f56e54
cd ../..
f56e54
f56e54
ln -sf nvptx-newlib-%{nvptx_newlib_gitrev}/newlib newlib
f56e54
rm -rf obj-offload-nvptx-none
f56e54
mkdir obj-offload-nvptx-none
f56e54
f56e54
cd obj-offload-nvptx-none
f56e54
CC="$CC" CXX="$CXX" CFLAGS="$OPT_FLAGS" LDFLAGS="$RPM_LD_FLAGS" \
f56e54
	CXXFLAGS="`echo " $OPT_FLAGS " | sed 's/ -Wall / /g;s/ -fexceptions / /g' \
f56e54
		  | sed 's/ -Wformat-security / -Wformat -Wformat-security /'`" \
f56e54
	XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \
f56e54
	../configure --disable-bootstrap --disable-sjlj-exceptions \
f56e54
	--enable-newlib-io-long-long --with-build-time-tools=${IROOT}%{_prefix}/nvptx-none/bin \
f56e54
	--target nvptx-none --enable-as-accelerator-for=%{gcc_target_platform} \
f56e54
	--enable-languages=c,c++,fortran,lto \
f56e54
	--prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \
f56e54
	--with-bugurl=http://bugzilla.redhat.com/bugzilla \
f56e54
	--enable-checking=release --with-system-zlib \
f56e54
	--with-gcc-major-version-only --without-isl
f56e54
make %{?_smp_mflags}
f56e54
cd ..
f56e54
rm -f newlib
f56e54
%endif
f56e54
f56e54
rm -rf obj-%{gcc_target_platform}
f56e54
mkdir obj-%{gcc_target_platform}
f56e54
cd obj-%{gcc_target_platform}
f56e54
f56e54
enablelgo=
f56e54
enablelada=
f56e54
enablelobjc=
f56e54
%if %{build_objc}
f56e54
enablelobjc=,objc,obj-c++
f56e54
%endif
f56e54
%if %{build_ada}
f56e54
enablelada=,ada
f56e54
%endif
f56e54
%if %{build_go}
f56e54
enablelgo=,go
f56e54
%endif
f56e54
CONFIGURE_OPTS="\
f56e54
	--prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \
f56e54
	--with-bugurl=http://bugzilla.redhat.com/bugzilla \
f56e54
	--enable-shared --enable-threads=posix --enable-checking=release \
f56e54
%ifarch ppc64le
f56e54
	--enable-targets=powerpcle-linux \
f56e54
%endif
f56e54
%ifarch ppc64le %{mips} riscv64 s390x
f56e54
	--disable-multilib \
f56e54
%else
f56e54
	--enable-multilib \
f56e54
%endif
f56e54
	--with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions \
f56e54
	--enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only \
f56e54
%ifnarch %{mips}
f56e54
	--with-linker-hash-style=gnu \
f56e54
%endif
f56e54
	--enable-plugin --enable-initfini-array \
f56e54
%if %{build_isl}
f56e54
	--with-isl \
f56e54
%else
f56e54
	--without-isl \
f56e54
%endif
f56e54
%if %{build_libmpx}
f56e54
	--enable-libmpx \
f56e54
%else
f56e54
	--disable-libmpx \
f56e54
%endif
f56e54
%if %{build_offload_nvptx}
f56e54
	--enable-offload-targets=nvptx-none \
f56e54
	--without-cuda-driver \
f56e54
%endif
f56e54
%if 0%{?fedora} >= 21 || 0%{?rhel} >= 7
f56e54
%if %{attr_ifunc}
f56e54
	--enable-gnu-indirect-function \
f56e54
%endif
f56e54
%endif
f56e54
%ifarch %{arm}
f56e54
	--disable-sjlj-exceptions \
f56e54
%endif
f56e54
%ifarch ppc ppc64 ppc64le ppc64p7
f56e54
	--enable-secureplt \
f56e54
%endif
f56e54
%ifarch sparc sparcv9 sparc64 ppc ppc64 ppc64le ppc64p7 s390 s390x alpha
f56e54
	--with-long-double-128 \
f56e54
%endif
f56e54
%ifarch sparc
f56e54
	--disable-linux-futex \
f56e54
%endif
f56e54
%ifarch sparc64
f56e54
	--with-cpu=ultrasparc \
f56e54
%endif
f56e54
%ifarch sparc sparcv9
f56e54
	--host=%{gcc_target_platform} --build=%{gcc_target_platform} --target=%{gcc_target_platform} --with-cpu=v7
f56e54
%endif
f56e54
%ifarch ppc ppc64 ppc64p7
f56e54
%if 0%{?rhel} >= 7
f56e54
	--with-cpu-32=power7 --with-tune-32=power7 --with-cpu-64=power7 --with-tune-64=power7 \
f56e54
%endif
f56e54
%if 0%{?rhel} == 6
f56e54
	--with-cpu-32=power4 --with-tune-32=power6 --with-cpu-64=power4 --with-tune-64=power6 \
f56e54
%endif
f56e54
%endif
f56e54
%ifarch ppc64le
f56e54
	--with-cpu-32=power8 --with-tune-32=power8 --with-cpu-64=power8 --with-tune-64=power8 \
f56e54
%endif
f56e54
%ifarch ppc
f56e54
	--build=%{gcc_target_platform} --target=%{gcc_target_platform} --with-cpu=default32
f56e54
%endif
f56e54
%ifarch %{ix86} x86_64
f56e54
	--enable-cet \
f56e54
	--with-tune=generic \
f56e54
%endif
f56e54
%if 0%{?rhel} >= 7
f56e54
%ifarch %{ix86}
f56e54
	--with-arch=x86-64 \
f56e54
%endif
f56e54
%ifarch x86_64
f56e54
	--with-arch_32=x86-64 \
f56e54
%endif
f56e54
%else
f56e54
%ifarch %{ix86}
f56e54
	--with-arch=i686 \
f56e54
%endif
f56e54
%ifarch x86_64
f56e54
	--with-arch_32=i686 \
f56e54
%endif
f56e54
%endif
f56e54
%ifarch s390 s390x
f56e54
%if 0%{?rhel} >= 7
f56e54
%if 0%{?rhel} > 7
f56e54
	--with-arch=z13 --with-tune=z14 \
f56e54
%else
f56e54
	--with-arch=z196 --with-tune=zEC12 \
f56e54
%endif
f56e54
%else
f56e54
%if 0%{?fedora} >= 26
f56e54
	--with-arch=zEC12 --with-tune=z13 \
f56e54
%else
f56e54
	--with-arch=z9-109 --with-tune=z10 \
f56e54
%endif
f56e54
%endif
f56e54
	--enable-decimal-float \
f56e54
%endif
f56e54
%ifarch armv7hl
f56e54
	--with-tune=generic-armv7-a --with-arch=armv7-a \
f56e54
	--with-float=hard --with-fpu=vfpv3-d16 --with-abi=aapcs-linux \
f56e54
%endif
f56e54
%ifarch mips mipsel
f56e54
	--with-arch=mips32r2 --with-fp-32=xx \
f56e54
%endif
f56e54
%ifarch mips64 mips64el
f56e54
	--with-arch=mips64r2 --with-abi=64 \
f56e54
%endif
f56e54
%ifnarch sparc sparcv9 ppc
f56e54
	--build=%{gcc_target_platform} \
f56e54
%endif
f56e54
	"
f56e54
f56e54
CC="$CC" CXX="$CXX" CFLAGS="$OPT_FLAGS" \
f56e54
	CXXFLAGS="`echo " $OPT_FLAGS " | sed 's/ -Wall / /g;s/ -fexceptions / /g' \
f56e54
		  | sed 's/ -Wformat-security / -Wformat -Wformat-security /'`" \
f56e54
	XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \
f56e54
	../configure --enable-bootstrap \
f56e54
	--enable-languages=c,c++,fortran${enablelobjc}${enablelada}${enablelgo},lto \
f56e54
	$CONFIGURE_OPTS
f56e54
f56e54
%ifarch sparc sparcv9 sparc64
f56e54
make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" BOOT_LDFLAGS="$RPM_LD_FLAGS" \
f56e54
       LDFLAGS_FOR_TARGET="$RPM_LD_FLAGS" bootstrap
f56e54
%else
f56e54
make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" BOOT_LDFLAGS="$RPM_LD_FLAGS" \
f56e54
       LDFLAGS_FOR_TARGET="$RPM_LD_FLAGS" profiledbootstrap
f56e54
%endif
f56e54
f56e54
CC="`%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-cc`"
f56e54
CXX="`%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-cxx` `%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-includes`"
f56e54
f56e54
%if %{build_libgccjit}
f56e54
# Build libgccjit separately, so that normal compiler binaries aren't -fpic
f56e54
# unnecessarily.
f56e54
mkdir objlibgccjit
f56e54
cd objlibgccjit
f56e54
CC="$CC" CXX="$CXX" CFLAGS="$OPT_FLAGS" LDFLAGS="$RPM_LD_FLAGS" \
f56e54
	CXXFLAGS="`echo " $OPT_FLAGS " | sed 's/ -Wall / /g;s/ -fexceptions / /g' \
f56e54
		  | sed 's/ -Wformat-security / -Wformat -Wformat-security /'`" \
f56e54
	XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \
f56e54
	../../configure --disable-bootstrap --enable-host-shared \
f56e54
	--enable-languages=jit $CONFIGURE_OPTS
f56e54
make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" all-gcc
f56e54
cp -a gcc/libgccjit.so* ../gcc/
f56e54
cd ../gcc/
f56e54
ln -sf xgcc %{gcc_target_platform}-gcc-%{gcc_major}
f56e54
cp -a Makefile{,.orig}
f56e54
sed -i -e '/^CHECK_TARGETS/s/$/ check-jit/' Makefile
f56e54
touch -r Makefile.orig Makefile
f56e54
rm Makefile.orig
f56e54
make jit.sphinx.html
f56e54
make jit.sphinx.install-html jit_htmldir=`pwd`/../../rpm.doc/libgccjit-devel/html
f56e54
cd ..
f56e54
%endif
f56e54
f56e54
# Make generated man pages even if Pod::Man is not new enough
f56e54
perl -pi -e 's/head3/head2/' ../contrib/texi2pod.pl
f56e54
for i in ../gcc/doc/*.texi; do
f56e54
  cp -a $i $i.orig; sed 's/ftable/table/' $i.orig > $i
f56e54
done
f56e54
make -C gcc generated-manpages
f56e54
for i in ../gcc/doc/*.texi; do mv -f $i.orig $i; done
f56e54
f56e54
# Make generated doxygen pages.
f56e54
%if %{build_libstdcxx_docs}
f56e54
cd %{gcc_target_platform}/libstdc++-v3
f56e54
make doc-html-doxygen
f56e54
make doc-man-doxygen
f56e54
cd ../..
f56e54
%endif
f56e54
f56e54
# Copy various doc files here and there
f56e54
cd ..
f56e54
mkdir -p rpm.doc/gfortran rpm.doc/objc
f56e54
mkdir -p rpm.doc/go rpm.doc/libgo rpm.doc/libquadmath rpm.doc/libitm
f56e54
mkdir -p rpm.doc/changelogs/{gcc/cp,gcc/ada,gcc/jit,libstdc++-v3,libobjc,libgomp,libcc1,libatomic,libsanitizer,libmpx}
f56e54
f56e54
for i in {gcc,gcc/cp,gcc/ada,gcc/jit,libstdc++-v3,libobjc,libgomp,libcc1,libatomic,libsanitizer,libmpx}/ChangeLog*; do
f56e54
	cp -p $i rpm.doc/changelogs/$i
f56e54
done
f56e54
f56e54
(cd gcc/fortran; for i in ChangeLog*; do
f56e54
	cp -p $i ../../rpm.doc/gfortran/$i
f56e54
done)
f56e54
(cd libgfortran; for i in ChangeLog*; do
f56e54
	cp -p $i ../rpm.doc/gfortran/$i.libgfortran
f56e54
done)
f56e54
%if %{build_objc}
f56e54
(cd libobjc; for i in README*; do
f56e54
	cp -p $i ../rpm.doc/objc/$i.libobjc
f56e54
done)
f56e54
%endif
f56e54
%if %{build_libquadmath}
f56e54
(cd libquadmath; for i in ChangeLog* COPYING.LIB; do
f56e54
	cp -p $i ../rpm.doc/libquadmath/$i.libquadmath
f56e54
done)
f56e54
%endif
f56e54
%if %{build_libitm}
f56e54
(cd libitm; for i in ChangeLog*; do
f56e54
	cp -p $i ../rpm.doc/libitm/$i.libitm
f56e54
done)
f56e54
%endif
f56e54
%if %{build_go}
f56e54
(cd gcc/go; for i in README* ChangeLog*; do
f56e54
	cp -p $i ../../rpm.doc/go/$i
f56e54
done)
f56e54
(cd libgo; for i in LICENSE* PATENTS* README; do
f56e54
	cp -p $i ../rpm.doc/libgo/$i.libgo
f56e54
done)
f56e54
%endif
f56e54
f56e54
rm -f rpm.doc/changelogs/gcc/ChangeLog.[1-9]
f56e54
find rpm.doc -name \*ChangeLog\* | xargs bzip2 -9
f56e54
57edee
# Get the annobin sources.  Note these are not added to the rpm as SOURCE4
57edee
# because if they were the build phase would try to include them as part of
57edee
# gcc itself, and this causes problems.  Instead we locate the sources in
57edee
# the buildroot.  They should have been put there when annobin was installed.
57edee
57edee
pushd %{_builddir}
57edee
57edee
%global annobin_source_dir %{_usrsrc}/annobin
57edee
57edee
if [ -d %{annobin_source_dir} ]
57edee
then
57edee
    # Unpack the sources.
57edee
    echo "Unpacking annobin sources"
57edee
    rm -fr annobin-*
57edee
    tar xvf %{annobin_source_dir}/latest-annobin.tar.xz
57edee
57edee
    # Setting this as a local symbol because using %%global does not appear to work.
57edee
    annobin_dir=$(find . -maxdepth 1 -type d -name "annobin*")
57edee
57edee
    # Now build the annobin plugin using the just built compiler.
57edee
    echo "annobin directory = ${annobin_dir}"
57edee
    cd ${annobin_dir}
57edee
57edee
    # Change the plugin so that it generates "nop" instead of ".nop" instructions.
57edee
    sed -e "s/\.nop/nop/" -i gcc-plugin/annobin.cc
57edee
57edee
    # Work out where this version of gcc stores its plugins.
57edee
%global ANNOBIN_GCC_PLUGIN_DIR  %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin
57edee
57edee
    CONFIG_ARGS="--quiet"
57edee
    CONFIG_ARGS="$CONFIG_ARGS --with-gcc-plugin-dir=%{ANNOBIN_GCC_PLUGIN_DIR}"
57edee
    CONFIG_ARGS="$CONFIG_ARGS --without-annocheck"
57edee
    CONFIG_ARGS="$CONFIG_ARGS --without-tests"
57edee
    CONFIG_ARGS="$CONFIG_ARGS --disable-rpath"
57edee
57edee
    comp_dir="%{_builddir}/gcc-%{version}-%{DATE}/obj-%{gcc_target_platform}/gcc/"
57edee
    ccompiler="%{_builddir}/gcc-%{version}-%{DATE}/obj-%{gcc_target_platform}/gcc/xgcc -B $comp_dir"
57edee
    cxxcompiler="%{_builddir}/gcc-%{version}-%{DATE}/obj-%{gcc_target_platform}/gcc/xg++ -B $comp_dir"
57edee
57edee
    comp_flags="%build_cflags"
57edee
    comp_flags="$comp_flags -I %{_builddir}/gcc-%{version}-%{DATE}/gcc"
57edee
    comp_flags="$comp_flags -I %{_builddir}/gcc-%{version}-%{DATE}/obj-%{gcc_target_platform}/gcc/"
57edee
    comp_flags="$comp_flags -I %{_builddir}/gcc-%{version}-%{DATE}/obj-%{gcc_target_platform}/%{gcc_target_platform}/libstdc++-v3/include"
57edee
    comp_flags="$comp_flags -I %{_builddir}/gcc-%{version}-%{DATE}/obj-%{gcc_target_platform}/%{gcc_target_platform}/libstdc++-v3/include/%{gcc_target_platform}"
57edee
    comp_flags="$comp_flags -I %{_builddir}/gcc-%{version}-%{DATE}/libstdc++-v3/libsupc++"
57edee
    comp_flags="$comp_flags -I %{_builddir}/gcc-%{version}-%{DATE}/include"
57edee
    comp_flags="$comp_flags -I %{_builddir}/gcc-%{version}-%{DATE}/libcpp/include"
57edee
57edee
    ld_flags="%build_ldflags"
57edee
    ld_flags="$ld_flags -L%{_builddir}/gcc-%{version}-%{DATE}/obj-%{gcc_target_platform}/libstdc++-v3/.libs"
57edee
    ld_flags="$ld_flags -L%{_builddir}/gcc-%{version}-%{DATE}/obj-%{gcc_target_platform}/%{gcc_target_platform}/libstdc++-v3/.libs"
57edee
    ld_flags="$ld_flags -L%{_builddir}/gcc-%{version}-%{DATE}/obj-%{gcc_target_platform}/%{gcc_target_platform}/libstdc++-v3/src/.libs"
57edee
    ld_flags="$ld_flags -L%{_builddir}/gcc-%{version}-%{DATE}/obj-%{gcc_target_platform}/libstdc++-v3/libsupc++/.libs"
57edee
    ld_flags="$ld_flags -L%{_builddir}/gcc-%{version}-%{DATE}/obj-%{gcc_target_platform}/%{gcc_target_platform}/libstdc++-v3/libsupc++/.libs"
57edee
    ld_flags="$ld_flags -L%{_builddir}/gcc-%{version}-%{DATE}/obj-%{gcc_target_platform}/%{gcc_target_platform}/libgcc/.libs"
57edee
57edee
    # libtool works with CFLAGS but ignores LDFLAGS, so we have to combine them.
57edee
    comp_flags="$comp_flags $ld_flags"
57edee
57edee
    echo "Configuring the annobin plugin"
57edee
    CC="${ccompiler}" CFLAGS="${comp_flags}" \
57edee
      CXX="${cxxcompiler}" CXXFLAGS="${comp_flags}" \
57edee
      LDFLAGS="${ld_flags}" \
57edee
      ./configure ${CONFIG_ARGS}  || cat config.log
57edee
57edee
    echo "Building the annobin plugin"
57edee
    make
57edee
57edee
    echo "Annobin plugin build complete"
57edee
else
57edee
    echo "Unable to locate annobin sources (expected to find: %{annobin_source_dir}/latest-annobin.tar.xz)"
57edee
    echo "These should be provided by installing the annobin package"
57edee
    exit 1
57edee
fi
57edee
popd
57edee
f56e54
%install
f56e54
rm -rf %{buildroot}
f56e54
f56e54
%if %{build_offload_nvptx}
f56e54
cd nvptx-tools-%{nvptx_tools_gitrev}
f56e54
cd obj-%{gcc_target_platform}
f56e54
make install prefix=%{buildroot}%{_prefix}
f56e54
cd ../..
f56e54
f56e54
ln -sf nvptx-newlib-%{nvptx_newlib_gitrev}/newlib newlib
f56e54
cd obj-offload-nvptx-none
f56e54
make prefix=%{buildroot}%{_prefix} mandir=%{buildroot}%{_mandir} \
f56e54
  infodir=%{buildroot}%{_infodir} install
f56e54
rm -rf %{buildroot}%{_prefix}/libexec/gcc/nvptx-none/%{gcc_major}/install-tools
f56e54
rm -rf %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none/{install-tools,plugin,cc1,cc1plus,f951}
f56e54
rm -rf %{buildroot}%{_infodir} %{buildroot}%{_mandir}/man7 %{buildroot}%{_prefix}/share/locale
f56e54
rm -rf %{buildroot}%{_prefix}/lib/gcc/nvptx-none/%{gcc_major}/{install-tools,plugin}
f56e54
rm -rf %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none/{install-tools,plugin,include-fixed}
f56e54
rm -rf %{buildroot}%{_prefix}/%{_lib}/libc[cp]1*
f56e54
mv -f %{buildroot}%{_prefix}/nvptx-none/lib/*.{a,spec} %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none/
f56e54
mv -f %{buildroot}%{_prefix}/nvptx-none/lib/mgomp/*.{a,spec} %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none/mgomp/
f56e54
mv -f %{buildroot}%{_prefix}/lib/gcc/nvptx-none/%{gcc_major}/*.a %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none/
f56e54
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/
f56e54
find %{buildroot}%{_prefix}/lib/gcc/nvptx-none %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none \
f56e54
     %{buildroot}%{_prefix}/nvptx-none/lib -name \*.la | xargs rm
f56e54
cd ..
f56e54
rm -f newlib
f56e54
%endif
f56e54
f56e54
cd obj-%{gcc_target_platform}
f56e54
f56e54
TARGET_PLATFORM=%{gcc_target_platform}
f56e54
f56e54
# There are some MP bugs in libstdc++ Makefiles
f56e54
make -C %{gcc_target_platform}/libstdc++-v3
f56e54
f56e54
make prefix=%{buildroot}%{_prefix} mandir=%{buildroot}%{_mandir} \
f56e54
  infodir=%{buildroot}%{_infodir} install
f56e54
%if %{build_ada}
f56e54
chmod 644 %{buildroot}%{_infodir}/gnat*
f56e54
%endif
f56e54
f56e54
FULLPATH=%{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
FULLEPATH=%{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
f56e54
# fix some things
f56e54
ln -sf gcc %{buildroot}%{_prefix}/bin/cc
f56e54
rm -f %{buildroot}%{_prefix}/lib/cpp
f56e54
ln -sf ../bin/cpp %{buildroot}/%{_prefix}/lib/cpp
f56e54
ln -sf gfortran %{buildroot}%{_prefix}/bin/f95
f56e54
rm -f %{buildroot}%{_infodir}/dir
f56e54
gzip -9 %{buildroot}%{_infodir}/*.info*
f56e54
ln -sf gcc %{buildroot}%{_prefix}/bin/gnatgcc
f56e54
mkdir -p %{buildroot}%{_fmoddir}
f56e54
f56e54
%if %{build_go}
f56e54
mv %{buildroot}%{_prefix}/bin/go{,.gcc}
f56e54
mv %{buildroot}%{_prefix}/bin/gofmt{,.gcc}
f56e54
ln -sf /etc/alternatives/go %{buildroot}%{_prefix}/bin/go
f56e54
ln -sf /etc/alternatives/gofmt %{buildroot}%{_prefix}/bin/gofmt
f56e54
%endif
f56e54
f56e54
cxxconfig="`find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h`"
f56e54
for i in `find %{gcc_target_platform}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do
f56e54
  if ! diff -up $cxxconfig $i; then
f56e54
    cat > %{buildroot}%{_prefix}/include/c++/%{gcc_major}/%{gcc_target_platform}/bits/c++config.h <
f56e54
#ifndef _CPP_CPPCONFIG_WRAPPER
f56e54
#define _CPP_CPPCONFIG_WRAPPER 1
f56e54
#include <bits/wordsize.h>
f56e54
#if __WORDSIZE == 32
f56e54
%ifarch %{multilib_64_archs}
f56e54
`cat $(find %{gcc_target_platform}/32/libstdc++-v3/include -name c++config.h)`
f56e54
%else
f56e54
`cat $(find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h)`
f56e54
%endif
f56e54
#else
f56e54
%ifarch %{multilib_64_archs}
f56e54
`cat $(find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h)`
f56e54
%else
f56e54
`cat $(find %{gcc_target_platform}/64/libstdc++-v3/include -name c++config.h)`
f56e54
%endif
f56e54
#endif
f56e54
#endif
f56e54
EOF
f56e54
    break
f56e54
  fi
f56e54
done
f56e54
f56e54
for f in `find %{buildroot}%{_prefix}/include/c++/%{gcc_major}/%{gcc_target_platform}/ -name c++config.h`; do
f56e54
  for i in 1 2 4 8; do
f56e54
    sed -i -e 's/#define _GLIBCXX_ATOMIC_BUILTINS_'$i' 1/#ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_'$i'\
f56e54
&\
f56e54
#endif/' $f
f56e54
  done
f56e54
done
f56e54
f56e54
# Nuke bits/*.h.gch dirs
f56e54
# 1) there is no bits/*.h header installed, so when gch file can't be
f56e54
#    used, compilation fails
f56e54
# 2) sometimes it is hard to match the exact options used for building
f56e54
#    libstdc++-v3 or they aren't desirable
f56e54
# 3) there are multilib issues, conflicts etc. with this
f56e54
# 4) it is huge
f56e54
# People can always precompile on their own whatever they want, but
f56e54
# shipping this for everybody is unnecessary.
f56e54
rm -rf %{buildroot}%{_prefix}/include/c++/%{gcc_major}/%{gcc_target_platform}/bits/*.h.gch
f56e54
f56e54
%if %{build_libstdcxx_docs}
f56e54
libstdcxx_doc_builddir=%{gcc_target_platform}/libstdc++-v3/doc/doxygen
f56e54
mkdir -p ../rpm.doc/libstdc++-v3
f56e54
cp -r -p ../libstdc++-v3/doc/html ../rpm.doc/libstdc++-v3/html
f56e54
cp -r -p $libstdcxx_doc_builddir/html ../rpm.doc/libstdc++-v3/html/api
f56e54
mkdir -p %{buildroot}%{_mandir}/man3
f56e54
cp -r -p $libstdcxx_doc_builddir/man/man3/* %{buildroot}%{_mandir}/man3/
f56e54
find ../rpm.doc/libstdc++-v3 -name \*~ | xargs rm
f56e54
%endif
f56e54
f56e54
%ifarch sparcv9 sparc64
f56e54
ln -f %{buildroot}%{_prefix}/bin/%{gcc_target_platform}-gcc \
f56e54
  %{buildroot}%{_prefix}/bin/sparc-%{_vendor}-%{_target_os}-gcc
f56e54
%endif
f56e54
%ifarch ppc ppc64 ppc64p7
f56e54
ln -f %{buildroot}%{_prefix}/bin/%{gcc_target_platform}-gcc \
f56e54
  %{buildroot}%{_prefix}/bin/ppc-%{_vendor}-%{_target_os}-gcc
f56e54
%endif
f56e54
f56e54
FULLLSUBDIR=
f56e54
%ifarch sparcv9 ppc
f56e54
FULLLSUBDIR=lib32
f56e54
%endif
f56e54
%ifarch sparc64 ppc64 ppc64p7
f56e54
FULLLSUBDIR=lib64
f56e54
%endif
f56e54
if [ -n "$FULLLSUBDIR" ]; then
f56e54
  FULLLPATH=$FULLPATH/$FULLLSUBDIR
f56e54
  mkdir -p $FULLLPATH
f56e54
else
f56e54
  FULLLPATH=$FULLPATH
f56e54
fi
f56e54
f56e54
find %{buildroot} -name \*.la | xargs rm -f
f56e54
f56e54
mv %{buildroot}%{_prefix}/%{_lib}/libgfortran.spec $FULLPATH/
f56e54
%if %{build_libitm}
f56e54
mv %{buildroot}%{_prefix}/%{_lib}/libitm.spec $FULLPATH/
f56e54
%endif
f56e54
%if %{build_libasan}
f56e54
mv %{buildroot}%{_prefix}/%{_lib}/libsanitizer.spec $FULLPATH/
f56e54
%endif
f56e54
%if %{build_libmpx}
f56e54
mv %{buildroot}%{_prefix}/%{_lib}/libmpx.spec $FULLPATH/
f56e54
%endif
f56e54
f56e54
mkdir -p %{buildroot}/%{_lib}
f56e54
mv -f %{buildroot}%{_prefix}/%{_lib}/libgcc_s.so.1 %{buildroot}/%{_lib}/libgcc_s-%{gcc_major}-%{DATE}.so.1
f56e54
chmod 755 %{buildroot}/%{_lib}/libgcc_s-%{gcc_major}-%{DATE}.so.1
f56e54
ln -sf libgcc_s-%{gcc_major}-%{DATE}.so.1 %{buildroot}/%{_lib}/libgcc_s.so.1
3f7692
%ifarch %{ix86} x86_64 ppc ppc64 ppc64p7 ppc64le %{arm} aarch64
f56e54
rm -f $FULLPATH/libgcc_s.so
f56e54
echo '/* GNU ld script
f56e54
   Use the shared library, but some functions are only in
f56e54
   the static library, so try that secondarily.  */
f56e54
OUTPUT_FORMAT('`gcc -Wl,--print-output-format -nostdlib -r -o /dev/null`')
f56e54
GROUP ( /%{_lib}/libgcc_s.so.1 libgcc.a )' > $FULLPATH/libgcc_s.so
f56e54
%else
f56e54
ln -sf /%{_lib}/libgcc_s.so.1 $FULLPATH/libgcc_s.so
f56e54
%endif
f56e54
%ifarch sparcv9 ppc
f56e54
%ifarch ppc
f56e54
rm -f $FULLPATH/64/libgcc_s.so
f56e54
echo '/* GNU ld script
f56e54
   Use the shared library, but some functions are only in
f56e54
   the static library, so try that secondarily.  */
f56e54
OUTPUT_FORMAT('`gcc -m64 -Wl,--print-output-format -nostdlib -r -o /dev/null`')
f56e54
GROUP ( /lib64/libgcc_s.so.1 libgcc.a )' > $FULLPATH/64/libgcc_s.so
f56e54
%else
f56e54
ln -sf /lib64/libgcc_s.so.1 $FULLPATH/64/libgcc_s.so
f56e54
%endif
f56e54
%endif
f56e54
%ifarch %{multilib_64_archs}
f56e54
%ifarch x86_64 ppc64 ppc64p7
f56e54
rm -f $FULLPATH/64/libgcc_s.so
f56e54
echo '/* GNU ld script
f56e54
   Use the shared library, but some functions are only in
f56e54
   the static library, so try that secondarily.  */
f56e54
OUTPUT_FORMAT('`gcc -m32 -Wl,--print-output-format -nostdlib -r -o /dev/null`')
f56e54
GROUP ( /lib/libgcc_s.so.1 libgcc.a )' > $FULLPATH/32/libgcc_s.so
f56e54
%else
f56e54
ln -sf /lib/libgcc_s.so.1 $FULLPATH/32/libgcc_s.so
f56e54
%endif
f56e54
%endif
f56e54
f56e54
mv -f %{buildroot}%{_prefix}/%{_lib}/libgomp.spec $FULLPATH/
f56e54
f56e54
%if %{build_ada}
f56e54
mv -f $FULLPATH/adalib/libgnarl-*.so %{buildroot}%{_prefix}/%{_lib}/
f56e54
mv -f $FULLPATH/adalib/libgnat-*.so %{buildroot}%{_prefix}/%{_lib}/
f56e54
rm -f $FULLPATH/adalib/libgnarl.so* $FULLPATH/adalib/libgnat.so*
f56e54
%endif
f56e54
f56e54
mkdir -p %{buildroot}%{_prefix}/libexec/getconf
f56e54
if gcc/xgcc -B gcc/ -E -P -dD -xc /dev/null | grep '__LONG_MAX__.*\(2147483647\|0x7fffffff\($\|[LU]\)\)'; then
f56e54
  ln -sf POSIX_V6_ILP32_OFF32 %{buildroot}%{_prefix}/libexec/getconf/default
f56e54
else
f56e54
  ln -sf POSIX_V6_LP64_OFF64 %{buildroot}%{_prefix}/libexec/getconf/default
f56e54
fi
f56e54
f56e54
mkdir -p %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}
f56e54
mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++*gdb.py* \
f56e54
      %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/
f56e54
pushd ../libstdc++-v3/python
f56e54
for i in `find . -name \*.py`; do
f56e54
  touch -r $i %{buildroot}%{_prefix}/share/gcc-%{gcc_major}/python/$i
f56e54
done
f56e54
touch -r hook.in %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/libstdc++*gdb.py
f56e54
popd
f56e54
for f in `find %{buildroot}%{_prefix}/share/gcc-%{gcc_major}/python/ \
f56e54
	       %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/ -name \*.py`; do
f56e54
  r=${f/$RPM_BUILD_ROOT/}
f56e54
  %{__python3} -c 'import py_compile; py_compile.compile("'$f'", dfile="'$r'")'
f56e54
  %{__python3} -O -c 'import py_compile; py_compile.compile("'$f'", dfile="'$r'")'
f56e54
done
f56e54
f56e54
%if %{build_libgccjit}
f56e54
rm -f $FULLEPATH/libgccjit.so
f56e54
cp -a objlibgccjit/gcc/libgccjit.so* %{buildroot}%{_prefix}/%{_lib}/
f56e54
cp -a ../gcc/jit/libgccjit*.h %{buildroot}%{_prefix}/include/
f56e54
/usr/bin/install -c -m 644 objlibgccjit/gcc/doc/libgccjit.info %{buildroot}/%{_infodir}/
f56e54
gzip -9 %{buildroot}/%{_infodir}/libgccjit.info
f56e54
%endif
f56e54
f56e54
pushd $FULLPATH
f56e54
if [ "%{_lib}" = "lib" ]; then
f56e54
%if %{build_objc}
f56e54
ln -sf ../../../libobjc.so.4 libobjc.so
f56e54
%endif
f56e54
ln -sf ../../../libstdc++.so.6.*[0-9] libstdc++.so
f56e54
ln -sf ../../../libgfortran.so.5.* libgfortran.so
f56e54
ln -sf ../../../libgomp.so.1.* libgomp.so
f56e54
%if %{build_go}
f56e54
ln -sf ../../../libgo.so.13.* libgo.so
f56e54
%endif
f56e54
%if %{build_libquadmath}
f56e54
ln -sf ../../../libquadmath.so.0.* libquadmath.so
f56e54
%endif
f56e54
%if %{build_libitm}
f56e54
ln -sf ../../../libitm.so.1.* libitm.so
f56e54
%endif
f56e54
%if %{build_libatomic}
f56e54
ln -sf ../../../libatomic.so.1.* libatomic.so
f56e54
%endif
f56e54
%if %{build_libasan}
f56e54
ln -sf ../../../libasan.so.5.* libasan.so
f56e54
mv ../../../libasan_preinit.o libasan_preinit.o
f56e54
%endif
f56e54
%if %{build_libubsan}
f56e54
ln -sf ../../../libubsan.so.1.* libubsan.so
f56e54
%endif
f56e54
%if %{build_libmpx}
f56e54
ln -sf ../../../libmpx.so.2.* libmpx.so
f56e54
ln -sf ../../../libmpxwrappers.so.2.* libmpxwrappers.so
f56e54
%endif
f56e54
else
f56e54
%if %{build_objc}
f56e54
ln -sf ../../../../%{_lib}/libobjc.so.4 libobjc.so
f56e54
%endif
f56e54
ln -sf ../../../../%{_lib}/libstdc++.so.6.*[0-9] libstdc++.so
f56e54
ln -sf ../../../../%{_lib}/libgfortran.so.5.* libgfortran.so
f56e54
ln -sf ../../../../%{_lib}/libgomp.so.1.* libgomp.so
f56e54
%if %{build_go}
f56e54
ln -sf ../../../../%{_lib}/libgo.so.13.* libgo.so
f56e54
%endif
f56e54
%if %{build_libquadmath}
f56e54
ln -sf ../../../../%{_lib}/libquadmath.so.0.* libquadmath.so
f56e54
%endif
f56e54
%if %{build_libitm}
f56e54
ln -sf ../../../../%{_lib}/libitm.so.1.* libitm.so
f56e54
%endif
f56e54
%if %{build_libatomic}
f56e54
ln -sf ../../../../%{_lib}/libatomic.so.1.* libatomic.so
f56e54
%endif
f56e54
%if %{build_libasan}
f56e54
ln -sf ../../../../%{_lib}/libasan.so.5.* libasan.so
f56e54
mv ../../../../%{_lib}/libasan_preinit.o libasan_preinit.o
f56e54
%endif
f56e54
%if %{build_libubsan}
f56e54
ln -sf ../../../../%{_lib}/libubsan.so.1.* libubsan.so
f56e54
%endif
f56e54
%if %{build_libmpx}
f56e54
ln -sf ../../../../%{_lib}/libmpx.so.2.* libmpx.so
f56e54
ln -sf ../../../../%{_lib}/libmpxwrappers.so.2.* libmpxwrappers.so
f56e54
%endif
f56e54
%if %{build_libtsan}
f56e54
rm -f libtsan.so
f56e54
echo 'INPUT ( %{_prefix}/%{_lib}/'`echo ../../../../%{_lib}/libtsan.so.0.* | sed 's,^.*libt,libt,'`' )' > libtsan.so
f56e54
mv ../../../../%{_lib}/libtsan_preinit.o libtsan_preinit.o
f56e54
%endif
f56e54
%if %{build_liblsan}
f56e54
rm -f liblsan.so
f56e54
echo 'INPUT ( %{_prefix}/%{_lib}/'`echo ../../../../%{_lib}/liblsan.so.0.* | sed 's,^.*libl,libl,'`' )' > liblsan.so
f56e54
mv ../../../../%{_lib}/liblsan_preinit.o liblsan_preinit.o
f56e54
%endif
f56e54
fi
f56e54
mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++.*a $FULLLPATH/
f56e54
mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++fs.*a $FULLLPATH/
f56e54
mv -f %{buildroot}%{_prefix}/%{_lib}/libsupc++.*a $FULLLPATH/
f56e54
mv -f %{buildroot}%{_prefix}/%{_lib}/libgfortran.*a $FULLLPATH/
f56e54
%if %{build_objc}
f56e54
mv -f %{buildroot}%{_prefix}/%{_lib}/libobjc.*a .
f56e54
%endif
f56e54
mv -f %{buildroot}%{_prefix}/%{_lib}/libgomp.*a .
f56e54
%if %{build_libquadmath}
f56e54
mv -f %{buildroot}%{_prefix}/%{_lib}/libquadmath.*a $FULLLPATH/
f56e54
%endif
f56e54
%if %{build_libitm}
f56e54
mv -f %{buildroot}%{_prefix}/%{_lib}/libitm.*a $FULLLPATH/
f56e54
%endif
f56e54
%if %{build_libatomic}
f56e54
mv -f %{buildroot}%{_prefix}/%{_lib}/libatomic.*a $FULLLPATH/
f56e54
%endif
f56e54
%if %{build_libasan}
f56e54
mv -f %{buildroot}%{_prefix}/%{_lib}/libasan.*a $FULLLPATH/
f56e54
%endif
f56e54
%if %{build_libubsan}
f56e54
mv -f %{buildroot}%{_prefix}/%{_lib}/libubsan.*a $FULLLPATH/
f56e54
%endif
f56e54
%if %{build_libmpx}
f56e54
mv -f %{buildroot}%{_prefix}/%{_lib}/libmpx.*a $FULLLPATH/
f56e54
mv -f %{buildroot}%{_prefix}/%{_lib}/libmpxwrappers.*a $FULLLPATH/
f56e54
%endif
f56e54
%if %{build_libtsan}
f56e54
mv -f %{buildroot}%{_prefix}/%{_lib}/libtsan.*a $FULLPATH/
f56e54
%endif
f56e54
%if %{build_liblsan}
f56e54
mv -f %{buildroot}%{_prefix}/%{_lib}/liblsan.*a $FULLPATH/
f56e54
%endif
f56e54
%if %{build_go}
f56e54
mv -f %{buildroot}%{_prefix}/%{_lib}/libgo.*a $FULLLPATH/
f56e54
mv -f %{buildroot}%{_prefix}/%{_lib}/libgobegin.*a $FULLLPATH/
f56e54
mv -f %{buildroot}%{_prefix}/%{_lib}/libgolibbegin.*a $FULLLPATH/
f56e54
%endif
f56e54
f56e54
%if %{build_ada}
f56e54
%ifarch sparcv9 ppc
f56e54
rm -rf $FULLPATH/64/ada{include,lib}
f56e54
%endif
f56e54
%ifarch %{multilib_64_archs}
f56e54
rm -rf $FULLPATH/32/ada{include,lib}
f56e54
%endif
f56e54
if [ "$FULLPATH" != "$FULLLPATH" ]; then
f56e54
mv -f $FULLPATH/ada{include,lib} $FULLLPATH/
f56e54
pushd $FULLLPATH/adalib
f56e54
if [ "%{_lib}" = "lib" ]; then
f56e54
ln -sf ../../../../../libgnarl-*.so libgnarl.so
f56e54
ln -sf ../../../../../libgnarl-*.so libgnarl-8.so
f56e54
ln -sf ../../../../../libgnat-*.so libgnat.so
f56e54
ln -sf ../../../../../libgnat-*.so libgnat-8.so
f56e54
else
f56e54
ln -sf ../../../../../../%{_lib}/libgnarl-*.so libgnarl.so
f56e54
ln -sf ../../../../../../%{_lib}/libgnarl-*.so libgnarl-8.so
f56e54
ln -sf ../../../../../../%{_lib}/libgnat-*.so libgnat.so
f56e54
ln -sf ../../../../../../%{_lib}/libgnat-*.so libgnat-8.so
f56e54
fi
f56e54
popd
f56e54
else
f56e54
pushd $FULLPATH/adalib
f56e54
if [ "%{_lib}" = "lib" ]; then
f56e54
ln -sf ../../../../libgnarl-*.so libgnarl.so
f56e54
ln -sf ../../../../libgnarl-*.so libgnarl-8.so
f56e54
ln -sf ../../../../libgnat-*.so libgnat.so
f56e54
ln -sf ../../../../libgnat-*.so libgnat-8.so
f56e54
else
f56e54
ln -sf ../../../../../%{_lib}/libgnarl-*.so libgnarl.so
f56e54
ln -sf ../../../../../%{_lib}/libgnarl-*.so libgnarl-8.so
f56e54
ln -sf ../../../../../%{_lib}/libgnat-*.so libgnat.so
f56e54
ln -sf ../../../../../%{_lib}/libgnat-*.so libgnat-8.so
f56e54
fi
f56e54
popd
f56e54
fi
f56e54
%endif
f56e54
f56e54
%ifarch sparcv9 ppc
f56e54
%if %{build_objc}
f56e54
ln -sf ../../../../../lib64/libobjc.so.4 64/libobjc.so
f56e54
%endif
f56e54
ln -sf ../`echo ../../../../lib/libstdc++.so.6.*[0-9] | sed s~/lib/~/lib64/~` 64/libstdc++.so
f56e54
ln -sf ../`echo ../../../../lib/libgfortran.so.5.* | sed s~/lib/~/lib64/~` 64/libgfortran.so
f56e54
ln -sf ../`echo ../../../../lib/libgomp.so.1.* | sed s~/lib/~/lib64/~` 64/libgomp.so
f56e54
%if %{build_go}
f56e54
rm -f libgo.so
f56e54
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libgo.so.13.* | sed 's,^.*libg,libg,'`' )' > libgo.so
f56e54
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libgo.so.13.* | sed 's,^.*libg,libg,'`' )' > 64/libgo.so
f56e54
%endif
f56e54
%if %{build_libquadmath}
f56e54
rm -f libquadmath.so
f56e54
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libquadmath.so.0.* | sed 's,^.*libq,libq,'`' )' > libquadmath.so
f56e54
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libquadmath.so.0.* | sed 's,^.*libq,libq,'`' )' > 64/libquadmath.so
f56e54
%endif
f56e54
%if %{build_libitm}
f56e54
rm -f libitm.so
f56e54
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libitm.so.1.* | sed 's,^.*libi,libi,'`' )' > libitm.so
f56e54
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libitm.so.1.* | sed 's,^.*libi,libi,'`' )' > 64/libitm.so
f56e54
%endif
f56e54
%if %{build_libatomic}
f56e54
rm -f libatomic.so
f56e54
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libatomic.so.1.* | sed 's,^.*liba,liba,'`' )' > libatomic.so
f56e54
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libatomic.so.1.* | sed 's,^.*liba,liba,'`' )' > 64/libatomic.so
f56e54
%endif
f56e54
%if %{build_libasan}
f56e54
rm -f libasan.so
f56e54
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libasan.so.5.* | sed 's,^.*liba,liba,'`' )' > libasan.so
f56e54
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libasan.so.5.* | sed 's,^.*liba,liba,'`' )' > 64/libasan.so
f56e54
mv ../../../../lib64/libasan_preinit.o 64/libasan_preinit.o
f56e54
%endif
f56e54
%if %{build_libubsan}
f56e54
rm -f libubsan.so
f56e54
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libubsan.so.1.* | sed 's,^.*libu,libu,'`' )' > libubsan.so
f56e54
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libubsan.so.1.* | sed 's,^.*libu,libu,'`' )' > 64/libubsan.so
f56e54
%endif
f56e54
%if %{build_libmpx}
f56e54
rm -f libmpx.so
f56e54
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libmpx.so.2.* | sed 's,^.*libm,libm,'`' )' > libmpx.so
f56e54
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libmpx.so.2.* | sed 's,^.*libm,libm,'`' )' > 64/libmpx.so
f56e54
rm -f libmpxwrappers.so
f56e54
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libmpxwrappers.so.2.* | sed 's,^.*libm,libm,'`' )' > libmpxwrappers.so
f56e54
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libmpxwrappers.so.2.* | sed 's,^.*libm,libm,'`' )' > 64/libmpxwrappers.so
f56e54
%endif
f56e54
ln -sf lib32/libgfortran.a libgfortran.a
f56e54
ln -sf ../lib64/libgfortran.a 64/libgfortran.a
f56e54
%if %{build_objc}
f56e54
mv -f %{buildroot}%{_prefix}/lib64/libobjc.*a 64/
f56e54
%endif
f56e54
mv -f %{buildroot}%{_prefix}/lib64/libgomp.*a 64/
f56e54
ln -sf lib32/libstdc++.a libstdc++.a
f56e54
ln -sf ../lib64/libstdc++.a 64/libstdc++.a
f56e54
ln -sf lib32/libstdc++fs.a libstdc++fs.a
f56e54
ln -sf ../lib64/libstdc++fs.a 64/libstdc++fs.a
f56e54
ln -sf lib32/libsupc++.a libsupc++.a
f56e54
ln -sf ../lib64/libsupc++.a 64/libsupc++.a
f56e54
%if %{build_libquadmath}
f56e54
ln -sf lib32/libquadmath.a libquadmath.a
f56e54
ln -sf ../lib64/libquadmath.a 64/libquadmath.a
f56e54
%endif
f56e54
%if %{build_libitm}
f56e54
ln -sf lib32/libitm.a libitm.a
f56e54
ln -sf ../lib64/libitm.a 64/libitm.a
f56e54
%endif
f56e54
%if %{build_libatomic}
f56e54
ln -sf lib32/libatomic.a libatomic.a
f56e54
ln -sf ../lib64/libatomic.a 64/libatomic.a
f56e54
%endif
f56e54
%if %{build_libasan}
f56e54
ln -sf lib32/libasan.a libasan.a
f56e54
ln -sf ../lib64/libasan.a 64/libasan.a
f56e54
%endif
f56e54
%if %{build_libubsan}
f56e54
ln -sf lib32/libubsan.a libubsan.a
f56e54
ln -sf ../lib64/libubsan.a 64/libubsan.a
f56e54
%endif
f56e54
%if %{build_libmpx}
f56e54
ln -sf lib32/libmpx.a libmpx.a
f56e54
ln -sf ../lib64/libmpx.a 64/libmpx.a
f56e54
ln -sf lib32/libmpxwrappers.a libmpxwrappers.a
f56e54
ln -sf ../lib64/libmpxwrappers.a 64/libmpxwrappers.a
f56e54
%endif
f56e54
%if %{build_go}
f56e54
ln -sf lib32/libgo.a libgo.a
f56e54
ln -sf ../lib64/libgo.a 64/libgo.a
f56e54
ln -sf lib32/libgobegin.a libgobegin.a
f56e54
ln -sf ../lib64/libgobegin.a 64/libgobegin.a
f56e54
ln -sf lib32/libgolibbegin.a libgolibbegin.a
f56e54
ln -sf ../lib64/libgolibbegin.a 64/libgolibbegin.a
f56e54
%endif
f56e54
%if %{build_ada}
f56e54
ln -sf lib32/adainclude adainclude
f56e54
ln -sf ../lib64/adainclude 64/adainclude
f56e54
ln -sf lib32/adalib adalib
f56e54
ln -sf ../lib64/adalib 64/adalib
f56e54
%endif
f56e54
%endif
f56e54
%ifarch %{multilib_64_archs}
f56e54
mkdir -p 32
f56e54
%if %{build_objc}
f56e54
ln -sf ../../../../libobjc.so.4 32/libobjc.so
f56e54
%endif
f56e54
ln -sf ../`echo ../../../../lib64/libstdc++.so.6.*[0-9] | sed s~/../lib64/~/~` 32/libstdc++.so
f56e54
ln -sf ../`echo ../../../../lib64/libgfortran.so.5.* | sed s~/../lib64/~/~` 32/libgfortran.so
f56e54
ln -sf ../`echo ../../../../lib64/libgomp.so.1.* | sed s~/../lib64/~/~` 32/libgomp.so
f56e54
%if %{build_go}
f56e54
rm -f libgo.so
f56e54
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libgo.so.13.* | sed 's,^.*libg,libg,'`' )' > libgo.so
f56e54
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgo.so.13.* | sed 's,^.*libg,libg,'`' )' > 32/libgo.so
f56e54
%endif
f56e54
%if %{build_libquadmath}
f56e54
rm -f libquadmath.so
f56e54
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libquadmath.so.0.* | sed 's,^.*libq,libq,'`' )' > libquadmath.so
f56e54
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libquadmath.so.0.* | sed 's,^.*libq,libq,'`' )' > 32/libquadmath.so
f56e54
%endif
f56e54
%if %{build_libitm}
f56e54
rm -f libitm.so
f56e54
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libitm.so.1.* | sed 's,^.*libi,libi,'`' )' > libitm.so
f56e54
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libitm.so.1.* | sed 's,^.*libi,libi,'`' )' > 32/libitm.so
f56e54
%endif
f56e54
%if %{build_libatomic}
f56e54
rm -f libatomic.so
f56e54
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libatomic.so.1.* | sed 's,^.*liba,liba,'`' )' > libatomic.so
f56e54
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libatomic.so.1.* | sed 's,^.*liba,liba,'`' )' > 32/libatomic.so
f56e54
%endif
f56e54
%if %{build_libasan}
f56e54
rm -f libasan.so
f56e54
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libasan.so.5.* | sed 's,^.*liba,liba,'`' )' > libasan.so
f56e54
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libasan.so.5.* | sed 's,^.*liba,liba,'`' )' > 32/libasan.so
f56e54
mv ../../../../lib/libasan_preinit.o 32/libasan_preinit.o
f56e54
%endif
f56e54
%if %{build_libubsan}
f56e54
rm -f libubsan.so
f56e54
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libubsan.so.1.* | sed 's,^.*libu,libu,'`' )' > libubsan.so
f56e54
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libubsan.so.1.* | sed 's,^.*libu,libu,'`' )' > 32/libubsan.so
f56e54
%endif
f56e54
%if %{build_libmpx}
f56e54
rm -f libmpx.so
f56e54
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libmpx.so.2.* | sed 's,^.*libm,libm,'`' )' > libmpx.so
f56e54
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libmpx.so.2.* | sed 's,^.*libm,libm,'`' )' > 32/libmpx.so
f56e54
rm -f libmpxwrappers.so
f56e54
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libmpxwrappers.so.2.* | sed 's,^.*libm,libm,'`' )' > libmpxwrappers.so
f56e54
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libmpxwrappers.so.2.* | sed 's,^.*libm,libm,'`' )' > 32/libmpxwrappers.so
f56e54
%endif
f56e54
%if %{build_objc}
f56e54
mv -f %{buildroot}%{_prefix}/lib/libobjc.*a 32/
f56e54
%endif
f56e54
mv -f %{buildroot}%{_prefix}/lib/libgomp.*a 32/
f56e54
%endif
f56e54
%ifarch sparc64 ppc64 ppc64p7
f56e54
ln -sf ../lib32/libgfortran.a 32/libgfortran.a
f56e54
ln -sf lib64/libgfortran.a libgfortran.a
f56e54
ln -sf ../lib32/libstdc++.a 32/libstdc++.a
f56e54
ln -sf lib64/libstdc++.a libstdc++.a
f56e54
ln -sf ../lib32/libstdc++fs.a 32/libstdc++fs.a
f56e54
ln -sf lib64/libstdc++fs.a libstdc++fs.a
f56e54
ln -sf ../lib32/libsupc++.a 32/libsupc++.a
f56e54
ln -sf lib64/libsupc++.a libsupc++.a
f56e54
%if %{build_libquadmath}
f56e54
ln -sf ../lib32/libquadmath.a 32/libquadmath.a
f56e54
ln -sf lib64/libquadmath.a libquadmath.a
f56e54
%endif
f56e54
%if %{build_libitm}
f56e54
ln -sf ../lib32/libitm.a 32/libitm.a
f56e54
ln -sf lib64/libitm.a libitm.a
f56e54
%endif
f56e54
%if %{build_libatomic}
f56e54
ln -sf ../lib32/libatomic.a 32/libatomic.a
f56e54
ln -sf lib64/libatomic.a libatomic.a
f56e54
%endif
f56e54
%if %{build_libasan}
f56e54
ln -sf ../lib32/libasan.a 32/libasan.a
f56e54
ln -sf lib64/libasan.a libasan.a
f56e54
%endif
f56e54
%if %{build_libubsan}
f56e54
ln -sf ../lib32/libubsan.a 32/libubsan.a
f56e54
ln -sf lib64/libubsan.a libubsan.a
f56e54
%endif
f56e54
%if %{build_libmpx}
f56e54
ln -sf ../lib32/libmpx.a 32/libmpx.a
f56e54
ln -sf lib64/libmpx.a libmpx.a
f56e54
ln -sf ../lib32/libmpxwrappers.a 32/libmpxwrappers.a
f56e54
ln -sf lib64/libmpxwrappers.a libmpxwrappers.a
f56e54
%endif
f56e54
%if %{build_go}
f56e54
ln -sf ../lib32/libgo.a 32/libgo.a
f56e54
ln -sf lib64/libgo.a libgo.a
f56e54
ln -sf ../lib32/libgobegin.a 32/libgobegin.a
f56e54
ln -sf lib64/libgobegin.a libgobegin.a
f56e54
ln -sf ../lib32/libgolibbegin.a 32/libgolibbegin.a
f56e54
ln -sf lib64/libgolibbegin.a libgolibbegin.a
f56e54
%endif
f56e54
%if %{build_ada}
f56e54
ln -sf ../lib32/adainclude 32/adainclude
f56e54
ln -sf lib64/adainclude adainclude
f56e54
ln -sf ../lib32/adalib 32/adalib
f56e54
ln -sf lib64/adalib adalib
f56e54
%endif
f56e54
%else
f56e54
%ifarch %{multilib_64_archs}
f56e54
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libgfortran.a 32/libgfortran.a
f56e54
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libstdc++.a 32/libstdc++.a
f56e54
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libstdc++fs.a 32/libstdc++fs.a
f56e54
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libsupc++.a 32/libsupc++.a
f56e54
%if %{build_libquadmath}
f56e54
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libquadmath.a 32/libquadmath.a
f56e54
%endif
f56e54
%if %{build_libitm}
f56e54
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libitm.a 32/libitm.a
f56e54
%endif
f56e54
%if %{build_libatomic}
f56e54
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libatomic.a 32/libatomic.a
f56e54
%endif
f56e54
%if %{build_libasan}
f56e54
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libasan.a 32/libasan.a
f56e54
%endif
f56e54
%if %{build_libubsan}
f56e54
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libubsan.a 32/libubsan.a
f56e54
%endif
f56e54
%if %{build_libmpx}
f56e54
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libmpx.a 32/libmpx.a
f56e54
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libmpxwrappers.a 32/libmpxwrappers.a
f56e54
%endif
f56e54
%if %{build_go}
f56e54
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libgo.a 32/libgo.a
f56e54
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libgobegin.a 32/libgobegin.a
f56e54
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libgolibbegin.a 32/libgolibbegin.a
f56e54
%endif
f56e54
%if %{build_ada}
f56e54
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/adainclude 32/adainclude
f56e54
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/adalib 32/adalib
f56e54
%endif
f56e54
%endif
f56e54
%endif
f56e54
f56e54
# If we are building a debug package then copy all of the static archives
f56e54
# into the debug directory to keep them as unstripped copies.
f56e54
%if 0%{?_enable_debug_packages}
f56e54
for d in . $FULLLSUBDIR; do
f56e54
  mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/debug%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/$d
f56e54
  for f in `find $d -maxdepth 1 -a \
f56e54
		\( -name libasan.a -o -name libatomic.a \
f56e54
		-o -name libcaf_single.a \
f56e54
		-o -name libgcc.a -o -name libgcc_eh.a \
f56e54
		-o -name libgcov.a -o -name libgfortran.a \
f56e54
		-o -name libgo.a -o -name libgobegin.a \
f56e54
		-o -name libgolibbegin.a -o -name libgomp.a \
f56e54
		-o -name libitm.a -o -name liblsan.a \
f56e54
		-o -name libmpx.a -o -name libmpxwrappers.a \
f56e54
		-o -name libobjc.a \
f56e54
		-o -name libquadmath.a -o -name libstdc++.a \
f56e54
		-o -name libstdc++fs.a -o -name libsupc++.a \
f56e54
		-o -name libtsan.a -o -name libubsan.a \) -a -type f`; do
f56e54
    cp -a $f $RPM_BUILD_ROOT%{_prefix}/lib/debug%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/$d/
f56e54
  done
f56e54
done
f56e54
%endif
f56e54
f56e54
# Strip debug info from Fortran/ObjC/Java static libraries
f56e54
strip -g `find . \( -name libgfortran.a -o -name libobjc.a -o -name libgomp.a \
f56e54
		    -o -name libgcc.a -o -name libgcov.a -o -name libquadmath.a \
f56e54
		    -o -name libitm.a -o -name libgo.a -o -name libcaf\*.a \
f56e54
		    -o -name libatomic.a -o -name libasan.a -o -name libtsan.a \
f56e54
		    -o -name libubsan.a -o -name liblsan.a \
f56e54
		    -o -name libmpx.a -o -name libmpxwrappers.a -o -name libcc1.a \) \
f56e54
		 -a -type f`
f56e54
popd
f56e54
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgfortran.so.5.*
f56e54
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgomp.so.1.*
f56e54
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libcc1.so.0.*
f56e54
%if %{build_libquadmath}
f56e54
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libquadmath.so.0.*
f56e54
%endif
f56e54
%if %{build_libitm}
f56e54
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libitm.so.1.*
f56e54
%endif
f56e54
%if %{build_libatomic}
f56e54
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libatomic.so.1.*
f56e54
%endif
f56e54
%if %{build_libasan}
f56e54
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libasan.so.5.*
f56e54
%endif
f56e54
%if %{build_libubsan}
f56e54
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libubsan.so.1.*
f56e54
%endif
f56e54
%if %{build_libmpx}
f56e54
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libmpx.so.2.*
f56e54
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libmpxwrappers.so.2.*
f56e54
%endif
f56e54
%if %{build_libtsan}
f56e54
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libtsan.so.0.*
f56e54
%endif
f56e54
%if %{build_liblsan}
f56e54
chmod 755 %{buildroot}%{_prefix}/%{_lib}/liblsan.so.0.*
f56e54
%endif
f56e54
%if %{build_go}
f56e54
# Avoid stripping these libraries and binaries.
f56e54
chmod 644 %{buildroot}%{_prefix}/%{_lib}/libgo.so.13.*
f56e54
chmod 644 %{buildroot}%{_prefix}/bin/go.gcc
f56e54
chmod 644 %{buildroot}%{_prefix}/bin/gofmt.gcc
f56e54
chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cgo
f56e54
chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/buildid
f56e54
chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/test2json
f56e54
chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/vet
f56e54
%endif
f56e54
%if %{build_objc}
f56e54
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libobjc.so.4.*
f56e54
%endif
f56e54
f56e54
%if %{build_ada}
f56e54
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgnarl*so*
f56e54
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgnat*so*
f56e54
%endif
f56e54
f56e54
mv $FULLPATH/include-fixed/syslimits.h $FULLPATH/include/syslimits.h
f56e54
mv $FULLPATH/include-fixed/limits.h $FULLPATH/include/limits.h
f56e54
for h in `find $FULLPATH/include -name \*.h`; do
f56e54
  if grep -q 'It has been auto-edited by fixincludes from' $h; then
f56e54
    rh=`grep -A2 'It has been auto-edited by fixincludes from' $h | tail -1 | sed 's|^.*"\(.*\)".*$|\1|'`
f56e54
    diff -up $rh $h || :
f56e54
    rm -f $h
f56e54
  fi
f56e54
done
f56e54
f56e54
cat > %{buildroot}%{_prefix}/bin/c89 <<"EOF"
f56e54
#!/bin/sh
f56e54
fl="-std=c89"
f56e54
for opt; do
f56e54
  case "$opt" in
f56e54
    -ansi|-std=c89|-std=iso9899:1990) fl="";;
f56e54
    -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2
f56e54
	    exit 1;;
f56e54
  esac
f56e54
done
f56e54
exec gcc $fl ${1+"$@"}
f56e54
EOF
f56e54
cat > %{buildroot}%{_prefix}/bin/c99 <<"EOF"
f56e54
#!/bin/sh
f56e54
fl="-std=c99"
f56e54
for opt; do
f56e54
  case "$opt" in
f56e54
    -std=c99|-std=iso9899:1999) fl="";;
f56e54
    -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2
f56e54
	    exit 1;;
f56e54
  esac
f56e54
done
f56e54
exec gcc $fl ${1+"$@"}
f56e54
EOF
f56e54
chmod 755 %{buildroot}%{_prefix}/bin/c?9
f56e54
f56e54
cd ..
f56e54
%find_lang %{name}
f56e54
%find_lang cpplib
f56e54
f56e54
# Remove binaries we will not be including, so that they don't end up in
f56e54
# gcc-debuginfo
f56e54
rm -f %{buildroot}%{_prefix}/%{_lib}/{libffi*,libiberty.a} || :
f56e54
rm -f $FULLEPATH/install-tools/{mkheaders,fixincl}
f56e54
rm -f %{buildroot}%{_prefix}/lib/{32,64}/libiberty.a
f56e54
rm -f %{buildroot}%{_prefix}/%{_lib}/libssp*
f56e54
rm -f %{buildroot}%{_prefix}/%{_lib}/libvtv* || :
f56e54
rm -f %{buildroot}%{_prefix}/bin/gappletviewer || :
f56e54
rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gfortran || :
f56e54
rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gccgo || :
f56e54
rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gcj || :
f56e54
rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gcc-ar || :
f56e54
rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gcc-nm || :
f56e54
rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gcc-ranlib || :
f56e54
f56e54
%ifarch %{multilib_64_archs}
f56e54
# Remove libraries for the other arch on multilib arches
f56e54
rm -f %{buildroot}%{_prefix}/lib/lib*.so*
f56e54
rm -f %{buildroot}%{_prefix}/lib/lib*.a
f56e54
rm -f %{buildroot}/lib/libgcc_s*.so*
f56e54
%if %{build_go}
f56e54
rm -rf %{buildroot}%{_prefix}/lib/go/%{gcc_major}/%{gcc_target_platform}
f56e54
%ifnarch sparc64 ppc64 ppc64p7
f56e54
ln -sf %{multilib_32_arch}-%{_vendor}-%{_target_os} %{buildroot}%{_prefix}/lib/go/%{gcc_major}/%{gcc_target_platform}
f56e54
%endif
f56e54
%endif
f56e54
%else
f56e54
%ifarch sparcv9 ppc
f56e54
rm -f %{buildroot}%{_prefix}/lib64/lib*.so*
f56e54
rm -f %{buildroot}%{_prefix}/lib64/lib*.a
f56e54
rm -f %{buildroot}/lib64/libgcc_s*.so*
f56e54
%if %{build_go}
f56e54
rm -rf %{buildroot}%{_prefix}/lib64/go/%{gcc_major}/%{gcc_target_platform}
f56e54
%endif
f56e54
%endif
f56e54
%endif
f56e54
f56e54
rm -f %{buildroot}%{mandir}/man3/ffi*
f56e54
f56e54
# Help plugins find out nvra.
f56e54
echo gcc-%{version}-%{release}.%{_arch} > $FULLPATH/rpmver
f56e54
57edee
# Rename the annobin plugin to gcc-annobin.
57edee
mkdir -p %{buildroot}%{ANNOBIN_GCC_PLUGIN_DIR}
57edee
pushd    %{buildroot}%{ANNOBIN_GCC_PLUGIN_DIR}
57edee
57edee
annobin_dir=$(find %{_builddir} -maxdepth 1 -type d -name "annobin*")
57edee
echo "annobin directory = ${annobin_dir}"
57edee
57edee
cp ${annobin_dir}/gcc-plugin/.libs/annobin.so.0.0.0 gcc-annobin.so.0.0.0
57edee
57edee
rm -f gcc-annobin.so.0 gcc-annobin.so
57edee
ln -s gcc-annobin.so.0.0.0 gcc-annobin.so.0
57edee
ln -s gcc-annobin.so.0.0.0 gcc-annobin.so
57edee
popd
57edee
f56e54
%check
f56e54
cd obj-%{gcc_target_platform}
f56e54
f56e54
# run the tests.
f56e54
make %{?_smp_mflags} -k check ALT_CC_UNDER_TEST=gcc ALT_CXX_UNDER_TEST=g++ \
f56e54
%if 0%{?fedora} >= 20 || 0%{?rhel} > 7
f56e54
     RUNTESTFLAGS="--target_board=unix/'{,-fstack-protector-strong}'" || :
f56e54
%else
f56e54
     RUNTESTFLAGS="--target_board=unix/'{,-fstack-protector}'" || :
f56e54
%endif
f56e54
echo ====================TESTING=========================
f56e54
( LC_ALL=C ../contrib/test_summary || : ) 2>&1 | sed -n '/^cat.*EOF/,/^EOF/{/^cat.*EOF/d;/^EOF/d;/^LAST_UPDATED:/d;p;}'
f56e54
echo ====================TESTING END=====================
f56e54
mkdir testlogs-%{_target_platform}-%{version}-%{release}
f56e54
for i in `find . -name \*.log | grep -F testsuite/ | grep -v 'config.log\|acats.*/tests/'`; do
f56e54
  ln $i testlogs-%{_target_platform}-%{version}-%{release}/ || :
f56e54
done
f56e54
tar cf - testlogs-%{_target_platform}-%{version}-%{release} | xz -9e \
f56e54
  | uuencode testlogs-%{_target_platform}.tar.xz || :
f56e54
rm -rf testlogs-%{_target_platform}-%{version}-%{release}
f56e54
f56e54
%post
f56e54
if [ -f %{_infodir}/gcc.info.gz ]; then
f56e54
  /sbin/install-info \
f56e54
    --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || :
f56e54
fi
f56e54
f56e54
%preun
f56e54
if [ $1 = 0 -a -f %{_infodir}/gcc.info.gz ]; then
f56e54
  /sbin/install-info --delete \
f56e54
    --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || :
f56e54
fi
f56e54
f56e54
%post -n cpp
f56e54
if [ -f %{_infodir}/cpp.info.gz ]; then
f56e54
  /sbin/install-info \
f56e54
    --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || :
f56e54
fi
f56e54
f56e54
%preun -n cpp
f56e54
if [ $1 = 0 -a -f %{_infodir}/cpp.info.gz ]; then
f56e54
  /sbin/install-info --delete \
f56e54
    --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || :
f56e54
fi
f56e54
f56e54
%post gfortran
f56e54
if [ -f %{_infodir}/gfortran.info.gz ]; then
f56e54
  /sbin/install-info \
f56e54
    --info-dir=%{_infodir} %{_infodir}/gfortran.info.gz || :
f56e54
fi
f56e54
f56e54
%preun gfortran
f56e54
if [ $1 = 0 -a -f %{_infodir}/gfortran.info.gz ]; then
f56e54
  /sbin/install-info --delete \
f56e54
    --info-dir=%{_infodir} %{_infodir}/gfortran.info.gz || :
f56e54
fi
f56e54
f56e54
%post gnat
f56e54
if [ -f %{_infodir}/gnat_rm.info.gz ]; then
f56e54
  /sbin/install-info \
f56e54
    --info-dir=%{_infodir} %{_infodir}/gnat_rm.info.gz || :
f56e54
  /sbin/install-info \
f56e54
    --info-dir=%{_infodir} %{_infodir}/gnat_ugn.info.gz || :
f56e54
  /sbin/install-info \
f56e54
    --info-dir=%{_infodir} %{_infodir}/gnat-style.info.gz || :
f56e54
fi
f56e54
f56e54
%preun gnat
f56e54
if [ $1 = 0 -a -f %{_infodir}/gnat_rm.info.gz ]; then
f56e54
  /sbin/install-info --delete \
f56e54
    --info-dir=%{_infodir} %{_infodir}/gnat_rm.info.gz || :
f56e54
  /sbin/install-info --delete \
f56e54
    --info-dir=%{_infodir} %{_infodir}/gnat_ugn.info.gz || :
f56e54
  /sbin/install-info --delete \
f56e54
    --info-dir=%{_infodir} %{_infodir}/gnat-style.info.gz || :
f56e54
fi
f56e54
f56e54
%post go
f56e54
%{_sbindir}/update-alternatives --install \
f56e54
  %{_prefix}/bin/go go %{_prefix}/bin/go.gcc 92 \
f56e54
  --slave %{_prefix}/bin/gofmt gofmt %{_prefix}/bin/gofmt.gcc
f56e54
f56e54
%preun go
f56e54
if [ $1 = 0 ]; then
f56e54
  %{_sbindir}/update-alternatives --remove go %{_prefix}/bin/go.gcc
f56e54
fi
f56e54
f56e54
# Because glibc Prereq's libgcc and /sbin/ldconfig
f56e54
# comes from glibc, it might not exist yet when
f56e54
# libgcc is installed
f56e54
%post -n libgcc -p <lua>
f56e54
if posix.access ("/sbin/ldconfig", "x") then
f56e54
  local pid = posix.fork ()
f56e54
  if pid == 0 then
f56e54
    posix.exec ("/sbin/ldconfig")
f56e54
  elseif pid ~= -1 then
f56e54
    posix.wait (pid)
f56e54
  end
f56e54
end
f56e54
f56e54
%postun -n libgcc -p <lua>
f56e54
if posix.access ("/sbin/ldconfig", "x") then
f56e54
  local pid = posix.fork ()
f56e54
  if pid == 0 then
f56e54
    posix.exec ("/sbin/ldconfig")
f56e54
  elseif pid ~= -1 then
f56e54
    posix.wait (pid)
f56e54
  end
f56e54
end
f56e54
f56e54
%post -n libstdc++ -p /sbin/ldconfig
f56e54
f56e54
%postun -n libstdc++ -p /sbin/ldconfig
f56e54
f56e54
%post -n libobjc -p /sbin/ldconfig
f56e54
f56e54
%postun -n libobjc -p /sbin/ldconfig
f56e54
f56e54
%post -n libgfortran -p /sbin/ldconfig
f56e54
f56e54
%postun -n libgfortran -p /sbin/ldconfig
f56e54
f56e54
%post -n libgnat -p /sbin/ldconfig
f56e54
f56e54
%postun -n libgnat -p /sbin/ldconfig
f56e54
f56e54
%post -n libgomp
f56e54
/sbin/ldconfig
f56e54
if [ -f %{_infodir}/libgomp.info.gz ]; then
f56e54
  /sbin/install-info \
f56e54
    --info-dir=%{_infodir} %{_infodir}/libgomp.info.gz || :
f56e54
fi
f56e54
f56e54
%preun -n libgomp
f56e54
if [ $1 = 0 -a -f %{_infodir}/libgomp.info.gz ]; then
f56e54
  /sbin/install-info --delete \
f56e54
    --info-dir=%{_infodir} %{_infodir}/libgomp.info.gz || :
f56e54
fi
f56e54
f56e54
%postun -n libgomp -p /sbin/ldconfig
f56e54
f56e54
%post gdb-plugin -p /sbin/ldconfig
f56e54
f56e54
%postun gdb-plugin -p /sbin/ldconfig
f56e54
f56e54
%post -n libgccjit -p /sbin/ldconfig
f56e54
f56e54
%postun -n libgccjit -p /sbin/ldconfig
f56e54
f56e54
%post -n libgccjit-devel
f56e54
if [ -f %{_infodir}/libgccjit.info.gz ]; then
f56e54
  /sbin/install-info \
f56e54
    --info-dir=%{_infodir} %{_infodir}/libgccjit.info.gz || :
f56e54
fi
f56e54
f56e54
%preun -n libgccjit-devel
f56e54
if [ $1 = 0 -a -f %{_infodir}/libgccjit.info.gz ]; then
f56e54
  /sbin/install-info --delete \
f56e54
    --info-dir=%{_infodir} %{_infodir}/libgccjit.info.gz || :
f56e54
fi
f56e54
f56e54
%post -n libquadmath
f56e54
/sbin/ldconfig
f56e54
if [ -f %{_infodir}/libquadmath.info.gz ]; then
f56e54
  /sbin/install-info \
f56e54
    --info-dir=%{_infodir} %{_infodir}/libquadmath.info.gz || :
f56e54
fi
f56e54
f56e54
%preun -n libquadmath
f56e54
if [ $1 = 0 -a -f %{_infodir}/libquadmath.info.gz ]; then
f56e54
  /sbin/install-info --delete \
f56e54
    --info-dir=%{_infodir} %{_infodir}/libquadmath.info.gz || :
f56e54
fi
f56e54
f56e54
%postun -n libquadmath -p /sbin/ldconfig
f56e54
f56e54
%post -n libitm
f56e54
/sbin/ldconfig
f56e54
if [ -f %{_infodir}/libitm.info.gz ]; then
f56e54
  /sbin/install-info \
f56e54
    --info-dir=%{_infodir} %{_infodir}/libitm.info.gz || :
f56e54
fi
f56e54
f56e54
%preun -n libitm
f56e54
if [ $1 = 0 -a -f %{_infodir}/libitm.info.gz ]; then
f56e54
  /sbin/install-info --delete \
f56e54
    --info-dir=%{_infodir} %{_infodir}/libitm.info.gz || :
f56e54
fi
f56e54
f56e54
%postun -n libitm -p /sbin/ldconfig
f56e54
f56e54
%post -n libatomic -p /sbin/ldconfig
f56e54
f56e54
%postun -n libatomic -p /sbin/ldconfig
f56e54
f56e54
%post -n libasan -p /sbin/ldconfig
f56e54
f56e54
%postun -n libasan -p /sbin/ldconfig
f56e54
f56e54
%post -n libubsan -p /sbin/ldconfig
f56e54
f56e54
%postun -n libubsan -p /sbin/ldconfig
f56e54
f56e54
%post -n libtsan -p /sbin/ldconfig
f56e54
f56e54
%postun -n libtsan -p /sbin/ldconfig
f56e54
f56e54
%post -n liblsan -p /sbin/ldconfig
f56e54
f56e54
%postun -n liblsan -p /sbin/ldconfig
f56e54
f56e54
%post -n libmpx -p /sbin/ldconfig
f56e54
f56e54
%postun -n libmpx -p /sbin/ldconfig
f56e54
f56e54
%post -n libgo -p /sbin/ldconfig
f56e54
f56e54
%postun -n libgo -p /sbin/ldconfig
f56e54
f56e54
%files -f %{name}.lang
f56e54
%{_prefix}/bin/cc
f56e54
%{_prefix}/bin/c89
f56e54
%{_prefix}/bin/c99
f56e54
%{_prefix}/bin/gcc
f56e54
%{_prefix}/bin/gcov
f56e54
%{_prefix}/bin/gcov-tool
f56e54
%{_prefix}/bin/gcov-dump
f56e54
%{_prefix}/bin/gcc-ar
f56e54
%{_prefix}/bin/gcc-nm
f56e54
%{_prefix}/bin/gcc-ranlib
f56e54
%ifarch ppc
f56e54
%{_prefix}/bin/%{_target_platform}-gcc
f56e54
%endif
f56e54
%ifarch sparc64 sparcv9
f56e54
%{_prefix}/bin/sparc-%{_vendor}-%{_target_os}-gcc
f56e54
%endif
f56e54
%ifarch ppc64 ppc64p7
f56e54
%{_prefix}/bin/ppc-%{_vendor}-%{_target_os}-gcc
f56e54
%endif
f56e54
%{_prefix}/bin/%{gcc_target_platform}-gcc
f56e54
%{_prefix}/bin/%{gcc_target_platform}-gcc-%{gcc_major}
f56e54
%{_mandir}/man1/gcc.1*
f56e54
%{_mandir}/man1/gcov.1*
f56e54
%{_mandir}/man1/gcov-tool.1*
f56e54
%{_mandir}/man1/gcov-dump.1*
f56e54
%{_infodir}/gcc*
f56e54
%dir %{_prefix}/lib/gcc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%dir %{_prefix}/libexec/gcc
f56e54
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include
f56e54
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/lto1
f56e54
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/lto-wrapper
f56e54
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/liblto_plugin.so*
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/rpmver
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stddef.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdarg.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdfix.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/varargs.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/float.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/limits.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdbool.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/iso646.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/syslimits.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/unwind.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/omp.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/openacc.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdint.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdint-gcc.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdalign.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdnoreturn.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdatomic.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/gcov.h
f56e54
%ifarch %{ix86} x86_64
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mmintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xmmintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/emmintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/pmmintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/tmmintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ammintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/smmintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/nmmintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/bmmintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/wmmintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/immintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avxintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/x86intrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/fma4intrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xopintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/lwpintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/popcntintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/bmiintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/tbmintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ia32intrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx2intrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/bmi2intrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/f16cintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/fmaintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/lzcntintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/rtmintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xtestintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/adxintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/prfchwintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/rdseedintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/fxsrintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xsaveintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xsaveoptintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512cdintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512erintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512fintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512pfintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/shaintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mm_malloc.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mm3dnow.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cpuid.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cross-stdarg.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512bwintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512dqintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512ifmaintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512ifmavlintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vbmiintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vbmivlintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vlbwintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vldqintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vlintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/clflushoptintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/clwbintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mwaitxintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xsavecintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xsavesintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/clzerointrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/pkuintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx5124fmapsintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx5124vnniwintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vpopcntdqintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/sgxintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/gfniintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cetintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cet.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vbmi2intrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vbmi2vlintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vnniintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vnnivlintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/vaesintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/vpclmulqdqintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vpopcntdqvlintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512bitalgintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/pconfigintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/wbnoinvdintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/movdirintrin.h
f56e54
%endif
f56e54
%ifarch ia64
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ia64intrin.h
f56e54
%endif
f56e54
%ifarch ppc ppc64 ppc64le ppc64p7
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ppc-asm.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/altivec.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/paired.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ppu_intrinsics.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/si2vmx.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/spu2vmx.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/vec_types.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/htmintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/htmxlintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/bmi2intrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/bmiintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xmmintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mm_malloc.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/emmintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mmintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/x86intrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amo.h
f56e54
%endif
f56e54
%ifarch %{arm}
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/unwind-arm-common.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mmintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_neon.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_acle.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_cmse.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_fp16.h
f56e54
%endif
f56e54
%ifarch aarch64
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_neon.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_acle.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_fp16.h
f56e54
%endif
f56e54
%ifarch sparc sparcv9 sparc64
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/visintrin.h
f56e54
%endif
f56e54
%ifarch s390 s390x
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/s390intrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/htmintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/htmxlintrin.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/vecintrin.h
f56e54
%endif
f56e54
%if %{build_libmpx}
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libmpx.spec
f56e54
%endif
f56e54
%if %{build_libasan}
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/sanitizer
f56e54
%endif
f56e54
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/collect2
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/crt*.o
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgcc.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgcov.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgcc_eh.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgcc_s.so
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgomp.spec
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgomp.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgomp.so
f56e54
%if %{build_libitm}
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.spec
f56e54
%endif
f56e54
%if %{build_libasan}
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libsanitizer.spec
f56e54
%endif
f56e54
%ifarch sparcv9 ppc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/crt*.o
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgcc.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgcov.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgcc_eh.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgcc_s.so
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgomp.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgomp.so
f56e54
%if %{build_libquadmath}
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libquadmath.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libquadmath.so
f56e54
%endif
f56e54
%if %{build_libitm}
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libitm.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libitm.so
f56e54
%endif
f56e54
%if %{build_libatomic}
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libatomic.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libatomic.so
f56e54
%endif
f56e54
%if %{build_libasan}
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libasan.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libasan.so
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libasan_preinit.o
f56e54
%endif
f56e54
%if %{build_libubsan}
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libubsan.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libubsan.so
f56e54
%endif
f56e54
%if %{build_libmpx}
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libmpx.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libmpx.so
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libmpxwrappers.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libmpxwrappers.so
f56e54
%endif
f56e54
%endif
f56e54
%ifarch %{multilib_64_archs}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/crt*.o
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgcc.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgcov.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgcc_eh.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgcc_s.so
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgomp.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgomp.so
f56e54
%if %{build_libquadmath}
c92907
#%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libquadmath.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libquadmath.so
f56e54
%endif
f56e54
%if %{build_libitm}
c92907
#%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libitm.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libitm.so
f56e54
%endif
f56e54
%if %{build_libatomic}
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libatomic.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libatomic.so
f56e54
%endif
f56e54
%if %{build_libasan}
c92907
#%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libasan.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libasan.so
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libasan_preinit.o
f56e54
%endif
f56e54
%if %{build_libubsan}
c92907
#%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libubsan.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libubsan.so
f56e54
%endif
f56e54
%if %{build_libmpx}
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libmpx.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libmpx.so
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libmpxwrappers.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libmpxwrappers.so
f56e54
%endif
f56e54
%endif
f56e54
%ifarch sparcv9 sparc64 ppc ppc64 ppc64p7
f56e54
%if %{build_libquadmath}
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.so
f56e54
%endif
f56e54
%if %{build_libitm}
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.so
f56e54
%endif
f56e54
%if %{build_libatomic}
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.so
f56e54
%endif
f56e54
%if %{build_libasan}
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan.so
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan_preinit.o
f56e54
%endif
f56e54
%if %{build_libubsan}
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libubsan.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libubsan.so
f56e54
%endif
f56e54
%if %{build_libmpx}
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libmpx.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libmpx.so
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libmpxwrappers.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libmpxwrappers.so
f56e54
%endif
f56e54
%else
f56e54
%if %{build_libatomic}
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.so
f56e54
%endif
f56e54
%if %{build_libasan}
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan.so
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan_preinit.o
f56e54
%endif
f56e54
%if %{build_libubsan}
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libubsan.so
f56e54
%endif
f56e54
%if %{build_libmpx}
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libmpx.so
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libmpxwrappers.so
f56e54
%endif
f56e54
%endif
f56e54
%if %{build_libtsan}
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan.so
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan_preinit.o
f56e54
%endif
f56e54
%if %{build_liblsan}
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/liblsan.so
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/liblsan_preinit.o
f56e54
%endif
f56e54
%{_prefix}/libexec/getconf/default
f56e54
%doc gcc/README* rpm.doc/changelogs/gcc/ChangeLog* 
f56e54
%{!?_licensedir:%global license %%doc}
f56e54
%license gcc/COPYING* COPYING.RUNTIME
f56e54
f56e54
%files -n cpp -f cpplib.lang
f56e54
%{_prefix}/lib/cpp
f56e54
%{_prefix}/bin/cpp
f56e54
%{_mandir}/man1/cpp.1*
f56e54
%{_infodir}/cpp*
f56e54
%dir %{_prefix}/libexec/gcc
f56e54
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cc1
f56e54
f56e54
%files -n libgcc
f56e54
/%{_lib}/libgcc_s-%{gcc_major}-%{DATE}.so.1
f56e54
/%{_lib}/libgcc_s.so.1
f56e54
%{!?_licensedir:%global license %%doc}
f56e54
%license gcc/COPYING* COPYING.RUNTIME
f56e54
f56e54
%files c++
f56e54
%{_prefix}/bin/%{gcc_target_platform}-*++
f56e54
%{_prefix}/bin/g++
f56e54
%{_prefix}/bin/c++
f56e54
%{_mandir}/man1/g++.1*
f56e54
%dir %{_prefix}/lib/gcc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%dir %{_prefix}/libexec/gcc
f56e54
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cc1plus
f56e54
%ifarch sparcv9 ppc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++.so
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++fs.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libsupc++.a
f56e54
%endif
f56e54
%ifarch %{multilib_64_archs}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++.so
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++fs.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libsupc++.a
f56e54
%endif
f56e54
%ifarch sparcv9 ppc %{multilib_64_archs}
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++.so
f56e54
%endif
f56e54
%ifarch sparcv9 sparc64 ppc ppc64 ppc64p7
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++fs.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libsupc++.a
f56e54
%endif
f56e54
%doc rpm.doc/changelogs/gcc/cp/ChangeLog*
f56e54
f56e54
%files -n libstdc++
f56e54
%{_prefix}/%{_lib}/libstdc++.so.6*
f56e54
%dir %{_datadir}/gdb
f56e54
%dir %{_datadir}/gdb/auto-load
f56e54
%dir %{_datadir}/gdb/auto-load/%{_prefix}
f56e54
%dir %{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/
f56e54
%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/libstdc*gdb.py*
f56e54
%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/__pycache__
f56e54
%dir %{_prefix}/share/gcc-%{gcc_major}
f56e54
%dir %{_prefix}/share/gcc-%{gcc_major}/python
f56e54
%{_prefix}/share/gcc-%{gcc_major}/python/libstdcxx
f56e54
f56e54
%files -n libstdc++-devel
f56e54
%dir %{_prefix}/include/c++
f56e54
%{_prefix}/include/c++/%{gcc_major}
f56e54
%dir %{_prefix}/lib/gcc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%ifnarch sparcv9 ppc %{multilib_64_archs}
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++.so
f56e54
%endif
f56e54
%ifarch sparcv9 ppc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libstdc++fs.a
f56e54
%endif
f56e54
%ifarch sparc64 ppc64 ppc64p7
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libstdc++fs.a
f56e54
%endif
f56e54
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++fs.a
f56e54
%endif
f56e54
%doc rpm.doc/changelogs/libstdc++-v3/ChangeLog* libstdc++-v3/README*
f56e54
f56e54
%files -n libstdc++-static
f56e54
%dir %{_prefix}/lib/gcc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%ifarch sparcv9 ppc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libstdc++.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libsupc++.a
f56e54
%endif
f56e54
%ifarch sparc64 ppc64 ppc64p7
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libstdc++.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libsupc++.a
f56e54
%endif
f56e54
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libsupc++.a
f56e54
%endif
f56e54
f56e54
%if %{build_libstdcxx_docs}
f56e54
%files -n libstdc++-docs
f56e54
%{_mandir}/man3/*
f56e54
%doc rpm.doc/libstdc++-v3/html
f56e54
%endif
f56e54
f56e54
%if %{build_objc}
f56e54
%files objc
f56e54
%dir %{_prefix}/lib/gcc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%dir %{_prefix}/libexec/gcc
f56e54
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/objc
f56e54
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cc1obj
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libobjc.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libobjc.so
f56e54
%ifarch sparcv9 ppc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libobjc.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libobjc.so
f56e54
%endif
f56e54
%ifarch %{multilib_64_archs}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libobjc.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libobjc.so
f56e54
%endif
f56e54
%doc rpm.doc/objc/*
f56e54
%doc libobjc/THREADS* rpm.doc/changelogs/libobjc/ChangeLog*
f56e54
f56e54
%files objc++
f56e54
%dir %{_prefix}/libexec/gcc
f56e54
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cc1objplus
f56e54
f56e54
%files -n libobjc
f56e54
%{_prefix}/%{_lib}/libobjc.so.4*
f56e54
%endif
f56e54
f56e54
%files gfortran
f56e54
%{_prefix}/bin/gfortran
f56e54
%{_prefix}/bin/f95
f56e54
%{_mandir}/man1/gfortran.1*
f56e54
%{_infodir}/gfortran*
f56e54
%dir %{_prefix}/lib/gcc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%dir %{_prefix}/libexec/gcc
f56e54
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/omp_lib.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/omp_lib.f90
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/omp_lib.mod
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/omp_lib_kinds.mod
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/openacc.f90
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/openacc.mod
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/openacc_kinds.mod
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/openacc_lib.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/ieee_arithmetic.mod
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/ieee_exceptions.mod
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/ieee_features.mod
f56e54
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/f951
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgfortran.spec
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libcaf_single.a
f56e54
%ifarch sparcv9 sparc64 ppc ppc64 ppc64p7
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgfortran.a
f56e54
%endif
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgfortran.so
f56e54
%ifarch sparcv9 ppc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libcaf_single.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgfortran.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgfortran.so
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/finclude
f56e54
%endif
f56e54
%ifarch %{multilib_64_archs}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libcaf_single.a
c92907
#%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgfortran.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgfortran.so
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/finclude
f56e54
%endif
f56e54
%dir %{_fmoddir}
f56e54
%doc rpm.doc/gfortran/*
f56e54
f56e54
%files -n libgfortran
f56e54
%{_prefix}/%{_lib}/libgfortran.so.5*
f56e54
f56e54
%files -n libgfortran-static
f56e54
%dir %{_prefix}/lib/gcc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%ifarch sparcv9 ppc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libgfortran.a
f56e54
%endif
f56e54
%ifarch sparc64 ppc64 ppc64p7
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libgfortran.a
f56e54
%endif
f56e54
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgfortran.a
f56e54
%endif
f56e54
f56e54
%if %{build_ada}
f56e54
%files gnat
f56e54
%{_prefix}/bin/gnat
f56e54
%{_prefix}/bin/gnat[^i]*
f56e54
%{_infodir}/gnat*
f56e54
%dir %{_prefix}/lib/gcc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%dir %{_prefix}/libexec/gcc
f56e54
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%ifarch sparcv9 ppc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/adainclude
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/adalib
f56e54
%endif
f56e54
%ifarch %{multilib_64_archs}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/adainclude
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/adalib
f56e54
%endif
f56e54
%ifarch sparcv9 sparc64 ppc ppc64 ppc64p7
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adainclude
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adalib
f56e54
%endif
f56e54
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/gnat1
f56e54
%doc rpm.doc/changelogs/gcc/ada/ChangeLog*
f56e54
f56e54
%files -n libgnat
f56e54
%{_prefix}/%{_lib}/libgnat-*.so
f56e54
%{_prefix}/%{_lib}/libgnarl-*.so
f56e54
f56e54
%files -n libgnat-devel
f56e54
%dir %{_prefix}/lib/gcc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%ifarch sparcv9 ppc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/adainclude
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/adalib
f56e54
%exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/adalib/libgnat.a
f56e54
%exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/adalib/libgnarl.a
f56e54
%endif
f56e54
%ifarch sparc64 ppc64 ppc64p7
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/adainclude
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/adalib
f56e54
%exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/adalib/libgnat.a
f56e54
%exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/adalib/libgnarl.a
f56e54
%endif
f56e54
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adainclude
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adalib
f56e54
%exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adalib/libgnat.a
f56e54
%exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adalib/libgnarl.a
f56e54
%endif
f56e54
f56e54
%files -n libgnat-static
f56e54
%dir %{_prefix}/lib/gcc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%ifarch sparcv9 ppc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/adalib
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/adalib/libgnat.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/adalib/libgnarl.a
f56e54
%endif
f56e54
%ifarch sparc64 ppc64 ppc64p7
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/adalib
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/adalib/libgnat.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/adalib/libgnarl.a
f56e54
%endif
f56e54
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adalib
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adalib/libgnat.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adalib/libgnarl.a
f56e54
%endif
f56e54
%endif
f56e54
f56e54
%files -n libgomp
f56e54
%{_prefix}/%{_lib}/libgomp.so.1*
f56e54
%{_infodir}/libgomp.info*
f56e54
%doc rpm.doc/changelogs/libgomp/ChangeLog*
f56e54
f56e54
%if %{build_libquadmath}
f56e54
%files -n libquadmath
f56e54
%{_prefix}/%{_lib}/libquadmath.so.0*
f56e54
%{_infodir}/libquadmath.info*
f56e54
%{!?_licensedir:%global license %%doc}
f56e54
%license rpm.doc/libquadmath/COPYING*
f56e54
f56e54
%files -n libquadmath-devel
f56e54
%dir %{_prefix}/lib/gcc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/quadmath.h
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/quadmath_weak.h
f56e54
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.so
f56e54
%endif
f56e54
%doc rpm.doc/libquadmath/ChangeLog*
f56e54
f56e54
%files -n libquadmath-static
f56e54
%dir %{_prefix}/lib/gcc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%ifarch sparcv9 ppc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libquadmath.a
f56e54
%endif
f56e54
%ifarch sparc64 ppc64 ppc64p7
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libquadmath.a
f56e54
%endif
f56e54
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.a
f56e54
%endif
f56e54
%endif
f56e54
f56e54
%if %{build_libitm}
f56e54
%files -n libitm
f56e54
%{_prefix}/%{_lib}/libitm.so.1*
f56e54
%{_infodir}/libitm.info*
f56e54
f56e54
%files -n libitm-devel
f56e54
%dir %{_prefix}/lib/gcc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include
f56e54
#%%{_prefix}/lib/gcc/%%{gcc_target_platform}/%%{gcc_major}/include/itm.h
f56e54
#%%{_prefix}/lib/gcc/%%{gcc_target_platform}/%%{gcc_major}/include/itm_weak.h
f56e54
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.so
f56e54
%endif
f56e54
%doc rpm.doc/libitm/ChangeLog*
f56e54
f56e54
%files -n libitm-static
f56e54
%dir %{_prefix}/lib/gcc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%ifarch sparcv9 ppc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libitm.a
f56e54
%endif
f56e54
%ifarch sparc64 ppc64 ppc64p7
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libitm.a
f56e54
%endif
f56e54
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.a
f56e54
%endif
f56e54
%endif
f56e54
f56e54
%if %{build_libatomic}
f56e54
%files -n libatomic
f56e54
%{_prefix}/%{_lib}/libatomic.so.1*
f56e54
f56e54
%files -n libatomic-static
f56e54
%dir %{_prefix}/lib/gcc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%ifarch sparcv9 ppc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libatomic.a
f56e54
%endif
f56e54
%ifarch sparc64 ppc64 ppc64p7
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libatomic.a
f56e54
%endif
f56e54
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.a
f56e54
%endif
f56e54
%doc rpm.doc/changelogs/libatomic/ChangeLog*
f56e54
%endif
f56e54
f56e54
%if %{build_libasan}
f56e54
%files -n libasan
f56e54
%{_prefix}/%{_lib}/libasan.so.5*
f56e54
f56e54
%files -n libasan-static
f56e54
%dir %{_prefix}/lib/gcc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%ifarch sparcv9 ppc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libasan.a
f56e54
%endif
f56e54
%ifarch sparc64 ppc64 ppc64p7
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libasan.a
f56e54
%endif
f56e54
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan.a
f56e54
%endif
f56e54
%doc rpm.doc/changelogs/libsanitizer/ChangeLog*
f56e54
%{!?_licensedir:%global license %%doc}
f56e54
%license libsanitizer/LICENSE.TXT
f56e54
%endif
f56e54
f56e54
%if %{build_libubsan}
f56e54
%files -n libubsan
f56e54
%{_prefix}/%{_lib}/libubsan.so.1*
f56e54
f56e54
%files -n libubsan-static
f56e54
%dir %{_prefix}/lib/gcc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%ifarch sparcv9 ppc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libubsan.a
f56e54
%endif
f56e54
%ifarch sparc64 ppc64 ppc64p7
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libubsan.a
f56e54
%endif
f56e54
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libubsan.a
f56e54
%endif
f56e54
%doc rpm.doc/changelogs/libsanitizer/ChangeLog*
f56e54
%{!?_licensedir:%global license %%doc}
f56e54
%license libsanitizer/LICENSE.TXT
f56e54
%endif
f56e54
f56e54
%if %{build_libtsan}
f56e54
%files -n libtsan
f56e54
%{_prefix}/%{_lib}/libtsan.so.0*
f56e54
f56e54
%files -n libtsan-static
f56e54
%dir %{_prefix}/lib/gcc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan.a
f56e54
%doc rpm.doc/changelogs/libsanitizer/ChangeLog*
f56e54
%{!?_licensedir:%global license %%doc}
f56e54
%license libsanitizer/LICENSE.TXT
f56e54
%endif
f56e54
f56e54
%if %{build_liblsan}
f56e54
%files -n liblsan
f56e54
%{_prefix}/%{_lib}/liblsan.so.0*
f56e54
f56e54
%files -n liblsan-static
f56e54
%dir %{_prefix}/lib/gcc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/liblsan.a
f56e54
%doc rpm.doc/changelogs/libsanitizer/ChangeLog*
f56e54
%{!?_licensedir:%global license %%doc}
f56e54
%license libsanitizer/LICENSE.TXT
f56e54
%endif
f56e54
f56e54
%if %{build_libmpx}
f56e54
%files -n libmpx
f56e54
%{_prefix}/%{_lib}/libmpx.so.2*
f56e54
%{_prefix}/%{_lib}/libmpxwrappers.so.2*
f56e54
f56e54
%files -n libmpx-static
f56e54
%dir %{_prefix}/lib/gcc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%ifarch sparcv9 ppc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libmpx.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libmpxwrappers.a
f56e54
%endif
f56e54
%ifarch sparc64 ppc64 ppc64p7
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libmpx.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libmpxwrappers.a
f56e54
%endif
f56e54
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libmpx.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libmpxwrappers.a
f56e54
%endif
f56e54
%doc rpm.doc/changelogs/libmpx/ChangeLog*
f56e54
%endif
f56e54
f56e54
%if %{build_go}
f56e54
%files go
f56e54
%ghost %{_prefix}/bin/go
f56e54
%attr(755,root,root) %{_prefix}/bin/go.gcc
f56e54
%{_prefix}/bin/gccgo
f56e54
%ghost %{_prefix}/bin/gofmt
f56e54
%attr(755,root,root) %{_prefix}/bin/gofmt.gcc
f56e54
%{_mandir}/man1/gccgo.1*
f56e54
%{_mandir}/man1/go.1*
f56e54
%{_mandir}/man1/gofmt.1*
f56e54
%dir %{_prefix}/lib/gcc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%dir %{_prefix}/libexec/gcc
f56e54
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/go1
f56e54
%attr(755,root,root) %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cgo
f56e54
%attr(755,root,root) %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/buildid
f56e54
%attr(755,root,root) %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/test2json
f56e54
%attr(755,root,root) %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/vet
f56e54
%ifarch sparcv9 ppc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgo.so
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgo.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgobegin.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgolibbegin.a
f56e54
%endif
f56e54
%ifarch %{multilib_64_archs}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgo.so
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgo.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgobegin.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgolibbegin.a
f56e54
%endif
f56e54
%ifarch sparcv9 ppc %{multilib_64_archs}
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgo.so
f56e54
%endif
f56e54
%ifarch sparcv9 sparc64 ppc ppc64 ppc64p7
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgo.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgobegin.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgolibbegin.a
f56e54
%endif
f56e54
%doc rpm.doc/go/*
f56e54
f56e54
%files -n libgo
f56e54
%attr(755,root,root) %{_prefix}/%{_lib}/libgo.so.13*
f56e54
%doc rpm.doc/libgo/*
f56e54
f56e54
%files -n libgo-devel
f56e54
%dir %{_prefix}/lib/gcc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%dir %{_prefix}/%{_lib}/go
f56e54
%dir %{_prefix}/%{_lib}/go/%{gcc_major}
f56e54
%{_prefix}/%{_lib}/go/%{gcc_major}/%{gcc_target_platform}
f56e54
%ifarch %{multilib_64_archs}
f56e54
%ifnarch sparc64 ppc64 ppc64p7
f56e54
%dir %{_prefix}/lib/go
f56e54
%dir %{_prefix}/lib/go/%{gcc_major}
f56e54
%{_prefix}/lib/go/%{gcc_major}/%{gcc_target_platform}
f56e54
%endif
f56e54
%endif
f56e54
%ifarch sparcv9 ppc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libgobegin.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libgolibbegin.a
f56e54
%endif
f56e54
%ifarch sparc64 ppc64 ppc64p7
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libgobegin.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libgolibbegin.a
f56e54
%endif
f56e54
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgobegin.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgolibbegin.a
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgo.so
f56e54
%endif
f56e54
f56e54
%files -n libgo-static
f56e54
%dir %{_prefix}/lib/gcc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%ifarch sparcv9 ppc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libgo.a
f56e54
%endif
f56e54
%ifarch sparc64 ppc64 ppc64p7
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libgo.a
f56e54
%endif
f56e54
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgo.a
f56e54
%endif
f56e54
%endif
f56e54
f56e54
%if %{build_libgccjit}
f56e54
%files -n libgccjit
f56e54
%{_prefix}/%{_lib}/libgccjit.so.*
f56e54
%doc rpm.doc/changelogs/gcc/jit/ChangeLog*
f56e54
f56e54
%files -n libgccjit-devel
f56e54
%{_prefix}/%{_lib}/libgccjit.so
f56e54
%{_prefix}/include/libgccjit*.h
f56e54
%{_infodir}/libgccjit.info*
f56e54
%doc rpm.doc/libgccjit-devel/*
f56e54
%doc gcc/jit/docs/examples
f56e54
%endif
f56e54
f56e54
%files plugin-devel
f56e54
%dir %{_prefix}/lib/gcc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/gtype.state
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/include
f56e54
%dir %{_prefix}/libexec/gcc
f56e54
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/plugin
f56e54
f56e54
%files gdb-plugin
f56e54
%{_prefix}/%{_lib}/libcc1.so*
f56e54
%dir %{_prefix}/lib/gcc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/libcc1plugin.so*
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/libcp1plugin.so*
f56e54
%doc rpm.doc/changelogs/libcc1/ChangeLog*
f56e54
f56e54
%if %{build_offload_nvptx}
f56e54
%files offload-nvptx
f56e54
%{_prefix}/bin/nvptx-none-*
f56e54
%{_prefix}/bin/%{gcc_target_platform}-accel-nvptx-none-gcc
f56e54
%dir %{_prefix}/lib/gcc
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel
f56e54
%dir %{_prefix}/libexec/gcc
f56e54
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
f56e54
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
f56e54
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/accel
f56e54
%{_prefix}/lib/gcc/nvptx-none
f56e54
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none
f56e54
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none
f56e54
%dir %{_prefix}/nvptx-none
f56e54
%{_prefix}/nvptx-none/bin
f56e54
%{_prefix}/nvptx-none/include
f56e54
f56e54
%files -n libgomp-offload-nvptx
f56e54
%{_prefix}/%{_lib}/libgomp-plugin-nvptx.so.*
f56e54
%endif
f56e54
57edee
%files plugin-annobin
57edee
%{ANNOBIN_GCC_PLUGIN_DIR}/gcc-annobin.so
57edee
%{ANNOBIN_GCC_PLUGIN_DIR}/gcc-annobin.so.0
57edee
%{ANNOBIN_GCC_PLUGIN_DIR}/gcc-annobin.so.0.0.0
57edee
f56e54
%changelog
cb101c
* Wed Apr 20 2022 Marek Polacek <polacek@redhat.com> 8.5.0-13
cb101c
- require docbook-style-xsl instead of docbook5-style-xsl (#2073888)
cb101c
- backport Default widths with -fdec-format-defaults patch (#2074614)
cb101c
57edee
* Fri Apr 01 2022 Marek Polacek <polacek@redhat.com> 8.5.0-12
57edee
- Fix nop generation in annobin plugin.  (#2067150)
57edee
57edee
* Wed Mar 30 2022 Marek Polacek <polacek@redhat.com> 8.5.0-11
57edee
- Add a plugin-annobin subpackage.  (#2067150)
57edee
da1516
* Thu Jan 27 2022 Marek Polacek <polacek@redhat.com> 8.5.0-10
da1516
- fix typo in the cprop_hardreg patch (#2028609)
da1516
da1516
* Mon Jan 24 2022 Marek Polacek <polacek@redhat.com> 8.5.0-9
da1516
- apply cprop_hardreg fix for narrow mode != lowpart targets (#2028609)
da1516
c89b6d
* Mon Jan 24 2022 Marek Polacek <polacek@redhat.com> 8.5.0-8
c89b6d
- aarch64: Add -mtune=neoverse-512tvb (#1845932)
c89b6d
f5f9ee
* Fri Dec 10 2021 Marek Polacek <polacek@redhat.com> 8.5.0-7
f5f9ee
- backport PCH tweaks (#2030878)
f5f9ee
606228
* Fri Dec  3 2021 Marek Polacek <polacek@redhat.com> 8.5.0-6
606228
- avoid cycling on certain subreg reloads (PR rtl-optimization/96796, #2028798)
606228
3f7692
* Tue Nov 30 2021 Marek Polacek <polacek@redhat.com> 8.5.0-5
3f7692
- when linking against libgcc_s, link libgcc.a too (#2022588)
3f7692
3f7692
* Thu Nov 18 2021 Marek Polacek <polacek@redhat.com> 8.5.0-4
3f7692
- add -Wbidi-chars patch (#2008392)
3f7692
6608a3
* Tue Jul 13 2021 Marek Polacek <polacek@redhat.com> 8.5.0-3
6608a3
- fix mangling of lambdas in default args (PR c++/91241, #1981822)
6608a3
- add a few Provides: bundled
6608a3
74f1fc
* Tue Jun  1 2021 Marek Polacek <polacek@redhat.com> 8.5.0-2
74f1fc
- revert upstream PR85873 gcc-8 fix, apply the fix from gcc-9 (#1960701)
74f1fc
- fix 'this' adjustment for devirtualized call (PR c++/100797, #1965951)
74f1fc
b76f40
* Fri May 14 2021 Marek Polacek <polacek@redhat.com> 8.5.0-1
b76f40
- update from GCC 8.5 release (#1946758)
b76f40
- this includes a fix for PR target/87839 (#1958295)
b76f40
a4c5b4
* Mon Apr 26 2021 Marek Polacek <polacek@redhat.com> 8.4.1-2.1
a4c5b4
- remove support for demangling GCC 2.x era mangling schemes (#1668394)
a4c5b4
a4c5b4
* Fri Apr 23 2021 Marek Polacek <polacek@redhat.com> 8.4.1-2
a4c5b4
- update from GCC 8.4 release (#1946758)
a4c5b4
a4c5b4
* Fri Apr  9 2021 Marek Polacek <polacek@redhat.com> 8.4.1-1.2
a4c5b4
- back out the PR97236 patch
a4c5b4
a4c5b4
* Fri Apr  9 2021 Marek Polacek <polacek@redhat.com> 8.4.1-1.1
a4c5b4
- fix bad use of VMAT_CONTIGUOUS (PR tree-optimization/97236, #1925632)
a4c5b4
c92907
* Tue Sep 29 2020 Marek Polacek <polacek@redhat.com> 8.4.1-1
c92907
- update from GCC 8.4 release (#1868446)
c92907
- remove symlinks to 32-bit versions of these static libraries: libasan.a,
c92907
  libitm.a, libquadmath.a, libubsan.a, libgfortran.a (#1779597)
c92907
c92907
* Wed Jul 15 2020 Marek Polacek <polacek@redhat.com> 8.3.1-5.2
c92907
- backport aarch64 LSE atomics (#1821994)
c92907
cbc3fd
* Tue May 12 2020 Marek Polacek <polacek@redhat.com> 8.3.1-5.1
cbc3fd
- consider negative edges in cycle detection (#1817991, PR gcov-profile/91601)
cbc3fd
- fix Fortran debug info for arrays with descriptors (#1655624,
cbc3fd
  PR fortran/92775)
cbc3fd
- fix wrong code emitted for movv1qi on s390x (#1784758, PR target/92950)
cbc3fd
e21978
* Thu Nov 21 2019 Marek Polacek <polacek@redhat.com> 8.3.1-5
e21978
- update from Fedora gcc-8.3.1-5 (#1747157)
e21978
- use unspec_volatile for darn (PR target/91481, #1760205, CVE-2019-15847)
e21978
e21978
* Tue Jul 16 2019 Marek Polacek <polacek@redhat.com> 8.3.1-4.5
e21978
- fix shift count operand printing (#1730380)
e21978
- fix tree-outof-ssa.c ICE with vector types (PR middle-end/90139, #1730454)
e21978
- fix out-of-ssa with unsupported vector types (PR rtl-optimization/90756,
e21978
  #1730454)
e21978
- fix ICE with template placeholder for TTP (PR c++/86098, #1730454)
e21978
f56e54
* Mon Jun  3 2019 Marek Polacek <polacek@redhat.com> 8.3.1-4.4
f56e54
- backport workaround for broken C/C++ wrappers to LAPACK (#1711346)
f56e54
f56e54
* Fri May 24 2019 Marek Polacek <polacek@redhat.com> 8.3.1-4.3
f56e54
- additional fix for the libgomp testsuite (#1707568)
f56e54
f56e54
* Tue May 21 2019 Marek Polacek <polacek@redhat.com> 8.3.1-4.2
f56e54
- backport the -fuse-ld=lld option (#1670535)
f56e54
- TLS model fix (#1678555, PR c++/85400)
f56e54
- two small autoFDO fixes (#1686082)
f56e54
- libgomp update (#1707568)
f56e54
- member template redeclaration fix (#1652704, PR c++/86747)
f56e54
- turn libgcc_s.so into a linker script on i?86, x86_64, ppc64le and also on
f56e54
  ppc and ppc64 for 64-bit multilib (#1708309)
f56e54
- avoid using unaligned vsx or lxvd2x/stxvd2x for memcpy/memmove inline
f56e54
  expansion (#1666977)
f56e54
f56e54
* Wed May  8 2019 Marek Polacek <polacek@redhat.com> 8.3.1-4.1
f56e54
- tweak gcc8-rh1668903-1.patch and gcc8-rh1668903-2.patch patches
f56e54
f56e54
* Tue May  7 2019 Marek Polacek <polacek@redhat.com> 8.3.1-4
f56e54
- update from Fedora 8.3.1-4 (#1680182)
f56e54
- drop gcc8-pr60790.patch, gcc8-pr89629.patch, gcc8-rh1668903-4.patch
f56e54
f56e54
* Tue May  7 2019 Marek Polacek <polacek@redhat.com> 8.3.1-3
f56e54
- update from Fedora 8.3.1-3 (#1680182)
f56e54
- remove load and test FP splitter (#1673116)
f56e54
- fix *movsi_from_df (#1677652)
f56e54
- add missing headers
f56e54
- add support for live patching (#1668903)
f56e54
- retire gcc8-rh1612514.patch, gcc8-rh1652016.patch, gcc8-rh1652929-?.patch
f56e54
f56e54
* Mon Dec 10 2018 Marek Polacek <polacek@redhat.com> 8.2.1-3.5
f56e54
- remove python2 dependecy (#1595385)
f56e54
f56e54
* Tue Nov 27 2018 Jeff Law <law@redhat.com> 8.2.1-3.4
f56e54
- Backport PPC string inlines from trunk which allow for valgrind's
f56e54
  memcheck to work properly (#1652929)
f56e54
- Backport bugfix for clz pattern on s390 affecting jemalloc (#1652016)
f56e54
f56e54
* Mon Oct 15 2018 Marek Polacek <polacek@redhat.com> 8.2.1-3.3
f56e54
- avoid IFUNC resolver access to uninitialized data (#1559350, PR libgcc/60790)
f56e54
f56e54
* Thu Oct 11 2018 Marek Polacek <polacek@redhat.com> 8.2.1-3.2
f56e54
- fix typos in manual (#1612514)
f56e54
f56e54
* Mon Oct  8 2018 Marek Polacek <polacek@redhat.com> 8.2.1-3.1
f56e54
- enable hardening of binaries (#1624114)
f56e54
- disable libgccjit on RHEL
f56e54
f56e54
* Tue Sep 18 2018 Marek Polacek <polacek@redhat.com> 8.2.1-3
f56e54
- update from Fedora 8.2.1-3
f56e54
f56e54
* Thu Aug  9 2018 Marek Polacek <polacek@redhat.com> 8.2.1-1.3
f56e54
- change the default -march on s390x to z13 with tuning for z14 (#1571124)
f56e54
- use --disable-multilib on s390x
f56e54
f56e54
* Mon Jul 30 2018 Marek Polacek <polacek@redhat.com> 8.2.1-1.2
f56e54
- rebuild
f56e54
f56e54
* Sat Jul 28 2018 Marek Polacek <polacek@redhat.com> 8.2.1-1.1
f56e54
- rebuild
f56e54
f56e54
* Fri Jul 27 2018 Marek Polacek <polacek@redhat.com> 8.2.1-1
f56e54
- enable annobin annotations (#1574936)
f56e54
- update from Fedora 8.2.1-1
f56e54
f56e54
* Thu Jul 12 2018 Marek Polacek <polacek@redhat.com> 8.1.1-5
f56e54
- update from Fedora 8.1.1-5
f56e54
f56e54
* Wed Jun  6 2018 Marek Polacek <polacek@redhat.com> 8.1.1-1.1
f56e54
- fix BuildRequires of python-sphinx
f56e54
f56e54
* Thu May  3 2018 Marek Polacek <polacek@redhat.com> 8.1.1-1
f56e54
- update from Fedora 8.1.1-1
f56e54
f56e54
* Mon Apr 30 2018 Marek Polacek <polacek@redhat.com> 8.0.1-0.23
f56e54
- new package