]> TLD Linux GIT Repositories - packages/gcc.git/blobdiff - gcc.spec
- fixed branch.diff, bug-111413.patch already in branch.diff
[packages/gcc.git] / gcc.spec
index 10044ea7be1546fbd6d83267c0402f9621ee4310..86e26e7011b0464a81b5f91a947d9880ae1a8891 100644 (file)
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,44 +1,44 @@
-# NOTE: despite lower soname, libffi is newer than standalone 3.0.9
+# TODO: finish D (needs bootstrap from non-PLD gdc binaries)
 #
-# TODO:
-# - gconf peer? (but libgcj needs split anyway)
-# - package?
-#   /usr/bin/gjdoc [BR: antlr.jar] (but see gjdoc package, there are some additional jars?)
-#   /usr/share/man/man1/gjdoc.1.gz
+# NOTE
+# - when adding new subpackages with external libraries (like libffi)
+#   or having own Version, do not use epoch 6 there, reset them to 0!
 #
 # Conditional build:
 # - languages:
-%bcond_without ada             # build without ADA support
-%bcond_without cxx             # build without C++ support
-%bcond_without fortran         # build without Fortran support
-%bcond_without go              # build without Go support
-%bcond_without java            # build without Java support
-%bcond_without objc            # build without Objective-C support
-%bcond_without objcxx          # build without Objective-C++ support
+%bcond_without ada             # ADA language support
+%bcond_without cxx             # C++ language support
+%bcond_with    d               # D language support [NFY, buildrequires gdc]
+%bcond_without fortran         # Fortran language support
+%bcond_without go              # Go language support
+%bcond_without modula2         # Modula2 language support
+%bcond_without objc            # Objective-C language support
+%bcond_without objcxx          # Objective-C++ language support
 # - features:
-%bcond_without gomp            # build without OpenMP support
-%bcond_without mudflap         # build without Mudflap pointer debugging support
-%bcond_without multilib        # build without multilib support (it needs glibc[32&64]-devel)
-%bcond_with    profiling       # build with profiling
-%bcond_without python          # build without libstdc++ printers for gdb and aot-compile for java
-# - libgcj options:
-%bcond_without alsa            # don't build libgcj ALSA MIDI interface
-%bcond_without dssi            # don't build libgcj DSSI MIDI interface
-%bcond_without gtk             # don't build libgcj GTK peer
-%bcond_without apidocs         # do not build and package API docs
-%bcond_with    mozilla         # build libgcjwebplugin (needs fix for new xulrunner)
-%bcond_with    qt              # build libgcj Qt peer (currently doesn't build with libtool-2.x)
-%bcond_without x               # don't build libgcj Xlib-dependent AWTs (incl. GTK/Qt)
+%bcond_without gomp            # OpenMP support
+%bcond_without multilib        # 32-bit/64-bit multilib support (which needs glibc[32&64]-devel)
+%bcond_with    multilibx32     # x32 multilib support on x86_64 (needs x32 glibc-devel)
+%bcond_without profiling       # profiling support
+%bcond_without python          # libstdc++ printers for gdb
+%bcond_with    gcc_libffi      # packaging gcc libffi for system usage
 # - other:
+%bcond_without apidocs         # API documentation
 %bcond_without bootstrap       # omit 3-stage bootstrap
 %bcond_with    tests           # torture gcc
+%bcond_with    symvers         # versioned symbols in libstdc++ (WARNING: changes soname from .so.6 to so.7)
 
+%if %{with symvers}
+%define                cxx_sover       7
+%else
+%define                cxx_sover       6
+%endif
+
+# go and objcxx require C++
 %if %{without cxx}
 %undefine      with_go
-%undefine      with_java
 %undefine      with_objcxx
 %endif
-
+# objcxx requires objc
 %if %{without objc}
 %undefine      with_objcxx
 %endif
 %undefine      with_profiling
 %endif
 
-%if %{without x}
-%undefine      with_gtk
-%undefine      with_qt
+%ifarch sparc64 x32
+# used to be broken on sparc64 (to be verified if needed)
+# broken since 5.x on x32 (to be verified if needed)
+%undefine      with_ada
 %endif
 
-%ifnarch %{x8664}
+%ifnarch %{x8664} x32 aarch64 ppc64 s390x sparc64
 %undefine      with_multilib
 %endif
+%ifnarch %{x8664}
+%undefine      with_multilibx32
+%endif
 
-%ifarch i386 i486 i586
-# __i686.get_pc_thunk.bx undefined in libgo (TODO: recheck on gcc updates)
-%undefine      with_go
+# setup internal semi-bconds based on bconds and architecture
+%if %{with multilib}
+%ifarch x32
+%define                with_multilib2  1
+%endif
+%if %{with multilibx32}
+%define                with_multilib2  1
+%endif
+%endif
+%ifarch %{ix86} %{x8664} x32 alpha %{arm} ppc ppc64 sh sparc sparcv9 sparc64 aarch64
+# library for atomic operations not supported by hardware
+%define                with_atomic     1
+%endif
+%ifarch %{ix86} %{x8664} x32 %{arm} ppc ppc64 sparc sparcv9 sparc64 aarch64
+# sanitizer feature (asan and ubsan are common for all supported archs)
+%define                with_Xsan       1
+%endif
+%ifarch %{x8664} aarch64
+# lsan and tsan exist only for primary x86_64 ABI
+%define                with_lsan_m0    1
+%define                with_tsan_m0    1
+%endif
+%ifarch x32
+# hwasan, lsan and tsan exist only for x86_64 ABI (i.e. our multilib2)
+%define                with_hwasan_m2  1
+%define                with_lsan_m2    1
+%define                with_tsan_m2    1
+%endif
+%ifarch %{x8664} aarch64
+%define                with_hwasan     1
+%endif
+%ifarch %{ix86} %{x8664} x32
+%define                with_vtv        1
+%endif
+%ifarch %{ix86} %{x8664} x32 ia64
+%define                with_quadmath   1
 %endif
 
-%define                major_ver       4.6
-%define                minor_ver       3
-%define                major_ecj_ver   4.5
-# class data version seen with file(1) that this jvm is able to load
-%define                _classdataversion 50.0
-%define                gcj_soname_ver  12
+# Stable is: any major_ver and minor_ver >= 1.0
+# For TLD we usually use gcc when minor_ver >= 2.0 (first bugfix release or later)
+%define                major_ver       13
+%define                minor_ver       2.0
 
 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
@@ -74,121 +109,155 @@ Summary(pl.UTF-8):       Kolekcja kompilatorów GNU: kompilator C i pliki współdziel
 Summary(pt_BR.UTF-8):  Coleção dos compiladores GNU: o compilador C e arquivos compartilhados
 Name:          gcc
 Version:       %{major_ver}.%{minor_ver}
-Release:       5
+Release:       2
 Epoch:         6
 License:       GPL v3+
 Group:         Development/Languages
-Source0:       ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2
-# Source0-md5: 773092fe5194353b02bb0110052a972e
+Source0:       https://gcc.gnu.org/pub/gcc/releases/%{name}-%{version}/%{name}-%{version}.tar.xz
+# Source0-md5: e0e48554cc6e4f261d55ddee9ab69075
 Source1:       %{name}-optimize-la.pl
-Source2:       ftp://sourceware.org/pub/java/ecj-%{major_ecj_ver}.jar
-# Source2-md5: d7cd6a27c8801e66cbaa964a039ecfdb
 # check libffi version with libffi/configure.ac
 Source3:       libffi.pc.in
-# svn diff -x --ignore-eol-style svn://gcc.gnu.org/svn/gcc/tags/gcc_4_6_3_release svn://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch > gcc-branch.diff
+Source4:       branch.sh
+# use branch.sh to update gcc-branch.diff
 Patch100:      %{name}-branch.diff
+# Patch100-md5:        a5cb6adef223b8fa990d88ff5d25dfa0
 Patch0:                %{name}-info.patch
+Patch1:                all-library-paths.patch
 Patch2:                %{name}-nodebug.patch
 Patch3:                %{name}-ada-link.patch
-Patch7:                %{name}-libjava-multilib.patch
-Patch8:                %{name}-enable-java-awt-qt.patch
-# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41757
-Patch12:       %{name}-plugin-decl-hook.patch
-Patch13:       issue4664051.patch
-Patch14:       %{name}-extern-template-sed.patch
+Patch4:                %{name}-ada-x32.patch
+
+Patch10:       %{name}-moresparcs.patch
+Patch11:       %{name}-install-libffi.patch
 URL:           http://gcc.gnu.org/
 BuildRequires: autoconf >= 2.64
-%{?with_tests:BuildRequires:   autogen}
-BuildRequires: automake >= 1:1.9.3
-# binutils 2.17.50.0.9 or newer are required for fixing PR middle-end/20218.
-BuildRequires: binutils >= 3:2.17.50.0.9-1
+%{?with_tests:BuildRequires:   autogen >= 5.5.4}
+BuildRequires: automake >= 1:1.11.1
+BuildRequires: binutils >= 4:2.30
 BuildRequires: bison
 BuildRequires: chrpath >= 0.13-2
-BuildRequires: cloog-ppl-devel
-%{?with_tests:BuildRequires:   dejagnu}
+%{?with_tests:BuildRequires:   dejagnu >= 1.4.4}
 BuildRequires: elfutils-devel >= 0.145-1
 BuildRequires: fileutils >= 4.0.41
-BuildRequires: flex
+BuildRequires: flex >= 2.5.4
 %if %{with ada}
 BuildRequires: gcc(ada)
 BuildRequires: gcc-ada
+BuildRequires: libgnat-static
+%endif
+%if %{with d}
+BuildRequires: gcc-d
 %endif
-BuildRequires: gettext-devel
+BuildRequires: gdb
+BuildRequires: gettext-tools >= 0.14.5
 BuildRequires: glibc-devel >= 6:2.4-1
 %if %{with multilib}
-BuildRequires: gcc(multilib)
+# Formerly known as gcc(multilib)
+BuildRequires: gcc(multilib-32)
 %ifarch %{x8664}
-BuildRequires: glibc-devel(i686)
+%if %{with multilibx32}
+BuildRequires: gcc(multilib-x32)
+BuildRequires: glibc-devel(x32)
 %endif
+BuildRequires: glibc-devel(ix86)
 %endif
-BuildRequires: gmp-devel >= 4.1
-BuildRequires: libmpc-devel
-BuildRequires: mpfr-devel >= 2.3.0
-BuildRequires: ppl-devel
-%if %{with python}
-BuildRequires: python-devel
-BuildRequires: rpm-pythonprov
+%ifarch x32
+BuildRequires: gcc(multilib-64)
+BuildRequires: glibc-devel(ix86)
+BuildRequires: glibc-devel(x86_64)
+%endif
+%ifarch aarch64
+BuildRequires: glibc-devel(arm)
+%endif
+%ifarch ppc64
+BuildRequires: glibc-devel(ppc)
 %endif
+%ifarch s390x
+BuildRequires: glibc-devel(s390)
+%endif
+%ifarch sparc64
+BuildRequires: glibc-devel(sparcv9)
+%endif
+%endif
+BuildRequires: gmp-c++-devel >= 4.3.2
+BuildRequires: gmp-devel >= 4.3.2
+BuildRequires: isl-devel >= 0.15
+BuildRequires: libmpc-devel >= 0.8.1
+BuildRequires: libstdc++-devel
+BuildRequires: mpfr-devel >= 3.1.0
+BuildRequires: rpm-build >= 4.6
 BuildRequires: rpmbuild(macros) >= 1.211
-BuildRequires: texinfo >= 4.1
+BuildRequires: tar >= 1:1.22
+BuildRequires: texinfo >= 4.7
+BuildRequires: xz
 BuildRequires: zlib-devel
-%if %{with java}
-%{?with_alsa:BuildRequires:    alsa-lib-devel}
-%if %{with dssi}
-BuildRequires: dssi-devel
-BuildRequires: jack-audio-connection-kit-devel
-%endif
-BuildRequires: libxml2-devel >= 1:2.6.8
-BuildRequires: libxslt-devel >= 1.1.11
-BuildRequires: perl-base
-BuildRequires: perl-tools-pod
-BuildRequires: pkgconfig
-BuildRequires: sed >= 4.0
-BuildRequires: unzip
-BuildRequires: zip
-%if %{with gtk}
-BuildRequires: cairo-devel >= 0.5.0
-BuildRequires: gtk+2-devel >= 2:2.4.0
-BuildRequires: libart_lgpl-devel
-BuildRequires: pango-devel
-BuildRequires: xorg-lib-libXt-devel
-BuildRequires: xorg-lib-libXtst-devel
-%endif
-%if %{with qt}
-BuildRequires: QtGui-devel >= 4.0.1
-BuildRequires: qt4-build >= 4.0.1
-%endif
-%{?with_mozilla:BuildRequires: xulrunner-devel >= 1.8.1.3-1.20070321.5}
+BuildRequires: zstd-devel
+%if %{with python}
+BuildRequires: python3-devel
+BuildRequires: python3-modules
+BuildRequires: rpm-pythonprov
 %endif
 BuildConflicts:        pdksh < 5.2.14-50
-Requires:      binutils >= 3:2.20.51.0.2
+Requires:      binutils >= 4:2.30
+Requires:      gmp >= 4.3.2
+Requires:      isl >= 0.15
 Requires:      libgcc = %{epoch}:%{version}-%{release}
+Requires:      libmpc >= 0.8.1
+Requires:      mpfr >= 3.1.0
 Provides:      cpp = %{epoch}:%{version}-%{release}
 %{?with_ada:Provides:  gcc(ada)}
-Obsoletes:     cpp
-Obsoletes:     egcs-cpp
-Obsoletes:     gcc-chill
-Obsoletes:     gcc-cpp
-Obsoletes:     gcc-ksi
-Obsoletes:     gcc4
-Obsoletes:     gont
+Obsoletes:     cpp < 5:3.4
+Obsoletes:     egcs-cpp < 1.2
+Obsoletes:     gcc-chill < 3.2
+Obsoletes:     gcc-cpp < 3
+Obsoletes:     gcc-ksi < 5:3.4
+Obsoletes:     gcc4 < 5:4.2
+Obsoletes:     gont < 0.1
 Conflicts:     glibc-devel < 2.2.5-20
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                _slibdir        /%{_lib}
 %if %{with multilib}
-# 32-bit environment on x86-64
+# 32-bit environment on x86-64,aarch64,ppc64,s390x,sparc64
 %define                _slibdir32      /lib
 %define                _libdir32       /usr/lib
 %define                _pkgconfigdir32 %{_libdir32}/pkgconfig
+%if %{with multilib2}
+# x32 environment on x86-64
+%ifarch %{x8664}
+%define                multilib2       x32
+%define                m2_desc         ILP32
+%define                _slibdirm2      /libx32
+%define                _libdirm2       /usr/libx32
+%define                _pkgconfigdirm2 %{_libdirm2}/pkgconfig
+%endif
+# 64-bit environment on x32
+%ifarch x32
+%define                multilib2       64
+%define                m2_desc         LP64
+%define                _slibdirm2      /lib64
+%define                _libdirm2       /usr/lib64
+%define                _pkgconfigdirm2 %{_libdir64}/pkgconfig
+%endif
+%endif
+%endif
+%if %{without multilib} || %{without multilib2}
+# avoid "Possible unexpanded macro" warning
+%define                multilib2       none
 %endif
 %define                gcclibdir       %{_libdir}/gcc/%{_target_platform}/%{version}
-%define                gcjdbexecdir    gcj-%{version}-%{gcj_soname_ver}
 
 %define                filterout       -fwrapv -fno-strict-aliasing -fsigned-char
 %define                filterout_ld    -Wl,--as-needed
 
-%define                skip_post_check_so      '.*(libmudflap|libmudflapth|libxmlj|lib-gnu-awt-xlib)\.so.*'
+# functions with printf format attribute but with special parser and also
+# receiving non constant format strings
+%define                Werror_cflags   %{nil}
+
+%define                skip_post_check_so      '.*(libasan|libcc1plugin|libcp1plugin|libgnat-%{major_ver}|libgo|libitm|libxmlj|libubsan|lib-gnu-awt-xlib|libm2cor|libm2iso|libm2log|libm2pim)\.so.*'
+# private symbols
+%define                _noautoreq              .*\(GLIBC_PRIVATE\)
 
 %description
 A compiler aimed at integrating all the optimizations and features
@@ -220,42 +289,81 @@ z GCC, trzeba zainstalować odpowiedni podpakiet.
 Este pacote adiciona infraestrutura básica e suporte a linguagem C ao
 GNU Compiler Collection.
 
-%package multilib
+%package multilib-32
 Summary:       GNU Compiler Collection: the C compiler 32-bit support
 Summary(pl.UTF-8):     Kolekcja kompilatorów GNU: obsługa binariów 32-bitowych dla kompilatora C
 License:       GPL v3+
 Group:         Development/Languages
-Requires:      %{name}
-Requires:      libgcc-multilib = %{epoch}:%{version}-%{release}
-%{?with_multilib:Provides:     gcc(multilib)}
-Obsoletes:     libgcc32
+Requires:      %{name} = %{epoch}:%{version}-%{release}
+Requires:      libgcc-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     libgcc32 < 6:4.4
 %ifarch %{x8664}
-Requires:      glibc-devel(i686)
+Requires:      glibc-devel(ix86)
 %endif
+%ifarch ppc64
+Requires:      glibc-devel(ppc)
+%endif
+%ifarch s390x
+Requires:      glibc-devel(s390)
+%endif
+%ifarch sparc64
+Requires:      glibc-devel(sparcv9)
+%endif
+Provides:      gcc(multilib-32)
+Obsoletes:     gcc-multilib < 6:4.9.2-4
 
-%description multilib
+%description multilib-32
 A compiler aimed at integrating all the optimizations and features
 necessary for a high-performance and stable development environment.
 
 This package contains the C compiler support for producing 32-bit
 programs on 64-bit host.
 
-%description multilib -l pl.UTF-8
+%description multilib-32 -l pl.UTF-8
 Kompilator, posiadający duże możliwości optymalizacyjne niezbędne do
 wyprodukowania szybkiego i stabilnego kodu wynikowego.
 
 Ten pakiet zawiera rozszerzenie kompilatora C o obsługę tworzenia
 programów 32-bitowych na maszynie 64-bitowej.
 
+%package multilib-%{multilib2}
+Summary:       GNU Compiler Collection: the C compiler %{m2_desc} binaries support
+Summary(pl.UTF-8):     Kolekcja kompilatorów GNU: obsługa binariów %{m2_desc} dla kompilatora C
+License:       GPL v3+
+Group:         Development/Languages
+Requires:      %{name} = %{epoch}:%{version}-%{release}
+Requires:      libgcc-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+%{?with_multilib:Provides:     gcc(multilib-%{multilib2})}
+%ifarch %{x8664}
+Requires:      glibc-devel(x32)
+%endif
+%ifarch x32
+Requires:      glibc-devel(x86_64)
+%endif
+
+%description multilib-%{multilib2}
+A compiler aimed at integrating all the optimizations and features
+necessary for a high-performance and stable development environment.
+
+This package contains the C compiler support for producing %{m2_desc}
+binaries.
+
+%description multilib-%{multilib2} -l pl.UTF-8
+Kompilator, posiadający duże możliwości optymalizacyjne niezbędne do
+wyprodukowania szybkiego i stabilnego kodu wynikowego.
+
+Ten pakiet zawiera rozszerzenie kompilatora C o obsługę tworzenia
+binariów %{m2_desc}.
+
 %package -n libgcc
 Summary:       Shared gcc library
 Summary(es.UTF-8):     Biblioteca compartida de gcc
 Summary(pl.UTF-8):     Biblioteka gcc
 Summary(pt_BR.UTF-8):  Biblioteca runtime para o GCC
-License:       GPL v2+ with unlimited link permission
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
 Group:         Libraries
 Obsoletes:     libgcc1
-Obsoletes:     libgcc4
+Obsoletes:     libgcc4 < 5:4.2
 
 %description -n libgcc
 Shared gcc library.
@@ -269,22 +377,35 @@ Biblioteka dynamiczna gcc.
 %description -n libgcc -l pt_BR.UTF-8
 Biblioteca runtime para o GCC.
 
-%package -n libgcc-multilib
+%package -n libgcc-multilib-32
 Summary:       Shared gcc library - 32-bit version
 Summary(pl.UTF-8):     Biblioteka gcc - wersja 32-bitowa
-License:       GPL v2+ with unlimited link permission
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
 Group:         Libraries
+Obsoletes:     libgcc-multilib < 6:4.9.2-4
 
-%description -n libgcc-multilib
+%description -n libgcc-multilib-32
 Shared gcc library - 32-bit version.
 
-%description -n libgcc-multilib -l pl.UTF-8
+%description -n libgcc-multilib-32 -l pl.UTF-8
 Biblioteka dynamiczna gcc - wersja 32-bitowa.
 
+%package -n libgcc-multilib-%{multilib2}
+Summary:       Shared gcc library - %{m2_desc} version
+Summary(pl.UTF-8):     Biblioteka gcc - wersja %{m2_desc}
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Libraries
+
+%description -n libgcc-multilib-%{multilib2}
+Shared gcc library - %{m2_desc} version.
+
+%description -n libgcc-multilib-%{multilib2} -l pl.UTF-8
+Biblioteka dynamiczna gcc - wersja %{m2_desc}.
+
 %package -n libgomp
 Summary:       GNU OpenMP library
 Summary(pl.UTF-8):     Biblioteka GNU OpenMP
-License:       LGPL v2.1+ with unlimited link permission
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
 Group:         Libraries
 
 %description -n libgomp
@@ -293,22 +414,10 @@ GNU OpenMP library.
 %description -n libgomp -l pl.UTF-8
 Biblioteka GNU OpenMP.
 
-%package -n libgomp-multilib
-Summary:       GNU OpenMP library - 32-bit version
-Summary(pl.UTF-8):     Biblioteka GNU OpenMP - wersja 32-bitowa
-License:       LGPL v2.1+ with unlimited link permission
-Group:         Libraries
-
-%description -n libgomp-multilib
-GNU OpenMP library - 32-bit version.
-
-%description -n libgomp-multilib -l pl.UTF-8
-Biblioteka GNU OpenMP - wersja 32-bitowa.
-
 %package -n libgomp-devel
 Summary:       Development files for GNU OpenMP library
 Summary(pl.UTF-8):     Pliki programistyczne biblioteki GNU OpenMP
-License:       LGPL v2.1+ with unlimited link permission
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
 Group:         Development/Libraries
 Requires:      %{name} = %{epoch}:%{version}-%{release}
 Requires:      libgomp = %{epoch}:%{version}-%{release}
@@ -319,23 +428,10 @@ Development files for GNU OpenMP library.
 %description -n libgomp-devel -l pl.UTF-8
 Pliki programistyczne biblioteki GNU OpenMP.
 
-%package -n libgomp-multilib-devel
-Summary:       Development files for 32-bit version of GNU OpenMP library
-Summary(pl.UTF-8):     Pliki programistyczne wersji 32-bitowej biblioteki GNU OpenMP
-License:       LGPL v2.1+ with unlimited link permission
-Group:         Development/Libraries
-Requires:      libgomp-devel = %{epoch}:%{version}-%{release}
-
-%description -n libgomp-multilib-devel
-Development files for 32-bit version of GNU OpenMP library.
-
-%description -n libgomp-multilib-devel -l pl.UTF-8
-Pliki programistyczne wersji 32-bitowej biblioteki GNU OpenMP.
-
 %package -n libgomp-static
 Summary:       Static GNU OpenMP library
 Summary(pl.UTF-8):     Statyczna biblioteka GNU OpenMP
-License:       LGPL v2.1+ with unlimited link permission
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
 Group:         Development/Libraries
 Requires:      libgomp-devel = %{epoch}:%{version}-%{release}
 
@@ -345,124 +441,94 @@ Static GNU OpenMP library.
 %description -n libgomp-static -l pl.UTF-8
 Statyczna biblioteka GNU OpenMP.
 
-%package -n libgomp-multilib-static
-Summary:       Static GNU OpenMP library - 32-bit version
-Summary(pl.UTF-8):     Statyczna biblioteka GNU OpenMP - wersja 32-bitowa
-License:       LGPL v2.1+ with unlimited link permission
-Group:         Development/Libraries
-Requires:      libgomp-multilib-devel
-
-%description -n libgomp-multilib-static
-Static GNU OpenMP library - 32-bit version.
-
-%description -n libgomp-multilib-static -l pl.UTF-8
-Statyczna biblioteka GNU OpenMP - wersja 32-bitowa.
-
-%package -n libmudflap
-Summary:       GCC mudflap shared support libraries
-Summary(pl.UTF-8):     Współdzielone biblioteki wspomagająca GCC mudflap
-License:       GPL v2+ with unlimited link permission
+%package -n libgomp-multilib-32
+Summary:       GNU OpenMP library - 32-bit version
+Summary(pl.UTF-8):     Biblioteka GNU OpenMP - wersja 32-bitowa
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
 Group:         Libraries
+Obsoletes:     libgomp-multilib < 6:4.9.2-4
 
-%description -n libmudflap
-The libmudflap libraries are used by GCC for instrumenting pointer and
-array dereferencing operations.
+%description -n libgomp-multilib-32
+GNU OpenMP library - 32-bit version.
 
-%description -n libmudflap -l pl.UTF-8
-Biblioteki libmudflap są używane przez GCC do obsługi operacji
-dereferencji wspaźników i tablic.
+%description -n libgomp-multilib-32 -l pl.UTF-8
+Biblioteka GNU OpenMP - wersja 32-bitowa.
 
-%package -n libmudflap-multilib
-Summary:       GCC mudflap shared support libraries - 32-bit version
-Summary(pl.UTF-8):     Współdzielone biblioteki wspomagająca GCC mudflap - wersja 32-bitowa
-License:       GPL v2+ with unlimited link permission
-Group:         Libraries
+%package -n libgomp-multilib-32-devel
+Summary:       Development files for 32-bit version of GNU OpenMP library
+Summary(pl.UTF-8):     Pliki programistyczne wersji 32-bitowej biblioteki GNU OpenMP
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Development/Libraries
+Requires:      libgomp-devel = %{epoch}:%{version}-%{release}
+Obsoletes:     libgomp-multilib-devel < 6:4.9.2-4
 
-%description -n libmudflap-multilib
-The libmudflap libraries are used by GCC for instrumenting pointer and
-array dereferencing operations. This package contains 32-bit version.
+%description -n libgomp-multilib-32-devel
+Development files for 32-bit version of GNU OpenMP library.
 
-%description -n libmudflap-multilib -l pl.UTF-8
-Biblioteki libmudflap są używane przez GCC do obsługi operacji
-dereferencji wspaźników i tablic. Ten pakiet zawiera wersje 32-bitowe.
+%description -n libgomp-multilib-32-devel -l pl.UTF-8
+Pliki programistyczne wersji 32-bitowej biblioteki GNU OpenMP.
 
-%package -n libmudflap-devel
-Summary:       Development files for GCC mudflap libraries
-Summary(pl.UTF-8):     Pliki programistyczne bibliotek GCC mudflap
-License:       GPL v2+ with unlimited link permission
+%package -n libgomp-multilib-32-static
+Summary:       Static GNU OpenMP library - 32-bit version
+Summary(pl.UTF-8):     Statyczna biblioteka GNU OpenMP - wersja 32-bitowa
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
 Group:         Development/Libraries
-Requires:      libmudflap = %{epoch}:%{version}-%{release}
+Requires:      libgomp-multilib-32-devel = %{epoch}:%{version}-%{release}
+Obsoletes:     libgomp-multilib-static < 6:4.9.2-4
 
-%description -n libmudflap-devel
-The libmudflap libraries are used by GCC for instrumenting pointer and
-array dereferencing operations. This package contains development
-files.
+%description -n libgomp-multilib-32-static
+Static GNU OpenMP library - 32-bit version.
 
-%description -n libmudflap-devel -l pl.UTF-8
-Biblioteki libmudflap są używane przez GCC do obsługi operacji
-dereferencji wspaźników i tablic. Ten pakiet zawiera pliki
-programistyczne.
+%description -n libgomp-multilib-32-static -l pl.UTF-8
+Statyczna biblioteka GNU OpenMP - wersja 32-bitowa.
 
-%package -n libmudflap-multilib-devel
-Summary:       Development files for 32-bit version of GCC mudflap libraries
-Summary(pl.UTF-8):     Pliki programistyczne wersji 32-bitowych bibliotek GCC mudflap
-License:       GPL v2+ with unlimited link permission
-Group:         Development/Libraries
-Requires:      libmudflap-devel = %{epoch}:%{version}-%{release}
+%package -n libgomp-multilib-%{multilib2}
+Summary:       GNU OpenMP library - %{m2_desc} version
+Summary(pl.UTF-8):     Biblioteka GNU OpenMP - wersja %{m2_desc}
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Libraries
 
-%description -n libmudflap-multilib-devel
-The libmudflap libraries are used by GCC for instrumenting pointer and
-array dereferencing operations. This package contains development
-files for 32-bit version of the libraries.
+%description -n libgomp-multilib-%{multilib2}
+GNU OpenMP library - %{m2_desc} version.
 
-%description -n libmudflap-multilib-devel -l pl.UTF-8
-Biblioteki libmudflap są używane przez GCC do obsługi operacji
-dereferencji wspaźników i tablic. Ten pakiet zawiera pliki
-programistyczne wersji 32-bitowych bibliotek.
+%description -n libgomp-multilib-%{multilib2} -l pl.UTF-8
+Biblioteka GNU OpenMP - wersja %{m2_desc}.
 
-%package -n libmudflap-static
-Summary:       Static GCC mudflap libraries
-Summary(pl.UTF-8):     Statyczne biblioteki GCC mudflap
-License:       GPL v2+ with unlimited link permission
+%package -n libgomp-multilib-%{multilib2}-devel
+Summary:       Development files for %{m2_desc} version of GNU OpenMP library
+Summary(pl.UTF-8):     Pliki programistyczne wersji %{m2_desc} biblioteki GNU OpenMP
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
 Group:         Development/Libraries
-Requires:      libmudflap-devel = %{epoch}:%{version}-%{release}
+Requires:      libgomp-devel = %{epoch}:%{version}-%{release}
 
-%description -n libmudflap-static
-The libmudflap libraries are used by GCC for instrumenting pointer and
-array dereferencing operations. This package contains static
-libraries.
+%description -n libgomp-multilib-%{multilib2}-devel
+Development files for %{m2_desc} version of GNU OpenMP library.
 
-%description -n libmudflap-static -l pl.UTF-8
-Biblioteki libmudflap są używane przez GCC do obsługi operacji
-dereferencji wspaźników i tablic. Ten pakiet zawiera biblioteki
-statyczne.
+%description -n libgomp-multilib-%{multilib2}-devel -l pl.UTF-8
+Pliki programistyczne wersji %{m2_desc}-bitowej biblioteki GNU OpenMP.
 
-%package -n libmudflap-multilib-static
-Summary:       Static GCC mudflap libraries - 32-bit version
-Summary(pl.UTF-8):     Statyczne biblioteki GCC mudflap - wersje 32-bitowa
-License:       GPL v2+ with unlimited link permission
+%package -n libgomp-multilib-%{multilib2}-static
+Summary:       Static GNU OpenMP library - %{m2_desc} version
+Summary(pl.UTF-8):     Statyczna biblioteka GNU OpenMP - wersja %{m2_desc}
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
 Group:         Development/Libraries
-Requires:      libmudflap-multilib-devel = %{epoch}:%{version}-%{release}
+Requires:      libgomp-multilib-%{multilib2}-devel = %{epoch}:%{version}-%{release}
 
-%description -n libmudflap-multilib-static
-The libmudflap libraries are used by GCC for instrumenting pointer and
-array dereferencing operations. This package contains 32-bit static
-libraries.
+%description -n libgomp-multilib-%{multilib2}-static
+Static GNU OpenMP library - %{m2_desc} version.
 
-%description -n libmudflap-multilib-static -l pl.UTF-8
-Biblioteki libmudflap są używane przez GCC do obsługi operacji
-dereferencji wspaźników i tablic. Ten pakiet zawiera biblioteki
-statyczne 32-bitowe.
+%description -n libgomp-multilib-%{multilib2}-static -l pl.UTF-8
+Statyczna biblioteka GNU OpenMP - wersja %{m2_desc}.
 
 %package ada
-Summary:       Ada support for gcc
-Summary(es.UTF-8):     Soporte de Ada para gcc
-Summary(pl.UTF-8):     Obsługa Ady do gcc
+Summary:       Ada language support for GCC
+Summary(es.UTF-8):     Soporte de Ada para GCC
+Summary(pl.UTF-8):     Obsługa języka Ada do GCC
 Group:         Development/Languages
 Requires:      %{name} = %{epoch}:%{version}-%{release}
 Requires:      libgnat = %{epoch}:%{version}-%{release}
 Obsoletes:     gcc-gnat
-Obsoletes:     gnat-devel
+Obsoletes:     gnat-devel < 4
 
 %description ada
 This package adds experimental support for compiling Ada programs.
@@ -475,28 +541,45 @@ Ada.
 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
 Adzie.
 
-%package ada-multilib
-Summary:       Ada 32-bit support for gcc
-Summary(pl.UTF-8):     Obsługa 32-bitowych binariów Ady dla gcc
+%package ada-multilib-32
+Summary:       Ada language 32-bit binaries support for GCC
+Summary(pl.UTF-8):     Obsługa 32-bitowych binariów w języku Ada dla GCC
 Group:         Development/Languages
 Requires:      %{name}-ada = %{epoch}:%{version}-%{release}
-Requires:      libgnat-multilib = %{epoch}:%{version}-%{release}
+Requires:      libgnat-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     gcc-ada-multilib < 6:4.9.2-4
 
-%description ada-multilib
+%description ada-multilib-32
 This package adds experimental support for compiling 32-bit Ada
 programs on 64-bit host.
 
-%description ada-multilib -l pl.UTF-8
+%description ada-multilib-32 -l pl.UTF-8
 Ten pakiet dodaje eksperymentalną obsługę kompilacji programów
-32-bitowych w Adzie na maszynie 64-bitowej.
+32-bitowych w języku Ada na maszynie 64-bitowej.
+
+%package ada-multilib-%{multilib2}
+Summary:       Ada language %{m2_desc} binaries support for GCC
+Summary(pl.UTF-8):     Obsługa binariów %{m2_desc} w języku Ada dla GCC
+Group:         Development/Languages
+Requires:      %{name}-ada = %{epoch}:%{version}-%{release}
+Requires:      libgnat-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description ada-multilib-%{multilib2}
+This package adds experimental support for compiling Ada language to
+%{m2_desc} binaries.
+
+%description ada-multilib-%{multilib2} -l pl.UTF-8
+Ten pakiet dodaje eksperymentalną obsługę kompilacji programów w
+języku Ada do binariów %{m2_desc}.
 
 %package -n libgnat
 Summary:       Ada standard libraries
 Summary(es.UTF-8):     Bibliotecas estándares de Ada
-Summary(pl.UTF-8):     Biblioteki standardowe dla Ady
-License:       GPL v2+ with linking exception
+Summary(pl.UTF-8):     Biblioteki standardowe Ady
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
 Group:         Libraries
-Obsoletes:     gnat
+Requires:      libgcc = %{epoch}:%{version}-%{release}
+Obsoletes:     gnat < 4
 Obsoletes:     libgnat1
 
 %description -n libgnat
@@ -511,26 +594,12 @@ ejecutar programas escritos en Ada.
 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów
 napisanych w Adzie.
 
-%package -n libgnat-multilib
-Summary:       Ada standard libraries - 32-bit version
-Summary(pl.UTF-8):     Biblioteki standardowe dla Ady - wersja 32-bitowa
-License:       GPL v2+ with linking exception
-Group:         Libraries
-
-%description -n libgnat-multilib
-This package contains 32-bit version of shared libraries needed to run
-programs written in Ada.
-
-%description -n libgnat-multilib -l pl.UTF-8
-Ten pakiet zawiera wersje 32-bitowe bibliotek potrzebnych do
-uruchamiania programów napisanych w Adzie.
-
 %package -n libgnat-static
 Summary:       Static Ada standard libraries
 Summary(pl.UTF-8):     Statyczne biblioteki standardowe dla Ady
-License:       GPL v2+ with linking exception
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
 Group:         Development/Libraries
-Obsoletes:     gnat-static
+Obsoletes:     gnat-static < 4
 
 %description -n libgnat-static
 This package contains static libraries for programs written in Ada.
@@ -539,30 +608,76 @@ This package contains static libraries for programs written in Ada.
 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
 Adzie.
 
-%package -n libgnat-multilib-static
+%package -n libgnat-multilib-32
+Summary:       Ada standard libraries - 32-bit version
+Summary(pl.UTF-8):     Biblioteki standardowe dla Ady - wersja 32-bitowa
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Libraries
+Requires:      libgcc-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     libgnat-multilib < 6:4.9.2-4
+
+%description -n libgnat-multilib-32
+This package contains 32-bit version of shared libraries needed to run
+programs written in Ada.
+
+%description -n libgnat-multilib-32 -l pl.UTF-8
+Ten pakiet zawiera wersje 32-bitowe bibliotek potrzebnych do
+uruchamiania programów napisanych w języku Ada.
+
+%package -n libgnat-multilib-32-static
 Summary:       Static Ada standard libraries - 32-bit version
 Summary(pl.UTF-8):     Statyczne biblioteki standardowe dla Ady - wersje 32-bitowe
-License:       GPL v2+ with linking exception
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
 Group:         Development/Libraries
+Obsoletes:     libgnat-multilib-static < 6:4.9.2-4
 
-%description -n libgnat-multilib-static
+%description -n libgnat-multilib-32-static
 This package contains 32-bit version of static libraries for programs
 written in Ada.
 
-%description -n libgnat-multilib-static -l pl.UTF-8
+%description -n libgnat-multilib-32-static -l pl.UTF-8
 Ten pakiet zawiera 32-bitowe wersje bibliotek statycznych dla
 programów napisanych w Adzie.
 
+%package -n libgnat-multilib-%{multilib2}
+Summary:       Ada standard libraries - %{m2_desc} version
+Summary(pl.UTF-8):     Biblioteki standardowe dla Ady - wersja %{m2_desc}
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Libraries
+Requires:      libgcc-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description -n libgnat-multilib-%{multilib2}
+This package contains %{m2_desc} version of shared libraries needed to run
+programs written in Ada.
+
+%description -n libgnat-multilib-%{multilib2} -l pl.UTF-8
+Ten pakiet zawiera wersje %{m32_desc} bibliotek potrzebnych do
+uruchamiania programów napisanych w Adzie.
+
+%package -n libgnat-multilib-%{multilib2}-static
+Summary:       Static Ada standard libraries - %{m2_desc} version
+Summary(pl.UTF-8):     Statyczne biblioteki standardowe dla Ady - wersje %{m2_desc}
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Development/Libraries
+
+%description -n libgnat-multilib-%{multilib2}-static
+This package contains %{m2_desc} version of static libraries for programs
+written in Ada.
+
+%description -n libgnat-multilib-%{multilib2}-static -l pl.UTF-8
+Ten pakiet zawiera wersje %{m2_desc} bibliotek statycznych dla
+programów napisanych w Adzie.
+
 %package c++
-Summary:       C++ support for gcc
-Summary(es.UTF-8):     Soporte de C++ para gcc
-Summary(pl.UTF-8):     Obsługa C++ dla gcc
-Summary(pt_BR.UTF-8):  Suporte C++ para o gcc
+Summary:       C++ language support for GCC
+Summary(es.UTF-8):     Soporte de C++ para GCC
+Summary(pl.UTF-8):     Obsługa języka C++ dla GCC
+Summary(pt_BR.UTF-8):  Suporte C++ para o GCC
 Group:         Development/Languages
 Requires:      %{name} = %{epoch}:%{version}-%{release}
-Obsoletes:     egcc-c++
-Obsoletes:     egcs-c++
-Obsoletes:     gcc4-c++
+Obsoletes:     egcc-c++ < 1.2
+Obsoletes:     egcs-c++ < 1.2
+Obsoletes:     gcc4-c++ < 5:4.2
 
 %description c++
 This package adds C++ support to the GNU Compiler Collection. It
@@ -590,9 +705,9 @@ C++, dont les modéles et la gestion des exceptions. Il ne comprend pas
 une bibliothéque C++ standard, qui est disponible séparément.
 
 %description c++ -l pl.UTF-8
-Ten pakiet dodaje obsługę C++ do kompilatora gcc. Ma wsparcie dla
-dużej ilości obecnych specyfikacji C++, nie zawiera natomiast
-standardowych bibliotek C++, które są w oddzielnym pakiecie.
+Ten pakiet dodaje obsługę C++ do kompilatora GCC. Wspiera większość
+obecnej specyfikacji C++, nie zawiera natomiast standardowych
+bibliotek C++, które są w oddzielnym pakiecie.
 
 %description c++ -l pt_BR.UTF-8
 Este pacote adiciona suporte C++ para o gcc.
@@ -602,35 +717,53 @@ Bu paket, GNU C derleyicisine C++ desteği ekler. 'Template'ler ve
 aykırı durum işleme gibi çoğu güncel C++ tanımlarına uyar. Standart
 C++ kitaplığı bu pakette yer almaz.
 
-%package c++-multilib
-Summary:       C++ 32-bit support for gcc
-Summary(pl.UTF-8):     Obsługa 32-bitowych binariów C++ dla gcc
+%package c++-multilib-32
+Summary:       C++ language 32-bit binaries support for GCC
+Summary(pl.UTF-8):     Obsługa 32-bitowych binariów w języku C++ dla GCC
+Group:         Development/Languages
+Requires:      %{name}-c++ = %{epoch}:%{version}-%{release}
+Requires:      %{name}-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     gcc-c++-multilib < 6:4.9.2-4
+
+%description c++-multilib-32
+This package adds 32-bit binaries in C++ language support to the GNU
+Compiler Collection.
+
+%description c++-multilib-32 -l pl.UTF-8
+Ten pakiet dodaje obsługę 32-bitowych binariów w języku C++ do
+kompilatora GCC.
+
+%package c++-multilib-%{multilib2}
+Summary:       C++ language %{m2_desc} binaries support for GCC
+Summary(pl.UTF-8):     Obsługa %{multilib2}-bitowych binariów C++ dla GCC
 Group:         Development/Languages
 Requires:      %{name}-c++ = %{epoch}:%{version}-%{release}
-Requires:      %{name}-multilib = %{epoch}:%{version}-%{release}
+Requires:      %{name}-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
 
-%description c++-multilib
-This package adds 32-bit C++ support to the GNU Compiler Collection.
+%description c++-multilib-%{multilib2}
+This package adds %{m2_desc} binaries in C++ language support to the GNU
+Compiler Collection.
 
-%description c++-multilib -l pl.UTF-8
-Ten pakiet dodaje obsługę 32-bitowych binariów C++ do kompilatora gcc.
+%description c++-multilib-%{multilib2} -l pl.UTF-8
+Ten pakiet dodaje obsługę binariów %{m2_desc} w języku C++ do kompilatora
+GCC.
 
 %package -n libstdc++
 Summary:       GNU C++ library
 Summary(es.UTF-8):     Biblioteca C++ de GNU
-Summary(pl.UTF-8):     Biblioteki GNU C++
+Summary(pl.UTF-8):     Biblioteka GNU C++
 Summary(pt_BR.UTF-8):  Biblioteca C++ GNU
-License:       GPL v2+ with free software exception
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
 Group:         Libraries
 # >= instead of = to allow keeping older libstdc++ (with different soname)
 Requires:      libgcc >= %{epoch}:%{version}-%{release}
 Obsoletes:     libg++
-Obsoletes:     libstdc++3
-Obsoletes:     libstdc++4
+Obsoletes:     libstdc++3 < 5:3.1
+Obsoletes:     libstdc++4 < 5:3.2
 
 %description -n libstdc++
-This is the GNU implementation of the standard C++ libraries, along
-with additional GNU tools. This package includes the shared libraries
+This is the GNU implementation of the standard C++ library, along with
+additional GNU tools. This package includes the shared libraries
 necessary to run C++ applications.
 
 %description -n libstdc++ -l de.UTF-8
@@ -649,9 +782,9 @@ des outils GNU supplémentaires. Ce package comprend les librairies
 partagées nécessaires à l'exécution d'application C++.
 
 %description -n libstdc++ -l pl.UTF-8
-Pakiet ten zawiera biblioteki będące implementacją standardowych
-bibliotek C++. Znajdują się w nim biblioteki dynamiczne niezbędne do
-uruchomienia aplikacji napisanych w C++.
+Ten pakiet zawiera bibliotekę będącą implementacją standardowej
+biblioteki C++. Znajduje się w nim biblioteka dynamiczna niezbędne do
+uruchamiania aplikacji napisanych w C++.
 
 %description -n libstdc++ -l pt_BR.UTF-8
 Este pacote é uma implementação da biblioteca padrão C++ v3, um
@@ -661,35 +794,6 @@ subconjunto do padrão ISO 14882.
 Bu paket, standart C++ kitaplıklarının GNU gerçeklemesidir ve C++
 uygulamalarının koşturulması için gerekli kitaplıkları içerir.
 
-%package -n libstdc++-multilib
-Summary:       GNU C++ library - 32-bit version
-Summary(pl.UTF-8):     Biblioteka GNU C++ - wersja 32-bitowa
-License:       GPL v2+ with free software exception
-Group:         Libraries
-# >= instead of = to allow keeping older libstdc++ (with different soname)
-Requires:      libgcc-multilib >= %{epoch}:%{version}-%{release}
-
-%description -n libstdc++-multilib
-This is 32-bit version of the GNU implementation of the standard C++
-library.
-
-%description -n libstdc++-multilib -l pl.UTF-8
-Ten pakiet ten zawiera 32-bitową wersję implementacji GNU biblioteki
-standardowej C++.
-
-%package -n libstdc++-gdb
-Summary:       libstdc++ pretty printers for GDB
-Summary(pl.UTF-8):     Funkcje wypisujące dane libstdc++ dla GDB
-Group:         Development/Debuggers
-
-%description -n libstdc++-gdb
-This package contains Python scripts for GDB pretty printing of the
-libstdc++ types/containers.
-
-%description -n libstdc++-gdb -l pl.UTF-8
-Ten pakiet zawiera skrypty Pythona dla GDB służące do ładnego
-wypisywania typów i kontenerów libstdc++.
-
 %package -n libstdc++-devel
 Summary:       Header files and documentation for C++ development
 Summary(de.UTF-8):     Header-Dateien zur Entwicklung mit C++
@@ -698,14 +802,14 @@ Summary(fr.UTF-8):        Fichiers d'en-tête et biblitothèques pour développer en C+
 Summary(pl.UTF-8):     Pliki nagłówkowe i dokumentacja do biblioteki standardowej C++
 Summary(pt_BR.UTF-8):  Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
 Summary(tr.UTF-8):     C++ ile program geliştirmek için gerekli dosyalar
-License:       GPL v2+ with free software exception
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
 Group:         Development/Libraries
 Requires:      %{name}-c++ = %{epoch}:%{version}-%{release}
 Requires:      glibc-devel
 Requires:      libstdc++ = %{epoch}:%{version}-%{release}
 Obsoletes:     libg++-devel
-Obsoletes:     libstdc++3-devel
-Obsoletes:     libstdc++4-devel
+Obsoletes:     libstdc++3-devel < 5:3.1
+Obsoletes:     libstdc++4-devel < 5:3.2
 
 %description -n libstdc++-devel
 This is the GNU implementation of the standard C++ libraries. This
@@ -726,31 +830,14 @@ programowaniu w języku C++ oraz dokumentacja biblioteki standardowej.
 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias
 para desenvolvimento de programas C++.
 
-%package -n libstdc++-multilib-devel
-Summary:       Development files for C++ development - 32-bit version
-Summary(pl.UTF-8):     Pliki programistyczne biblioteki standardowej C++ - wersja 32-bitowa
-License:       GPL v2+ with free software exception
-Group:         Development/Libraries
-Requires:      %{name}-c++-multilib = %{epoch}:%{version}-%{release}
-Requires:      libstdc++-devel = %{epoch}:%{version}-%{release}
-Requires:      libstdc++-multilib = %{epoch}:%{version}-%{release}
-
-%description -n libstdc++-multilib-devel
-This package contains the development files for 32-bit version of the
-GNU implementation of the standard C++ library.
-
-%description -n libstdc++-multilib-devel -l pl.UTF-8
-Ten pakiet zawiera pliki programistyczne 32-bitowej wersji
-implementacji GNU biblioteki standardowej C++.
-
 %package -n libstdc++-static
 Summary:       Static C++ standard library
 Summary(es.UTF-8):     Biblioteca estándar estática de C++
 Summary(pl.UTF-8):     Statyczna biblioteka standardowa C++
-License:       GPL v2+ with free software exception
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
 Group:         Development/Libraries
 Requires:      libstdc++-devel = %{epoch}:%{version}-%{release}
-Obsoletes:     libstdc++4-static
+Obsoletes:     libstdc++4-static < 5:3.2
 
 %description -n libstdc++-static
 Static C++ standard library.
@@ -761,23 +848,120 @@ Biblioteca estándar estática de C++.
 %description -n libstdc++-static -l pl.UTF-8
 Statyczna biblioteka standardowa C++.
 
-%package -n libstdc++-multilib-static
+%package -n libstdc++-multilib-32
+Summary:       GNU C++ library - 32-bit version
+Summary(pl.UTF-8):     Biblioteka GNU C++ - wersja 32-bitowa
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Libraries
+# >= instead of = to allow keeping older libstdc++ (with different soname)
+Requires:      libgcc-multilib-32 >= %{epoch}:%{version}-%{release}
+Obsoletes:     libstdc++-multilib < 6:4.9.2-4
+
+%description -n libstdc++-multilib-32
+This is 32-bit version of the GNU implementation of the standard C++
+library.
+
+%description -n libstdc++-multilib-32 -l pl.UTF-8
+Ten pakiet ten zawiera 32-bitową wersję implementacji GNU biblioteki
+standardowej C++.
+
+%package -n libstdc++-multilib-32-devel
+Summary:       Development files for C++ development - 32-bit version
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki standardowej C++ - wersja 32-bitowa
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Development/Libraries
+Requires:      %{name}-c++-multilib-32 = %{epoch}:%{version}-%{release}
+Requires:      libstdc++-devel = %{epoch}:%{version}-%{release}
+Requires:      libstdc++-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     libstdc++-multilib-devel < 6:4.9.2-4
+
+%description -n libstdc++-multilib-32-devel
+This package contains the development files for 32-bit version of the
+GNU implementation of the standard C++ library.
+
+%description -n libstdc++-multilib-32-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne 32-bitowej wersji
+implementacji GNU biblioteki standardowej C++.
+
+%package -n libstdc++-multilib-32-static
 Summary:       Static C++ standard library - 32-bit version
 Summary(pl.UTF-8):     Statyczna biblioteka standardowa C++ - wersja 32-bitowa
-License:       GPL v2+ with free software exception
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
 Group:         Development/Libraries
-Requires:      libstdc++-multilib-devel = %{epoch}:%{version}-%{release}
+Requires:      libstdc++-multilib-32-devel = %{epoch}:%{version}-%{release}
+Obsoletes:     libstdc++-multilib-static < 6:4.9.2-4
 
-%description -n libstdc++-multilib-static
+%description -n libstdc++-multilib-32-static
 Static C++ standard library - 32-bit version.
 
-%description -n libstdc++-multilib-static -l pl.UTF-8
+%description -n libstdc++-multilib-32-static -l pl.UTF-8
 Statyczna biblioteka standardowa C++ - wersja 32-bitowa.
 
+%package -n libstdc++-multilib-%{multilib2}
+Summary:       GNU C++ library - %{m2_desc} version
+Summary(pl.UTF-8):     Biblioteka GNU C++ - wersja %{m2_desc}
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Libraries
+# >= instead of = to allow keeping older libstdc++ (with different soname)
+Requires:      libgcc-multilib-%{multilib2} >= %{epoch}:%{version}-%{release}
+
+%description -n libstdc++-multilib-%{multilib2}
+This is %{m2_desc} version of the GNU implementation of the standard C++
+library.
+
+%description -n libstdc++-multilib-%{multilib2} -l pl.UTF-8
+Ten pakiet ten zawiera wersję %{m2_desc} implementacji GNU biblioteki
+standardowej C++.
+
+%package -n libstdc++-multilib-%{multilib2}-devel
+Summary:       Development files for C++ development - %{m2_desc} version
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki standardowej C++ - wersja %{m2_desc}
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Development/Libraries
+Requires:      %{name}-c++-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+Requires:      libstdc++-devel = %{epoch}:%{version}-%{release}
+Requires:      libstdc++-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description -n libstdc++-multilib-%{multilib2}-devel
+This package contains the development files for %{m2_desc} version of the
+GNU implementation of the standard C++ library.
+
+%description -n libstdc++-multilib-%{multilib2}-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne wersji %{m2_desc}
+implementacji GNU biblioteki standardowej C++.
+
+%package -n libstdc++-multilib-%{multilib2}-static
+Summary:       Static C++ standard library - %{m2_desc} version
+Summary(pl.UTF-8):     Statyczna biblioteka standardowa C++ - wersja %{m2_desc}
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Development/Libraries
+Requires:      libstdc++-multilib-%{multilib2}-devel = %{epoch}:%{version}-%{release}
+
+%description -n libstdc++-multilib-%{multilib2}-static
+Static C++ standard library - %{m2_desc} version.
+
+%description -n libstdc++-multilib-%{multilib2}-static -l pl.UTF-8
+Statyczna biblioteka standardowa C++ - wersja %{m2_desc}.
+
+%package -n libstdc++-gdb
+Summary:       libstdc++ pretty printers for GDB
+Summary(pl.UTF-8):     Funkcje wypisujące dane libstdc++ dla GDB
+Group:         Development/Debuggers
+
+%description -n libstdc++-gdb
+This package contains Python scripts for GDB pretty printing of the
+libstdc++ types/containers.
+
+%description -n libstdc++-gdb -l pl.UTF-8
+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
+BuildArch:     noarch
 
 %description -n libstdc++-apidocs
 API and internal documentation for C++ standard library.
@@ -786,17 +970,17 @@ API and internal documentation for C++ standard library.
 Dokumentacja API i wewnętrzna biblioteki standardowej C++.
 
 %package fortran
-Summary:       Fortran 95 support for gcc
-Summary(es.UTF-8):     Soporte de Fortran 95 para gcc
-Summary(pl.UTF-8):     Obsługa Fortranu 95 dla gcc
+Summary:       Fortran 95 language support for GCC
+Summary(es.UTF-8):     Soporte de Fortran 95 para GCC
+Summary(pl.UTF-8):     Obsługa języka Fortran 95 dla GCC
 Summary(pt_BR.UTF-8):  Suporte Fortran 95 para o GCC
 Group:         Development/Languages/Fortran
 Requires:      %{name} = %{epoch}:%{version}-%{release}
 Requires:      libgfortran = %{epoch}:%{version}-%{release}
-Requires:      libquadmath-devel = %{epoch}:%{version}-%{release}
+%{?with_quadmath:Requires:     libquadmath-devel = %{epoch}:%{version}-%{release}}
 Provides:      gcc-g77 = %{epoch}:%{version}-%{release}
-Obsoletes:     egcs-g77
-Obsoletes:     gcc-g77
+Obsoletes:     egcs-g77 < 1.2
+Obsoletes:     gcc-g77 < 5:4
 
 %description fortran
 This package adds support for compiling Fortran 95 programs with the
@@ -807,36 +991,53 @@ Este paquete añade soporte para compilar programas escritos en Fortran
 95 con el compilador GNU.
 
 %description fortran -l pl.UTF-8
-Ten pakiet dodaje obsługę Fortranu 95 do kompilatora gcc. Jest
-potrzebny do kompilowania programów pisanych w języku Fortran 95.
+Ten pakiet dodaje obsługę języka Fortran 95 do kompilatora GCC.
 
 %description fortran -l pt_BR.UTF-8
 Suporte Fortran 95 para o GCC.
 
-%package fortran-multilib
-Summary:       Fortran 95 32-bit support for gcc
-Summary(pl.UTF-8):     Obsługa binariów 32-bitowych Fortrana 95 dla gcc
+%package fortran-multilib-32
+Summary:       Fortran 95 language 32-bit binaries support for GCC
+Summary(pl.UTF-8):     Obsługa binariów 32-bitowych w języku Fortran 95 dla GCC
 Group:         Development/Languages/Fortran
 Requires:      %{name}-fortran = %{epoch}:%{version}-%{release}
-Requires:      libgfortran-multilib = %{epoch}:%{version}-%{release}
-Requires:      libquadmath-multilib-devel = %{epoch}:%{version}-%{release}
+Requires:      libgfortran-multilib-32 = %{epoch}:%{version}-%{release}
+%{?with_quadmath:Requires:     libquadmath-multilib-32-devel = %{epoch}:%{version}-%{release}}
+Obsoletes:     gcc-fortran-multilib < 6:4.9.2-4
 
-%description fortran-multilib
+%description fortran-multilib-32
 This package adds support for compiling 32-bit Fortran 95 programs
 with the GNU compiler.
 
-%description fortran-multilib -l pl.UTF-8
+%description fortran-multilib-32 -l pl.UTF-8
 Ten pakiet dodaje obsługę 32-bitowych programów w Fortranie 95 do
 kompilatora gcc.
 
+%package fortran-multilib-%{multilib2}
+Summary:       Fortran 95 language %{m2_desc} binaries support for GCC
+Summary(pl.UTF-8):     Obsługa binariów %{m2_desc} w języku Fortran 95 dla GCC
+Group:         Development/Languages/Fortran
+Requires:      %{name}-fortran = %{epoch}:%{version}-%{release}
+Requires:      libgfortran-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+%{?with_quadmath:Requires:     libquadmath-multilib-%{multilib2}-devel = %{epoch}:%{version}-%{release}}
+
+%description fortran-multilib-%{multilib2}
+This package adds support for compiling Fortran 95 programs to %{m2_desc}
+binaries with the GNU compiler.
+
+%description fortran-multilib-%{multilib2} -l pl.UTF-8
+Ten pakiet dodaje obsługę binariów %{m2_desc} w języku Fortran 95 do
+kompilatora GCC.
+
 %package -n libgfortran
 Summary:       Fortran 95 Library
 Summary(es.UTF-8):     Biblioteca de Fortran 95
-Summary(pl.UTF-8):     Biblioteka Fortrana 95
-License:       GPL v2+ with unlimited link permission
+Summary(pl.UTF-8):     Biblioteka Fortranu 95
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
 Group:         Libraries
-Requires:      libquadmath = %{epoch}:%{version}-%{release}
-Obsoletes:     libg2c
+Requires:      libgcc = %{epoch}:%{version}-%{release}
+%{?with_quadmath:Requires:     libquadmath = %{epoch}:%{version}-%{release}}
+Obsoletes:     libg2c < 5:4
 
 %description -n libgfortran
 Fortran 95 Library.
@@ -845,29 +1046,16 @@ Fortran 95 Library.
 Biblioteca de Fortran 95.
 
 %description -n libgfortran -l pl.UTF-8
-Biblioteka Fortrana 95.
-
-%package -n libgfortran-multilib
-Summary:       Fortran 95 Library - 32-bit version
-Summary(pl.UTF-8):     Biblioteka Fortrana 95 - wersja 32-bitowa
-License:       GPL v2+ with unlimited link permission
-Group:         Libraries
-Requires:      libquadmath-multilib = %{epoch}:%{version}-%{release}
-
-%description -n libgfortran-multilib
-Fortran 95 Library - 32-bit version.
-
-%description -n libgfortran-multilib -l pl.UTF-8
-Biblioteka Fortrana 95 - wersja 32-bitowa.
+Biblioteka Fortranu 95.
 
 %package -n libgfortran-static
 Summary:       Static Fortran 95 Library
 Summary(es.UTF-8):     Bibliotecas estáticas de Fortran 95
-Summary(pl.UTF-8):     Statyczna Biblioteka Fortrana 95
-License:       GPL v2+ with unlimited link permission
+Summary(pl.UTF-8):     Statyczna Biblioteka Fortranu 95
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
 Group:         Development/Libraries
 Requires:      libgfortran = %{epoch}:%{version}-%{release}
-Obsoletes:     libg2c-static
+Obsoletes:     libg2c-static < 5:4
 
 %description -n libgfortran-static
 Static Fortran 95 Library.
@@ -876,25 +1064,68 @@ Static Fortran 95 Library.
 Bibliotecas estáticas de Fortran 95.
 
 %description -n libgfortran-static -l pl.UTF-8
-Statyczna biblioteka Fortrana 95.
+Statyczna biblioteka Fortranu 95.
+
+%package -n libgfortran-multilib-32
+Summary:       Fortran 95 Library - 32-bit version
+Summary(pl.UTF-8):     Biblioteka Fortranu 95 - wersja 32-bitowa
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Libraries
+Requires:      libgcc-multilib-32 = %{epoch}:%{version}-%{release}
+%{?with_quadmath:Requires:     libquadmath-multilib-32 = %{epoch}:%{version}-%{release}}
+Obsoletes:     libgfortran-multilib < 6:4.9.2-4
+
+%description -n libgfortran-multilib-32
+Fortran 95 Library - 32-bit version.
 
-%package -n libgfortran-multilib-static
+%description -n libgfortran-multilib-32 -l pl.UTF-8
+Biblioteka Fortranu 95 - wersja 32-bitowa.
+
+%package -n libgfortran-multilib-32-static
 Summary:       Static Fortran 95 Library - 32-bit version
-Summary(pl.UTF-8):     Statyczna Biblioteka Fortrana 95 - wersja 32-bitowa
-License:       GPL v2+ with unlimited link permission
+Summary(pl.UTF-8):     Statyczna Biblioteka Fortranu 95 - wersja 32-bitowa
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
 Group:         Development/Libraries
-Requires:      libgfortran-multilib = %{epoch}:%{version}-%{release}
+Requires:      libgfortran-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     libgfortran-multilib-static < 6:4.9.2-4
 
-%description -n libgfortran-multilib-static
+%description -n libgfortran-multilib-32-static
 Static Fortran 95 Library - 32-bit version.
 
-%description -n libgfortran-multilib-static -l pl.UTF-8
-Statyczna biblioteka Fortrana 95 - wersja 32-bitowa.
+%description -n libgfortran-multilib-32-static -l pl.UTF-8
+Statyczna biblioteka Fortranu 95 - wersja 32-bitowa.
 
-%package -n libquadmath
-Summary:       GCC __float128 shared support library
-Summary(pl.UTF-8):     Biblioteka współdzielona do obsługi typu __float128
-License:       GPL v2+ with linking exception
+%package -n libgfortran-multilib-%{multilib2}
+Summary:       Fortran 95 Library - %{m2_desc} version
+Summary(pl.UTF-8):     Biblioteka Fortranu 95 - wersja %{m2_desc}
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Libraries
+%{?with_quadmath:Requires:     libquadmath-multilib-%{multilib2} = %{epoch}:%{version}-%{release}}
+
+%description -n libgfortran-multilib-%{multilib2}
+Fortran 95 Library - %{m2_desc} version.
+
+%description -n libgfortran-multilib-%{multilib2} -l pl.UTF-8
+Biblioteka Fortranu 95 - wersja %{m2_desc}.
+
+%package -n libgfortran-multilib-%{multilib2}-static
+Summary:       Static Fortran 95 Library - %{m2_desc} version
+Summary(pl.UTF-8):     Statyczna Biblioteka Fortranu 95 - wersja %{m2_desc}
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Development/Libraries
+Requires:      libgcc-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+Requires:      libgfortran-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description -n libgfortran-multilib-%{multilib2}-static
+Static Fortran 95 Library - %{m2_desc} version.
+
+%description -n libgfortran-multilib-%{multilib2}-static -l pl.UTF-8
+Statyczna biblioteka Fortranu 95 - wersja %{m2_desc}.
+
+%package -n libquadmath
+Summary:       GCC __float128 shared support library
+Summary(pl.UTF-8):     Biblioteka współdzielona do obsługi typu __float128
+License:       LGPL v2.1+
 Group:         Libraries
 
 %description -n libquadmath
@@ -906,26 +1137,10 @@ Ten pakiet zawiera bibliotekę współdzieloną GCC do obsługi operacji
 matematycznych na zmiennych typu __float128 oraz typu REAL*16 w
 Fortranie.
 
-%package -n libquadmath-multilib
-Summary:       GCC __float128 shared support library - 32-bit version
-Summary(pl.UTF-8):     Biblioteka współdzielona GCC do obsługi typu __float128 - wersja 32-bitowa
-License:       GPL v2+ with linking exception
-Group:         Libraries
-
-%description -n libquadmath-multilib
-This package contains 32-bit version of GCC shared support library
-which is needed for __float128 math support and for Fortran REAL*16
-support.
-
-%description -n libquadmath-multilib -l pl.UTF-8
-Ten pakiet zawiera 32-bitową bibliotekę współdzieloną GCC do obsługi
-operacji matematycznych na zmiennych typu __float128 oraz typu REAL*16
-w Fortranie.
-
 %package -n libquadmath-devel
 Summary:       Header files for GCC __float128 support library
 Summary(pl.UTF-8):     Pliki nagłówkowe biblioteka GCC do obsługi typu __float128
-License:       GPL v2+ with linking exception
+License:       LGPL v2.1+
 Group:         Development/Libraries
 Requires:      libquadmath = %{epoch}:%{version}-%{release}
 
@@ -938,156 +1153,120 @@ Ten pakiet zawiera pliki nagłówkowe biblioteki GCC do obsługi operacji
 matematycznych na zmiennych typu __float128 oraz typu REAL*16 w
 Fortranie.
 
-%package -n libquadmath-multilib-devel
+%package -n libquadmath-static
+Summary:       Static GCC __float128 support library
+Summary(pl.UTF-8):     Biblioteka statyczna GCC do obsługi typu __float128
+License:       LGPL v2.1+
+Group:         Development/Libraries
+Requires:      libquadmath-devel = %{epoch}:%{version}-%{release}
+
+%description -n libquadmath-static
+Static GCC __float128 support library.
+
+%description -n libquadmath-static -l pl.UTF-8
+Biblioteka statyczna GCC do obsługi typu __float128.
+
+%package -n libquadmath-multilib-32
+Summary:       GCC __float128 shared support library - 32-bit version
+Summary(pl.UTF-8):     Biblioteka współdzielona GCC do obsługi typu __float128 - wersja 32-bitowa
+License:       LGPL v2.1+
+Group:         Libraries
+Obsoletes:     libquadmath-multilib < 6:4.9.2-4
+
+%description -n libquadmath-multilib-32
+This package contains 32-bit version of GCC shared support library
+which is needed for __float128 math support and for Fortran REAL*16
+support.
+
+%description -n libquadmath-multilib-32 -l pl.UTF-8
+Ten pakiet zawiera 32-bitową bibliotekę współdzieloną GCC do obsługi
+operacji matematycznych na zmiennych typu __float128 oraz typu REAL*16
+w Fortranie.
+
+%package -n libquadmath-multilib-32-devel
 Summary:       Development files for 32-bit GCC __float128 support library
 Summary(pl.UTF-8):     Pliki programistyczne 32-bitowej biblioteki do obsługi typu __float128
-License:       GPL v2+ with linking exception
+License:       LGPL v2.1+
 Group:         Development/Libraries
 Requires:      libquadmath-devel = %{epoch}:%{version}-%{release}
-Requires:      libquadmath-multilib = %{epoch}:%{version}-%{release}
+Requires:      libquadmath-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     libquadmath-multilib-devel < 6:4.9.2-4
 
-%description -n libquadmath-multilib-devel
+%description -n libquadmath-multilib-32-devel
 This package contains development files for 32-bit GCC support library
 which is needed for __float128 math support and for Fortran REAL*16
 support.
 
-%description -n libquadmath-multilib-devel -l pl.UTF-8
+%description -n libquadmath-multilib-32-devel -l pl.UTF-8
 Ten pakiet zawiera pliki programistyczne 32-bitowej biblioteki GCC do
 obsługi operacji matematycznych na zmiennych typu __float128 oraz typu
 REAL*16 w Fortranie.
 
-%package -n libquadmath-static
-Summary:       Static GCC __float128 support library
-Summary(pl.UTF-8):     Biblioteka statyczna GCC do obsługi typu __float128
-License:       GPL v2+ with linking exception
-Group:         Development/Libraries
-Requires:      libquadmath-devel = %{epoch}:%{version}-%{release}
-
-%description -n libquadmath-static
-Static GCC __float128 support library.
-
-%description -n libquadmath-static -l pl.UTF-8
-Biblioteka statyczna GCC do obsługi typu __float128.
-
-%package -n libquadmath-multilib-static
+%package -n libquadmath-multilib-32-static
 Summary:       Static GCC __float128 support library - 32-bit version
 Summary(pl.UTF-8):     32-bitowa biblioteka statyczna GCC do obsługi typu __float128
-License:       GPL v2+ with linking exception
+License:       LGPL v2.1+
 Group:         Development/Libraries
-Requires:      libquadmath-multilib-devel = %{epoch}:%{version}-%{release}
+Requires:      libquadmath-multilib-32-devel = %{epoch}:%{version}-%{release}
+Obsoletes:     libquadmath-multilib-static < 6:4.9.2-4
 
-%description -n libquadmath-multilib-static
+%description -n libquadmath-multilib-32-static
 Static GCC __float128 support library - 32-bit version.
 
-%description -n libquadmath-multilib-static -l pl.UTF-8
+%description -n libquadmath-multilib-32-static -l pl.UTF-8
 32-bitowa biblioteka statyczna GCC do obsługi typu __float128.
 
-%package java
-Summary:       Java support for gcc
-Summary(es.UTF-8):     Soporte de Java para gcc
-Summary(pl.UTF-8):     Obsługa Javy dla gcc
-Group:         Development/Languages/Java
-Requires:      %{name} = %{epoch}:%{version}-%{release}
-Requires:      libgcj-devel = %{epoch}:%{version}-%{release}
-Provides:      gcc-java-tools
-Provides:      gcj = %{epoch}:%{version}-%{release}
-Obsoletes:     eclipse-ecj
-Obsoletes:     gcc-java-tools
-Obsoletes:     java-gnu-classpath-tools
-
-%description java
-This package adds experimental support for compiling Java(TM) programs
-and bytecode into native code. To use this you will also need the
-libgcj package.
-
-%description java -l es.UTF-8
-Este paquete añade soporte experimental para compilar programas
-Java(tm) y su bytecode en código nativo. Para usarlo también va a
-necesitar el paquete libgcj.
-
-%description java -l pl.UTF-8
-Ten pakiet dodaje możliwość kompilowania programów w języku Java(TM)
-oraz bajtkodu do kodu natywnego. Do używania go wymagany jest
-dodatkowo pakiet libgcj.
-
-%package java-aotcompile
-Summary:       Java AOT-compiler - compiling bytecode to native
-Summary(pl.UTF-8):     Kompilator AOT dla Javy - kompilacja bajtkodu do kodu natywnego
-License:       GPL v2+
-Group:         Development/Tools
-Requires:      %{name}-java = %{epoch}:%{version}-%{release}
-
-%description java-aotcompile
-aot-compile is a script that searches a directory for Java bytecode
-(as class files, or in jars) and uses gcj to compile it to native code
-and generate the databases from it.
-
-%description java-aotcompile -l pl.UTF-8
-aot-compile to skrypt wyszukujący w katalogu bajtkod Javy (w plikach
-class lub jarach) i kompilujący go przy użyciu gcj, a następnie
-generujący z niego bazy danych.
-
-%package -n libgcj
-Summary:       Java Class Libraries
-Summary(es.UTF-8):     Bibliotecas de clases de Java
-Summary(pl.UTF-8):     Biblioteki Klas Javy
-License:       GPL v2+ with limited linking exception
+%package -n libquadmath-multilib-%{multilib2}
+Summary:       GCC __float128 shared support library - %{m2_desc} version
+Summary(pl.UTF-8):     Biblioteka współdzielona GCC do obsługi typu __float128 - wersja %{m2_desc}
+License:       LGPL v2.1+
 Group:         Libraries
-Requires:      jpackage-utils
-Requires:      libstdc++ = %{epoch}:%{version}-%{release}
-Provides:      java(ClassDataVersion) = %{_classdataversion}
-Obsoletes:     libgcj3
-
-%description -n libgcj
-Java Class Libraries.
 
-%description -n libgcj -l es.UTF-8
-Bibliotecas de clases de Java.
+%description -n libquadmath-multilib-%{multilib2}
+This package contains %{m2_desc} version of GCC shared support library
+which is needed for __float128 math support and for Fortran REAL*16
+support.
 
-%description -n libgcj -l pl.UTF-8
-Biblioteki Klas Javy.
+%description -n libquadmath-multilib-%{multilib2} -l pl.UTF-8
+Ten pakiet zawiera wersję %{m2_desc} biblioteki współdzielonej GCC do
+obsługi operacji matematycznych na zmiennych typu __float128 oraz typu
+REAL*16 w Fortranie.
 
-%package -n libgcj-devel
-Summary:       Development files for Java Class Libraries
-Summary(es.UTF-8):     Ficheros de desarrollo para las bibliotecas de clases de Java
-Summary(pl.UTF-8):     Pliki nagłówkowe dla Bibliotek Klas Javy
-License:       GPL v2+ with limited linking exception
+%package -n libquadmath-multilib-%{multilib2}-devel
+Summary:       Development files for %{m2_desc} version of GCC __float128 support library
+Summary(pl.UTF-8):     Pliki programistyczne wersji %{m2_desc} biblioteki do obsługi typu __float128
+License:       LGPL v2.1+
 Group:         Development/Libraries
-Requires:      libgcj = %{epoch}:%{version}-%{release}
-Requires:      libstdc++-devel = %{epoch}:%{version}-%{release}
-Requires:      zlib-devel
-Obsoletes:     libgcj3-devel
-
-%description -n libgcj-devel
-Development files for Java Class Libraries.
-
-%description -n libgcj-devel -l es.UTF-8
-Ficheros de desarrollo para las bibliotecas de clases de Java.
-
-%description -n libgcj-devel -l pl.UTF-8
-Pliki nagłówkowe dla Bibliotek Klas Javy.
-
-%package -n libgcj-static
-Summary:       Static Java Class Libraries
-Summary(es.UTF-8):     Bibliotecas estáticas de clases de Java
-Summary(pl.UTF-8):     Statyczne Biblioteki Klas Javy
-License:       GPL v2+ with limited linking exception
+Requires:      libquadmath-devel = %{epoch}:%{version}-%{release}
+Requires:      libquadmath-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description -n libquadmath-multilib-%{multilib2}-devel
+This package contains development files for %{m2_desc} version of GCC
+support library which is needed for __float128 math support and for
+Fortran REAL*16 support.
+
+%description -n libquadmath-multilib-%{multilib2}-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne wersji %{m2_desc} biblioteki GCC
+do obsługi operacji matematycznych na zmiennych typu __float128 oraz
+typu REAL*16 w Fortranie.
+
+%package -n libquadmath-multilib-%{multilib2}-static
+Summary:       Static GCC __float128 support library - %{m2_desc} version
+Summary(pl.UTF-8):     Wersja %{m2_desc} biblioteki statycznej GCC do obsługi typu __float128
+License:       LGPL v2.1+
 Group:         Development/Libraries
-Requires:      libgcj-devel = %{epoch}:%{version}-%{release}
+Requires:      libquadmath-multilib-%{multilib2}-devel = %{epoch}:%{version}-%{release}
 
-%description -n libgcj-static
-Static Java Class Libraries.
+%description -n libquadmath-multilib-%{multilib2}-static
+Static GCC __float128 support library - %{m2_desc} version.
 
-%description -n libgcj-static -l es.UTF-8
-Bibliotecas estáticas de clases de Java.
-
-%description -n libgcj-static -l pl.UTF-8
-Statyczne Biblioteki Klas Javy.
+%description -n libquadmath-multilib-%{multilib2}-static -l pl.UTF-8
+Wersja %{m2_desc} biblioteki statycznej GCC do obsługi typu __float128.
 
 %package -n libffi
 Summary:       Foreign Function Interface library
 Summary(es.UTF-8):     Biblioteca de interfaz de funciones ajenas
-Summary(pl.UTF-8):     Biblioteka zewnętrznych wywołań funkcji
+Summary(pl.UTF-8):     Biblioteka wywołań funkcji obcych
 License:       BSD-like
 Group:         Libraries
 
@@ -1104,28 +1283,10 @@ programador llame una función cualquiera especificada por una
 descripción de interfaz de llamada en el tiempo de ejecución.
 
 %description -n libffi -l pl.UTF-8
-Biblioteka libffi dostarcza przenośnego, wysokopoziomowego
-międzymordzia do różnych konwencji wywołań funkcji. Pozwala to
-programiście wywoływać dowolne funkcje podając konwencję wywołania w
-czasie wykonania.
-
-%package -n libffi-multilib
-Summary:       Foreign Function Interface library - 32-bit version
-Summary(pl.UTF-8):     Biblioteka zewnętrznych wywołań funkcji - wersja 32-bitowa
-License:       BSD-like
-Group:         Libraries
-
-%description -n libffi-multilib
-The libffi library provides a portable, high level programming
-interface to various calling conventions. This allows a programmer to
-call any function specified by a call interface description at run
-time. This package contains 32-bit version of the library.
-
-%description -n libffi-multilib -l pl.UTF-8
-Biblioteka libffi dostarcza przenośnego, wysokopoziomowego
-międzymordzia do różnych konwencji wywołań funkcji. Pozwala to
-programiście wywoływać dowolne funkcje podając konwencję wywołania w
-czasie wykonania. Ten pakiet zawiera wersję 32-bitową biblioteki.
+Biblioteka libffi dostarcza przenośny, wysokopoziomowy interfejs do
+różnych konwencji wywołań funkcji. Pozwala to programiście wywołać
+dowolną funkcję podaną przez opis interfejsu wywołania w czasie
+działania programu.
 
 %package -n libffi-devel
 Summary:       Development files for Foreign Function Interface library
@@ -1145,21 +1306,6 @@ Ficheros de desarrollo para libffi.
 %description -n libffi-devel -l pl.UTF-8
 Pliki nagłówkowe biblioteki libffi.
 
-%package -n libffi-multilib-devel
-Summary:       Development files for 32-bit version of Foreign Function Interface library
-Summary(pl.UTF-8):     Pliki programistyczne 32-bitowej wersji biblioteki libffi
-License:       BSD-like
-Group:         Development/Libraries
-Requires:      libffi-devel = %{epoch}:%{version}-%{release}
-Requires:      libffi-multilib = %{epoch}:%{version}-%{release}
-
-%description -n libffi-multilib-devel
-Development files for 32-bit version of Foreign Function Interface
-library.
-
-%description -n libffi-multilib-devel -l pl.UTF-8
-Pliki programistyczne 32-bitowej wersji biblioteki libffi.
-
 %package -n libffi-static
 Summary:       Static Foreign Function Interface library
 Summary(es.UTF-8):     Biblioteca libffi estática
@@ -1177,31 +1323,242 @@ Biblioteca libffi estática.
 %description -n libffi-static -l pl.UTF-8
 Statyczna biblioteka libffi.
 
-%package -n libffi-multilib-static
+%package -n libffi-multilib-32
+Summary:       Foreign Function Interface library - 32-bit version
+Summary(pl.UTF-8):     Biblioteka wywołań funkcji obcych - wersja 32-bitowa
+License:       BSD-like
+Group:         Libraries
+Obsoletes:     libffi-multilib < 6:4.9.2-4
+
+%description -n libffi-multilib-32
+The libffi library provides a portable, high level programming
+interface to various calling conventions. This allows a programmer to
+call any function specified by a call interface description at run
+time. This package contains 32-bit version of the library.
+
+%description -n libffi-multilib-32 -l pl.UTF-8
+Biblioteka libffi dostarcza przenośny, wysokopoziomowy interfejs do
+różnych konwencji wywołań funkcji. Pozwala to programiście wywołać
+dowolną funkcję podaną przez opis interfejsu wywołania w czasie
+działania programu. Ten pakiet zawiera wersję 32-bitową biblioteki.
+
+%package -n libffi-multilib-32-devel
+Summary:       Development files for 32-bit version of Foreign Function Interface library
+Summary(pl.UTF-8):     Pliki programistyczne 32-bitowej wersji biblioteki libffi
+License:       BSD-like
+Group:         Development/Libraries
+Requires:      libffi-devel = %{epoch}:%{version}-%{release}
+Requires:      libffi-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     libffi-multilib-devel < 6:4.9.2-4
+
+%description -n libffi-multilib-32-devel
+Development files for 32-bit version of Foreign Function Interface
+library.
+
+%description -n libffi-multilib-32-devel -l pl.UTF-8
+Pliki programistyczne 32-bitowej wersji biblioteki libffi.
+
+%package -n libffi-multilib-32-static
 Summary:       Static Foreign Function Interface library - 32-bit version
 Summary(pl.UTF-8):     Statyczna biblioteka libffi - wersja 32-bitowa
 License:       BSD-like
 Group:         Development/Libraries
-Requires:      libffi-multilib-devel = %{epoch}:%{version}-%{release}
+Requires:      libffi-multilib-32-devel = %{epoch}:%{version}-%{release}
+Obsoletes:     libffi-multilib-static < 6:4.9.2-4
 
-%description -n libffi-multilib-static
+%description -n libffi-multilib-32-static
 Static Foreign Function Interface library - 32-bit version.
 
-%description -n libffi-multilib-static -l pl.UTF-8
+%description -n libffi-multilib-32-static -l pl.UTF-8
 Statyczna biblioteka libffi - wersja 32-bitowa.
 
+%package -n libffi-multilib-%{multilib2}
+Summary:       Foreign Function Interface library - %{m2_desc} version
+Summary(pl.UTF-8):     Biblioteka wywołań funkcji obcych - wersja %{m2_desc}
+License:       BSD-like
+Group:         Libraries
+
+%description -n libffi-multilib-%{multilib2}
+The libffi library provides a portable, high level programming
+interface to various calling conventions. This allows a programmer to
+call any function specified by a call interface description at run
+time. This package contains %{m2_desc} version of the library.
+
+%description -n libffi-multilib-%{multilib2} -l pl.UTF-8
+Biblioteka libffi dostarcza przenośny, wysokopoziomowy interfejs do
+różnych konwencji wywołań funkcji. Pozwala to programiście wywołać
+dowolną funkcję podaną przez opis interfejsu wywołania w czasie
+działania programu. Ten pakiet zawiera wersję %{m2_desc} biblioteki.
+
+%package -n libffi-multilib-%{multilib2}-devel
+Summary:       Development files for %{m2_desc} version of Foreign Function Interface library
+Summary(pl.UTF-8):     Pliki programistyczne wersji %{m2_desc} biblioteki libffi
+License:       BSD-like
+Group:         Development/Libraries
+Requires:      libffi-devel = %{epoch}:%{version}-%{release}
+Requires:      libffi-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description -n libffi-multilib-%{multilib2}-devel
+Development files for %{m2_desc} version of Foreign Function Interface
+library.
+
+%description -n libffi-multilib-%{multilib2}-devel -l pl.UTF-8
+Pliki programistyczne wersji %{m2_desc} biblioteki libffi.
+
+%package -n libffi-multilib-%{multilib2}-static
+Summary:       Static Foreign Function Interface library - %{m2_desc} version
+Summary(pl.UTF-8):     Statyczna biblioteka libffi - wersja %{m2_desc}
+License:       BSD-like
+Group:         Development/Libraries
+Requires:      libffi-multilib-%{multilib2}-devel = %{epoch}:%{version}-%{release}
+
+%description -n libffi-multilib-%{multilib2}-static
+Static Foreign Function Interface library - %{m2_desc} version.
+
+%description -n libffi-multilib-%{multilib2}-static -l pl.UTF-8
+Statyczna biblioteka libffi - wersja %{m2_desc}.
+
+%package m2
+Summary:       Modula-2 language support for GCC
+Summary(pl.UTF-8):     Obsługa języka Modula-2 dla kompilatora GCC
+License:       GPL v3+
+Group:         Development/Languages
+Requires:      %{name} = %{epoch}:%{version}-%{release}
+Requires:      libgm2 = %{epoch}:%{version}-%{release}
+
+%description m2
+Modula-2 language support for GCC.
+
+%description m2 -l pl.UTF-8
+Obsługa języka Modula-2 dla kompilatora GCC.
+
+%package m2-multilib-32
+Summary:       Modula-2 language 32-bit binaries support for GCC
+Summary(pl.UTF-8):     Obsługa 32-bitowych binariów w języku Modula-2 dla kompilatora GCC
+License:       GPL v3+
+Group:         Development/Languages
+Requires:      %{name}-multilib-32 = %{epoch}:%{version}-%{release}
+Requires:      libgm2-multilib-32 = %{epoch}:%{version}-%{release}
+
+%description m2-multilib-32
+This package adds support for compiling Modula-2 language to 32-bit
+binaries.
+
+%description m2-multilib-32 -l pl.UTF-8
+Ten pakiet dodaje obsługę kompilacji programów w języku Modula-2 do
+binarów 32-bitowych.
+
+%package m2-multilib-%{multilib2}
+Summary:       Modula-2 language %{m2_desc} binaries support for GCC
+Summary(pl.UTF-8):     Obsługa binariów %{m2_desc} w języku Modula-2 dla kompilatora GCC
+License:       GPL v3+
+Group:         Development/Languages
+Requires:      %{name}-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+Requires:      libgm2-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description m2-multilib-%{multilib2}
+This package adds support for compiling Modula-2 language to
+%{m2_desc} binaries.
+
+%description m2-multilib-%{multilib2} -l pl.UTF-8
+Ten pakiet dodaje obsługę kompilacji programów w języku Modula-2 do
+binarów %{m2_desc}.
+
+%package -n libgm2
+Summary:       GNU Modula-2 shared libraries
+Summary(pl.UTF-8):     Biblioteki współdzielone GNU Modula-2
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Libraries
+
+%description -n libgm2
+GNU Modula-2 shared libraries.
+
+%description -n libgm2 -l pl.UTF-8
+Biblioteki współdzielone GNU Modula-2.
+
+%package -n libgm2-static
+Summary:       GNU Modula-2 static libraries
+Summary(pl.UTF-8):     Biblioteki statyczne GNU Modula-2
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Development/Libraries
+Requires:      %{name}-m2 = %{epoch}:%{version}-%{release}
+
+%description -n libgm2-static
+GNU Modula-2 static libraries.
+
+%description -n libgm2-static -l pl.UTF-8
+Biblioteki statyczne GNU Modula-2.
+
+%package -n libgm2-multilib-32
+Summary:       GNU Modula-2 shared libraries - 32-bit version
+Summary(pl.UTF-8):     Biblioteki współdzielone GNU Modula-2 - wersja 32-bitowa
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Libraries
+
+%description -n libgm2-multilib-32
+This package contains 32-bit version of shared libraries needed to run
+programs written in Modula-2.
+
+%description -n libgm2-multilib-32 -l pl.UTF-8
+Ten pakiet zawiera wersje 32-bitowe bibliotek potrzebnych do
+uruchamiania programów napisanych w języku Modula-2.
+
+%package -n libgm2-multilib-32-static
+Summary:       GNU Modula-2 static libraries - 32-bit version
+Summary(pl.UTF-8):     Biblioteki statyczne GNU Modula-2 - wersja 32-bitowa
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Development/Libraries
+Requires:      %{name}-m2-multilib-32 = %{epoch}:%{version}-%{release}
+
+%description -n libgm2-multilib-32-static
+This package contains 32-bit version of static libraries for programs
+written in Modula-2.
+
+%description -n libgm2-multilib-32-static -l pl.UTF-8
+Ten pakiet zawiera 32-bitowe wersje bibliotek statycznych dla
+programów napisanych w języku Modula-2.
+
+%package -n libgm2-multilib-%{multilib2}
+Summary:       GNU Modula-2 shared libraries - 32-bit version
+Summary(pl.UTF-8):     Biblioteki współdzielone GNU Modula-2 - wersja 32-bitowa
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Libraries
+
+%description -n libgm2-multilib-%{multilib2}
+This package contains 32-bit version of shared libraries needed to run
+programs written in Modula-2.
+
+%description -n libgm2-multilib-%{multilib2} -l pl.UTF-8
+Ten pakiet zawiera wersje 32-bitowe bibliotek potrzebnych do
+uruchamiania programów napisanych w języku Modula-2.
+
+%package -n libgm2-multilib-%{multilib2}-static
+Summary:       GNU Modula-2 static libraries - %{m2_desc} version
+Summary(pl.UTF-8):     Biblioteki statyczne GNU Modula-2 - wersja %{m2_desc}
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Development/Libraries
+Requires:      %{name}-m2-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description -n libgm2-multilib-%{multilib2}-static
+This package contains %{m2_desc} version of static libraries for
+programs written in Modula-2.
+
+%description -n libgm2-multilib-%{multilib2}-static -l pl.UTF-8
+Ten pakiet zawiera wersje %{m2_desc} bibliotek statycznych dla
+programów napisanych w języku Modula-2.
+
 %package objc
-Summary:       Objective C support for gcc
-Summary(de.UTF-8):     Objektive C-Unterstützung für gcc
-Summary(es.UTF-8):     Soporte de Objective C para gcc
-Summary(fr.UTF-8):     Gestion d'Objective C pour gcc
-Summary(pl.UTF-8):     Obsługa obiektowego C dla kompilatora gcc
-Summary(tr.UTF-8):     gcc için Objective C desteği
+Summary:       Objective C language support for GCC
+Summary(de.UTF-8):     Objektive C-Unterstützung für GCC
+Summary(es.UTF-8):     Soporte de Objective C para GCC
+Summary(fr.UTF-8):     Gestion d'Objective C pour GCC
+Summary(pl.UTF-8):     Obsługa obiektowego C (Objective C) dla kompilatora GCC
+Summary(tr.UTF-8):     GCC için Objective C desteği
 Group:         Development/Languages
 Requires:      %{name} = %{epoch}:%{version}-%{release}
 Requires:      libobjc = %{epoch}:%{version}-%{release}
-Obsoletes:     egcc-objc
-Obsoletes:     egcs-objc
+Obsoletes:     egcc-objc < 1.2
+Obsoletes:     egcs-objc < 1.2
 
 %description objc
 This package adds Objective C support to the GNU Compiler Collection.
@@ -1229,9 +1586,9 @@ langage C, principalement utilisé sur les systèmes NeXTSTEP. Ce
 package n'inclue pas la bibliothéque Objective C standard.
 
 %description objc -l pl.UTF-8
-Ten pakiet dodaje obsługę obiektowego C do kompilatora gcc. Obiektowe
-C (objc) jest zorientowaną obiektowo pochodną języka C, używaną
-głównie w systemach używających NeXTSTEP. W pakiecie nie ma
+Ten pakiet dodaje obsługę obiektowego C do kompilatora GCC. Obiektowe
+C (Objective C, objc) jest zorientowaną obiektowo pochodną języka C,
+używaną głównie w systemach używających NeXTSTEP. W pakiecie nie ma
 standardowej biblioteki objc (która znajduje się w osobnym pakiecie).
 
 %description objc -l tr.UTF-8
@@ -1240,24 +1597,40 @@ C dilinin nesne yönelik bir türevidir ve NeXTSTEP altında çalışan
 sistemlerde yaygın olarak kullanılır. Standart Objective C nesne
 kitaplığı bu pakette yer almaz.
 
-%package objc-multilib
-Summary:       32-bit Objective C support for gcc
-Summary(pl.UTF-8):     Obsługa 32-bitowych binariów Objective C dla kompilatora gcc
+%package objc-multilib-32
+Summary:       Objective C language 32-bit binaries support for GCC
+Summary(pl.UTF-8):     Obsługa 32-bitowych binariów w języku Objective C dla kompilatora GCC
 Group:         Development/Languages
-Requires:      %{name}-multilib = %{epoch}:%{version}-%{release}
-Requires:      libobjc-multilib = %{epoch}:%{version}-%{release}
+Requires:      %{name}-multilib-32 = %{epoch}:%{version}-%{release}
+Requires:      libobjc-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     gcc-objc-multilib < 6:4.9.2-4
 
-%description objc-multilib
+%description objc-multilib-32
 This package adds 32-bit Objective C support to the GNU Compiler
 Collection.
 
-%description objc-multilib -l pl.UTF-8
+%description objc-multilib-32 -l pl.UTF-8
 Ten pakiet dodaje obsługę 32-bitowych binariów Objective C do
-kompilatora gcc.
+kompilatora GCC.
+
+%package objc-multilib-%{multilib2}
+Summary:       Objective C language %{m2_desc} binaries support for GCC
+Summary(pl.UTF-8):     Obsługa binariów %{m2_desc} w języku Objective C dla kompilatora GCC
+Group:         Development/Languages
+Requires:      %{name}-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+Requires:      libobjc-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description objc-multilib-%{multilib2}
+This package adds %{m2_desc} binaries in Objective C language support to
+the GNU Compiler Collection.
+
+%description objc-multilib-%{multilib2} -l pl.UTF-8
+Ten pakiet dodaje obsługę binariów %{m2_desc} w języku Objective C do
+kompilatora GCC.
 
 %package objc++
-Summary:       Objective C++ support for gcc
-Summary(pl.UTF-8):     Obsługa języka Objective C++ dla gcc
+Summary:       Objective C++ support for GCC
+Summary(pl.UTF-8):     Obsługa języka Objective C++ dla GCC
 Group:         Development/Languages
 Requires:      %{name}-c++ = %{epoch}:%{version}-%{release}
 Requires:      %{name}-objc = %{epoch}:%{version}-%{release}
@@ -1273,10 +1646,11 @@ GNU Compiler Collection.
 %package -n libobjc
 Summary:       Objective C Library
 Summary(es.UTF-8):     Biblioteca de Objective C
-Summary(pl.UTF-8):     Biblioteka Obiektowego C
-License:       GPL v2+ with linking exception
+Summary(pl.UTF-8):     Biblioteka obiektowego C (Objective C)
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
 Group:         Libraries
-Obsoletes:     libobjc1
+Requires:      libgcc = %{epoch}:%{version}-%{release}
+Obsoletes:     libobjc1 < 5:4
 
 %description -n libobjc
 Objective C Library.
@@ -1285,25 +1659,13 @@ Objective C Library.
 Bibliotecas de Objective C.
 
 %description -n libobjc -l pl.UTF-8
-Biblioteka Obiektowego C.
-
-%package -n libobjc-multilib
-Summary:       Objective C Library - 32-bit version
-Summary(pl.UTF-8):     Biblioteka Obiektowego C - wersja 32-bitowa
-License:       GPL v2+ with linking exception
-Group:         Libraries
-
-%description -n libobjc-multilib
-Objective C Library - 32-bit version.
-
-%description -n libobjc-multilib -l pl.UTF-8
-Biblioteka Obiektowego C - wersja 32-bitowa.
+Biblioteka obiektowego C (Objective C).
 
 %package -n libobjc-static
 Summary:       Static Objective C Library
 Summary(es.UTF-8):     Bibliotecas estáticas de Objective C
-Summary(pl.UTF-8):     Statyczna Biblioteka Obiektowego C
-License:       GPL v2+ with linking exception
+Summary(pl.UTF-8):     Statyczna biblioteka obiektowego C (Objective C)
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
 Group:         Development/Libraries
 Requires:      libobjc = %{epoch}:%{version}-%{release}
 
@@ -1314,24 +1676,65 @@ Static Objective C Library.
 Bibliotecas estáticas de Objective C.
 
 %description -n libobjc-static -l pl.UTF-8
-Statyczna biblioteka Obiektowego C.
+Statyczna biblioteka obiektowego C (Objective C).
+
+%package -n libobjc-multilib-32
+Summary:       Objective C Library - 32-bit version
+Summary(pl.UTF-8):     Biblioteka obiektowego C (Objective C) - wersja 32-bitowa
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Libraries
+Requires:      libgcc-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     libobjc-multilib < 6:4.9.2-4
 
-%package -n libobjc-multilib-static
+%description -n libobjc-multilib-32
+Objective C Library - 32-bit version.
+
+%description -n libobjc-multilib-32 -l pl.UTF-8
+Biblioteka obiektowego C (Objective C) - wersja 32-bitowa.
+
+%package -n libobjc-multilib-32-static
 Summary:       Static Objective C Library - 32-bit version
-Summary(pl.UTF-8):     Statyczna Biblioteka Obiektowego C - wersja 32-bitowa
-License:       GPL v2+ with linking exception
+Summary(pl.UTF-8):     Statyczna biblioteka obiektowego C (Objective C) - wersja 32-bitowa
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
 Group:         Development/Libraries
-Requires:      libobjc-multilib = %{epoch}:%{version}-%{release}
+Requires:      libobjc-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     libobjc-multilib-static < 6:4.9.2-4
 
-%description -n libobjc-multilib-static
+%description -n libobjc-multilib-32-static
 Static Objective C Library - 32-bit version.
 
-%description -n libobjc-multilib-static -l pl.UTF-8
-Statyczna biblioteki Obiektowego C - wersja 32-bitowa.
+%description -n libobjc-multilib-32-static -l pl.UTF-8
+Statyczna biblioteka obiektowego C (Objective C) - wersja 32-bitowa.
+
+%package -n libobjc-multilib-%{multilib2}
+Summary:       Objective C Library - %{m2_desc} version
+Summary(pl.UTF-8):     Biblioteka obiektowego C (Objective C) - wersja %{m2_desc}
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Libraries
+Requires:      libgcc-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description -n libobjc-multilib-%{multilib2}
+Objective C Library - %{m2_desc} version.
+
+%description -n libobjc-multilib-%{multilib2} -l pl.UTF-8
+Biblioteka obiektowego C (Objective C) - wersja %{m2_desc}.
+
+%package -n libobjc-multilib-%{multilib2}-static
+Summary:       Static Objective C Library - %{m2_desc} version
+Summary(pl.UTF-8):     Statyczna biblioteka obiektowego C (Objective C) - wersja %{m2_desc}
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Development/Libraries
+Requires:      libobjc-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description -n libobjc-multilib-%{multilib2}-static
+Static Objective C Library - %{m2_desc} version.
+
+%description -n libobjc-multilib-%{multilib2}-static -l pl.UTF-8
+Statyczna biblioteka obiektowego C (Objective C) - wersja %{m2_desc}.
 
 %package go
-Summary:       Go language support for gcc
-Summary(pl.UTF-8):     Obsługa języka Go dla kompilatora gcc
+Summary:       Go language support for GCC
+Summary(pl.UTF-8):     Obsługa języka Go dla kompilatora GCC
 License:       GPL v3+ (gcc), BSD (Go-specific part)
 Group:         Development/Languages
 Requires:      %{name} = %{epoch}:%{version}-%{release}
@@ -1341,30 +1744,47 @@ Requires:       libgo-devel = %{epoch}:%{version}-%{release}
 This package adds Go language support to the GNU Compiler Collection.
 
 %description go -l pl.UTF-8
-Ten pakiet dodaje obsługę języka Go do kompilatora gcc.
+Ten pakiet dodaje obsługę języka Go do kompilatora GCC.
 
-%package go-multilib
-Summary:       32-bit Go language support for gcc
-Summary(pl.UTF-8):     Obsługa 32-bitowych binariów języka Go dla kompilatora gcc
+%package go-multilib-32
+Summary:       Go language 32-bit binaries support for GCC
+Summary(pl.UTF-8):     Obsługa 32-bitowych binariów języka Go dla kompilatora GCC
 License:       GPL v3+ (gcc), BSD (Go-specific part)
 Group:         Development/Languages
 Requires:      %{name} = %{epoch}:%{version}-%{release}
-Requires:      libgo-multilib-devel = %{epoch}:%{version}-%{release}
+Requires:      libgo-multilib-32-devel = %{epoch}:%{version}-%{release}
+Obsoletes:     gcc-go-multilib < 6:4.9.2-4
 
-%description go-multilib
+%description go-multilib-32
 This package adds 32-bit Go language support to the GNU Compiler
 Collection.
 
-%description go-multilib -l pl.UTF-8
+%description go-multilib-32 -l pl.UTF-8
 Ten pakiet dodaje obsługę 32-bitowych binariów języka Go do
-kompilatora gcc.
+kompilatora GCC.
+
+%package go-multilib-%{multilib2}
+Summary:       Go language %{m2_desc} binaries support for GCC
+Summary(pl.UTF-8):     Obsługa binariów %{m2_desc} języka Go dla kompilatora GCC
+License:       GPL v3+ (gcc), BSD (Go-specific part)
+Group:         Development/Languages
+Requires:      %{name} = %{epoch}:%{version}-%{release}
+Requires:      libgo-multilib-%{multilib2}-devel = %{epoch}:%{version}-%{release}
+
+%description go-multilib-%{multilib2}
+This package adds %{m2_desc} binaries in Go language support to the GNU
+Compiler Collection.
+
+%description go-multilib-%{multilib2} -l pl.UTF-8
+Ten pakiet dodaje obsługę binariów %{m2_desc} w języku Go do kompilatora
+GCC.
 
 %package -n libgo
 Summary:       Go language library
 Summary(pl.UTF-8):     Biblioteka języka Go
 License:       BSD
 Group:         Libraries
-Requires:      libgcc >= %{epoch}:%{version}-%{release}
+Requires:      libgcc = %{epoch}:%{version}-%{release}
 
 %description -n libgo
 Go language library.
@@ -1372,19 +1792,6 @@ Go language library.
 %description -n libgo -l pl.UTF-8
 Biblioteka języka Go.
 
-%package -n libgo-multilib
-Summary:       Go language library - 32-bit version
-Summary(pl.UTF-8):     Biblioteka języka Go - wersja 32-bitowa
-License:       BSD
-Group:         Libraries
-Requires:      libgcc-multilib >= %{epoch}:%{version}-%{release}
-
-%description -n libgo-multilib
-Go language library - 32-bit version.
-
-%description -n libgo-multilib -l pl.UTF-8
-Biblioteka języka Go - wersja 32-bitowa.
-
 %package -n libgo-devel
 Summary:       Development files for Go language library
 Summary(pl.UTF-8):     Pliki programistyczne biblioteki języka Go
@@ -1399,20 +1806,6 @@ Development files for Go language library.
 %description -n libgo-devel -l pl.UTF-8
 Pliki programistyczne biblioteki języka Go.
 
-%package -n libgo-multilib-devel
-Summary:       Development files for Go language library - 32-bit version
-Summary(pl.UTF-8):     Pliki programistyczne biblioteki języka Go - wersja 32-bitowa
-License:       BSD
-Group:         Development/Libraries
-Requires:      glibc-devel
-Requires:      libgo-multilib = %{epoch}:%{version}-%{release}
-
-%description -n libgo-multilib-devel
-Development files for Go language library - 32-bit version.
-
-%description -n libgo-multilib-devel -l pl.UTF-8
-Pliki programistyczne biblioteki języka Go - wersja 32-bitowa.
-
 %package -n libgo-static
 Summary:       Static Go language library
 Summary(pl.UTF-8):     Statyczna biblioteka języka Go
@@ -1426,40 +1819,962 @@ Static Go language library.
 %description -n libgo-static -l pl.UTF-8
 Statyczna biblioteka języka Go.
 
-%package -n libgo-multilib-static
+%package -n libgo-multilib-32
+Summary:       Go language library - 32-bit version
+Summary(pl.UTF-8):     Biblioteka języka Go - wersja 32-bitowa
+License:       BSD
+Group:         Libraries
+Requires:      libgcc-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     libgo-multilib < 6:4.9.2-4
+
+%description -n libgo-multilib-32
+Go language library - 32-bit version.
+
+%description -n libgo-multilib-32 -l pl.UTF-8
+Biblioteka języka Go - wersja 32-bitowa.
+
+%package -n libgo-multilib-32-devel
+Summary:       Development files for Go language library - 32-bit version
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki języka Go - wersja 32-bitowa
+License:       BSD
+Group:         Development/Libraries
+Requires:      glibc-devel
+Requires:      libgo-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     libgo-multilib-devel < 6:4.9.2-4
+
+%description -n libgo-multilib-32-devel
+Development files for Go language library - 32-bit version.
+
+%description -n libgo-multilib-32-devel -l pl.UTF-8
+Pliki programistyczne biblioteki języka Go - wersja 32-bitowa.
+
+%package -n libgo-multilib-32-static
 Summary:       Static Go language library - 32-bit version
 Summary(pl.UTF-8):     Statyczna biblioteka języka Go - wersja 32-bitowa
 License:       BSD
 Group:         Development/Libraries
-Requires:      libgo-multilib-devel = %{epoch}:%{version}-%{release}
+Requires:      libgo-multilib-32-devel = %{epoch}:%{version}-%{release}
+Obsoletes:     libgo-multilib-static < 6:4.9.2-4
 
-%description -n libgo-multilib-static
+%description -n libgo-multilib-32-static
 Static Go language library - 32-bit version.
 
-%description -n libgo-multilib-static -l pl.UTF-8
+%description -n libgo-multilib-32-static -l pl.UTF-8
 Statyczna biblioteka języka Go - wersja 32-bitowa.
 
-%prep
-%setup -q
-%patch100 -p0
+%package -n libgo-multilib-%{multilib2}
+Summary:       Go language library - %{m2_desc} version
+Summary(pl.UTF-8):     Biblioteka języka Go - wersja %{m2_desc}
+License:       BSD
+Group:         Libraries
+Requires:      libgcc-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description -n libgo-multilib-%{multilib2}
+Go language library - %{m2_desc} version.
+
+%description -n libgo-multilib-%{multilib2} -l pl.UTF-8
+Biblioteka języka Go - wersja %{m2_desc}.
+
+%package -n libgo-multilib-%{multilib2}-devel
+Summary:       Development files for Go language library - %{m2_desc} version
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki języka Go - wersja %{m2_desc}
+License:       BSD
+Group:         Development/Libraries
+Requires:      glibc-devel
+Requires:      libgo-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description -n libgo-multilib-%{multilib2}-devel
+Development files for Go language library - %{m2_desc} version.
+
+%description -n libgo-multilib-%{multilib2}-devel -l pl.UTF-8
+Pliki programistyczne biblioteki języka Go - wersja %{m2_desc}.
+
+%package -n libgo-multilib-%{multilib2}-static
+Summary:       Static Go language library - %{m2_desc} version
+Summary(pl.UTF-8):     Statyczna biblioteka języka Go - wersja %{m2_desc}
+License:       BSD
+Group:         Development/Libraries
+Requires:      libgo-multilib-%{multilib2}-devel = %{epoch}:%{version}-%{release}
+
+%description -n libgo-multilib-%{multilib2}-static
+Static Go language library - %{m2_desc} version.
+
+%description -n libgo-multilib-%{multilib2}-static -l pl.UTF-8
+Statyczna biblioteka języka Go - wersja %{m2_desc}.
+
+%package -n libasan
+Summary:       The Address Sanitizer library
+Summary(pl.UTF-8):     Biblioteka Address Sanitizer do kontroli adresów
+License:       BSD-like or MIT
+Group:         Libraries
+Requires:      libstdc++ = %{epoch}:%{version}-%{release}
+
+%description -n libasan
+This package contains the Address Sanitizer library which is used for
+-fsanitize=address instrumented programs.
+
+%description -n libasan -l pl.UTF-8
+Ten pakiet zawiera bibliotekę Address Sanitizer, służącą do kontroli
+adresów w programach kompilowanych z opcją -fsanitize=address.
+
+%package -n libasan-devel
+Summary:       Development files for the Address Sanitizer library
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki Address Sanitizer
+License:       BSD-like or MIT
+Group:         Development/Libraries
+Requires:      libasan = %{epoch}:%{version}-%{release}
+
+%description -n libasan-devel
+This package contains development files for the Address Sanitizer
+library.
+
+%description -n libasan-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne biblioteki Address Sanitizer.
+
+%package -n libasan-static
+Summary:       The Address Sanitizer static library
+Summary(pl.UTF-8):     Statyczna biblioteka Address Sanitizer
+License:       BSD-like or MIT
+Group:         Development/Libraries
+Requires:      libasan-devel = %{epoch}:%{version}-%{release}
+
+%description -n libasan-static
+This package contains Address Sanitizer static library.
+
+%description -n libasan-static -l pl.UTF-8
+Ten pakiet zawiera statyczną bibliotekę Address Sanitizer.
+
+%package -n libasan-multilib-32
+Summary:       The Address Sanitizer library - 32-bit version
+Summary(pl.UTF-8):     Biblioteka Address Sanitizer do kontroli adresów - wersja 32-bitowa
+License:       BSD-like or MIT
+Group:         Libraries
+Requires:      libstdc++-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     libasan-multilib < 6:4.9.2-4
+
+%description -n libasan-multilib-32
+This package contains 32-bit version of the Address Sanitizer library
+which is used for -fsanitize=address instrumented programs.
+
+%description -n libasan-multilib-32 -l pl.UTF-8
+Ten pakiet zawiera 32-bitową wersję biblioteki Address Sanitizer,
+służącej do kontroli adresów w programach kompilowanych z opcją
+-fsanitize=address.
+
+%package -n libasan-multilib-32-devel
+Summary:       Development files for the Address Sanitizer library - 32-bit version
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki Address Sanitizer - wersja 32-bitowa
+License:       BSD-like or MIT
+Group:         Development/Libraries
+Requires:      libasan-devel = %{epoch}:%{version}-%{release}
+Requires:      libasan-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     libasan-multilib-devel < 6:4.9.2-4
+
+%description -n libasan-multilib-32-devel
+This package contains the development files for 32-bit version of the
+Address Sanitizer library.
+
+%description -n libasan-multilib-32-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne 32-bitowej wersji biblioteki
+Address Sanitizer.
+
+%package -n libasan-multilib-32-static
+Summary:       The Address Sanitizer static library - 32-bit version
+Summary(pl.UTF-8):     Statyczna biblioteka Address Sanitizer - wersja 32-bitowa
+License:       BSD-like or MIT
+Group:         Development/Libraries
+Requires:      libasan-multilib-32-devel = %{epoch}:%{version}-%{release}
+Obsoletes:     libasan-multilib-static < 6:4.9.2-4
+
+%description -n libasan-multilib-32-static
+This package contains 32-bit version of the Address Sanitizer static
+library.
+
+%description -n libasan-multilib-32-static -l pl.UTF-8
+Ten pakiet zawiera 32-bitową wersję statycznej biblioteki Address
+Sanitizer.
+
+%package -n libasan-multilib-%{multilib2}
+Summary:       The Address Sanitizer library - %{m2_desc} version
+Summary(pl.UTF-8):     Biblioteka Address Sanitizer do kontroli adresów - wersja %{m2_desc}
+License:       BSD-like or MIT
+Group:         Libraries
+Requires:      libstdc++-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description -n libasan-multilib-%{multilib2}
+This package contains %{m2_desc} version of the Address Sanitizer library
+which is used for -fsanitize=address instrumented programs.
+
+%description -n libasan-multilib-%{multilib2} -l pl.UTF-8
+Ten pakiet zawiera wersję %{m2_desc} biblioteki Address Sanitizer,
+służącej do kontroli adresów w programach kompilowanych z opcją
+-fsanitize=address.
+
+%package -n libasan-multilib-%{multilib2}-devel
+Summary:       Development files for the Address Sanitizer library - %{m2_desc} version
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki Address Sanitizer - wersja %{m2_desc}
+License:       BSD-like or MIT
+Group:         Development/Libraries
+Requires:      libasan-devel = %{epoch}:%{version}-%{release}
+Requires:      libasan-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description -n libasan-multilib-%{multilib2}-devel
+This package contains the development files for %{m2_desc} version of the
+Address Sanitizer library.
+
+%description -n libasan-multilib-%{multilib2}-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne wersji %{m2_desc} biblioteki
+Address Sanitizer.
+
+%package -n libasan-multilib-%{multilib2}-static
+Summary:       The Address Sanitizer static library - %{m2_desc} version
+Summary(pl.UTF-8):     Statyczna biblioteka Address Sanitizer - wersja %{m2_desc}
+License:       BSD-like or MIT
+Group:         Development/Libraries
+Requires:      libasan-multilib-%{multilib2}-devel = %{epoch}:%{version}-%{release}
+
+%description -n libasan-multilib-%{multilib2}-static
+This package contains %{m2_desc} version of the Address Sanitizer static
+library.
+
+%description -n libasan-multilib-%{multilib2}-static -l pl.UTF-8
+Ten pakiet zawiera wersję %{m2_desc} statycznej biblioteki Address
+Sanitizer.
+
+%package -n libhwasan
+Summary:       The Hardware-Assisted Address Sanitizer library
+Summary(pl.UTF-8):     Biblioteka Hardware-Assisted Address Sanitizer do kontroli adresów
+License:       BSD-like or MIT
+Group:         Libraries
+Requires:      libstdc++ = %{epoch}:%{version}-%{release}
+
+%description -n libhwasan
+This package contains the Hardware-Assisted Address Sanitizer library
+which is used for -fsanitize=hwaddress instrumented programs.
+
+%description -n libhwasan -l pl.UTF-8
+Ten pakiet zawiera bibliotekę Hardware-Assisted Address Sanitizer,
+służącą do kontroli adresów w programach kompilowanych z opcją
+-fsanitize=hwaddress.
+
+%package -n libhwasan-devel
+Summary:       Development files for the Hardware-Assisted Address Sanitizer library
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki Hardware-Assisted Address Sanitizer
+License:       BSD-like or MIT
+Group:         Development/Libraries
+Requires:      libhwasan = %{epoch}:%{version}-%{release}
+
+%description -n libhwasan-devel
+This package contains development files for the Hardware-Assisted
+Address Sanitizer library.
+
+%description -n libhwasan-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne biblioteki Hardware-Assisted
+Address Sanitizer.
+
+%package -n libhwasan-static
+Summary:       The Hardware-Assisted Address Sanitizer static library
+Summary(pl.UTF-8):     Statyczna biblioteka Hardware-Assisted Address Sanitizer
+License:       BSD-like or MIT
+Group:         Development/Libraries
+Requires:      libhwasan-devel = %{epoch}:%{version}-%{release}
+
+%description -n libhwasan-static
+This package contains Hardware-Assisted Address Sanitizer static
+library.
+
+%description -n libhwasan-static -l pl.UTF-8
+Ten pakiet zawiera statyczną bibliotekę Hardware-Assisted Address
+Sanitizer.
+
+%package -n libhwasan-multilib-%{multilib2}
+Summary:       The Hardware-Assisted Address Sanitizer library - %{m2_desc} version
+Summary(pl.UTF-8):     Biblioteka Hardware-Assisted Address Sanitizer do kontroli adresów - wersja %{m2_desc}
+License:       BSD-like or MIT
+Group:         Libraries
+Requires:      libstdc++-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description -n libhwasan-multilib-%{multilib2}
+This package contains %{m2_desc} version of the Hardware-Assisted
+Address Sanitizer library which is used for -fsanitize=hwaddress
+instrumented programs.
+
+%description -n libhwasan-multilib-%{multilib2} -l pl.UTF-8
+Ten pakiet zawiera wersję %{m2_desc} biblioteki Hardware-Assisted
+Address Sanitizer, służącej do kontroli adresów w programach
+kompilowanych z opcją -fsanitize=hwaddress.
+
+%package -n libhwasan-multilib-%{multilib2}-devel
+Summary:       Development files for the Hardware-Assisted Address Sanitizer library - %{m2_desc} version
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki Hardware-Assisted Address Sanitizer - wersja %{m2_desc}
+License:       BSD-like or MIT
+Group:         Development/Libraries
+Requires:      libhwasan-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description -n libhwasan-multilib-%{multilib2}-devel
+This package contains development files for %{m2_desc} version of the
+Hardware-Assisted Address Sanitizer library.
+
+%description -n libhwasan-multilib-%{multilib2}-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne wersji %{m2_desc} biblioteki
+Hardware-Assisted Address Sanitizer.
+
+%package -n libhwasan-multilib-%{multilib2}-static
+Summary:       The Hardware-Assisted Address Sanitizer static library - %{m2_desc} version
+Summary(pl.UTF-8):     Statyczna biblioteka Hardware-Assisted Address Sanitizer - wersja %{m2_desc}
+License:       BSD-like or MIT
+Group:         Development/Libraries
+Requires:      libhwasan-multilib-%{multilib2}-devel = %{epoch}:%{version}-%{release}
+
+%description -n libhwasan-multilib-%{multilib2}-static
+This package contains %{m2_desc} version of Hardware-Assisted Address
+Sanitizer static library.
+
+%description -n libhwasan-multilib-%{multilib2}-static -l pl.UTF-8
+Ten pakiet zawiera wersję %{m2_desc} biblioteki statycznej
+Hardware-Assisted Address Sanitizer.
+
+%package -n liblsan
+Summary:       The Leak Sanitizer library
+Summary(pl.UTF-8):     Biblioteka Leak Sanitizer do kontroli wycieków
+License:       BSD-like or MIT
+Group:         Libraries
+Requires:      libstdc++ = %{epoch}:%{version}-%{release}
+
+%description -n liblsan
+This package contains the Leak Sanitizer library which is used for
+-fsanitize=leak instrumented programs.
+
+%description -n liblsan -l pl.UTF-8
+Ten pakiet zawiera bibliotekę Leak Sanitizer, służącą do kontroli
+wycieków w programach kompilowanych z opcją -fsanitize=leak.
+
+%package -n liblsan-devel
+Summary:       Development files for the Leak Sanitizer library
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki Leak Sanitizer
+License:       BSD-like or MIT
+Group:         Development/Libraries
+Requires:      liblsan = %{epoch}:%{version}-%{release}
+
+%description -n liblsan-devel
+This package contains development files for the Leak Sanitizer
+library.
+
+%description -n liblsan-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne biblioteki Leak Sanitizer.
+
+%package -n liblsan-static
+Summary:       The Leak Sanitizer static library
+Summary(pl.UTF-8):     Statyczna biblioteka Leak Sanitizer
+License:       BSD-like or MIT
+Group:         Development/Libraries
+Requires:      liblsan-devel = %{epoch}:%{version}-%{release}
+
+%description -n liblsan-static
+This package contains Leak Sanitizer static library.
+
+%description -n liblsan-static -l pl.UTF-8
+Ten pakiet zawiera statyczną bibliotekę Leak Sanitizer.
+
+%package -n liblsan-multilib-%{multilib2}
+Summary:       The Leak Sanitizer library - %{m2_desc} version
+Summary(pl.UTF-8):     Biblioteka Leak Sanitizer do kontroli wycieków - wersja %{m2_desc}
+License:       BSD-like or MIT
+Group:         Libraries
+Requires:      libstdc++-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description -n liblsan-multilib-%{multilib2}
+This package contains %{m2_desc} version of the Leak Sanitizer library
+which is used for -fsanitize=leak instrumented programs.
+
+%description -n liblsan-multilib-%{multilib2} -l pl.UTF-8
+Ten pakiet zawiera wersję %{m2_desc} biblioteki Leak Sanitizer, służącej
+do kontroli wycieków w programach kompilowanych z opcją
+-fsanitize=leak.
+
+%package -n liblsan-multilib-%{multilib2}-devel
+Summary:       Development files for the Leak Sanitizer library - %{m2_desc} version
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki Leak Sanitizer - wersja %{m2_desc}
+License:       BSD-like or MIT
+Group:         Development/Libraries
+Requires:      liblsan-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description -n liblsan-multilib-%{multilib2}-devel
+This package contains development files for %{m2_desc} version of the
+Leak Sanitizer library.
+
+%description -n liblsan-multilib-%{multilib2}-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne wersji %{m2_desc} biblioteki
+Leak Sanitizer.
+
+%package -n liblsan-multilib-%{multilib2}-static
+Summary:       The Leak Sanitizer static library - %{m2_desc} version
+Summary(pl.UTF-8):     Statyczna biblioteka Leak Sanitizer - wersja %{m2_desc}
+License:       BSD-like or MIT
+Group:         Development/Libraries
+Requires:      liblsan-multilib-%{multilib2}-devel = %{epoch}:%{version}-%{release}
+
+%description -n liblsan-multilib-%{multilib2}-static
+This package contains Leak Sanitizer static library - %{m2_desc} version.
+
+%description -n liblsan-multilib-%{multilib2}-static -l pl.UTF-8
+Ten pakiet zawiera statyczną bibliotekę Leak Sanitizer - wersja %{m2_desc}.
+
+%package -n libtsan
+Summary:       The Thread Sanitizer library
+Summary(pl.UTF-8):     Biblioteka Thread Sanitizer do kontroli wielowątkowości
+License:       BSD-like or MIT
+Group:         Libraries
+Requires:      libstdc++ = %{epoch}:%{version}-%{release}
+
+%description -n libtsan
+This package contains the Thread Sanitizer library which is used for
+-fsanitize=thread instrumented programs.
+
+%description -n libtsan -l pl.UTF-8
+Ten pakiet zawiera bibliotekę Thread Sanitizer, służącą do kontroli
+wielowątkowości w programach kompilowanych z opcją -fsanitize=thread.
+
+%package -n libtsan-devel
+Summary:       Development files for the Thread Sanitizer library
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki Thread Sanitizer
+License:       BSD-like or MIT
+Group:         Development/Libraries
+Requires:      libtsan = %{epoch}:%{version}-%{release}
+
+%description -n libtsan-devel
+This package contains development files for Thread Sanitizer library.
+
+%description -n libtsan-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne biblioteki Address Sanitizer.
+
+%package -n libtsan-static
+Summary:       The Thread Sanitizer static library
+Summary(pl.UTF-8):     Statyczna biblioteka Thread Sanitizer
+License:       BSD-like or MIT
+Group:         Development/Libraries
+Requires:      libtsan-devel = %{epoch}:%{version}-%{release}
+
+%description -n libtsan-static
+This package contains Thread Sanitizer static library.
+
+%description -n libtsan-static -l pl.UTF-8
+Ten pakiet zawiera statyczną bibliotekę Thread Sanitizer.
+
+%package -n libtsan-multilib-%{multilib2}
+Summary:       The Thread Sanitizer library - %{m2_desc} version
+Summary(pl.UTF-8):     Biblioteka Thread Sanitizer do kontroli wielowątkowości - wersja %{m2_desc}
+License:       BSD-like or MIT
+Group:         Libraries
+Requires:      libstdc++-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description -n libtsan-multilib-%{multilib2}
+This package contains %{m2_desc} version of the Thread Sanitizer
+library which is used for -fsanitize=thread instrumented programs.
+
+%description -n libtsan-multilib-%{multilib2} -l pl.UTF-8
+Ten pakiet zawiera wersję %{m2_desc} bibliotekę Thread Sanitizer,
+służącej do kontroli wielowątkowości w programach kompilowanych
+z opcją -fsanitize=thread.
+
+%package -n libtsan-multilib-%{multilib2}-devel
+Summary:       Development files for the Thread Sanitizer library - %{m2_desc} version
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki Thread Sanitizer - wersja %{m2_desc}
+License:       BSD-like or MIT
+Group:         Development/Libraries
+Requires:      libtsan-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description -n libtsan-multilib-%{multilib2}-devel
+This package contains development files for %{m2_desc} version of
+Thread Sanitizer library.
+
+%description -n libtsan-multilib-%{multilib2}-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne wersji %{m2_desc} biblioteki
+Thread Sanitizer.
+
+%package -n libtsan-multilib-%{multilib2}-static
+Summary:       The Thread Sanitizer static library - %{m2_desc} version
+Summary(pl.UTF-8):     Statyczna biblioteka Thread Sanitizer - wersja %{m2_desc}
+License:       BSD-like or MIT
+Group:         Development/Libraries
+Requires:      libtsan-multilib-%{multilib2}-devel = %{epoch}:%{version}-%{release}
+
+%description -n libtsan-multilib-%{multilib2}-static
+This package contains %{m2_desc} version of Thread Sanitizer static
+library.
+
+%description -n libtsan-multilib-%{multilib2}-static -l pl.UTF-8
+Ten pakiet zawiera wersję %{m2_desc} biblioteki statycznej Thread
+Sanitizer.
+
+%package -n libubsan
+Summary:       The Undefined Behavior Sanitizer library
+Summary(pl.UTF-8):     Biblioteka Undefined Behavior Sanitizer do kontroli nieokreślonych zachowań
+License:       BSD-like or MIT
+Group:         Libraries
+Requires:      libstdc++ = %{epoch}:%{version}-%{release}
+
+%description -n libubsan
+This package contains the Undefined Behavior Sanitizer library which
+is used for -fsanitize=undefined instrumented programs.
+
+%description -n libubsan -l pl.UTF-8
+Ten pakiet zawiera bibliotekę Undefined Behavior Sanitizer, służącą do
+kontroli nieokreślonych zachowań w programach kompilowanych z opcją
+-fsanitize=undefined.
+
+%package -n libubsan-devel
+Summary:       Development files for the Undefined Behavior Sanitizer library
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki Undefined Behavior Sanitizer
+License:       BSD-like or MIT
+Group:         Development/Libraries
+Requires:      libubsan = %{epoch}:%{version}-%{release}
+
+%description -n libubsan-devel
+This package contains development files for the Undefined Behavior
+Sanitizer library.
+
+%description -n libubsan-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne biblioteki Undefined Behavior
+Sanitizer.
+
+%package -n libubsan-static
+Summary:       The Undefined Behavior Sanitizer static library
+Summary(pl.UTF-8):     Statyczna biblioteka Undefined Behavior Sanitizer
+License:       BSD-like or MIT
+Group:         Development/Libraries
+Requires:      libubsan-devel = %{epoch}:%{version}-%{release}
+
+%description -n libubsan-static
+This package contains Undefined Behavior Sanitizer static library.
+
+%description -n libubsan-static -l pl.UTF-8
+Ten pakiet zawiera statyczną bibliotekę Undefined Behavior Sanitizer.
+
+%package -n libubsan-multilib-32
+Summary:       The Undefined Behavior Sanitizer library - 32-bit version
+Summary(pl.UTF-8):     Biblioteka Undefined Behavior Sanitizer do kontroli nieokreślonych zachowań - wersja 32-bitowa
+License:       BSD-like or MIT
+Group:         Libraries
+Requires:      libstdc++-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     libubsan-multilib < 6:4.9.2-4
+
+%description -n libubsan-multilib-32
+This package contains 32-bit version of the Undefined Behavior
+Sanitizer library which is used for -fsanitize=undefined instrumented
+programs.
+
+%description -n libubsan-multilib-32 -l pl.UTF-8
+Ten pakiet zawiera 32-bitową wersję biblioteki Undefined Behavior
+Sanitizer, służącej do kontroli nieokreślonych zachowań w programach
+kompilowanych z opcją -fsanitize=undefined.
+
+%package -n libubsan-multilib-32-devel
+Summary:       Development files for the Undefined Behavior Sanitizer library - 32-bit version
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki Undefined Behavior Sanitizer - wersja 32-bitowa
+License:       BSD-like or MIT
+Group:         Development/Libraries
+Requires:      libubsan-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     libubsan-multilib-devel < 6:4.9.2-4
+
+%description -n libubsan-multilib-32-devel
+This package contains the development files for 32-bit version of the
+Undefined Behavior Sanitizer library.
+
+%description -n libubsan-multilib-32-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne 32-bitowej wersji biblioteki
+Undefined Behavior Sanitizer.
+
+%package -n libubsan-multilib-32-static
+Summary:       The Undefined Behavior Sanitizer static library - 32-bit version
+Summary(pl.UTF-8):     Statyczna biblioteka Undefined Behavior Sanitizer - wersja 32-bitowa
+License:       BSD-like or MIT
+Group:         Development/Libraries
+Requires:      libubsan-multilib-32-devel = %{epoch}:%{version}-%{release}
+Obsoletes:     libubsan-multilib-static < 6:4.9.2-4
+
+%description -n libubsan-multilib-32-static
+This package contains 32-bit version of the Undefined Behavior
+Sanitizer static library.
+
+%description -n libubsan-multilib-32-static -l pl.UTF-8
+Ten pakiet zawiera 32-bitową wersję statycznej biblioteki Undefined
+Behavior Sanitizer.
+
+%package -n libubsan-multilib-%{multilib2}
+Summary:       The Undefined Behavior Sanitizer library - %{m2_desc} version
+Summary(pl.UTF-8):     Biblioteka Undefined Behavior Sanitizer do kontroli nieokreślonych zachowań - wersja %{m2_desc}
+License:       BSD-like or MIT
+Group:         Libraries
+Requires:      libstdc++-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description -n libubsan-multilib-%{multilib2}
+This package contains %{m2_desc} version of the Undefined Behavior
+Sanitizer library which is used for -fsanitize=undefined instrumented
+programs.
+
+%description -n libubsan-multilib-%{multilib2} -l pl.UTF-8
+Ten pakiet zawiera wersję %{m2_desc} biblioteki Undefined Behavior
+Sanitizer, służącej do kontroli nieokreślonych zachowań w programach
+kompilowanych z opcją -fsanitize=undefined.
+
+%package -n libubsan-multilib-%{multilib2}-devel
+Summary:       Development files for the Undefined Behavior Sanitizer library - %{m2_desc} version
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki Undefined Behavior Sanitizer - wersja %{m2_desc}
+License:       BSD-like or MIT
+Group:         Development/Libraries
+Requires:      libubsan-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description -n libubsan-multilib-%{multilib2}-devel
+This package contains the development files for %{m2_desc} version of the
+Undefined Behavior Sanitizer library.
+
+%description -n libubsan-multilib-%{multilib2}-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne wersji %{m2_desc} biblioteki
+Undefined Behavior Sanitizer.
+
+%package -n libubsan-multilib-%{multilib2}-static
+Summary:       The Undefined Behavior Sanitizer static library - %{m2_desc} version
+Summary(pl.UTF-8):     Statyczna biblioteka Undefined Behavior Sanitizer - wersja %{m2_desc}
+License:       BSD-like or MIT
+Group:         Development/Libraries
+Requires:      libubsan-multilib-%{multilib2}-devel = %{epoch}:%{version}-%{release}
+
+%description -n libubsan-multilib-%{multilib2}-static
+This package contains %{m2_desc} version of the Undefined Behavior
+Sanitizer static library.
+
+%description -n libubsan-multilib-%{multilib2}-static -l pl.UTF-8
+Ten pakiet zawiera wersję %{m2_desc} statycznej biblioteki Undefined
+Behavior Sanitizer.
+
+%package -n libvtv
+Summary:       The Virtual Table Verification library
+Summary(pl.UTF-8):     Biblioteka Virtual Table Verification do weryfikacji tablicy wirtualnej
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Libraries
+URL:           https://gcc.gnu.org/wiki/vtv
+Requires:      libgcc = %{epoch}:%{version}-%{release}
+
+%description -n libvtv
+This package contains the Virtual Table Verification library which
+is used for -fvtable-verify=... instrumented programs.
+
+%description -n libvtv -l pl.UTF-8
+Ten pakiet zawiera bibliotekę Virtual Table Verification, służącą do
+weryfikacji tablicy wirtualnej w programach kompilowanych z opcją
+-fvtable-verify=....
+
+%package -n libvtv-devel
+Summary:       Development files for the Virtual Table Verification library
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki Virtual Table Verification
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Development/Libraries
+URL:           https://gcc.gnu.org/wiki/vtv
+Requires:      libvtv = %{epoch}:%{version}-%{release}
+
+%description -n libvtv-devel
+This package contains development files for the Virtual Table
+Verification library.
+
+%description -n libvtv-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne biblioteki Vitual Table
+Verification.
+
+%package -n libvtv-static
+Summary:       The Virtual Table Verification static library
+Summary(pl.UTF-8):     Statyczna biblioteka Virtual Table Verification
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Development/Libraries
+URL:           https://gcc.gnu.org/wiki/vtv
+Requires:      libvtv-devel = %{epoch}:%{version}-%{release}
+
+%description -n libvtv-static
+This package contains Virtual Table Verification static library.
+
+%description -n libvtv-static -l pl.UTF-8
+Ten pakiet zawiera statyczną bibliotekę Virtual Table Verification.
+
+%package -n libvtv-multilib-32
+Summary:       The Virtual Table Verification library - 32-bit version
+Summary(pl.UTF-8):     Biblioteka Virtual Table Verification do weryfikacji tablicy wirtualnej - wersja 32-bitowa
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Libraries
+URL:           https://gcc.gnu.org/wiki/vtv
+Requires:      libgcc-multilib-32 = %{epoch}:%{version}-%{release}
+
+%description -n libvtv-multilib-32
+This package contains 32-bit version of the Virtual Table Verification
+library which is used for -fvtable-verify=... instrumented programs.
+
+%description -n libvtv-multilib-32 -l pl.UTF-8
+Ten pakiet zawiera 32-bitową wersję biblioteki Virtual Table
+Verification, służącej do weryfikacji tablicy wirtualnej w programach
+kompilowanych z opcją -fvtable-verify=....
+
+%package -n libvtv-multilib-32-devel
+Summary:       Development files for the Virtual Table Verification library - 32-bit version
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki Virtual Table Verification - wersja 32-bitowa
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Development/Libraries
+URL:           https://gcc.gnu.org/wiki/vtv
+Requires:      libvtv-multilib-32 = %{epoch}:%{version}-%{release}
+
+%description -n libvtv-multilib-32-devel
+This package contains the development files for 32-bit version of the
+Virtual Table Verification library.
+
+%description -n libvtv-multilib-32-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne 32-bitowej wersji biblioteki
+Virtual Table Verification.
+
+%package -n libvtv-multilib-32-static
+Summary:       The Virtual Table Verification static library - 32-bit version
+Summary(pl.UTF-8):     Statyczna biblioteka Virtual Table Verification - wersja 32-bitowa
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Development/Libraries
+URL:           https://gcc.gnu.org/wiki/vtv
+Requires:      libvtv-multilib-32-devel = %{epoch}:%{version}-%{release}
+
+%description -n libvtv-multilib-32-static
+This package contains 32-bit version of the Virtual Table Verification
+library.
+
+%description -n libvtv-multilib-32-static -l pl.UTF-8
+Ten pakiet zawiera 32-bitową wersję statycznej biblioteki Virtual
+Table Verification.
+
+%package -n libvtv-multilib-%{multilib2}
+Summary:       The Virtual Table Verification library - %{m2_desc} version
+Summary(pl.UTF-8):     Biblioteka Virtual Table Verification do weryfikacji tablicy wirtualnej - wersja %{m2_desc}
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Libraries
+URL:           https://gcc.gnu.org/wiki/vtv
+Requires:      libgcc-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description -n libvtv-multilib-%{multilib2}
+This package contains %{m2_desc} version of the Virtual Table Verification
+library which is used for -fvtable-verify=... instrumented programs.
+
+%description -n libvtv-multilib-%{multilib2} -l pl.UTF-8
+Ten pakiet zawiera wersję %{m2_desc} biblioteki Virtual Table
+Verification, służącej do weryfikacji tablicy wirtualnej w programach
+kompilowanych z opcją -fvtable-verify=....
+
+%package -n libvtv-multilib-%{multilib2}-devel
+Summary:       Development files for the Virtual Table Verification library - %{m2_desc} version
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki Virtual Table Verification - wersja %{m2_desc}
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Development/Libraries
+URL:           https://gcc.gnu.org/wiki/vtv
+Requires:      libvtv-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description -n libvtv-multilib-%{multilib2}-devel
+This package contains the development files for %{m2_desc} version of the
+Virtual Table Verification library.
+
+%description -n libvtv-multilib-%{multilib2}-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne wersji %{m2_desc} biblioteki
+Virtual Table Verification.
+
+%package -n libvtv-multilib-%{multilib2}-static
+Summary:       The Virtual Table Verification static library - %{m2_desc} version
+Summary(pl.UTF-8):     Statyczna biblioteka Virtual Table Verification - wersja %{m2_desc}
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Development/Libraries
+URL:           https://gcc.gnu.org/wiki/vtv
+Requires:      libvtv-multilib-%{multilib2}-devel = %{epoch}:%{version}-%{release}
+
+%description -n libvtv-multilib-%{multilib2}-static
+This package contains %{m2_desc} version of the Virtual Table
+Verification library.
+
+%description -n libvtv-multilib-%{multilib2}-static -l pl.UTF-8
+Ten pakiet zawiera wersję %{m2_desc} statycznej biblioteki Virtual
+Table Verification.
+
+%package -n libatomic
+Summary:       The GNU Atomic library
+Summary(pl.UTF-8):     Biblioteka GNU Atomic
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Libraries
+
+%description -n libatomic
+This package contains the GNU Atomic library which is a GCC support
+library for atomic operations not supported by hardware.
+
+%description -n libatomic -l pl.UTF-8
+Ten pakiet zawiera bibliotekę GNU Atomic, będącą biblioteką GCC
+wspierającą operacje atomowe na sprzęcie ich nie obsługującym.
+
+%package -n libatomic-devel
+Summary:       Development files for the GNU Atomic library
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki GNU Atomic
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Development/Libraries
+Requires:      libatomic = %{epoch}:%{version}-%{release}
+
+%description -n libatomic-devel
+This package contains development files for the GNU Atomic library.
+
+%description -n libatomic-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne biblioteki GNU Atomic.
+
+%package -n libatomic-static
+Summary:       The GNU Atomic static library
+Summary(pl.UTF-8):     Statyczna biblioteka GNU Atomic
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Development/Libraries
+Requires:      libatomic-devel = %{epoch}:%{version}-%{release}
+
+%description -n libatomic-static
+This package contains GNU Atomic static library.
+
+%description -n libatomic-static -l pl.UTF-8
+Ten pakiet zawiera statyczną bibliotekę GNU Atomic.
+
+%package -n libatomic-multilib-32
+Summary:       The GNU Atomic library - 32-bit version
+Summary(pl.UTF-8):     Biblioteka GNU Atomic - wersja 32-bitowa
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Libraries
+Obsoletes:     libatomic-multilib < 6:4.9.2-4
+
+%description -n libatomic-multilib-32
+This package contains 32-bit version of the GNU Atomic library which
+is a GCC support library for atomic operations not supported by
+hardware.
+
+%description -n libatomic-multilib-32 -l pl.UTF-8
+Ten pakiet zawiera 32-bitową wersję biblioteki GNU Atomic, będącej
+biblioteką GCC wspierającą operacje atomowe na sprzęcie ich nie
+obsługującym.
+
+%package -n libatomic-multilib-32-devel
+Summary:       Development files for the GNU Atomic static library - 32-bit version
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki GNU Atomic - wersja 32-bitowa
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Development/Libraries
+Requires:      libatomic-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     libatomic-multilib-devel < 6:4.9.2-4
+
+%description -n libatomic-multilib-32-devel
+This package contains the development files for 32-bit version of the
+GNU Atomic library.
+
+%description -n libatomic-multilib-32-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne 32-bitowej wersji biblioteki
+GNU Atomic.
+
+%package -n libatomic-multilib-32-static
+Summary:       The GNU Atomic static library - 32-bit version
+Summary(pl.UTF-8):     Statyczna biblioteka GNU Atomic - wersja 32-bitowa
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Development/Libraries
+Requires:      libatomic-multilib-32-devel = %{epoch}:%{version}-%{release}
+Obsoletes:     libatomic-multilib-static < 6:4.9.2-4
+
+%description -n libatomic-multilib-32-static
+This package contains 32-bit version of the GNU Atomic static library.
+
+%description -n libatomic-multilib-32-static -l pl.UTF-8
+Ten pakiet zawiera 32-bitową wersję statycznej biblioteki GNU Atomic.
+
+%package -n libatomic-multilib-%{multilib2}
+Summary:       The GNU Atomic library - %{m2_desc} version
+Summary(pl.UTF-8):     Biblioteka GNU Atomic - wersja %{m2_desc}
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Libraries
+
+%description -n libatomic-multilib-%{multilib2}
+This package contains %{m2_desc} version of the GNU Atomic library which
+is a GCC support library for atomic operations not supported by
+hardware.
+
+%description -n libatomic-multilib-%{multilib2} -l pl.UTF-8
+Ten pakiet zawiera wersję %{m2_desc} biblioteki GNU Atomic, będącej
+biblioteką GCC wspierającą operacje atomowe na sprzęcie ich nie
+obsługującym.
+
+%package -n libatomic-multilib-%{multilib2}-devel
+Summary:       Development files for the GNU Atomic static library - %{m2_desc} version
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki GNU Atomic - wersja %{m2_desc}
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Development/Libraries
+Requires:      libatomic-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description -n libatomic-multilib-%{multilib2}-devel
+This package contains the development files for %{m2_desc} version of the
+GNU Atomic library.
+
+%description -n libatomic-multilib-%{multilib2}-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne wersji %{m2_desc} biblioteki
+GNU Atomic.
+
+%package -n libatomic-multilib-%{multilib2}-static
+Summary:       The GNU Atomic static library - %{m2_desc} version
+Summary(pl.UTF-8):     Statyczna biblioteka GNU Atomic - wersja %{m2_desc}
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Development/Libraries
+Requires:      libatomic-multilib-%{multilib2}-devel = %{epoch}:%{version}-%{release}
+
+%description -n libatomic-multilib-%{multilib2}-static
+This package contains %{m2_desc} version of the GNU Atomic static library.
+
+%description -n libatomic-multilib-%{multilib2}-static -l pl.UTF-8
+Ten pakiet zawiera wersję %{m2_desc} statycznej biblioteki GNU Atomic.
+
+%package gdb-plugin
+Summary:       GCC plugin for GDB
+Summary(pl.UTF-8):     Wtyczka GCC dla GDB
+Group:         Development/Debuggers
+Requires:      %{name} = %{epoch}:%{version}-%{release}
+
+%description gdb-plugin
+This package contains GCC plugin for GDB C expression evaluation.
+
+%description gdb-plugin -l pl.UTF-8
+Ten pakiet zawiera wtyczkę GCC do obliczania wyrażeń języka C w GDB.
+
+%package plugin-devel
+Summary:       Support for compiling GCC plugins
+Summary(pl.UTF-8):     Obsługa kompilowania wtyczek GCC
+Group:         Development/Languages
+Requires:      %{name} = %{epoch}:%{version}-%{release}
+Requires:      gmp-devel >= 4.3.2
+Requires:      libmpc-devel >= 0.8.1
+Requires:      mpfr-devel >= 3.1.0
+
+%description plugin-devel
+This package contains header files and other support files for
+compiling GCC plugins. The GCC plugin ABI is currently not stable, so
+plugins must be rebuilt any time GCC is updated.
+
+%description plugin-devel -l pl.UTF-8
+Ten pakiet zawiera pliki nagłówkowe oraz inne pozwalające na
+kompilowanie wtyczek GCC. ABI wtyczek GCC nie jest obecnie stabilne,
+więc wtyczki muszą być przebudowywane przy każdej aktualizacji GCC.
+
+# Packages with epoch 0
+# DO NOT MOVE THESE PACKAGES AROUND
+
+# PUT SUCH PACKAGES HERE
+
+%prep
+%setup -q
+%patch100 -p1
 %patch0 -p1
+%patch1 -p1
 %patch2 -p1
 %patch3 -p1
+%patch4 -p1
 
-%patch7 -p0
-%if %{with qt}
-%patch8 -p1
+%patch10 -p1
+%if %{with gcc_libffi}
+%patch11 -p0
 %endif
-%patch12 -p1
-%patch13 -p0
-%patch14 -p1
 
-mv ChangeLog ChangeLog.general
-
-%if %{with java}
-# see contrib/download_ecj
-cp -p %{SOURCE2} ecj.jar
-%endif
+%{__mv} ChangeLog ChangeLog.general
 
 # override snapshot version.
 echo %{version} > gcc/BASE-VER
@@ -1469,18 +2784,9 @@ echo "release" > gcc/DEV-PHASE
 cd gcc
 #{__autoconf}
 cd ..
-%if %{with qt}
-cd libjava/classpath
-%{__autoconf}
-cd ../..
-%endif
-cp -f /usr/share/automake/config.sub .
 
 rm -rf builddir && install -d builddir && cd builddir
 
-# http://www.mailinglistarchive.com/java%40gcc.gnu.org/msg02751.html
-export JAR=no
-
 CC="%{__cc}" \
 CFLAGS="%{rpmcflags}" \
 CXXFLAGS="%{rpmcxxflags}" \
@@ -1493,68 +2799,105 @@ TEXCONFIG=false \
        --infodir=%{_infodir} \
        --mandir=%{_mandir} \
        --x-libraries=%{_libdir} \
+       --enable-bootstrap%{!?with_bootstrap:=no} \
+       --disable-build-with-cxx \
+       --disable-build-poststage1-with-cxx \
+       --enable-c99 \
        --enable-checking=release \
+%ifarch %{ix86} %{x8664} x32
+       --disable-cld \
+%endif
+       %{?with_fortran:--enable-cmath} \
+       --enable-decimal-float \
+       --enable-gnu-indirect-function \
        --enable-gnu-unique-object \
-       --with-linker-hash-style=gnu \
-       --enable-shared \
-       --enable-threads=posix \
+       --enable-initfini-array \
+       --disable-isl-version-check \
+       --enable-languages="c%{?with_cxx:,c++}%{?with_d:,d}%{?with_fortran:,fortran}%{?with_modula2:,m2}%{?with_objc:,objc}%{?with_objcxx:,obj-c++}%{?with_ada:,ada}%{?with_go:,go}" \
+       --enable-libgomp%{!?with_gomp:=no} \
+       --enable-libitm \
        --enable-linker-build-id \
        --enable-linux-futex \
-       --enable-languages="c%{?with_cxx:,c++}%{?with_fortran:,fortran}%{?with_objc:,objc}%{?with_objcxx:,obj-c++}%{?with_ada:,ada}%{?with_java:,java}%{?with_go:,go}" \
-       --%{?with_gomp:en}%{!?with_gomp:dis}able-libgomp \
-       --%{?with_mudflap:en}%{!?with_mudflap:dis}able-libmudflap \
-       --enable-c99 \
        --enable-long-long \
-       --enable-decimal-float=yes \
        %{!?with_multilib:--disable-multilib} \
        --enable-nls \
-       --disable-werror \
        --enable-lto \
        --enable-plugin \
-%ifarch %{ix86} %{x8664}
-       --disable-cld \
+%ifarch ppc ppc64
+       --enable-secureplt \
+%endif
+       --enable-shared \
+       --enable-threads=posix \
+       --disable-werror \
+%ifarch x32
+       --with-abi=x32 \
+%endif
+%ifarch %{x8664} x32
+       --with-arch-32=x86-64 \
 %endif
+%ifarch sparc64
+       --with-cpu=ultrasparc \
+%endif
+       --with-demangler-in-ld \
        --with-gnu-as \
        --with-gnu-ld \
-       --with-demangler-in-ld \
-       --with-system-zlib \
+       --with-linker-hash-style=gnu \
+       --with-long-double-128 \
+%if %{with multilib}
+%ifarch %{x8664}
+       --with-multilib-list=m32,m64%{?with_multilibx32:,mx32} \
+%endif
+%ifarch x32
+       --with-multilib-list=m32,m64,mx32 \
+%endif
+%endif
        --with-slibdir=%{_slibdir} \
 %ifnarch ia64
        --without-system-libunwind \
 %else
        --with-system-libunwind \
 %endif
-       %{!?with_java:--without-x} \
-       %{?with_fortran:--enable-cmath} \
-       --with-long-double-128 \
-       --with-ppl \
-       --with-cloog-ppl \
+       --with-system-zlib \
+       --without-x \
+%ifarch armv6l
+       --with-arch=armv6 \
+%endif
+%ifarch armv6hl
+       --with-arch=armv6 \
+       --with-float=hard \
+       --with-fpu=vfp \
+%endif
+%ifarch armv7l
+       --with-arch=armv7 \
+       --with-mode=thumb \
+%endif
+%ifarch armv7hl
+       --with-arch=armv7-a \
+       --with-float=hard \
+       --with-fpu=vfpv3-d16 \
+       --with-mode=thumb \
+%endif
+%ifarch armv7hnl
+       --with-arch=armv7-a \
+       --with-float=hard \
+       --with-fpu=neon-vfpv3 \
+       --with-mode=thumb \
+%endif
 %if %{with cxx}
-       --with-gxx-include-dir=%{_includedir}/c++/%{version} \
-       --disable-libstdcxx-pch \
        --enable-__cxa_atexit \
        --enable-libstdcxx-allocator=new \
+       --disable-libstdcxx-pch \
+       --enable-libstdcxx-threads \
+       --enable-libstdcxx-time=rt \
+       --enable-libstdcxx-visibility \
+       --enable-symvers=gnu%{?with_symvers:-versioned-namespace} \
+       --with-gxx-include-dir=%{_includedir}/c++/%{version} \
+       %{?with_vtv:--enable-vtable-verify} \
 %endif
-%if %{with java}
-       --enable-libjava-multilib=no \
-       %{!?with_alsa:--disable-alsa} \
-       %{!?with_dssi:--disable-dssi} \
-       --disable-gconf-peer \
-%if %{with x}
-       --enable-java-awt="xlib%{?with_gtk:,gtk}%{?with_qt:,qt}" \
-%endif
-       %{?with_mozilla:--enable-plugin} \
-       --enable-libgcj \
-       --enable-libgcj-multifile \
-       --enable-libgcj-database \
-       %{?with_gtk:--enable-gtk-cairo} \
-       --enable-jni \
-       --enable-xmlj \
-%endif
-       --%{?with_bootstrap:en}%{!?with_bootstrap:dis}able-bootstrap \
        --with-pkgversion="TLD-Linux" \
-       --with-bugurl="http://www.tld-linux.org" \
-       %{_target_platform}
+       --with-bugurl="https://tld-linux.org" \
+       --host=%{_target_platform} \
+       --build=%{_target_platform}
 
 cd ..
 
@@ -1564,9 +2907,8 @@ all := $(filter-out all Makefile,$(MAKECMDGOALS))
 all $(all):
        $(MAKE) -C builddir $(MAKE_OPTS) $(all) \
                %{?with_bootstrap:%{?with_profiling:profiledbootstrap}} \
-               GCJFLAGS="%{rpmcflags}" \
                BOOT_CFLAGS="%{rpmcflags}" \
-               STAGE1_CFLAGS="%{rpmcflags} -O0" \
+               STAGE1_CFLAGS="%{rpmcflags} -O1 -g0" \
                GNATLIBCFLAGS="%{rpmcflags}" \
                LDFLAGS_FOR_TARGET="%{rpmldflags}" \
                mandir=%{_mandir} \
@@ -1596,27 +2938,74 @@ cd builddir
 
 cp -p gcc/specs $RPM_BUILD_ROOT%{gcclibdir}
 
+%if %{with multilib}
+# create links
+%ifarch sparc64
+ln -f $RPM_BUILD_ROOT%{_bindir}/sparc64-tld-linux-gcc \
+       $RPM_BUILD_ROOT%{_bindir}/sparc-tld-linux-gcc
+ln -f $RPM_BUILD_ROOT%{_bindir}/sparc64-tld-linux-gcc-%{version} \
+       $RPM_BUILD_ROOT%{_bindir}/sparc-tld-linux-gcc-%{version}
+%if %{with cxx}
+ln -f $RPM_BUILD_ROOT%{_bindir}/sparc64-tld-linux-c++ \
+       $RPM_BUILD_ROOT%{_bindir}/sparc-tld-linux-c++
+ln -f $RPM_BUILD_ROOT%{_bindir}/sparc64-tld-linux-g++ \
+       $RPM_BUILD_ROOT%{_bindir}/sparc-tld-linux-g++
+%endif
+%endif
+%endif
+
 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
-echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
+echo ".so man1/gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
 
 libssp=$(cd $RPM_BUILD_ROOT%{_libdir}; echo libssp.so.*.*.*)
-mv $RPM_BUILD_ROOT%{_libdir}/libssp.so.* $RPM_BUILD_ROOT%{_slibdir}
+%{__mv} $RPM_BUILD_ROOT%{_libdir}/libssp.so.* $RPM_BUILD_ROOT%{_slibdir}
 ln -sf %{_slibdir}/$libssp $RPM_BUILD_ROOT%{_libdir}/libssp.so
+
+libitm=$(cd $RPM_BUILD_ROOT%{_libdir}; echo libitm.so.*.*.*)
+%{__mv} $RPM_BUILD_ROOT%{_libdir}/libitm.so.* $RPM_BUILD_ROOT%{_slibdir}
+ln -sf %{_slibdir}/$libitm $RPM_BUILD_ROOT%{_libdir}/libitm.so
+
+libgomp=$(cd $RPM_BUILD_ROOT%{_libdir}; echo libgomp.so.*.*.*)
+%{__mv} $RPM_BUILD_ROOT%{_libdir}/libgomp.so.* $RPM_BUILD_ROOT%{_slibdir}
+ln -sf %{_slibdir}/$libgomp $RPM_BUILD_ROOT%{_libdir}/libgomp.so
+
 %if %{with multilib}
 libssp=$(cd $RPM_BUILD_ROOT%{_libdir32}; echo libssp.so.*.*.*)
-mv $RPM_BUILD_ROOT%{_libdir32}/libssp.so.* $RPM_BUILD_ROOT%{_slibdir32}
+%{__mv} $RPM_BUILD_ROOT%{_libdir32}/libssp.so.* $RPM_BUILD_ROOT%{_slibdir32}
 ln -sf %{_slibdir32}/$libssp $RPM_BUILD_ROOT%{_libdir32}/libssp.so
+
+libitm=$(cd $RPM_BUILD_ROOT%{_libdir32}; echo libitm.so.*.*.*)
+%{__mv} $RPM_BUILD_ROOT%{_libdir32}/libitm.so.* $RPM_BUILD_ROOT%{_slibdir32}
+ln -sf %{_slibdir32}/$libitm $RPM_BUILD_ROOT%{_libdir32}/libitm.so
+
+libgomp=$(cd $RPM_BUILD_ROOT%{_libdir32}; echo libgomp.so.*.*.*)
+%{__mv} $RPM_BUILD_ROOT%{_libdir32}/libgomp.so.* $RPM_BUILD_ROOT%{_slibdir32}
+ln -sf %{_slibdir32}/$libgomp $RPM_BUILD_ROOT%{_libdir32}/libgomp.so
+
+%if %{with multilib2}
+libssp=$(cd $RPM_BUILD_ROOT%{_libdirm2}; echo libssp.so.*.*.*)
+%{__mv} $RPM_BUILD_ROOT%{_libdirm2}/libssp.so.* $RPM_BUILD_ROOT%{_slibdirm2}
+ln -sf %{_slibdirm2}/$libssp $RPM_BUILD_ROOT%{_libdirm2}/libssp.so
+
+libitm=$(cd $RPM_BUILD_ROOT%{_libdirm2}; echo libitm.so.*.*.*)
+%{__mv} $RPM_BUILD_ROOT%{_libdirm2}/libitm.so.* $RPM_BUILD_ROOT%{_slibdirm2}
+ln -sf %{_slibdirm2}/$libitm $RPM_BUILD_ROOT%{_libdirm2}/libitm.so
+
+libgomp=$(cd $RPM_BUILD_ROOT%{_libdirm2}; echo libgomp.so.*.*.*)
+%{__mv} $RPM_BUILD_ROOT%{_libdirm2}/libgomp.so.* $RPM_BUILD_ROOT%{_slibdirm2}
+ln -sf %{_slibdirm2}/$libgomp $RPM_BUILD_ROOT%{_libdirm2}/libgomp.so
+%endif
 %endif
 
 %if %{with fortran}
 ln -sf gfortran $RPM_BUILD_ROOT%{_bindir}/g95
-echo ".so gfortran.1" > $RPM_BUILD_ROOT%{_mandir}/man1/g95.1
+echo ".so man1/gfortran.1" > $RPM_BUILD_ROOT%{_mandir}/man1/g95.1
 %endif
 
 %if %{with ada}
 # move ada shared libraries to proper place...
-mv -f  $RPM_BUILD_ROOT%{gcclibdir}/adalib/*.so.1 \
+%{__mv}        $RPM_BUILD_ROOT%{gcclibdir}/adalib/*.so.1 \
        $RPM_BUILD_ROOT%{_libdir}
 # check if symlink to be made is valid
 test -f        $RPM_BUILD_ROOT%{_libdir}/libgnat-%{major_ver}.so.1
@@ -1625,7 +3014,7 @@ ln -sf    libgnarl-%{major_ver}.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-%{major_ver
 ln -sf libgnat-%{major_ver}.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
 ln -sf libgnarl-%{major_ver}.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
 %if %{with multilib}
-mv -f  $RPM_BUILD_ROOT%{gcclibdir}/32/adalib/*.so.1 \
+%{__mv}        $RPM_BUILD_ROOT%{gcclibdir}/32/adalib/*.so.1 \
        $RPM_BUILD_ROOT%{_libdir32}
 # check if symlink to be made is valid
 test -f        $RPM_BUILD_ROOT%{_libdir32}/libgnat-%{major_ver}.so.1
@@ -1633,18 +3022,26 @@ ln -sf  libgnat-%{major_ver}.so.1 $RPM_BUILD_ROOT%{_libdir32}/libgnat-%{major_ver
 ln -sf libgnarl-%{major_ver}.so.1 $RPM_BUILD_ROOT%{_libdir32}/libgnarl-%{major_ver}.so
 ln -sf libgnat-%{major_ver}.so $RPM_BUILD_ROOT%{_libdir32}/libgnat.so
 ln -sf libgnarl-%{major_ver}.so $RPM_BUILD_ROOT%{_libdir32}/libgnarl.so
+
+%if %{with multilib2}
+%{__mv}        $RPM_BUILD_ROOT%{gcclibdir}/%{multilib2}/adalib/*.so.1 \
+       $RPM_BUILD_ROOT%{_libdirm2}
+# check if symlink to be made is valid
+test -f        $RPM_BUILD_ROOT%{_libdirm2}/libgnat-%{major_ver}.so.1
+ln -sf libgnat-%{major_ver}.so.1 $RPM_BUILD_ROOT%{_libdirm2}/libgnat-%{major_ver}.so
+ln -sf libgnarl-%{major_ver}.so.1 $RPM_BUILD_ROOT%{_libdirm2}/libgnarl-%{major_ver}.so
+ln -sf libgnat-%{major_ver}.so $RPM_BUILD_ROOT%{_libdirm2}/libgnat.so
+ln -sf libgnarl-%{major_ver}.so $RPM_BUILD_ROOT%{_libdirm2}/libgnarl.so
+%endif
 %endif
 %endif
 
 cd ..
 
-%if %{with java}
-install -d java-doc
-cp -f libjava/READ* java-doc
-ln -sf libgcj-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/libgcj.jar
-
+%if %{with gcc_libffi}
 # still not installed by gcc?
 [ ! -f $RPM_BUILD_ROOT%{_pkgconfigdir}/libffi.pc ] || exit 1
+install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
 sed -e 's,@prefix@,%{_prefix},
        s,@exec_prefix@,%{_exec_prefix},
        s,@libdir@,%{_libdir},
@@ -1656,6 +3053,14 @@ sed -e 's,@prefix@,%{_prefix},
        s,@exec_prefix@,%{_exec_prefix},
        s,@libdir@,%{_libdir32},
        s,@gcclibdir@,%{gcclibdir},' %{SOURCE3} >$RPM_BUILD_ROOT%{_pkgconfigdir32}/libffi.pc
+%if %{with multilib2}
+[ ! -f $RPM_BUILD_ROOT%{_pkgconfigdirm2}/libffi.pc ] || exit 1
+install -d $RPM_BUILD_ROOT%{_pkgconfigdirm2}
+sed -e 's,@prefix@,%{_prefix},
+       s,@exec_prefix@,%{_exec_prefix},
+       s,@libdir@,%{_libdirm2},
+       s,@gcclibdir@,%{gcclibdir},' %{SOURCE3} >$RPM_BUILD_ROOT%{_pkgconfigdirm2}/libffi.pc
+%endif
 %endif
 %endif
 
@@ -1665,74 +3070,92 @@ cp -f libobjc/README gcc/objc/README.libobjc
 
 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/%{_target_platform}/%{version}
 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
-for f in libssp.la libssp_nonshared.la \
-       %{?with_cxx:libstdc++.la libsupc++.la} \
-       %{?with_fortran:libgfortran.la libquadmath.la} \
+for f in libitm.la libssp.la libssp_nonshared.la \
+       %{?with_cxx:libstdc++.la libstdc++exp.la libstdc++fs.la libsupc++.la} \
+       %{?with_fortran:libgfortran.la %{?with_quadmath:libquadmath.la}} \
        %{?with_gomp:libgomp.la} \
-       %{?with_mudflap:libmudflap.la libmudflapth.la} \
-%if %{with java}
-       libffi.la libgcj.la libgcj-tools.la libgij.la \
-       %{gcjdbexecdir}/libjvm.la \
-       %{gcjdbexecdir}/libxmlj.la \
-       %{?with_x:lib-gnu-awt-xlib.la} \
-       %{?with_gtk:%{gcjdbexecdir}/libgtkpeer.la %{gcjdbexecdir}/libjawt.la} \
-       %{?with_qt:%{gcjdbexecdir}/libqtpeer.la} \
-       %{?with_alsa:%{gcjdbexecdir}/libgjsmalsa.la} \
-       %{?with_dssi:%{gcjdbexecdir}/libgjsmdssi.la} \
-%endif
+       %{?with_Xsan:libasan.la libubsan.la} \
+       %{?with_hwasan:libhwasan.la} \
+       %{?with_lsan_m0:liblsan.la} \
+       %{?with_tsan_m0:libtsan.la} \
+       %{?with_atomic:libatomic.la} \
+       %{?with_modula2:libm2cor.la libm2iso.la libm2log.la libm2min.la libm2pim.la} \
        %{?with_objc:libobjc.la};
 do
-       %{__perl} %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/$f %{_libdir} > $RPM_BUILD_ROOT%{_libdir}/$f.fixed
-       mv $RPM_BUILD_ROOT%{_libdir}/$f{.fixed,}
+       file="$RPM_BUILD_ROOT%{_libdir}/$f"
+       %{__perl} %{SOURCE1} "$file" %{_libdir} >"${file}.fixed"
+       %{__mv} "${file}.fixed" "$file"
 done
 %if %{with multilib}
-for f in libssp.la libssp_nonshared.la \
-       %{?with_cxx:libstdc++.la libsupc++.la} \
-       %{?with_fortran:libgfortran.la libquadmath.la} \
+for f in libitm.la libssp.la libssp_nonshared.la \
+       %{?with_cxx:libstdc++.la libstdc++exp.la libstdc++fs.la libsupc++.la} \
+       %{?with_fortran:libgfortran.la %{?with_quadmath:libquadmath.la}} \
        %{?with_gomp:libgomp.la} \
-       %{?with_mudflap:libmudflap.la libmudflapth.la} \
-       %{?with_java:libffi.la} \
+       %{?with_Xsan:libasan.la libubsan.la} \
+       %{?with_lsan_m1:liblsan.la} \
+       %{?with_tsan_m1:libtsan.la} \
+       %{?with_atomic:libatomic.la} \
+       %{?with_modula2:libm2cor.la libm2iso.la libm2log.la libm2min.la libm2pim.la} \
        %{?with_objc:libobjc.la};
 do
        %{__perl} %{SOURCE1} $RPM_BUILD_ROOT%{_libdir32}/$f %{_libdir32} > $RPM_BUILD_ROOT%{_libdir32}/$f.fixed
-       mv $RPM_BUILD_ROOT%{_libdir32}/$f{.fixed,}
+       %{__mv} $RPM_BUILD_ROOT%{_libdir32}/$f{.fixed,}
+done
+%if %{with multilib2}
+for f in libitm.la libssp.la libssp_nonshared.la \
+       %{?with_cxx:libstdc++.la libstdc++exp.la libstdc++fs.la libsupc++.la} \
+       %{?with_fortran:libgfortran.la %{?with_quadmath:libquadmath.la}} \
+       %{?with_gomp:libgomp.la} \
+       %{?with_Xsan:libasan.la libubsan.la} \
+       %{?with_hwasan_m2:libhwasan.la} \
+       %{?with_lsan_m2:liblsan.la} \
+       %{?with_tsan_m2:libtsan.la} \
+       %{?with_atomic:libatomic.la} \
+       %{?with_modula2:libm2cor.la libm2iso.la libm2log.la libm2min.la libm2pim.la} \
+       %{?with_objc:libobjc.la};
+do
+       %{__perl} %{SOURCE1} $RPM_BUILD_ROOT%{_libdirm2}/$f %{_libdirm2} > $RPM_BUILD_ROOT%{_libdirm2}/$f.fixed
+       %{__mv} $RPM_BUILD_ROOT%{_libdirm2}/$f{.fixed,}
 done
 %endif
+%endif
 
 cp -p $RPM_BUILD_ROOT%{gcclibdir}/install-tools/include/*.h $RPM_BUILD_ROOT%{gcclibdir}/include
-cp -p $RPM_BUILD_ROOT%{gcclibdir}/include-fixed/syslimits.h $RPM_BUILD_ROOT%{gcclibdir}/include
 %{__rm} -r $RPM_BUILD_ROOT%{gcclibdir}/install-tools
 %{__rm} -r $RPM_BUILD_ROOT%{gcclibdir}/include-fixed
 
+# plugins, .la not needed
+%{__rm} $RPM_BUILD_ROOT%{gcclibdir}/liblto_plugin.la \
+       $RPM_BUILD_ROOT%{_libdir}/libcc1.la
+
+%if %{without lsan_m0} && (%{without multilib2} || %{without lsan_m2})
+%{__rm} $RPM_BUILD_ROOT%{gcclibdir}/include/sanitizer/lsan_interface.h
+%endif
+
 %if %{with python}
-for LIB in lib lib64; do
-       LIBPATH="$RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{_prefix}/$LIB"
+for LIBDIR in %{_libdir} %{?with_multilib:%{_libdir32}} %{?with_multilib2:%{_libdirm2}} ; do
+       LIBPATH="$RPM_BUILD_ROOT%{_datadir}/gdb/auto-load$LIBDIR"
        install -d $LIBPATH
        # basename is being run only for the native (non-biarch) file.
        sed -e 's,@pythondir@,%{_datadir}/gdb,' \
-         -e 's,@toolexeclibdir@,%{_prefix}/'"$LIB," \
+         -e "s,@toolexeclibdir@,$LIBDIR," \
          < libstdc++-v3/python/hook.in \
          > $LIBPATH/$(basename $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libstdc++.so.*.*.*)-gdb.py
 done
-install -d $RPM_BUILD_ROOT%{py_sitescriptdir}
-mv $RPM_BUILD_ROOT%{_datadir}/gcc-%{version}/python/libstdcxx $RPM_BUILD_ROOT%{py_sitescriptdir}
-%if %{with java}
-mv $RPM_BUILD_ROOT%{_datadir}/gcc-%{version}/python/libjava $RPM_BUILD_ROOT%{py_sitescriptdir}
-%endif
-%{__sed} -i -e '1s,#!/usr/bin/env python,#!/usr/bin/python,' $RPM_BUILD_ROOT%{_bindir}/aot-compile
-%py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir}
-%py_comp $RPM_BUILD_ROOT%{py_sitescriptdir}
-%py_postclean
+install -d $RPM_BUILD_ROOT%{py3_sitescriptdir}
+%{__mv} $RPM_BUILD_ROOT%{_datadir}/gcc-%{version}/python/libstdcxx $RPM_BUILD_ROOT%{py3_sitescriptdir}
+%py3_ocomp $RPM_BUILD_ROOT%{py3_sitescriptdir}
+%py3_comp $RPM_BUILD_ROOT%{py3_sitescriptdir}
 %else
 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/gcc-%{version}/python/libstdcxx
-%if %{with java}
-%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/gcc-%{version}/python/libjava
-%endif
 %endif
 # script(s) always installed; see above for builds with python; if no python, just don't package
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libstdc++.so.*-gdb.py
 %if %{with multilib}
 %{__rm} $RPM_BUILD_ROOT%{_libdir32}/libstdc++.so.*-gdb.py
+%if %{with multilib2}
+%{__rm} $RPM_BUILD_ROOT%{_libdirm2}/libstdc++.so.*-gdb.py
+%endif
 %endif
 
 %find_lang gcc
@@ -1774,64 +3197,126 @@ rm -rf $RPM_BUILD_ROOT
 %postun        fortran -p /sbin/postshell
 -/usr/sbin/fix-info-dir -c %{_infodir}
 
-%post  java -p /sbin/postshell
+%post  go -p /sbin/postshell
 -/usr/sbin/fix-info-dir -c %{_infodir}
 
-%postun        java -p /sbin/postshell
+%postun        go -p /sbin/postshell
 -/usr/sbin/fix-info-dir -c %{_infodir}
 
-%post  go -p /sbin/postshell
+%post  -n libquadmath-devel -p /sbin/postshell
 -/usr/sbin/fix-info-dir -c %{_infodir}
 
-%postun        go -p /sbin/postshell
+%postun        -n libquadmath-devel -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
+
+%post  -n libffi-devel -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
+
+%postun        -n libffi-devel -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
+
+%post  -n libgomp-devel -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
+
+%postun        -n libgomp-devel -p /sbin/postshell
 -/usr/sbin/fix-info-dir -c %{_infodir}
 
 %post  -p /sbin/ldconfig -n libgcc
 %postun        -p /sbin/ldconfig -n libgcc
-%post  -p /sbin/ldconfig -n libgcc-multilib
-%postun        -p /sbin/ldconfig -n libgcc-multilib
+%post  -p /sbin/ldconfig -n libgcc-multilib-32
+%postun        -p /sbin/ldconfig -n libgcc-multilib-32
+%post  -p /sbin/ldconfig -n libgcc-multilib-%{multilib2}
+%postun        -p /sbin/ldconfig -n libgcc-multilib-%{multilib2}
 %post  -p /sbin/ldconfig -n libgomp
 %postun        -p /sbin/ldconfig -n libgomp
-%post  -p /sbin/ldconfig -n libgomp-multilib
-%postun        -p /sbin/ldconfig -n libgomp-multilib
-%post  -p /sbin/ldconfig -n libmudflap
-%postun        -p /sbin/ldconfig -n libmudflap
-%post  -p /sbin/ldconfig -n libmudflap-multilib
-%postun        -p /sbin/ldconfig -n libmudflap-multilib
+%post  -p /sbin/ldconfig -n libgomp-multilib-32
+%postun        -p /sbin/ldconfig -n libgomp-multilib-32
+%post  -p /sbin/ldconfig -n libgomp-multilib-%{multilib2}
+%postun        -p /sbin/ldconfig -n libgomp-multilib-%{multilib2}
 %post  -p /sbin/ldconfig -n libgnat
 %postun        -p /sbin/ldconfig -n libgnat
-%post  -p /sbin/ldconfig -n libgnat-multilib
-%postun        -p /sbin/ldconfig -n libgnat-multilib
+%post  -p /sbin/ldconfig -n libgnat-multilib-32
+%postun        -p /sbin/ldconfig -n libgnat-multilib-32
+%post  -p /sbin/ldconfig -n libgnat-multilib-%{multilib2}
+%postun        -p /sbin/ldconfig -n libgnat-multilib-%{multilib2}
 %post  -p /sbin/ldconfig -n libstdc++
 %postun        -p /sbin/ldconfig -n libstdc++
-%post  -p /sbin/ldconfig -n libstdc++-multilib
-%postun        -p /sbin/ldconfig -n libstdc++-multilib
+%post  -p /sbin/ldconfig -n libstdc++-multilib-32
+%postun        -p /sbin/ldconfig -n libstdc++-multilib-32
+%post  -p /sbin/ldconfig -n libstdc++-multilib-%{multilib2}
+%postun        -p /sbin/ldconfig -n libstdc++-multilib-%{multilib2}
 %post  -p /sbin/ldconfig -n libgfortran
 %postun        -p /sbin/ldconfig -n libgfortran
-%post  -p /sbin/ldconfig -n libgfortran-multilib
-%postun        -p /sbin/ldconfig -n libgfortran-multilib
-%post  -p /sbin/ldconfig -n libgcj
-%postun        -p /sbin/ldconfig -n libgcj
+%post  -p /sbin/ldconfig -n libgfortran-multilib-32
+%postun        -p /sbin/ldconfig -n libgfortran-multilib-32
+%post  -p /sbin/ldconfig -n libgfortran-multilib-%{multilib2}
+%postun        -p /sbin/ldconfig -n libgfortran-multilib-%{multilib2}
 %post  -p /sbin/ldconfig -n libffi
 %postun        -p /sbin/ldconfig -n libffi
-%post  -p /sbin/ldconfig -n libffi-multilib
-%postun        -p /sbin/ldconfig -n libffi-multilib
+%post  -p /sbin/ldconfig -n libffi-multilib-32
+%postun        -p /sbin/ldconfig -n libffi-multilib-32
+%post  -p /sbin/ldconfig -n libffi-multilib-%{multilib2}
+%postun        -p /sbin/ldconfig -n libffi-multilib-%{multilib2}
+%post  -p /sbin/ldconfig -n libgm2
+%postun        -p /sbin/ldconfig -n libgm2
+%post  -p /sbin/ldconfig -n libgm2-multilib-32
+%postun        -p /sbin/ldconfig -n libgm2-multilib-32
+%post  -p /sbin/ldconfig -n libgm2-multilib-%{multilib2}
+%postun        -p /sbin/ldconfig -n libgm2-multilib-%{multilib2}
 %post  -p /sbin/ldconfig -n libobjc
 %postun        -p /sbin/ldconfig -n libobjc
-%post  -p /sbin/ldconfig -n libobjc-multilib
-%postun        -p /sbin/ldconfig -n libobjc-multilib
-%post -n libquadmath
-/sbin/ldconfig
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
-%postun -n libquadmath
-/sbin/ldconfig
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
-%post  -p /sbin/ldconfig -n libquadmath-multilib
-%postun        -p /sbin/ldconfig -n libquadmath-multilib
+%post  -p /sbin/ldconfig -n libobjc-multilib-32
+%postun        -p /sbin/ldconfig -n libobjc-multilib-32
+%post  -p /sbin/ldconfig -n libobjc-multilib-%{multilib2}
+%postun        -p /sbin/ldconfig -n libobjc-multilib-%{multilib2}
+%post  -p /sbin/ldconfig -n libquadmath
+%postun        -p /sbin/ldconfig -n libquadmath
+%post  -p /sbin/ldconfig -n libquadmath-multilib-32
+%postun        -p /sbin/ldconfig -n libquadmath-multilib-32
+%post  -p /sbin/ldconfig -n libquadmath-multilib-%{multilib2}
+%postun        -p /sbin/ldconfig -n libquadmath-multilib-%{multilib2}
 %post  -p /sbin/ldconfig -n libgo
 %postun        -p /sbin/ldconfig -n libgo
-%post  -p /sbin/ldconfig -n libgo-multilib
-%postun        -p /sbin/ldconfig -n libgo-multilib
+%post  -p /sbin/ldconfig -n libgo-multilib-32
+%postun        -p /sbin/ldconfig -n libgo-multilib-32
+%post  -p /sbin/ldconfig -n libgo-multilib-%{multilib2}
+%postun        -p /sbin/ldconfig -n libgo-multilib-%{multilib2}
+%post  -p /sbin/ldconfig -n libasan
+%postun        -p /sbin/ldconfig -n libasan
+%post  -p /sbin/ldconfig -n libasan-multilib-32
+%postun        -p /sbin/ldconfig -n libasan-multilib-32
+%post  -p /sbin/ldconfig -n libasan-multilib-%{multilib2}
+%postun        -p /sbin/ldconfig -n libasan-multilib-%{multilib2}
+%post  -p /sbin/ldconfig -n libhwasan
+%postun        -p /sbin/ldconfig -n libhwasan
+%post  -p /sbin/ldconfig -n liblsan
+%postun        -p /sbin/ldconfig -n liblsan
+%post  -p /sbin/ldconfig -n liblsan-multilib-%{multilib2}
+%postun        -p /sbin/ldconfig -n liblsan-multilib-%{multilib2}
+%post  -p /sbin/ldconfig -n libtsan
+%postun        -p /sbin/ldconfig -n libtsan
+%post  -p /sbin/ldconfig -n libtsan-multilib-%{multilib2}
+%postun        -p /sbin/ldconfig -n libtsan-multilib-%{multilib2}
+%post   -p /sbin/ldconfig -n libubsan
+%postun -p /sbin/ldconfig -n libubsan
+%post   -p /sbin/ldconfig -n libubsan-multilib-32
+%postun -p /sbin/ldconfig -n libubsan-multilib-32
+%post   -p /sbin/ldconfig -n libubsan-multilib-%{multilib2}
+%postun -p /sbin/ldconfig -n libubsan-multilib-%{multilib2}
+%post   -p /sbin/ldconfig -n libvtv
+%postun -p /sbin/ldconfig -n libvtv
+%post   -p /sbin/ldconfig -n libvtv-multilib-32
+%postun -p /sbin/ldconfig -n libvtv-multilib-32
+%post   -p /sbin/ldconfig -n libvtv-multilib-%{multilib2}
+%postun -p /sbin/ldconfig -n libvtv-multilib-%{multilib2}
+%post  -p /sbin/ldconfig -n libatomic
+%postun        -p /sbin/ldconfig -n libatomic
+%post  -p /sbin/ldconfig -n libatomic-multilib-32
+%postun        -p /sbin/ldconfig -n libatomic-multilib-32
+%post  -p /sbin/ldconfig -n libatomic-multilib-%{multilib2}
+%postun        -p /sbin/ldconfig -n libatomic-multilib-%{multilib2}
+%post  -p /sbin/ldconfig gdb-plugin
+%postun        -p /sbin/ldconfig gdb-plugin
 
 %files -f gcc.lang
 %defattr(644,root,root,755)
@@ -1842,25 +3327,38 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/cc
 %attr(755,root,root) %{_bindir}/cpp
 %attr(755,root,root) %{_bindir}/gcc
-#%attr(755,root,root) %{_bindir}/gccbug
+%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}/gcov
+%attr(755,root,root) %{_bindir}/gcov-dump
+%attr(755,root,root) %{_bindir}/gcov-tool
+%attr(755,root,root) %{_bindir}/lto-dump
 %{_mandir}/man1/cc.1*
 %{_mandir}/man1/cpp.1*
 %{_mandir}/man1/gcc.1*
 %{_mandir}/man1/gcov.1*
+%{_mandir}/man1/gcov-dump.1*
+%{_mandir}/man1/gcov-tool.1*
+%{_mandir}/man1/lto-dump.1*
 %{_infodir}/cpp.info*
 %{_infodir}/cppinternals.info*
 %{_infodir}/gcc.info*
 %{_infodir}/gccinstall.info*
 %{_infodir}/gccint.info*
+%{_infodir}/libitm.info*
 %attr(755,root,root) /lib/cpp
 %attr(755,root,root) %{_slibdir}/libgcc_s.so
+%attr(755,root,root) %{_libdir}/libitm.so
 %attr(755,root,root) %{_libdir}/libssp.so
+%{_libdir}/libitm.la
+%{_libdir}/libitm.a
+%{_libdir}/libitm.spec
+%{_libdir}/libsanitizer.spec
 %{_libdir}/libssp.la
 %{_libdir}/libssp.a
 %{_libdir}/libssp_nonshared.la
 %{_libdir}/libssp_nonshared.a
-%dir %{_libdir}/gcc
 %dir %{_libdir}/gcc/%{_target_platform}
 %dir %{gcclibdir}
 %{gcclibdir}/libgcc.a
@@ -1868,57 +3366,157 @@ rm -rf $RPM_BUILD_ROOT
 %{gcclibdir}/libgcov.a
 %{gcclibdir}/specs
 %{gcclibdir}/crt*.o
+%{?with_vtv:%{gcclibdir}/vtv_*.o}
 %attr(755,root,root) %{gcclibdir}/cc1
 %attr(755,root,root) %{gcclibdir}/collect2
 %attr(755,root,root) %{gcclibdir}/lto-wrapper
 %attr(755,root,root) %{gcclibdir}/lto1
 %attr(755,root,root) %{gcclibdir}/liblto_plugin.so*
-%{gcclibdir}/plugin
 %dir %{gcclibdir}/include
+%dir %{gcclibdir}/include/sanitizer
+%{gcclibdir}/include/sanitizer/common_interface_defs.h
 %dir %{gcclibdir}/include/ssp
 %{gcclibdir}/include/ssp/*.h
 %{gcclibdir}/include/float.h
+%{gcclibdir}/include/gcov.h
 %{gcclibdir}/include/iso646.h
 %{gcclibdir}/include/limits.h
+%{gcclibdir}/include/stdalign.h
 %{gcclibdir}/include/stdarg.h
+%{gcclibdir}/include/stdatomic.h
 %{gcclibdir}/include/stdbool.h
 %{gcclibdir}/include/stddef.h
 %{gcclibdir}/include/stdfix.h
 %{gcclibdir}/include/stdint.h
 %{gcclibdir}/include/stdint-gcc.h
+%{gcclibdir}/include/stdnoreturn.h
 %{gcclibdir}/include/syslimits.h
 %{gcclibdir}/include/unwind.h
 %{gcclibdir}/include/varargs.h
-%ifarch %{ix86} %{x8664}
-%{gcclibdir}/include/abmintrin.h
+%ifarch %{ix86} %{x8664} x32
+%{gcclibdir}/include/adxintrin.h
 %{gcclibdir}/include/ammintrin.h
+%{gcclibdir}/include/amxbf16intrin.h
+%{gcclibdir}/include/amxcomplexintrin.h
+%{gcclibdir}/include/amxfp16intrin.h
+%{gcclibdir}/include/amxint8intrin.h
+%{gcclibdir}/include/amxtileintrin.h 
+%{gcclibdir}/include/avx2intrin.h
+%{gcclibdir}/include/avx5124fmapsintrin.h
+%{gcclibdir}/include/avx5124vnniwintrin.h
+%{gcclibdir}/include/avx512bf16intrin.h
+%{gcclibdir}/include/avx512bf16vlintrin.h
+%{gcclibdir}/include/avx512bitalgintrin.h
+%{gcclibdir}/include/avx512bwintrin.h
+%{gcclibdir}/include/avx512cdintrin.h
+%{gcclibdir}/include/avx512dqintrin.h
+%{gcclibdir}/include/avx512erintrin.h
+%{gcclibdir}/include/avx512fintrin.h
+%{gcclibdir}/include/avx512fp16intrin.h
+%{gcclibdir}/include/avx512fp16vlintrin.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/avx512vp2intersectintrin.h
+%{gcclibdir}/include/avx512vp2intersectvlintrin.h
+%{gcclibdir}/include/avx512vpopcntdqintrin.h
+%{gcclibdir}/include/avx512vpopcntdqvlintrin.h
+%{gcclibdir}/include/avxifmaintrin.h
 %{gcclibdir}/include/avxintrin.h
+%{gcclibdir}/include/avxneconvertintrin.h
+%{gcclibdir}/include/avxvnniint8intrin.h
+%{gcclibdir}/include/avxvnniintrin.h
+%{gcclibdir}/include/bmi2intrin.h
 %{gcclibdir}/include/bmiintrin.h
 %{gcclibdir}/include/bmmintrin.h
+%{gcclibdir}/include/cet.h
+%{gcclibdir}/include/cetintrin.h
+%{gcclibdir}/include/cldemoteintrin.h
+%{gcclibdir}/include/clflushoptintrin.h
+%{gcclibdir}/include/clwbintrin.h
+%{gcclibdir}/include/clzerointrin.h
+%{gcclibdir}/include/cmpccxaddintrin.h
 %{gcclibdir}/include/cpuid.h
 %{gcclibdir}/include/cross-stdarg.h
 %{gcclibdir}/include/emmintrin.h
+%{gcclibdir}/include/enqcmdintrin.h
+%{gcclibdir}/include/f16cintrin.h
 %{gcclibdir}/include/fma4intrin.h
+%{gcclibdir}/include/fmaintrin.h
+%{gcclibdir}/include/fxsrintrin.h
+%{gcclibdir}/include/gfniintrin.h
+%{gcclibdir}/include/hresetintrin.h
 %{gcclibdir}/include/ia32intrin.h
 %{gcclibdir}/include/immintrin.h
+%{gcclibdir}/include/keylockerintrin.h
 %{gcclibdir}/include/lwpintrin.h
+%{gcclibdir}/include/lzcntintrin.h
 %{gcclibdir}/include/mm3dnow.h
-%{gcclibdir}/include/mm_malloc.h
 %{gcclibdir}/include/mmintrin.h
+%{gcclibdir}/include/mm_malloc.h
+%{gcclibdir}/include/movdirintrin.h
+%{gcclibdir}/include/mwaitintrin.h
+%{gcclibdir}/include/mwaitxintrin.h
 %{gcclibdir}/include/nmmintrin.h
-%{gcclibdir}/include/popcntintrin.h
+%{gcclibdir}/include/pconfigintrin.h
+%{gcclibdir}/include/pkuintrin.h
 %{gcclibdir}/include/pmmintrin.h
+%{gcclibdir}/include/popcntintrin.h
+%{gcclibdir}/include/prfchiintrin.h
+%{gcclibdir}/include/prfchwintrin.h
+%{gcclibdir}/include/raointintrin.h
+%{gcclibdir}/include/rdseedintrin.h
+%{gcclibdir}/include/rtmintrin.h
+%{gcclibdir}/include/serializeintrin.h
+%{gcclibdir}/include/sgxintrin.h
+%{gcclibdir}/include/shaintrin.h
 %{gcclibdir}/include/smmintrin.h
 %{gcclibdir}/include/tbmintrin.h
 %{gcclibdir}/include/tmmintrin.h
+%{gcclibdir}/include/tsxldtrkintrin.h
+%{gcclibdir}/include/uintrintrin.h
+%{gcclibdir}/include/vaesintrin.h
+%{gcclibdir}/include/vpclmulqdqintrin.h
+%{gcclibdir}/include/waitpkgintrin.h
+%{gcclibdir}/include/wbnoinvdintrin.h
 %{gcclibdir}/include/wmmintrin.h
+%{gcclibdir}/include/x86gprintrin.h
 %{gcclibdir}/include/x86intrin.h
 %{gcclibdir}/include/xmmintrin.h
 %{gcclibdir}/include/xopintrin.h
+%{gcclibdir}/include/xsavecintrin.h
+%{gcclibdir}/include/xsaveintrin.h
+%{gcclibdir}/include/xsaveoptintrin.h
+%{gcclibdir}/include/xsavesintrin.h
+%{gcclibdir}/include/xtestintrin.h
 %endif
-%ifarch arm
+%ifarch %{arm}
+%{gcclibdir}/include/arm_acle.h
+%{gcclibdir}/include/arm_bf16.h
+%{gcclibdir}/include/arm_cde.h
+%{gcclibdir}/include/arm_cmse.h
+%{gcclibdir}/include/arm_fp16.h
+%{gcclibdir}/include/arm_mve.h
+%{gcclibdir}/include/arm_mve_types.h
 %{gcclibdir}/include/arm_neon.h
 %{gcclibdir}/include/mmintrin.h
+%{gcclibdir}/include/unwind-arm-common.h
+%endif
+%ifarch aarch64
+%{gcclibdir}/include/arm_acle.h
+%{gcclibdir}/include/arm_bf16.h
+%{gcclibdir}/include/arm_fp16.h
+%{gcclibdir}/include/arm_neon.h
+%{gcclibdir}/include/arm_sve.h
 %endif
 %ifarch ia64
 %{gcclibdir}/include/ia64intrin.h
@@ -1928,123 +3526,167 @@ rm -rf $RPM_BUILD_ROOT
 %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/si2vmx.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}
 
 %if %{with multilib}
-%files multilib
+%files multilib-32
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_slibdir32}/libgcc_s.so
 %dir %{gcclibdir}/32
 %{gcclibdir}/32/crt*.o
+%{?with_vtv:%{gcclibdir}/32/vtv_*.o}
 %{gcclibdir}/32/libgcc.a
 %{gcclibdir}/32/libgcc_eh.a
 %{gcclibdir}/32/libgcov.a
+%{_libdir32}/libitm.spec
+%{_libdir32}/libsanitizer.spec
+%attr(755,root,root) %{_libdir32}/libitm.so
 %attr(755,root,root) %{_libdir32}/libssp.so
+%{_libdir32}/libitm.la
+%{_libdir32}/libitm.a
 %{_libdir32}/libssp.la
 %{_libdir32}/libssp.a
 %{_libdir32}/libssp_nonshared.la
 %{_libdir32}/libssp_nonshared.a
 %endif
 
+%if %{with multilib2}
+%files multilib-%{multilib2}
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_slibdirm2}/libgcc_s.so
+%dir %{gcclibdir}/%{multilib2}
+%{gcclibdir}/%{multilib2}/crt*.o
+%{?with_vtv:%{gcclibdir}/%{multilib2}/vtv_*.o}
+%{gcclibdir}/%{multilib2}/libgcc.a
+%{gcclibdir}/%{multilib2}/libgcc_eh.a
+%{gcclibdir}/%{multilib2}/libgcov.a
+%{_libdirm2}/libitm.spec
+%{_libdirm2}/libsanitizer.spec
+%attr(755,root,root) %{_libdirm2}/libitm.so
+%attr(755,root,root) %{_libdirm2}/libssp.so
+%{_libdirm2}/libitm.la
+%{_libdirm2}/libitm.a
+%{_libdirm2}/libssp.la
+%{_libdirm2}/libssp.a
+%{_libdirm2}/libssp_nonshared.la
+%{_libdirm2}/libssp_nonshared.a
+%endif
+
 %files -n libgcc
 %defattr(644,root,root,755)
+%doc COPYING.RUNTIME libgcc/ChangeLog
 %attr(755,root,root) %{_slibdir}/libgcc_s.so.1
+%attr(755,root,root) %{_slibdir}/libitm.so.*.*.*
 %attr(755,root,root) %{_slibdir}/libssp.so.*.*.*
+%attr(755,root,root) %ghost %{_slibdir}/libitm.so.1
 %attr(755,root,root) %ghost %{_slibdir}/libssp.so.0
 
 %if %{with multilib}
-%files -n libgcc-multilib
+%files -n libgcc-multilib-32
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_slibdir32}/libgcc_s.so.1
+%attr(755,root,root) %{_slibdir32}/libitm.so.*.*.*
 %attr(755,root,root) %{_slibdir32}/libssp.so.*.*.*
 %attr(755,root,root) %ghost %{_slibdir32}/libssp.so.0
+%attr(755,root,root) %ghost %{_slibdir32}/libitm.so.1
 %endif
 
-%if %{with gomp}
-%files -n libgomp
+%if %{with multilib2}
+%files -n libgcc-multilib-%{multilib2}
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libgomp.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libgomp.so.1
+%attr(755,root,root) %{_slibdirm2}/libgcc_s.so.1
+%attr(755,root,root) %{_slibdirm2}/libitm.so.*.*.*
+%attr(755,root,root) %{_slibdirm2}/libssp.so.*.*.*
+%attr(755,root,root) %ghost %{_slibdirm2}/libssp.so.0
+%attr(755,root,root) %ghost %{_slibdirm2}/libitm.so.1
+%endif
 
-%if %{with multilib}
-%files -n libgomp-multilib
+%if %{with gomp}
+%files -n libgomp
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir32}/libgomp.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir32}/libgomp.so.1
-%endif
+%attr(755,root,root) %{_slibdir}/libgomp.so.*.*.*
+%attr(755,root,root) %ghost %{_slibdir}/libgomp.so.1
 
 %files -n libgomp-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libgomp.so
 %{_libdir}/libgomp.la
 %{_libdir}/libgomp.spec
-%{gcclibdir}/finclude
+%{?with_fortran:%{gcclibdir}/finclude}
+%{gcclibdir}/include/acc_prof.h
 %{gcclibdir}/include/omp.h
+%{gcclibdir}/include/openacc.h
 %{_infodir}/libgomp.info*
 
-%if %{with multilib}
-%files -n libgomp-multilib-devel
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir32}/libgomp.so
-%{_libdir32}/libgomp.la
-%{_libdir32}/libgomp.spec
-%endif
-
 %files -n libgomp-static
 %defattr(644,root,root,755)
 %{_libdir}/libgomp.a
 
 %if %{with multilib}
-%files -n libgomp-multilib-static
+%files -n libgomp-multilib-32
 %defattr(644,root,root,755)
-%{_libdir32}/libgomp.a
-%endif
-%endif
+%attr(755,root,root) %{_slibdir32}/libgomp.so.*.*.*
+%attr(755,root,root) %ghost %{_slibdir32}/libgomp.so.1
 
-%if %{with mudflap}
-%files -n libmudflap
+%files -n libgomp-multilib-32-devel
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libmudflap.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libmudflap.so.0
-%attr(755,root,root) %{_libdir}/libmudflapth.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libmudflapth.so.0
+%attr(755,root,root) %{_libdir32}/libgomp.so
+%{_libdir32}/libgomp.la
+%{_libdir32}/libgomp.spec
+%{?with_fortran:%{gcclibdir}/32/finclude}
 
-%if %{with multilib}
-%files -n libmudflap-multilib
+%files -n libgomp-multilib-32-static
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir32}/libmudflap.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir32}/libmudflap.so.0
-%attr(755,root,root) %{_libdir32}/libmudflapth.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir32}/libmudflapth.so.0
+%{_libdir32}/libgomp.a
 %endif
 
-%files -n libmudflap-devel
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libmudflap.so
-%attr(755,root,root) %{_libdir}/libmudflapth.so
-%{_libdir}/libmudflap.la
-%{_libdir}/libmudflapth.la
-%{gcclibdir}/include/mf-runtime.h
-
-%if %{with multilib}
-%files -n libmudflap-multilib-devel
+%if %{with multilib2}
+%files -n libgomp-multilib-%{multilib2}
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir32}/libmudflap.so
-%attr(755,root,root) %{_libdir32}/libmudflapth.so
-%{_libdir32}/libmudflap.la
-%{_libdir32}/libmudflapth.la
-%endif
+%attr(755,root,root) %{_slibdirm2}/libgomp.so.*.*.*
+%attr(755,root,root) %ghost %{_slibdirm2}/libgomp.so.1
 
-%files -n libmudflap-static
+%files -n libgomp-multilib-%{multilib2}-devel
 %defattr(644,root,root,755)
-%{_libdir}/libmudflap.a
-%{_libdir}/libmudflapth.a
+%attr(755,root,root) %{_libdirm2}/libgomp.so
+%{_libdirm2}/libgomp.la
+%{_libdirm2}/libgomp.spec
+%{?with_fortran:%{gcclibdir}/%{multilib2}/finclude}
 
-%if %{with multilib}
-%files -n libmudflap-multilib-static
+%files -n libgomp-multilib-%{multilib2}-static
 %defattr(644,root,root,755)
-%{_libdir32}/libmudflap.a
-%{_libdir32}/libmudflapth.a
+%{_libdirm2}/libgomp.a
 %endif
 %endif
 
@@ -2053,41 +3695,56 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %doc gcc/ada/ChangeLog
 %attr(755,root,root) %{_bindir}/gnat*
-%if %{with java}
-%exclude %{_bindir}/gnative2ascii
-%endif
 %attr(755,root,root) %{_libdir}/libgnarl-*.so
 %attr(755,root,root) %{_libdir}/libgnarl.so
 %attr(755,root,root) %{_libdir}/libgnat-*.so
 %attr(755,root,root) %{_libdir}/libgnat.so
 %attr(755,root,root) %{gcclibdir}/gnat1
+%{gcclibdir}/ada_target_properties
 %{gcclibdir}/adainclude
 %dir %{gcclibdir}/adalib
 %{gcclibdir}/adalib/*.ali
-%{gcclibdir}/adalib/g-trasym.o
-%ifarch %{ix86} %{x8664}
+%ifarch %{ix86} %{x8664} x32
 %{gcclibdir}/adalib/libgmem.a
+%{gcclibdir}/adalib/libgnarl_pic.a
+%{gcclibdir}/adalib/libgnat_pic.a
 %endif
 %{_infodir}/gnat-style.info*
 %{_infodir}/gnat_rm.info*
 %{_infodir}/gnat_ugn.info*
 
 %if %{with multilib}
-%files ada-multilib
+%files ada-multilib-32
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir32}/libgnarl-*.so
 %attr(755,root,root) %{_libdir32}/libgnarl.so
 %attr(755,root,root) %{_libdir32}/libgnat-*.so
 %attr(755,root,root) %{_libdir32}/libgnat.so
+%{gcclibdir}/32/ada_target_properties
 %{gcclibdir}/32/adainclude
 %dir %{gcclibdir}/32/adalib
 %{gcclibdir}/32/adalib/*.ali
-%{gcclibdir}/32/adalib/g-trasym.o
-%ifarch %{ix86} %{x8664}
+%ifarch %{ix86} %{x8664} x32
 %{gcclibdir}/32/adalib/libgmem.a
 %endif
 %endif
 
+%if %{with multilib2}
+%files ada-multilib-%{multilib2}
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libgnarl-*.so
+%attr(755,root,root) %{_libdirm2}/libgnarl.so
+%attr(755,root,root) %{_libdirm2}/libgnat-*.so
+%attr(755,root,root) %{_libdirm2}/libgnat.so
+%{gcclibdir}/%{multilib2}/ada_target_properties
+%{gcclibdir}/%{multilib2}/adainclude
+%dir %{gcclibdir}/%{multilib2}/adalib
+%{gcclibdir}/%{multilib2}/adalib/*.ali
+%ifarch %{ix86} %{x8664} x32
+%{gcclibdir}/%{multilib2}/adalib/libgmem.a
+%endif
+%endif
+
 %files -n libgnat
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libgnarl-*.so.1
@@ -2095,112 +3752,164 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/libgnat-*.so.1
 %attr(755,root,root) %{_libdir}/libgnat.so.1
 
+%files -n libgnat-static
+%defattr(644,root,root,755)
+%{gcclibdir}/adalib/libgnarl.a
+%{gcclibdir}/adalib/libgnat.a
+
 %if %{with multilib}
-%files -n libgnat-multilib
+%files -n libgnat-multilib-32
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir32}/libgnarl-*.so.1
 %attr(755,root,root) %{_libdir32}/libgnarl.so.1
 %attr(755,root,root) %{_libdir32}/libgnat-*.so.1
 %attr(755,root,root) %{_libdir32}/libgnat.so.1
+
+%files -n libgnat-multilib-32-static
+%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
 
-%files -n libgnat-static
+%if %{with multilib2}
+%files -n libgnat-multilib-%{multilib2}
 %defattr(644,root,root,755)
-%{gcclibdir}/adalib/libgnala.a
-%{gcclibdir}/adalib/libgnarl.a
-%{gcclibdir}/adalib/libgnat.a
+%attr(755,root,root) %{_libdirm2}/libgnarl-*.so.1
+%attr(755,root,root) %{_libdirm2}/libgnarl.so.1
+%attr(755,root,root) %{_libdirm2}/libgnat-*.so.1
+%attr(755,root,root) %{_libdirm2}/libgnat.so.1
 
-%if %{with multilib}
-%files -n libgnat-multilib-static
+%files -n libgnat-multilib-%{multilib2}-static
 %defattr(644,root,root,755)
-%{gcclibdir}/32/adalib/libgnala.a
-%{gcclibdir}/32/adalib/libgnarl.a
-%{gcclibdir}/32/adalib/libgnat.a
+%{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
 
 %if %{with cxx}
 %files c++
 %defattr(644,root,root,755)
-%doc gcc/cp/{ChangeLog,NEWS}
+%doc gcc/cp/ChangeLog
 %attr(755,root,root) %{_bindir}/g++
 %attr(755,root,root) %{_bindir}/*-g++
 %attr(755,root,root) %{_bindir}/c++
 %attr(755,root,root) %{_bindir}/*-c++
 %attr(755,root,root) %{gcclibdir}/cc1plus
+%attr(755,root,root) %{gcclibdir}/g++-mapper-server
 %{_libdir}/libsupc++.la
 %{_libdir}/libsupc++.a
 %{_mandir}/man1/g++.1*
 
 %if %{with multilib}
-%files c++-multilib
+%files c++-multilib-32
 %defattr(644,root,root,755)
 %{_libdir32}/libsupc++.la
 %{_libdir32}/libsupc++.a
 %endif
 
-%files -n libstdc++ -f libstdc++.lang
-%defattr(644,root,root,755)
-%doc libstdc++-v3/{ChangeLog,README}
-%attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libstdc++.so.6
-
-%if %{with multilib}
-%files -n libstdc++-multilib
+%if %{with multilib2}
+%files c++-multilib-%{multilib2}
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir32}/libstdc++.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir32}/libstdc++.so.6
+%{_libdirm2}/libsupc++.la
+%{_libdirm2}/libsupc++.a
 %endif
 
-%if %{with python}
-%files -n libstdc++-gdb
+%files -n libstdc++ -f libstdc++.lang
 %defattr(644,root,root,755)
-%dir %{py_sitescriptdir}/libstdcxx
-%{py_sitescriptdir}/libstdcxx/*.py[co]
-%dir %{py_sitescriptdir}/libstdcxx/v6
-%{py_sitescriptdir}/libstdcxx/v6/*.py[co]
-%{_datadir}/gdb/auto-load/usr/lib*/libstdc++.so.6.0.16-gdb.py
-%endif
+%doc libstdc++-v3/{ChangeLog,README}
+%attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libstdc++.so.%{cxx_sover}
 
 %files -n libstdc++-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libstdc++.so
 %{_libdir}/libstdc++.la
+%{_libdir}/libstdc++exp.a
+%{_libdir}/libstdc++exp.la
+%{_libdir}/libstdc++fs.a
+%{_libdir}/libstdc++fs.la
 %dir %{_includedir}/c++
 %{_includedir}/c++/%{version}
 %{_includedir}/extc++.h
 %{_includedir}/stdc++.h
 %{_includedir}/stdtr1c++.h
-%if %{with java}
-%exclude %{_includedir}/c++/%{version}/java
-%exclude %{_includedir}/c++/%{version}/javax
-%exclude %{_includedir}/c++/%{version}/gcj
-%exclude %{_includedir}/c++/%{version}/gnu
-%exclude %{_includedir}/c++/%{version}/org
-%exclude %{_includedir}/c++/%{version}/sun
-%endif
 
-%if %{with apidocs}
-%files -n libstdc++-apidocs
+%files -n libstdc++-static
 %defattr(644,root,root,755)
-%doc libstdc++-v3/doc/html/*
-%endif
+%{_libdir}/libstdc++.a
 
 %if %{with multilib}
-%files -n libstdc++-multilib-devel
+%files -n libstdc++-multilib-32
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir32}/libstdc++.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir32}/libstdc++.so.%{cxx_sover}
+
+%files -n libstdc++-multilib-32-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir32}/libstdc++.so
 %{_libdir32}/libstdc++.la
+%{_libdir32}/libstdc++exp.a
+%{_libdir32}/libstdc++exp.la
+%{_libdir32}/libstdc++fs.a
+%{_libdir32}/libstdc++fs.la
+
+%files -n libstdc++-multilib-32-static
+%defattr(644,root,root,755)
+%{_libdir32}/libstdc++.a
 %endif
 
-%files -n libstdc++-static
+%if %{with multilib2}
+%files -n libstdc++-multilib-%{multilib2}
 %defattr(644,root,root,755)
-%{_libdir}/libstdc++.a
+%attr(755,root,root) %{_libdirm2}/libstdc++.so.*.*.*
+%attr(755,root,root) %ghost %{_libdirm2}/libstdc++.so.%{cxx_sover}
+
+%files -n libstdc++-multilib-%{multilib2}-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libstdc++.so
+%{_libdirm2}/libstdc++.la
+%{_libdirm2}/libstdc++exp.a
+%{_libdirm2}/libstdc++exp.la
+%{_libdirm2}/libstdc++fs.a
+%{_libdirm2}/libstdc++fs.la
+
+%files -n libstdc++-multilib-%{multilib2}-static
+%defattr(644,root,root,755)
+%{_libdirm2}/libstdc++.a
+%endif
 
+%if %{with python}
+%files -n libstdc++-gdb
+%defattr(644,root,root,755)
+%dir %{py3_sitescriptdir}/libstdcxx
+%{py3_sitescriptdir}/libstdcxx/*.py
+%{py3_sitescriptdir}/libstdcxx/__pycache__
+%dir %{py3_sitescriptdir}/libstdcxx/v6
+%{py3_sitescriptdir}/libstdcxx/v6/*.py
+%{py3_sitescriptdir}/libstdcxx/v6/__pycache__
+%{_datadir}/gdb/auto-load%{_libdir}/libstdc++.so.%{cxx_sover}.*.*-gdb.py
 %if %{with multilib}
-%files -n libstdc++-multilib-static
+%{_datadir}/gdb/auto-load%{_libdir32}/libstdc++.so.%{cxx_sover}.*.*-gdb.py
+%endif
+%if %{with multilib2}
+%{_datadir}/gdb/auto-load%{_libdirm2}/libstdc++.so.%{cxx_sover}.*.*-gdb.py
+%endif
+%endif
+
+%if %{with apidocs}
+%files -n libstdc++-apidocs
 %defattr(644,root,root,755)
-%{_libdir32}/libstdc++.a
+%doc libstdc++-v3/doc/html/*
 %endif
 %endif
 
@@ -2215,57 +3924,71 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/libgfortran.so
 %{_libdir}/libgfortran.spec
 %{_libdir}/libgfortran.la
-%{gcclibdir}/libgfortranbegin.la
-%{gcclibdir}/libgfortranbegin.a
+%{gcclibdir}/include/ISO_Fortran_binding.h
+%{gcclibdir}/libcaf_single.a
+%{gcclibdir}/libcaf_single.la
 %{_infodir}/gfortran.info*
 %{_mandir}/man1/g95.1*
 %{_mandir}/man1/gfortran.1*
 
 %if %{with multilib}
-%files fortran-multilib
+%files fortran-multilib-32
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir32}/libgfortran.so
 %{_libdir32}/libgfortran.spec
 %{_libdir32}/libgfortran.la
-%{gcclibdir}/32/libgfortranbegin.la
-%{gcclibdir}/32/libgfortranbegin.a
+%{gcclibdir}/32/libcaf_single.a
+%{gcclibdir}/32/libcaf_single.la
+%endif
+
+%if %{with multilib2}
+%files fortran-multilib-%{multilib2}
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libgfortran.so
+%{_libdirm2}/libgfortran.spec
+%{_libdirm2}/libgfortran.la
+%{gcclibdir}/%{multilib2}/libcaf_single.a
+%{gcclibdir}/%{multilib2}/libcaf_single.la
 %endif
 
 %files -n libgfortran
 %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.3
+%attr(755,root,root) %ghost %{_libdir}/libgfortran.so.5
+
+%files -n libgfortran-static
+%defattr(644,root,root,755)
+%{_libdir}/libgfortran.a
 
 %if %{with multilib}
-%files -n libgfortran-multilib
+%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.3
+%attr(755,root,root) %ghost %{_libdir32}/libgfortran.so.5
+
+%files -n libgfortran-multilib-32-static
+%defattr(644,root,root,755)
+%{_libdir32}/libgfortran.a
 %endif
 
-%files -n libgfortran-static
+%if %{with multilib2}
+%files -n libgfortran-multilib-%{multilib2}
 %defattr(644,root,root,755)
-%{_libdir}/libgfortran.a
+%attr(755,root,root) %{_libdirm2}/libgfortran.so.*.*.*
+%attr(755,root,root) %ghost %{_libdirm2}/libgfortran.so.5
 
-%if %{with multilib}
-%files -n libgfortran-multilib-static
+%files -n libgfortran-multilib-%{multilib2}-static
 %defattr(644,root,root,755)
-%{_libdir32}/libgfortran.a
+%{_libdirm2}/libgfortran.a
 %endif
 
+%if %{with quadmath}
 %files -n libquadmath
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libquadmath.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libquadmath.so.0
 
-%if %{with multilib}
-%files -n libquadmath-multilib
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir32}/libquadmath.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir32}/libquadmath.so.0
-%endif
-
 %files -n libquadmath-devel
 %defattr(644,root,root,755)
 %{gcclibdir}/include/quadmath.h
@@ -2274,173 +3997,51 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libquadmath.la
 %{_infodir}/libquadmath.info*
 
+%files -n libquadmath-static
+%defattr(644,root,root,755)
+%{_libdir}/libquadmath.a
+
 %if %{with multilib}
-%files -n libquadmath-multilib-devel
+%files -n libquadmath-multilib-32
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir32}/libquadmath.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir32}/libquadmath.so.0
+
+%files -n libquadmath-multilib-32-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir32}/libquadmath.so
 %{_libdir32}/libquadmath.la
+
+%files -n libquadmath-multilib-32-static
+%defattr(644,root,root,755)
+%{_libdir32}/libquadmath.a
 %endif
 
-%files -n libquadmath-static
+%if %{with multilib2}
+%files -n libquadmath-multilib-%{multilib2}
 %defattr(644,root,root,755)
-%{_libdir}/libquadmath.a
+%attr(755,root,root) %{_libdirm2}/libquadmath.so.*.*.*
+%attr(755,root,root) %ghost %{_libdirm2}/libquadmath.so.0
 
-%if %{with multilib}
-%files -n libquadmath-multilib-static
+%files -n libquadmath-multilib-%{multilib2}-devel
 %defattr(644,root,root,755)
-%{_libdir32}/libquadmath.a
+%attr(755,root,root) %{_libdirm2}/libquadmath.so
+%{_libdirm2}/libquadmath.la
+
+%files -n libquadmath-multilib-%{multilib2}-static
+%defattr(644,root,root,755)
+%{_libdirm2}/libquadmath.a
+%endif
 %endif
 %endif
 
-%if %{with java}
-%files java
-%defattr(644,root,root,755)
-%doc gcc/java/ChangeLog java-doc/*
-%attr(755,root,root) %{_bindir}/gappletviewer
-%attr(755,root,root) %{_bindir}/gc-analyze
-%attr(755,root,root) %{_bindir}/gcj
-%attr(755,root,root) %{_bindir}/gcj-dbtool
-%attr(755,root,root) %{_bindir}/gcjh
-%attr(755,root,root) %{_bindir}/gjar
-%attr(755,root,root) %{_bindir}/gjarsigner
-%attr(755,root,root) %{_bindir}/gjavah
-%attr(755,root,root) %{_bindir}/gkeytool
-%attr(755,root,root) %{_bindir}/gnative2ascii
-%attr(755,root,root) %{_bindir}/gorbd
-%attr(755,root,root) %{_bindir}/grmic
-%attr(755,root,root) %{_bindir}/grmid
-%attr(755,root,root) %{_bindir}/grmiregistry
-%attr(755,root,root) %{_bindir}/gserialver
-%attr(755,root,root) %{_bindir}/gtnameserv
-%attr(755,root,root) %{_bindir}/jcf-dump
-%attr(755,root,root) %{_bindir}/jv-convert
-%attr(755,root,root) %{_bindir}/rebuild-gcj-db
-%attr(755,root,root) %{_bindir}/*-gcj
-%attr(755,root,root) %{gcclibdir}/ecj1
-%attr(755,root,root) %{gcclibdir}/jc1
-%attr(755,root,root) %{gcclibdir}/jvgenmain
-%{_infodir}/cp-tools.info*
-%{_infodir}/gcj.info*
-%{_mandir}/man1/gappletviewer.1*
-%{_mandir}/man1/gc-analyze.1*
-%{_mandir}/man1/gcj.1*
-%{_mandir}/man1/gcj-dbtool.1*
-%{_mandir}/man1/gcjh.1*
-%{_mandir}/man1/gjar.1*
-%{_mandir}/man1/gjarsigner.1*
-%{_mandir}/man1/gjavah.1*
-%{_mandir}/man1/gkeytool.1*
-%{_mandir}/man1/gnative2ascii.1*
-%{_mandir}/man1/gorbd.1*
-%{_mandir}/man1/grmic.1*
-%{_mandir}/man1/grmid.1*
-%{_mandir}/man1/grmiregistry.1*
-%{_mandir}/man1/gserialver.1*
-%{_mandir}/man1/gtnameserv.1*
-%{_mandir}/man1/jcf-dump.1*
-%{_mandir}/man1/jv-convert.1*
-%{_mandir}/man1/rebuild-gcj-db*
-
-%if %{with python}
-%files java-aotcompile
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/aot-compile
-%dir %{py_sitescriptdir}/libjava
-%{py_sitescriptdir}/libjava/*.py[co]
-%{_mandir}/man1/aot-compile.1*
-%endif
-
-%files -n libgcj
-%defattr(644,root,root,755)
-%doc libjava/{ChangeLog,LIBGCJ_LICENSE,NEWS,README,THANKS}
-%attr(755,root,root) %{_bindir}/gij
-%attr(755,root,root) %{_libdir}/libgcj-tools.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libgcj-tools.so.%{gcj_soname_ver}
-%attr(755,root,root) %{_libdir}/libgcj.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libgcj.so.%{gcj_soname_ver}
-%attr(755,root,root) %{_libdir}/libgcj_bc.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libgcj_bc.so.1
-%attr(755,root,root) %{_libdir}/libgcj_bc.so
-%attr(755,root,root) %{_libdir}/libgij.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libgij.so.%{gcj_soname_ver}
-%{?with_x:%attr(755,root,root) %{_libdir}/lib-gnu-awt-xlib.so.*.*.*}
-%{?with_x:%attr(755,root,root) %ghost %{_libdir}/lib-gnu-awt-xlib.so.%{gcj_soname_ver}}
-%dir %{_libdir}/%{gcjdbexecdir}
-%{_libdir}/%{gcjdbexecdir}/classmap.db
-%{?with_mozilla:%attr(755,root,root) %{_libdir}/%{gcjdbexecdir}/libgcjwebplugin.so}
-%{?with_alsa:%attr(755,root,root) %{_libdir}/%{gcjdbexecdir}/libgjsmalsa.so*}
-%{?with_dssi:%attr(755,root,root) %{_libdir}/%{gcjdbexecdir}/libgjsmdssi.so*}
-%{?with_gtk:%attr(755,root,root) %{_libdir}/%{gcjdbexecdir}/libgtkpeer.so}
-%{?with_gtk:%attr(755,root,root) %{_libdir}/%{gcjdbexecdir}/libjawt.so}
-%attr(755,root,root) %{_libdir}/%{gcjdbexecdir}/libjavamath.so
-%attr(755,root,root) %{_libdir}/%{gcjdbexecdir}/libjvm.so
-%{?with_qt:%attr(755,root,root) %{_libdir}/%{gcjdbexecdir}/libqtpeer.so}
-%attr(755,root,root) %{_libdir}/%{gcjdbexecdir}/libxmlj.so*
-%{_libdir}/logging.properties
-%{_javadir}/libgcj*.jar
-%{_javadir}/ecj.jar
-%{_mandir}/man1/gij.1*
-
-%files -n libgcj-devel
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libgcj-tools.so
-%{_libdir}/libgcj-tools.la
-%attr(755,root,root) %{_libdir}/libgcj.so
-%{_libdir}/libgcj.la
-%attr(755,root,root) %{_libdir}/libgij.so
-%{_libdir}/libgij.la
-%if %{with x}
-%attr(755,root,root) %{_libdir}/lib-gnu-awt-xlib.so
-%{_libdir}/lib-gnu-awt-xlib.la
-%endif
-%{_libdir}/libgcj.spec
-%dir %{_libdir}/security
-%{_libdir}/security/*
-%{?with_alsa:%{_libdir}/%{gcjdbexecdir}/libgjsmalsa.la}
-%{?with_dssi:%{_libdir}/%{gcjdbexecdir}/libgjsmdssi.la}
-%{?with_gtk:%{_libdir}/%{gcjdbexecdir}/libgtkpeer.la}
-%{?with_gtk:%{_libdir}/%{gcjdbexecdir}/libjawt.la}
-%{_libdir}/%{gcjdbexecdir}/libjavamath.la
-%{_libdir}/%{gcjdbexecdir}/libjvm.la
-%{?with_qt:%{_libdir}/%{gcjdbexecdir}/libqtpeer.la}
-%{?with_mozilla:%{_libdir}/%{gcjdbexecdir}/libgcjwebplugin.la}
-%{_libdir}/%{gcjdbexecdir}/libxmlj.la
-%{gcclibdir}/include/gcj
-%{gcclibdir}/include/jawt.h
-%{gcclibdir}/include/jawt_md.h
-%{gcclibdir}/include/jni.h
-%{gcclibdir}/include/jni_md.h
-%{gcclibdir}/include/jvmpi.h
-%{_includedir}/c++/%{version}/java
-%{_includedir}/c++/%{version}/javax
-%{_includedir}/c++/%{version}/gcj
-%{_includedir}/c++/%{version}/gnu
-%{_includedir}/c++/%{version}/org
-%{_includedir}/c++/%{version}/sun
-%{_pkgconfigdir}/libgcj-%{major_ver}.pc
-
-%files -n libgcj-static
-%defattr(644,root,root,755)
-%{_libdir}/libgcj-tools.a
-%{_libdir}/libgcj.a
-%{_libdir}/libgcj_bc.a
-%{_libdir}/libgij.a
-%{?with_x:%{_libdir}/lib-gnu-awt-xlib.a}
-%{_libdir}/%{gcjdbexecdir}/libjvm.a
-
+%if %{with gcc_libffi}
 %files -n libffi
 %defattr(644,root,root,755)
-%doc libffi/{ChangeLog,ChangeLog.libgcj,LICENSE,README}
+%doc libffi/{ChangeLog,LICENSE,README}
 %attr(755,root,root) %{_libdir}/libffi.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libffi.so.4
 
-%if %{with multilib}
-%files -n libffi-multilib
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir32}/libffi.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir32}/libffi.so.4
-%endif
-
 %files -n libffi-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libffi.so
@@ -2449,23 +4050,165 @@ rm -rf $RPM_BUILD_ROOT
 %{gcclibdir}/include/ffitarget.h
 %{_pkgconfigdir}/libffi.pc
 %{_mandir}/man3/ffi*.3*
+%{_infodir}/libffi.info*
+
+%files -n libffi-static
+%defattr(644,root,root,755)
+%{_libdir}/libffi.a
 
 %if %{with multilib}
-%files -n libffi-multilib-devel
+%files -n libffi-multilib-32
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir32}/libffi.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir32}/libffi.so.4
+
+%files -n libffi-multilib-32-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir32}/libffi.so
 %{_libdir32}/libffi.la
 %{_pkgconfigdir32}/libffi.pc
+
+%files -n libffi-multilib-32-static
+%defattr(644,root,root,755)
+%{_libdir32}/libffi.a
 %endif
 
-%files -n libffi-static
+%if %{with multilib2}
+%files -n libffi-multilib-%{multilib2}
 %defattr(644,root,root,755)
-%{_libdir}/libffi.a
+%attr(755,root,root) %{_libdirm2}/libffi.so.*.*.*
+%attr(755,root,root) %ghost %{_libdirm2}/libffi.so.4
+
+%files -n libffi-multilib-%{multilib2}-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libffi.so
+%{_libdirm2}/libffi.la
+%{_pkgconfigdirm2}/libffi.pc
+
+%files -n libffi-multilib-%{multilib2}-static
+%defattr(644,root,root,755)
+%{_libdirm2}/libffi.a
+%endif
+%endif
+
+%if %{with modula2}
+%files m2
+%defattr(644,root,root,755)
+%doc gcc/m2/{COPYING.RUNTIME,ChangeLog,NEWS,README}
+%attr(755,root,root) %{_bindir}/gm2
+%attr(755,root,root) %{_bindir}/*-gm2
+%attr(755,root,root) %{gcclibdir}/cc1gm2
+%attr(755,root,root) %{gcclibdir}/plugin/m2rte.so
+%attr(755,root,root) %{_libdir}/libm2cor.so
+%attr(755,root,root) %{_libdir}/libm2iso.so
+%attr(755,root,root) %{_libdir}/libm2log.so
+%attr(755,root,root) %{_libdir}/libm2min.so
+%attr(755,root,root) %{_libdir}/libm2pim.so
+%{_libdir}/libm2cor.la
+%{_libdir}/libm2iso.la
+%{_libdir}/libm2log.la
+%{_libdir}/libm2min.la
+%{_libdir}/libm2pim.la
+%{gcclibdir}/m2
+%{_mandir}/man1/gm2.1*
 
 %if %{with multilib}
-%files -n libffi-multilib-static
+%files m2-multilib-32
 %defattr(644,root,root,755)
-%{_libdir32}/libffi.a
+%{gcclibdir}/32/m2
+%attr(755,root,root) %{_libdir32}/libm2cor.so
+%attr(755,root,root) %{_libdir32}/libm2iso.so
+%attr(755,root,root) %{_libdir32}/libm2log.so
+%attr(755,root,root) %{_libdir32}/libm2min.so
+%attr(755,root,root) %{_libdir32}/libm2pim.so
+%{_libdir32}/libm2cor.la
+%{_libdir32}/libm2iso.la
+%{_libdir32}/libm2log.la
+%{_libdir32}/libm2min.la
+%{_libdir32}/libm2pim.la
+%endif
+
+%if %{with multilib2}
+%files m2-multilib-%{multilib2}
+%defattr(644,root,root,755)
+%{gcclibdir}/%{multilib2}/m2
+%attr(755,root,root) %{_libdirm2}/libm2cor.so
+%attr(755,root,root) %{_libdirm2}/libm2iso.so
+%attr(755,root,root) %{_libdirm2}/libm2log.so
+%attr(755,root,root) %{_libdirm2}/libm2min.so
+%attr(755,root,root) %{_libdirm2}/libm2pim.so
+%{_libdirm2}/libm2cor.la
+%{_libdirm2}/libm2iso.la
+%{_libdirm2}/libm2log.la
+%{_libdirm2}/libm2min.la
+%{_libdirm2}/libm2pim.la
+%endif
+
+%files -n libgm2
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libm2cor.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libm2cor.so.18
+%attr(755,root,root) %{_libdir}/libm2iso.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libm2iso.so.18
+%attr(755,root,root) %{_libdir}/libm2log.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libm2log.so.18
+%attr(755,root,root) %{_libdir}/libm2min.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libm2min.so.18
+%attr(755,root,root) %{_libdir}/libm2pim.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libm2pim.so.18
+
+%files -n libgm2-static
+%defattr(644,root,root,755)
+%{_libdir}/libm2cor.a
+%{_libdir}/libm2iso.a
+%{_libdir}/libm2log.a
+%{_libdir}/libm2min.a
+%{_libdir}/libm2pim.a
+
+%if %{with multilib}
+%files -n libgm2-multilib-32
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir32}/libm2cor.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir32}/libm2cor.so.18
+%attr(755,root,root) %{_libdir32}/libm2iso.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir32}/libm2iso.so.18
+%attr(755,root,root) %{_libdir32}/libm2log.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir32}/libm2log.so.18
+%attr(755,root,root) %{_libdir32}/libm2min.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir32}/libm2min.so.18
+%attr(755,root,root) %{_libdir32}/libm2pim.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir32}/libm2pim.so.18
+
+%files -n libgm2-multilib-32-static
+%defattr(644,root,root,755)
+%{_libdir32}/libm2cor.a
+%{_libdir32}/libm2iso.a
+%{_libdir32}/libm2log.a
+%{_libdir32}/libm2min.a
+%{_libdir32}/libm2pim.a
+%endif
+
+%if %{with multilib2}
+%files -n libgm2-multilib-%{multilib2}
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libm2cor.so.*.*.*
+%attr(755,root,root) %ghost %{_libdirm2}/libm2cor.so.18
+%attr(755,root,root) %{_libdirm2}/libm2iso.so.*.*.*
+%attr(755,root,root) %ghost %{_libdirm2}/libm2iso.so.18
+%attr(755,root,root) %{_libdirm2}/libm2log.so.*.*.*
+%attr(755,root,root) %ghost %{_libdirm2}/libm2log.so.18
+%attr(755,root,root) %{_libdirm2}/libm2min.so.*.*.*
+%attr(755,root,root) %ghost %{_libdirm2}/libm2min.so.18
+%attr(755,root,root) %{_libdirm2}/libm2pim.so.*.*.*
+%attr(755,root,root) %ghost %{_libdirm2}/libm2pim.so.18
+
+%files -n libgm2-multilib-%{multilib2}-static
+%defattr(644,root,root,755)
+%{_libdirm2}/libm2cor.a
+%{_libdirm2}/libm2iso.a
+%{_libdirm2}/libm2log.a
+%{_libdirm2}/libm2min.a
+%{_libdirm2}/libm2pim.a
 %endif
 %endif
 
@@ -2478,6 +4221,20 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libobjc.la
 %{gcclibdir}/include/objc
 
+%if %{with multilib}
+%files objc-multilib-32
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir32}/libobjc.so
+%{_libdir32}/libobjc.la
+%endif
+
+%if %{with multilib2}
+%files objc-multilib-%{multilib2}
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libobjc.so
+%{_libdirm2}/libobjc.la
+%endif
+
 %if %{with objcxx}
 %files objc++
 %defattr(644,root,root,755)
@@ -2485,34 +4242,36 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{gcclibdir}/cc1objplus
 %endif
 
-%if %{with multilib}
-%files objc-multilib
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir32}/libobjc.so
-%{_libdir32}/libobjc.la
-%endif
-
 %files -n libobjc
 %defattr(644,root,root,755)
 %doc libobjc/{ChangeLog,README*}
 %attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libobjc.so.3
+%attr(755,root,root) %ghost %{_libdir}/libobjc.so.4
+
+%files -n libobjc-static
+%defattr(644,root,root,755)
+%{_libdir}/libobjc.a
 
 %if %{with multilib}
-%files -n libobjc-multilib
+%files -n libobjc-multilib-32
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir32}/libobjc.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir32}/libobjc.so.3
+%attr(755,root,root) %ghost %{_libdir32}/libobjc.so.4
+
+%files -n libobjc-multilib-32-static
+%defattr(644,root,root,755)
+%{_libdir32}/libobjc.a
 %endif
 
-%files -n libobjc-static
+%if %{with multilib2}
+%files -n libobjc-multilib-%{multilib2}
 %defattr(644,root,root,755)
-%{_libdir}/libobjc.a
+%attr(755,root,root) %{_libdirm2}/libobjc.so.*.*.*
+%attr(755,root,root) %ghost %{_libdirm2}/libobjc.so.4
 
-%if %{with multilib}
-%files -n libobjc-multilib-static
+%files -n libobjc-multilib-%{multilib2}-static
 %defattr(644,root,root,755)
-%{_libdir32}/libobjc.a
+%{_libdirm2}/libobjc.a
 %endif
 %endif
 
@@ -2521,53 +4280,419 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %doc gcc/go/gofrontend/{LICENSE,PATENTS,README}
 %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*
+%{_mandir}/man1/gofmt.1*
 %{_mandir}/man1/gccgo.1*
 %{_infodir}/gccgo.info*
 
 %if %{with multilib}
-%files go-multilib
+%files go-multilib-32
 %defattr(644,root,root,755)
 %dir %{_libdir32}/go
 %{_libdir32}/go/%{version}
 %endif
 
+%if %{with multilib2}
+%files go-multilib-%{multilib2}
+%defattr(644,root,root,755)
+%dir %{_libdirm2}/go
+%{_libdirm2}/go/%{version}
+%endif
+
 %files -n libgo
 %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.0
-
-%if %{with multilib}
-%files -n libgo-multilib
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir32}/libgo.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir32}/libgo.so.0
-%endif
+%attr(755,root,root) %ghost %{_libdir}/libgo.so.22
 
 %files -n libgo-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libgo.so
 %{_libdir}/libgo.la
 %{_libdir}/libgobegin.a
+%{_libdir}/libgolibbegin.a
+
+%files -n libgo-static
+%defattr(644,root,root,755)
+%{_libdir}/libgo.a
 
 %if %{with multilib}
-%files -n libgo-multilib-devel
+%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.22
+
+%files -n libgo-multilib-32-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir32}/libgo.so
 %{_libdir32}/libgo.la
 %{_libdir32}/libgobegin.a
+%{_libdir32}/libgolibbegin.a
+
+%files -n libgo-multilib-32-static
+%defattr(644,root,root,755)
+%{_libdir32}/libgo.a
 %endif
 
-%files -n libgo-static
+%if %{with multilib2}
+%files -n libgo-multilib-%{multilib2}
 %defattr(644,root,root,755)
-%{_libdir}/libgo.a
+%attr(755,root,root) %{_libdirm2}/libgo.so.*.*.*
+%attr(755,root,root) %ghost %{_libdirm2}/libgo.so.22
+
+%files -n libgo-multilib-%{multilib2}-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libgo.so
+%{_libdirm2}/libgo.la
+%{_libdirm2}/libgobegin.a
+%{_libdirm2}/libgolibbegin.a
+
+%files -n libgo-multilib-%{multilib2}-static
+%defattr(644,root,root,755)
+%{_libdirm2}/libgo.a
+%endif
+%endif
+
+%if %{with Xsan}
+%files -n libasan
+%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.8
+
+%files -n libasan-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libasan.so
+%{_libdir}/libasan_preinit.o
+%{_libdir}/libasan.la
+%{gcclibdir}/include/sanitizer/asan_interface.h
+
+%files -n libasan-static
+%defattr(644,root,root,755)
+%{_libdir}/libasan.a
 
 %if %{with multilib}
-%files -n libgo-multilib-static
+%files -n libasan-multilib-32
 %defattr(644,root,root,755)
-%{_libdir32}/libgo.a
+%attr(755,root,root) %{_libdir32}/libasan.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir32}/libasan.so.8
+
+%files -n libasan-multilib-32-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir32}/libasan.so
+%{_libdir32}/libasan_preinit.o
+%{_libdir32}/libasan.la
+
+%files -n libasan-multilib-32-static
+%defattr(644,root,root,755)
+%{_libdir32}/libasan.a
+%endif
+
+%if %{with multilib2}
+%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.8
+
+%files -n libasan-multilib-%{multilib2}-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libasan.so
+%{_libdirm2}/libasan_preinit.o
+%{_libdirm2}/libasan.la
+
+%files -n libasan-multilib-%{multilib2}-static
+%defattr(644,root,root,755)
+%{_libdirm2}/libasan.a
+%endif
+%endif
+
+%if %{with hwasan}
+%files -n libhwasan
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libhwasan.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libhwasan.so.0
+
+%files -n libhwasan-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libhwasan.so
+%{_libdir}/libhwasan_preinit.o
+%{_libdir}/libhwasan.la
+%{gcclibdir}/include/sanitizer/hwasan_interface.h
+
+%files -n libhwasan-static
+%defattr(644,root,root,755)
+%{_libdir}/libhwasan.a
+%endif
+
+%if %{with multilib2} && %{with hwasan_m2}
+%files -n libhwasan-multilib-%{multilib2}
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libhwasan.so.*.*.*
+%attr(755,root,root) %ghost %{_libdirm2}/libhwasan.so.0
+
+%files -n libhwasan-multilib-%{multilib2}-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libhwasan.so
+%{_libdirm2}/libhwasan_preinit.o
+%{_libdirm2}/libhwasan.la
+%{gcclibdir}/include/sanitizer/hwasan_interface.h
+
+%files -n libhwasan-multilib-%{multilib2}-static
+%defattr(644,root,root,755)
+%{_libdirm2}/libhwasan.a
+%endif
+
+%if %{with lsan_m0}
+%files -n liblsan
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/liblsan.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/liblsan.so.0
+
+%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-static
+%defattr(644,root,root,755)
+%{_libdir}/liblsan.a
+%endif
+
+%if %{with multilib2} && %{with lsan_m2}
+%files -n liblsan-multilib-%{multilib2}
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/liblsan.so.*.*.*
+%attr(755,root,root) %ghost %{_libdirm2}/liblsan.so.0
+
+%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
+# (either liblsan-devel.x86_64 or liblsan-multilib-64.x32)
+%{gcclibdir}/include/sanitizer/lsan_interface.h
+
+%files -n liblsan-multilib-%{multilib2}-static
+%defattr(644,root,root,755)
+%{_libdirm2}/liblsan.a
+%endif
+
+%if %{with tsan_m0}
+%files -n libtsan
+%defattr(644,root,root,755)
+%doc libsanitizer/ChangeLog* libsanitizer/LICENSE.TXT
+%attr(755,root,root) %{_libdir}/libtsan.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libtsan.so.2
+
+%files -n libtsan-devel
+%defattr(644,root,root,755)
+%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)
+%{_libdir}/libtsan.a
+%endif
+
+%if %{with multilib2} && %{with tsan_m2}
+%files -n libtsan-multilib-%{multilib2}
+%defattr(644,root,root,755)
+%doc libsanitizer/ChangeLog* libsanitizer/LICENSE.TXT
+%attr(755,root,root) %{_libdirm2}/libtsan.so.*.*.*
+%attr(755,root,root) %ghost %{_libdirm2}/libtsan.so.2
+
+%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)
+%{_libdirm2}/libtsan.a
+%endif
+
+%if %{with Xsan}
+%files -n libubsan
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libubsan.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libubsan.so.1
+
+%files -n libubsan-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libubsan.so
+%{_libdir}/libubsan.la
+
+%files -n libubsan-static
+%defattr(644,root,root,755)
+%{_libdir}/libubsan.a
+
+%if %{with multilib}
+%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.1
+
+%files -n libubsan-multilib-32-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir32}/libubsan.so
+%{_libdir32}/libubsan.la
+
+%files -n libubsan-multilib-32-static
+%defattr(644,root,root,755)
+%{_libdir32}/libubsan.a
+%endif
+
+%if %{with multilib2}
+%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.1
+
+%files -n libubsan-multilib-%{multilib2}-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libubsan.so
+%{_libdirm2}/libubsan.la
+
+%files -n libubsan-multilib-%{multilib2}-static
+%defattr(644,root,root,755)
+%{_libdirm2}/libubsan.a
+%endif
+%endif
+
+%if %{with vtv}
+%files -n libvtv
+%defattr(644,root,root,755)
+%doc libvtv/ChangeLog
+%attr(755,root,root) %{_libdir}/libvtv.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libvtv.so.0
+
+%files -n libvtv-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libvtv.so
+%{_libdir}/libvtv.la
+
+%files -n libvtv-static
+%defattr(644,root,root,755)
+%{_libdir}/libvtv.a
+
+%if %{with multilib}
+%files -n libvtv-multilib-32
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir32}/libvtv.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir32}/libvtv.so.0
+
+%files -n libvtv-multilib-32-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir32}/libvtv.so
+%{_libdir32}/libvtv.la
+
+%files -n libvtv-multilib-32-static
+%defattr(644,root,root,755)
+%{_libdir32}/libvtv.a
 %endif
+
+%if %{with multilib2}
+%files -n libvtv-multilib-%{multilib2}
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libvtv.so.*.*.*
+%attr(755,root,root) %ghost %{_libdirm2}/libvtv.so.0
+
+%files -n libvtv-multilib-%{multilib2}-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libvtv.so
+%{_libdirm2}/libvtv.la
+
+%files -n libvtv-multilib-%{multilib2}-static
+%defattr(644,root,root,755)
+%{_libdirm2}/libvtv.a
+%endif
+%endif
+
+%if %{with atomic}
+%files -n libatomic
+%defattr(644,root,root,755)
+%doc libatomic/ChangeLog*
+%attr(755,root,root) %{_libdir}/libatomic.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libatomic.so.1
+
+%files -n libatomic-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libatomic.so
+%{_libdir}/libatomic.la
+
+%files -n libatomic-static
+%defattr(644,root,root,755)
+%{_libdir}/libatomic.a
+
+%if %{with multilib}
+%files -n libatomic-multilib-32
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir32}/libatomic.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir32}/libatomic.so.1
+
+%files -n libatomic-multilib-32-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir32}/libatomic.so
+%{_libdir32}/libatomic.la
+
+%files -n libatomic-multilib-32-static
+%defattr(644,root,root,755)
+%{_libdir32}/libatomic.a
+%endif
+
+%if %{with multilib2}
+%files -n libatomic-multilib-%{multilib2}
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libatomic.so.*.*.*
+%attr(755,root,root) %ghost %{_libdirm2}/libatomic.so.1
+
+%files -n libatomic-multilib-%{multilib2}-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libatomic.so
+%{_libdirm2}/libatomic.la
+
+%files -n libatomic-multilib-%{multilib2}-static
+%defattr(644,root,root,755)
+%{_libdirm2}/libatomic.a
 %endif
+%endif
+
+%files gdb-plugin
+%defattr(644,root,root,755)
+%doc libcc1/ChangeLog*
+%attr(755,root,root) %{_libdir}/libcc1.so
+%attr(755,root,root) %{_libdir}/libcc1.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libcc1.so.0
+%attr(755,root,root) %{gcclibdir}/plugin/libcc1plugin.so.*
+%attr(755,root,root) %{gcclibdir}/plugin/libcp1plugin.so.*
+
+%files plugin-devel
+%defattr(644,root,root,755)
+%dir %{gcclibdir}/plugin
+%{gcclibdir}/plugin/gengtype
+%{gcclibdir}/plugin/gtype.state
+%{gcclibdir}/plugin/include
+%{gcclibdir}/plugin/libcc1plugin.la
+%attr(755,root,root) %{gcclibdir}/plugin/libcc1plugin.so
+%{gcclibdir}/plugin/libcp1plugin.la
+%attr(755,root,root) %{gcclibdir}/plugin/libcp1plugin.so