# - when adding new subpackages with external libraries (like libffi)
# or having own Version, do not use epoch 6 there, reset them to 0!
#
-# TODO:
-# - revise obsoletes for new libmpx packages!
#
# Conditional build:
# - languages:
%bcond_without python # build without libstdc++ printers for gdb
%bcond_with gcc_libffi # packaging gcc libffi for system usage
# - other:
+%bcond_without apidocs # do not package API docs
%bcond_without bootstrap # omit 3-stage bootstrap
%bcond_with tests # torture gcc
%bcond_with symvers # enable versioned symbols in libstdc++ (WARNING: changes soname from .so.6 to so.7)
%define with_multilib2 1
%endif
%endif
-%ifarch %{ix86} %{x8664} x32 alpha arm ppc ppc64 sh sparc sparcv9 sparc64
+%ifarch %{ix86} %{x8664} x32 alpha %{arm} ppc ppc64 sh sparc sparcv9 sparc64
# library for atomic operations not supported by hardware
%define with_atomic 1
%endif
-%ifarch %{ix86} %{x8664} x32
-%define with_cilkrts 1
-%endif
-%ifarch %{ix86} %{x8664} x32 arm ppc ppc64 sparc sparcv9 sparc64
+%ifarch %{ix86} %{x8664} x32 %{arm} ppc ppc64 sparc sparcv9 sparc64
# sanitizer feature (asan and ubsan are common for all supported archs)
%define with_Xsan 1
%endif
# Stable is: any major_ver and minor_ver >= 1.0
# For PLD we usually use gcc when minor_ver >= 2.0 (first bugfix release or later)
-%define major_ver 7
+%define major_ver 8
%define minor_ver 2.0
-%define ecj_ver 4.9
Summary: GNU Compiler Collection: the C compiler and shared files
Summary(es.UTF-8): Colección de compiladores GNU: el compilador C y ficheros compartidos
Summary(pt_BR.UTF-8): Coleção dos compiladores GNU: o compilador C e arquivos compartilhados
Name: gcc
Version: %{major_ver}.%{minor_ver}
-Release: 1
+Release: 2
Epoch: 6
License: GPL v3+
Group: Development/Languages
Source0: https://ftp.gnu.org/pub/gnu/gcc/gcc-%{version}/%{name}-%{version}.tar.xz
-# Source0-md5: ff370482573133a7fcdd96cd2f552292
+# Source0-md5: 4ab282f414676496483b3e1793d07862
Source1: %{name}-optimize-la.pl
# check libffi version with libffi/configure.ac
Source3: libffi.pc.in
Source4: branch.sh
-# use branch.sh to update glibc-branch.diff
+# use branch.sh to update gcc-branch.diff
Patch100: %{name}-branch.diff
-# Patch100-md5: d7963ef23d8b759940dc91797b3f53d5
+# Patch100-md5: d9a6ef7cbfd2b7e6800d77560824d59f
Patch0: %{name}-info.patch
Patch2: %{name}-nodebug.patch
Patch3: %{name}-ada-link.patch
BuildRequires: rpm-pythonprov
%endif
BuildRequires: rpmbuild(macros) >= 1.211
+BuildRequires: tar >= 1:1.22
BuildRequires: texinfo >= 4.7
+BuildRequires: xz
BuildRequires: zlib-devel
BuildConflicts: pdksh < 5.2.14-50
Requires: binutils >= 3:2.23
%description -n libgomp-multilib-%{multilib2}-static -l pl.UTF-8
Statyczna biblioteka GNU OpenMP - wersja %{m2_desc}.
-%package -n libcilkrts
-Summary: GCC Cilk Plus language extensions runtime library
-Summary(pl.UTF-8): Biblioteka uruchomieniowa rozszerzeń Cilk Plus dla GCC
-License: BSD
-Group: Libraries
-Requires: libstdc++ = %{epoch}:%{version}-%{release}
-
-%description -n libcilkrts
-This package contains the Cilk Plus C/C++ language extensions runtime
-library.
-
-%description -n libcilkrts -l pl.UTF-8
-Ten pakiet zawiera bibliotekę uruchomieniową rozszerzeń Cilk Plus dla
-języków C/C++.
-
-%package -n libcilkrts-devel
-Summary: GCC development files for Cilk Plus language extensions
-Summary(pl.UTF-8): Pliki programistyczne GCC dla rozszerzeń Cilk Plus
-License: BSD
-Group: Development/Libraries
-Requires: libcilkrts = %{epoch}:%{version}-%{release}
-
-%description -n libcilkrts-devel
-This package contains development files for Cilk Plus C/C++ language
-extensions.
-
-%description -n libcilkrts-devel -l pl.UTF-8
-Ten pakiet zawiera pliki programistyczne rozszerzeń Cilk Plus dla
-języków C/C++.
-
-%package -n libcilkrts-static
-Summary: GCC Cilk Plus language extensions static library
-Summary(pl.UTF-8): Biblioteka statyczna rozszerzeń Cilk Plus dla GCC
-License: BSD
-Group: Development/Libraries
-Requires: libcilkrts-devel = %{epoch}:%{version}-%{release}
-
-%description -n libcilkrts-static
-This package contains Cilk Plus C/C++ language extensions static
-library.
-
-%description -n libcilkrts-static -l pl.UTF-8
-Ten pakiet zawiera bibliotekę statyczną rozszerzeń Cilk Plus dla
-języków C/C++.
-
-%package -n libcilkrts-multilib-32
-Summary: GCC Cilk Plus language extensions runtime library - 32-bit version
-Summary(pl.UTF-8): Biblioteka uruchomieniowa rozszerzeń Cilk Plus dla GCC - wersja 32-bitowa
-License: BSD
-Group: Libraries
-Requires: libstdc++-multilib-32 = %{epoch}:%{version}-%{release}
-Obsoletes: libcilkrts-multilib
-
-%description -n libcilkrts-multilib-32
-This package contains the Cilk Plus C/C++ language extensions runtime
-library in 32-bit version.
-
-%description -n libcilkrts-multilib-32 -l pl.UTF-8
-Ten pakiet zawiera bibliotekę uruchomieniową rozszerzeń Cilk Plus dla
-języków C/C++. W tym pakiecie znajduje się wersja 32-bitowa.
-
-%package -n libcilkrts-multilib-32-devel
-Summary: GCC development files for Cilk Plus language extensions - 32-bit version
-Summary(pl.UTF-8): Pliki programistyczne GCC dla rozszerzeń Cilk Plus - wersja 32-bitowa
-License: BSD
-Group: Development/Libraries
-Requires: libcilkrts-devel = %{epoch}:%{version}-%{release}
-Requires: libcilkrts-multilib-32 = %{epoch}:%{version}-%{release}
-Obsoletes: libcilkrts-multilib-devel
-
-%description -n libcilkrts-multilib-32-devel
-This package contains development files for Cilk Plus C/C++ language
-extensions in 32-bit version.
-
-%description -n libcilkrts-multilib-32-devel -l pl.UTF-8
-Ten pakiet zawiera pliki programistyczne rozszerzeń Cilk Plus dla
-języków C/C++. W tym pakiecie znajduje się wersja 32-bitowa.
-
-%package -n libcilkrts-multilib-32-static
-Summary: GCC Cilk Plus language extensions static library - 32-bit version
-Summary(pl.UTF-8): Biblioteka statyczna rozszerzeń Cilk Plus dla GCC - wersja 32-bitowa
-License: BSD
-Group: Development/Libraries
-Requires: libcilkrts-multilib-32-devel = %{epoch}:%{version}-%{release}
-Obsoletes: libcilkrts-multilib-static
-
-%description -n libcilkrts-multilib-32-static
-This package contains the Cilk Plus C/C++ language extensions static
-library in 32-bit version.
-
-%description -n libcilkrts-multilib-32-static -l pl.UTF-8
-Ten pakiet zawiera bibliotekę statyczną rozszerzeń Cilk Plus dla
-języków C/C++. W tym pakiecie znajduje się wersja 32-bitowa.
-
-%package -n libcilkrts-multilib-%{multilib2}
-Summary: GCC Cilk Plus language extensions runtime library - %{m2_desc} version
-Summary(pl.UTF-8): Biblioteka uruchomieniowa rozszerzeń Cilk Plus dla GCC - wersja %{m2_desc}
-License: BSD
-Group: Libraries
-Requires: libstdc++-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
-
-%description -n libcilkrts-multilib-%{multilib2}
-This package contains the Cilk Plus C/C++ language extensions runtime
-library in %{m2_desc} version.
-
-%description -n libcilkrts-multilib-%{multilib2} -l pl.UTF-8
-Ten pakiet zawiera bibliotekę uruchomieniową rozszerzeń Cilk Plus dla
-języków C/C++. W tym pakiecie znajduje się wersja %{m2_desc}.
-
-%package -n libcilkrts-multilib-%{multilib2}-devel
-Summary: GCC development files for Cilk Plus language extensions - %{m2_desc} version
-Summary(pl.UTF-8): Pliki programistyczne GCC dla rozszerzeń Cilk Plus - wersja %{m2_desc}
-License: BSD
-Group: Development/Libraries
-Requires: libcilkrts-devel = %{epoch}:%{version}-%{release}
-Requires: libcilkrts-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
-
-%description -n libcilkrts-multilib-%{multilib2}-devel
-This package contains development files for Cilk Plus C/C++ language
-extensions in %{m2_desc} version.
-
-%description -n libcilkrts-multilib-%{multilib2}-devel -l pl.UTF-8
-Ten pakiet zawiera pliki programistyczne rozszerzeń Cilk Plus dla
-języków C/C++. W tym pakiecie znajduje się wersja %{m2_desc}.
-
-%package -n libcilkrts-multilib-%{multilib2}-static
-Summary: GCC Cilk Plus language extensions static library - %{m2_desc} version
-Summary(pl.UTF-8): Biblioteka statyczna rozszerzeń Cilk Plus dla GCC - wersja %{m2_desc}
-License: BSD
-Group: Development/Libraries
-Requires: libcilkrts-multilib-%{multilib2}-devel = %{epoch}:%{version}-%{release}
-
-%description -n libcilkrts-multilib-%{multilib2}-static
-This package contains the Cilk Plus C/C++ language extensions static
-library in %{m2_desc} version.
-
-%description -n libcilkrts-multilib-%{multilib2}-static -l pl.UTF-8
-Ten pakiet zawiera bibliotekę statyczną rozszerzeń Cilk Plus dla
-języków C/C++. W tym pakiecie znajduje się wersja %{m2_desc}.
-
%package ada
Summary: Ada language support for GCC
Summary(es.UTF-8): Soporte de Ada para GCC
Ten pakiet zawiera skrypty Pythona dla GDB służące do ładnego
wypisywania typów i kontenerów libstdc++.
+%package -n libstdc++-apidocs
+Summary: C++ standard library API documentation
+Summary(pl.UTF-8): Dokumentacja API biblioteki standardowej C++
+License: FDL v1.3 (mainly), GPL v3+ (doxygen generated parts)
+Group: Documentation
+%if "%{_rpmversion}" >= "5"
+BuildArch: noarch
+%endif
+
+%description -n libstdc++-apidocs
+API and internal documentation for C++ standard library.
+
+%description -n libstdc++-apidocs -l pl.UTF-8
+Dokumentacja API i wewnętrzna biblioteki standardowej C++.
+
%package fortran
Summary: Fortran 95 language support for GCC
Summary(es.UTF-8): Soporte de Fortran 95 para GCC
License: BSD
Group: Libraries
Requires: libstdc++-multilib-32 = %{version}-%{release}
-Obsoletes: libmpx-multilib
%description -n libmpx-multilib-32
This package contains the Memory Protection Extensions C language
Group: Development/Libraries
Requires: libmpx-devel = %{version}-%{release}
Requires: libmpx-multilib-32 = %{version}-%{release}
-Obsoletes: libmpx-multilib-devel
%description -n libmpx-multilib-32-devel
This package contains development files for Memory Protection
License: BSD
Group: Development/Libraries
Requires: libmpx-multilib-32-devel = %{version}-%{release}
-Obsoletes: libmpx-multilib-static
%description -n libmpx-multilib-32-static
This package contains the Memory Protection Extensions C language
%prep
%setup -q
-#%patch100 -p0
+%patch100 -p0
%patch0 -p1
%patch2 -p1
%patch3 -p1
%postun -n libgomp-devel -p /sbin/postshell
-/usr/sbin/fix-info-dir -c %{_infodir}
-%post -p /sbin/ldconfig -n libcilkrts
-%postun -p /sbin/ldconfig -n libcilkrts
-%post -p /sbin/ldconfig -n libcilkrts-multilib-32
-%postun -p /sbin/ldconfig -n libcilkrts-multilib-32
-%post -p /sbin/ldconfig -n libcilkrts-multilib-%{multilib2}
-%postun -p /sbin/ldconfig -n libcilkrts-multilib-%{multilib2}
%post -p /sbin/ldconfig -n libgcc
%postun -p /sbin/ldconfig -n libgcc
%post -p /sbin/ldconfig -n libgcc-multilib-32
%attr(755,root,root) %{_bindir}/gcc-ar
%attr(755,root,root) %{_bindir}/gcc-nm
%attr(755,root,root) %{_bindir}/gcc-ranlib
-#%attr(755,root,root) %{_bindir}/gccbug
%attr(755,root,root) %{_bindir}/gcov
%attr(755,root,root) %{_bindir}/gcov-dump
%attr(755,root,root) %{_bindir}/gcov-tool
%{gcclibdir}/include/avx2intrin.h
%{gcclibdir}/include/avx5124fmapsintrin.h
%{gcclibdir}/include/avx5124vnniwintrin.h
-%{gcclibdir}/include/avx512vpopcntdqintrin.h
+%{gcclibdir}/include/avx512bitalgintrin.h
%{gcclibdir}/include/avx512bwintrin.h
%{gcclibdir}/include/avx512cdintrin.h
%{gcclibdir}/include/avx512dqintrin.h
%{gcclibdir}/include/avx512ifmaintrin.h
%{gcclibdir}/include/avx512ifmavlintrin.h
%{gcclibdir}/include/avx512pfintrin.h
+%{gcclibdir}/include/avx512vbmi2intrin.h
+%{gcclibdir}/include/avx512vbmi2vlintrin.h
%{gcclibdir}/include/avx512vbmiintrin.h
%{gcclibdir}/include/avx512vbmivlintrin.h
%{gcclibdir}/include/avx512vlbwintrin.h
%{gcclibdir}/include/avx512vldqintrin.h
%{gcclibdir}/include/avx512vlintrin.h
+%{gcclibdir}/include/avx512vnniintrin.h
+%{gcclibdir}/include/avx512vnnivlintrin.h
+%{gcclibdir}/include/avx512vpopcntdqintrin.h
+%{gcclibdir}/include/avx512vpopcntdqvlintrin.h
%{gcclibdir}/include/avxintrin.h
%{gcclibdir}/include/bmi2intrin.h
%{gcclibdir}/include/bmiintrin.h
%{gcclibdir}/include/bmmintrin.h
+%{gcclibdir}/include/cet.h
+%{gcclibdir}/include/cetintrin.h
%{gcclibdir}/include/clflushoptintrin.h
%{gcclibdir}/include/clwbintrin.h
%{gcclibdir}/include/clzerointrin.h
%{gcclibdir}/include/fma4intrin.h
%{gcclibdir}/include/fmaintrin.h
%{gcclibdir}/include/fxsrintrin.h
+%{gcclibdir}/include/gfniintrin.h
%{gcclibdir}/include/ia32intrin.h
%{gcclibdir}/include/immintrin.h
%{gcclibdir}/include/lwpintrin.h
%{gcclibdir}/include/mm3dnow.h
%{gcclibdir}/include/mmintrin.h
%{gcclibdir}/include/mm_malloc.h
+%{gcclibdir}/include/movdirintrin.h
%{gcclibdir}/include/nmmintrin.h
%{gcclibdir}/include/mwaitxintrin.h
+%{gcclibdir}/include/pconfigintrin.h
%{gcclibdir}/include/pkuintrin.h
%{gcclibdir}/include/pmmintrin.h
%{gcclibdir}/include/popcntintrin.h
%{gcclibdir}/include/smmintrin.h
%{gcclibdir}/include/tbmintrin.h
%{gcclibdir}/include/tmmintrin.h
+%{gcclibdir}/include/vaesintrin.h
+%{gcclibdir}/include/vpclmulqdqintrin.h
+%{gcclibdir}/include/wbnoinvdintrin.h
%{gcclibdir}/include/wmmintrin.h
%{gcclibdir}/include/x86intrin.h
%{gcclibdir}/include/xmmintrin.h
%{gcclibdir}/include/xsavesintrin.h
%{gcclibdir}/include/xtestintrin.h
%endif
-%ifarch arm
+%ifarch %{arm}
+%{gcclibdir}/include/arm_acle.h
+%{gcclibdir}/include/arm_cmse.h
+%{gcclibdir}/include/arm_fp16.h
%{gcclibdir}/include/arm_neon.h
%{gcclibdir}/include/mmintrin.h
%endif
+%ifarch aarch64
+%{gcclibdir}/include/arm_acle.h
+%{gcclibdir}/include/arm_fp16.h
+%{gcclibdir}/include/arm_neon.h
+%endif
%ifarch ia64
%{gcclibdir}/include/ia64intrin.h
%endif
%endif
%ifarch mips
%{gcclibdir}/include/loongson.h
+%{gcclibdir}/include/msa.h
%endif
%ifarch powerpc ppc ppc64
%{gcclibdir}/include/altivec.h
+%{gcclibdir}/include/amo.h
+%{gcclibdir}/include/bmiintrin.h
+%{gcclibdir}/include/bmi2intrin.h
+%{gcclibdir}/include/emmintrin.h
+%{gcclibdir}/include/htmintrin.h
+%{gcclibdir}/include/htmxlintrin.h
+%{gcclibdir}/include/mm_malloc.h
+%{gcclibdir}/include/mmintrin.h
%{gcclibdir}/include/paired.h
%{gcclibdir}/include/ppc-asm.h
%{gcclibdir}/include/ppu_intrinsics.h
%{gcclibdir}/include/spe.h
%{gcclibdir}/include/spu2vmx.h
%{gcclibdir}/include/vec_types.h
+%{gcclibdir}/include/x86intrin.h
+%{gcclibdir}/include/xmmintrin.h
+%endif
+%ifarch s390
+%{gcclibdir}/include/htmintrin.h
+%{gcclibdir}/include/htmxlintrin.h
+%{gcclibdir}/include/s390intrin.h
+%{gcclibdir}/include/vecintrin.h
+%endif
+%ifarch sparc sparcv9 sparc64
+%{gcclibdir}/include/visintrin.h
%endif
%{?with_vtv:%{gcclibdir}/include/vtv_*.h}
%endif
%endif
-%if %{with cilkrts}
-%files -n libcilkrts
-%defattr(644,root,root,755)
-%doc libcilkrts/{ChangeLog,README}
-%attr(755,root,root) %{_libdir}/libcilkrts.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libcilkrts.so.5
-
-%files -n libcilkrts-devel
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libcilkrts.so
-%{_libdir}/libcilkrts.la
-%{_libdir}/libcilkrts.spec
-%{gcclibdir}/include/cilk
-
-%files -n libcilkrts-static
-%defattr(644,root,root,755)
-%{_libdir}/libcilkrts.a
-
-%if %{with multilib}
-%files -n libcilkrts-multilib-32
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir32}/libcilkrts.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir32}/libcilkrts.so.5
-
-%files -n libcilkrts-multilib-32-devel
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir32}/libcilkrts.so
-%{_libdir32}/libcilkrts.la
-%{_libdir32}/libcilkrts.spec
-
-%files -n libcilkrts-multilib-32-static
-%defattr(644,root,root,755)
-%{_libdir32}/libcilkrts.a
-%endif
-
-%if %{with multilib2}
-%files -n libcilkrts-multilib-%{multilib2}
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdirm2}/libcilkrts.so.*.*.*
-%attr(755,root,root) %ghost %{_libdirm2}/libcilkrts.so.5
-
-%files -n libcilkrts-multilib-%{multilib2}-devel
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdirm2}/libcilkrts.so
-%{_libdirm2}/libcilkrts.la
-%{_libdirm2}/libcilkrts.spec
-
-%files -n libcilkrts-multilib-%{multilib2}-static
-%defattr(644,root,root,755)
-%{_libdirm2}/libcilkrts.a
-%endif
-%endif
-
-# see libmpx/configure.tgt for supported architectures
-%ifarch %{x8664} %{ix86}
-%files -n libmpx
-%defattr(644,root,root,755)
-%doc libmpx/ChangeLog
-%attr(755,root,root) %{_libdir}/libmpx.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libmpx.so.2
-%attr(755,root,root) %{_libdir}/libmpxwrappers.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libmpxwrappers.so.2
-
-%files -n libmpx-devel
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libmpx.so
-%attr(755,root,root) %{_libdir}/libmpxwrappers.so
-%{_libdir}/libmpx.la
-%{_libdir}/libmpxwrappers.la
-%{_libdir}/libmpx.spec
-
-%files -n libmpx-static
-%defattr(644,root,root,755)
-%{_libdir}/libmpx.a
-%{_libdir}/libmpxwrappers.a
-%endif
-
-%if %{with multilib}
-%files -n libmpx-multilib-32
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir32}/libmpx.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir32}/libmpx.so.2
-%attr(755,root,root) %{_libdir32}/libmpxwrappers.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir32}/libmpxwrappers.so.2
-
-%files -n libmpx-multilib-32-devel
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir32}/libmpx.so
-%attr(755,root,root) %{_libdir32}/libmpxwrappers.so
-%{_libdir32}/libmpx.la
-%{_libdir32}/libmpxwrappers.la
-%{_libdir32}/libmpx.spec
-
-%files -n libmpx-multilib-32-static
-%defattr(644,root,root,755)
-%{_libdir32}/libmpx.a
-%{_libdir32}/libmpxwrappers.a
-%endif
-
-%if %{with multilib2}
-# see libmpx/configure.tgt for supported architectures;
-# no x32 there as of gcc 6.x
-%if "%{multilib2}" != "x32"
-%files -n libmpx-multilib-%{multilib2}
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdirm2}/libmpx.so.*.*.*
-%attr(755,root,root) %ghost %{_libdirm2}/libmpx.so.2
-%attr(755,root,root) %{_libdirm2}/libmpxwrappers.so.*.*.*
-%attr(755,root,root) %ghost %{_libdirm2}/libmpxwrappers.so.2
-
-%files -n libmpx-multilib-%{multilib2}-devel
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdirm2}/libmpx.so
-%attr(755,root,root) %{_libdirm2}/libmpxwrappers.so
-%{_libdirm2}/libmpx.la
-%{_libdirm2}/libmpxwrappers.la
-%{_libdirm2}/libmpx.spec
-
-%files -n libmpx-multilib-%{multilib2}-static
-%defattr(644,root,root,755)
-%{_libdirm2}/libmpx.a
-%{_libdirm2}/libmpxwrappers.a
-%endif
-%endif
-
%if %{with ada}
%files ada
%defattr(644,root,root,755)
%defattr(644,root,root,755)
%{gcclibdir}/32/adalib/libgnarl.a
%{gcclibdir}/32/adalib/libgnat.a
+%ifarch %{x8664}
+# these exist only when host is x86_64???
+%{gcclibdir}/32/adalib/libgnarl_pic.a
+%{gcclibdir}/32/adalib/libgnat_pic.a
+%endif
%endif
%if %{with multilib2}
%defattr(644,root,root,755)
%{gcclibdir}/%{multilib2}/adalib/libgnarl.a
%{gcclibdir}/%{multilib2}/adalib/libgnat.a
+%ifarch %{x8664}
+# these exist only when host is x86_64???
+%{gcclibdir}/%{multilib2}/adalib/libgnarl_pic.a
+%{gcclibdir}/%{multilib2}/adalib/libgnat_pic.a
+%endif
%endif
%endif
%endif
%endif
+%if %{with apidocs}
+%files -n libstdc++-apidocs
+%defattr(644,root,root,755)
+%doc libstdc++-v3/doc/html/*
+%endif
%endif
%if %{with fortran}
%defattr(644,root,root,755)
%doc libgfortran/{AUTHORS,README,ChangeLog}
%attr(755,root,root) %{_libdir}/libgfortran.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libgfortran.so.4
+%attr(755,root,root) %ghost %{_libdir}/libgfortran.so.5
%files -n libgfortran-static
%defattr(644,root,root,755)
%files -n libgfortran-multilib-32
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir32}/libgfortran.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir32}/libgfortran.so.4
+%attr(755,root,root) %ghost %{_libdir32}/libgfortran.so.5
%files -n libgfortran-multilib-32-static
%defattr(644,root,root,755)
%files -n libgfortran-multilib-%{multilib2}
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdirm2}/libgfortran.so.*.*.*
-%attr(755,root,root) %ghost %{_libdirm2}/libgfortran.so.4
+%attr(755,root,root) %ghost %{_libdirm2}/libgfortran.so.5
%files -n libgfortran-multilib-%{multilib2}-static
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/gccgo
%attr(755,root,root) %{_bindir}/go
%attr(755,root,root) %{_bindir}/gofmt
+%attr(755,root,root) %{gcclibdir}/buildid
%attr(755,root,root) %{gcclibdir}/cgo
%attr(755,root,root) %{gcclibdir}/go1
+%attr(755,root,root) %{gcclibdir}/test2json
+%attr(755,root,root) %{gcclibdir}/vet
%dir %{_libdir}/go
%{_libdir}/go/%{version}
%{_mandir}/man1/go.1*
%defattr(644,root,root,755)
%doc libgo/{LICENSE,PATENTS,README}
%attr(755,root,root) %{_libdir}/libgo.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libgo.so.11
+%attr(755,root,root) %ghost %{_libdir}/libgo.so.13
%files -n libgo-devel
%defattr(644,root,root,755)
%files -n libgo-multilib-32
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir32}/libgo.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir32}/libgo.so.11
+%attr(755,root,root) %ghost %{_libdir32}/libgo.so.13
%files -n libgo-multilib-32-devel
%defattr(644,root,root,755)
%files -n libgo-multilib-%{multilib2}
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdirm2}/libgo.so.*.*.*
-%attr(755,root,root) %ghost %{_libdirm2}/libgo.so.11
+%attr(755,root,root) %ghost %{_libdirm2}/libgo.so.13
%files -n libgo-multilib-%{multilib2}-devel
%defattr(644,root,root,755)
%defattr(644,root,root,755)
%doc libsanitizer/ChangeLog* libsanitizer/LICENSE.TXT
%attr(755,root,root) %{_libdir}/libasan.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libasan.so.4
+%attr(755,root,root) %ghost %{_libdir}/libasan.so.5
%files -n libasan-devel
%defattr(644,root,root,755)
%files -n libasan-multilib-32
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir32}/libasan.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir32}/libasan.so.4
+%attr(755,root,root) %ghost %{_libdir32}/libasan.so.5
%files -n libasan-multilib-32-devel
%defattr(644,root,root,755)
%files -n libasan-multilib-%{multilib2}
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdirm2}/libasan.so.*.*.*
-%attr(755,root,root) %ghost %{_libdirm2}/libasan.so.4
+%attr(755,root,root) %ghost %{_libdirm2}/libasan.so.5
%files -n libasan-multilib-%{multilib2}-devel
%defattr(644,root,root,755)
%files -n liblsan-devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/liblsan.so
+%{_libdir}/liblsan_preinit.o
%{_libdir}/liblsan.la
%{gcclibdir}/include/sanitizer/lsan_interface.h
%files -n liblsan-multilib-%{multilib2}-devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdirm2}/liblsan.so
+%{_libdirm2}/liblsan_preinit.o
%{_libdirm2}/liblsan.la
# it looks like duplicate of file from liblsan-devel, but actually it isn't:
# these packages are mutually exclusive
%attr(755,root,root) %{_libdir}/libtsan.so
%{_libdir}/libtsan_preinit.o
%{_libdir}/libtsan.la
+%{gcclibdir}/include/sanitizer/tsan_interface.h
%files -n libtsan-static
%defattr(644,root,root,755)
%files -n libtsan-multilib-%{multilib2}-devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdirm2}/libtsan.so
+%{_libdirm2}/libtsan_preinit.o
%{_libdirm2}/libtsan.la
+# it looks like duplicate of file from libtsan-devel, but actually it isn't:
+# these packages are mutually exclusive
+# (either liblsan-devel.x86_64 or liblsan-multilib-64.x32)
+%{gcclibdir}/include/sanitizer/tsan_interface.h
%files -n libtsan-multilib-%{multilib2}-static
%defattr(644,root,root,755)
%files -n libubsan
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libubsan.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libubsan.so.0
+%attr(755,root,root) %ghost %{_libdir}/libubsan.so.1
%files -n libubsan-devel
%defattr(644,root,root,755)
%files -n libubsan-multilib-32
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir32}/libubsan.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir32}/libubsan.so.0
+%attr(755,root,root) %ghost %{_libdir32}/libubsan.so.1
%files -n libubsan-multilib-32-devel
%defattr(644,root,root,755)
%files -n libubsan-multilib-%{multilib2}
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdirm2}/libubsan.so.*.*.*
-%attr(755,root,root) %ghost %{_libdirm2}/libubsan.so.0
+%attr(755,root,root) %ghost %{_libdirm2}/libubsan.so.1
%files -n libubsan-multilib-%{multilib2}-devel
%defattr(644,root,root,755)
%{gcclibdir}/plugin/gengtype
%{gcclibdir}/plugin/gtype.state
%{gcclibdir}/plugin/include
-%attr(755,root,root) %{gcclibdir}/plugin/libcc1plugin.la
+%{gcclibdir}/plugin/libcc1plugin.la
%attr(755,root,root) %{gcclibdir}/plugin/libcc1plugin.so
-%attr(755,root,root) %{gcclibdir}/plugin/libcp1plugin.la
+%{gcclibdir}/plugin/libcp1plugin.la
%attr(755,root,root) %{gcclibdir}/plugin/libcp1plugin.so
+
+# see libmpx/configure.tgt for supported architectures
+%ifarch %{x8664} %{ix86}
+%files -n libmpx
+%defattr(644,root,root,755)
+%doc libmpx/ChangeLog
+%attr(755,root,root) %{_libdir}/libmpx.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmpx.so.2
+%attr(755,root,root) %{_libdir}/libmpxwrappers.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmpxwrappers.so.2
+
+%files -n libmpx-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libmpx.so
+%attr(755,root,root) %{_libdir}/libmpxwrappers.so
+%{_libdir}/libmpx.la
+%{_libdir}/libmpxwrappers.la
+%{_libdir}/libmpx.spec
+
+%files -n libmpx-static
+%defattr(644,root,root,755)
+%{_libdir}/libmpx.a
+%{_libdir}/libmpxwrappers.a
+%endif
+
+%if %{with multilib}
+%files -n libmpx-multilib-32
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir32}/libmpx.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir32}/libmpx.so.2
+%attr(755,root,root) %{_libdir32}/libmpxwrappers.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir32}/libmpxwrappers.so.2
+
+%files -n libmpx-multilib-32-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir32}/libmpx.so
+%attr(755,root,root) %{_libdir32}/libmpxwrappers.so
+%{_libdir32}/libmpx.la
+%{_libdir32}/libmpxwrappers.la
+%{_libdir32}/libmpx.spec
+
+%files -n libmpx-multilib-32-static
+%defattr(644,root,root,755)
+%{_libdir32}/libmpx.a
+%{_libdir32}/libmpxwrappers.a
+%endif
+
+%if %{with multilib2}
+# see libmpx/configure.tgt for supported architectures;
+# no x32 there as of gcc 6.x
+%if "%{multilib2}" != "x32"
+%files -n libmpx-multilib-%{multilib2}
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libmpx.so.*.*.*
+%attr(755,root,root) %ghost %{_libdirm2}/libmpx.so.2
+%attr(755,root,root) %{_libdirm2}/libmpxwrappers.so.*.*.*
+%attr(755,root,root) %ghost %{_libdirm2}/libmpxwrappers.so.2
+
+%files -n libmpx-multilib-%{multilib2}-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libmpx.so
+%attr(755,root,root) %{_libdirm2}/libmpxwrappers.so
+%{_libdirm2}/libmpx.la
+%{_libdirm2}/libmpxwrappers.la
+%{_libdirm2}/libmpx.spec
+
+%files -n libmpx-multilib-%{multilib2}-static
+%defattr(644,root,root,755)
+%{_libdirm2}/libmpx.a
+%{_libdirm2}/libmpxwrappers.a
+%endif
+%endif