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