]> TLD Linux GIT Repositories - packages/gcc.git/commitdiff
- merged 13.1.0 from PLD
authorMarcin Krol <hawk@tld-linux.org>
Sun, 9 Jul 2023 14:31:10 +0000 (16:31 +0200)
committerMarcin Krol <hawk@tld-linux.org>
Sun, 9 Jul 2023 14:31:10 +0000 (16:31 +0200)
all-library-paths.patch [new file with mode: 0644]
branch.sh
gcc-ada-link.patch
gcc-info.patch
gcc-moresparcs.patch
gcc-nodebug.patch
gcc.spec

diff --git a/all-library-paths.patch b/all-library-paths.patch
new file mode 100644 (file)
index 0000000..e1c1941
--- /dev/null
@@ -0,0 +1,20 @@
+--- gcc-11.2.0/gcc/gcc.cc.orig 2022-04-18 15:40:02.650553155 +0200
++++ gcc-11.2.0/gcc/gcc.cc      2022-04-19 09:31:21.340818868 +0200
+@@ -7817,17 +7817,6 @@
+   *cp++ = '.';
+   *cp = '\0';
+-  /* Exclude directories that the linker is known to search.  */
+-  if (linker
+-      && IS_DIR_SEPARATOR (path[0])
+-      && ((cp - path == 6
+-         && filename_ncmp (path + 1, "lib", 3) == 0)
+-        || (cp - path == 10
+-            && filename_ncmp (path + 1, "usr", 3) == 0
+-            && IS_DIR_SEPARATOR (path[4])
+-            && filename_ncmp (path + 5, "lib", 3) == 0)))
+-    return 0;
+-
+   return (stat (path, &st) >= 0 && S_ISDIR (st.st_mode));
+ }
index 0d2995ce88fb54b9cd31a654f40f14e23f3b03b4..f3296d475044629a7e65acdf1ce958510e220471 100755 (executable)
--- a/branch.sh
+++ b/branch.sh
@@ -2,8 +2,8 @@
 set -e
 url=git://gcc.gnu.org/git/gcc.git
 package=gcc
-tag=releases/gcc-11.2.0
-branch=releases/gcc-11
+tag=releases/gcc-13.1.0
+branch=releases/gcc-13
 out=$package-branch.diff
 repo=$package.git
 
index acb31939e1db9700bb046aaf0050382af157e85d..f59ce30af8251d07d40338316f362c628649e5da 100644 (file)
@@ -19,20 +19,19 @@ diff -urNp -x '*.orig' gcc-10.2.0.org/gcc/ada/gcc-interface/Makefile.in gcc-10.2
  
  # End of variables for you to override.
  
-@@ -657,19 +657,20 @@ gnatlib-shared-default:
+@@ -670,18 +670,19 @@
+            LN_S="$(LN_S)" \
               gnatlib
        $(RM) $(RTSDIR)/libgna*$(soext)
-       cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \
--                | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -shared $(GNATLIBCFLAGS) \
-+                | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -shared -shared-libgcc $(GNATLIBCFLAGS) \
+-      cd $(RTSDIR); $(GCC_FOR_ADA_RTS) -shared $(GNATLIBCFLAGS) \
++      cd $(RTSDIR); $(GCC_FOR_ADA_RTS) -shared -shared-libgcc $(GNATLIBCFLAGS) \
                $(PICFLAG_FOR_TARGET) \
                -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
                $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \
                $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
                $(MISCLIB) -lm
-       cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \
--                | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -shared $(GNATLIBCFLAGS) \
-+                | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -shared -shared-libgcc $(GNATLIBCFLAGS) \
+-      cd $(RTSDIR); $(GCC_FOR_ADA_RTS) -shared $(GNATLIBCFLAGS) \
++      cd $(RTSDIR); $(GCC_FOR_ADA_RTS) -shared -shared-libgcc $(GNATLIBCFLAGS) \
                $(PICFLAG_FOR_TARGET) \
                -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
                $(GNATRTL_TASKING_OBJS) \
index e8c7086d46561124be448cbcc518799103a0350f..c134a1b652379047055497866d17f5dd5e9cedb9 100644 (file)
@@ -1,18 +1,3 @@
-diff -urNp -x '*.orig' gcc-10.2.0.org/gcc/ada/gnat-style.texi gcc-10.2.0/gcc/ada/gnat-style.texi
---- gcc-10.2.0.org/gcc/ada/gnat-style.texi     2020-07-23 08:35:17.120382083 +0200
-+++ gcc-10.2.0/gcc/ada/gnat-style.texi 2021-03-21 01:21:39.481335808 +0100
-@@ -29,9 +29,9 @@ Texts.  A copy of the license is include
- @include gcc-common.texi
--@dircategory Software development
-+@dircategory Programming Languages:
- @direntry
--* gnat-style: (gnat-style).      GNAT Coding Style
-+* gnat-style: (gnat-style).           GNAT Coding Style
- @end direntry
- @macro syntax{element}
 diff -urNp -x '*.orig' gcc-10.2.0.org/gcc/ada/gnat_rm.texi gcc-10.2.0/gcc/ada/gnat_rm.texi
 --- gcc-10.2.0.org/gcc/ada/gnat_rm.texi        2020-07-23 08:35:17.128382173 +0200
 +++ gcc-10.2.0/gcc/ada/gnat_rm.texi    2021-03-21 01:21:39.485335808 +0100
@@ -27,7 +12,7 @@ diff -urNp -x '*.orig' gcc-10.2.0.org/gcc/ada/gnat_rm.texi gcc-10.2.0/gcc/ada/gn
 +* gnat_rm: (gnat_rm.info).            gnat_rm
  @end direntry
  
- @definfoenclose strong,`,'
+ @c %**end of header
 diff -urNp -x '*.orig' gcc-10.2.0.org/gcc/ada/gnat_ugn.texi gcc-10.2.0/gcc/ada/gnat_ugn.texi
 --- gcc-10.2.0.org/gcc/ada/gnat_ugn.texi       2020-07-23 08:35:17.136382261 +0200
 +++ gcc-10.2.0/gcc/ada/gnat_ugn.texi   2021-03-21 01:21:39.489335808 +0100
@@ -42,7 +27,7 @@ diff -urNp -x '*.orig' gcc-10.2.0.org/gcc/ada/gnat_ugn.texi gcc-10.2.0/gcc/ada/g
 +* gnat_ugn: (gnat_ugn.info).          gnat_ugn
  @end direntry
  
- @definfoenclose strong,`,'
+ @c %**end of header
 diff -urNp -x '*.orig' gcc-10.2.0.org/gcc/doc/cpp.texi gcc-10.2.0/gcc/doc/cpp.texi
 --- gcc-10.2.0.org/gcc/doc/cpp.texi    2021-03-21 01:21:06.752335808 +0100
 +++ gcc-10.2.0/gcc/doc/cpp.texi        2021-03-21 01:21:39.480335808 +0100
@@ -77,7 +62,7 @@ diff -urNp -x '*.orig' gcc-10.2.0.org/gcc/doc/gcc.texi gcc-10.2.0/gcc/doc/gcc.te
 --- gcc-10.2.0.org/gcc/doc/gcc.texi    2020-07-23 08:35:17.564386975 +0200
 +++ gcc-10.2.0/gcc/doc/gcc.texi        2021-03-21 01:21:39.481335808 +0100
 @@ -61,15 +61,14 @@ Texts being (a) (see below), and with th
-      funds for GNU development.
+ @end quotation
  @end copying
  @ifnottex
 -@dircategory Software development
@@ -95,10 +80,10 @@ diff -urNp -x '*.orig' gcc-10.2.0.org/gcc/doc/gcc.texi gcc-10.2.0/gcc/doc/gcc.te
 +* gcov: (gcc) Gcov.                   @command{gcov}---a test coverage program
 +* gcov-tool: (gcc) Gcov-tool.         @command{gcov-tool}---an offline gcda profile processing program
 +* gcov-dump: (gcc) Gcov-dump.         @command{gcov-dump}---an offline gcda and gcno profile dump tool
-+* lto-dump: (gcc) lto-dump.            @command{lto-dump}---Tool for dumping LTO object files.
++* lto-dump: (gcc) lto-dump.           @command{lto-dump}---Tool for dumping LTO object files
  @end direntry
- This file documents the use of the GNU compilers.
  @sp 1
+ @insertcopying
 diff -urNp -x '*.orig' gcc-10.2.0.org/gcc/doc/gccint.texi gcc-10.2.0/gcc/doc/gccint.texi
 --- gcc-10.2.0.org/gcc/doc/gccint.texi 2020-07-23 08:35:17.564386975 +0200
 +++ gcc-10.2.0/gcc/doc/gccint.texi     2021-03-21 01:21:39.481335808 +0100
@@ -178,13 +163,13 @@ diff -urNp -x '*.orig' gcc-10.2.0.org/libffi/doc/libffi.texi gcc-10.2.0/libffi/d
 --- gcc-10.2.0.org/libffi/doc/libffi.texi      2020-07-23 08:35:18.740399932 +0200
 +++ gcc-10.2.0/libffi/doc/libffi.texi  2021-03-21 01:21:39.493335808 +0100
 @@ -31,9 +31,9 @@ section entitled ``GNU General Public Li
- @end quotation
  @end copying
  
 -@dircategory Development
 +@dircategory Libraries:
  @direntry
--* libffi: (libffi).             Portable foreign-function interface library.
+-* libffi: (libffi).             Portable foreign function interface library.
 +* libffi: (libffi).                   Portable foreign-function interface library
  @end direntry
  
index f75ab778530a7461e859fb14078dd5903e10f2e2..b9c0662ad61acaa47fe2e220912a80ddfa70e6a7 100644 (file)
@@ -2,12 +2,12 @@ diff -urNp -x '*.orig' gcc-10.2.0.org/gcc/config.gcc gcc-10.2.0/gcc/config.gcc
 --- gcc-10.2.0.org/gcc/config.gcc      2021-03-21 11:32:24.611515690 +0100
 +++ gcc-10.2.0/gcc/config.gcc  2021-03-21 11:32:46.784515690 +0100
 @@ -3289,7 +3289,7 @@ sparc-*-rtems*)
-       tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
+       tm_file="${tm_file} elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
        tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems"
        ;;
 -sparc-*-linux*)
 +sparc-*-linux* | sparcv[789]*-*-linux*)
-       tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h"
+       tm_file="${tm_file} elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h"
        extra_options="${extra_options} sparc/long-double-switch.opt"
        case ${target} in
 @@ -3343,7 +3343,7 @@ sparc64-*-rtems*)
@@ -16,7 +16,7 @@ diff -urNp -x '*.orig' gcc-10.2.0.org/gcc/config.gcc gcc-10.2.0/gcc/config.gcc
        ;;
 -sparc64-*-linux*)
 +sparc64*-*-linux*)
-       tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default64.h sparc/linux64.h sparc/tso.h"
+       tm_file="sparc/biarch64.h ${tm_file} elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default64.h sparc/linux64.h sparc/tso.h"
        extra_options="${extra_options} sparc/long-double-switch.opt"
        tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64"
 diff -urNp -x '*.orig' gcc-10.2.0.org/libgcc/config.host gcc-10.2.0/libgcc/config.host
index 162eddd9db3f38bac64750f30ada474dfdad73af..7cca63616cbdff2b69cbd5a55548e09427849561 100644 (file)
@@ -10,12 +10,14 @@ diff -urNp -x '*.orig' gcc-10.2.0.org/Makefile.in gcc-10.2.0/Makefile.in
  BOOT_LDFLAGS=
  BOOT_ADAFLAGS= -gnatpg
  
-@@ -619,8 +619,8 @@ CXXFLAGS_FOR_TARGET = @CXXFLAGS_FOR_TARG
+@@ -619,9 +619,9 @@ CXXFLAGS_FOR_TARGET = @CXXFLAGS_FOR_TARG
  LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
  LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
  LDFLAGS_FOR_TARGET = @LDFLAGS_FOR_TARGET@
+-GM2FLAGS_FOR_TARGET = -O2 -g
 -GOCFLAGS_FOR_TARGET = -O2 -g
 -GDCFLAGS_FOR_TARGET = -O2 -g
++GM2FLAGS_FOR_TARGET = -O2
 +GOCFLAGS_FOR_TARGET = -O2
 +GDCFLAGS_FOR_TARGET = -O2
  
@@ -36,7 +38,7 @@ diff -urNp -x '*.orig' gcc-10.2.0.org/gcc/ada/gcc-interface/Makefile.in gcc-10.2
 @@ -105,13 +105,13 @@ TEXI2PDF = texi2pdf
  GNATBIND_FLAGS = -static -x
  ADA_CFLAGS =
- ADAFLAGS = -W -Wall -gnatpg -gnata
+ ADAFLAGS = -W -Wall -gnatpg -gnata -gnatU
 -FORCE_DEBUG_ADAFLAGS = -g
 +FORCE_DEBUG_ADAFLAGS =
  NO_INLINE_ADAFLAGS = -fno-inline
@@ -64,27 +66,27 @@ diff -urNp -x '*.orig' gcc-10.2.0.org/libada/Makefile.in gcc-10.2.0/libada/Makef
 diff -urNp -x '*.orig' gcc-10.2.0.org/libffi/Makefile.am gcc-10.2.0/libffi/Makefile.am
 --- gcc-10.2.0.org/libffi/Makefile.am  2020-07-23 08:35:18.736399887 +0200
 +++ gcc-10.2.0/libffi/Makefile.am      2021-03-21 01:23:21.859335808 +0100
-@@ -202,7 +202,7 @@ nodist_libffi_convenience_la_SOURCES = $
+@@ -182,7 +182,7 @@ nodist_libffi_convenience_la_SOURCES = $
  
  LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
  
--AM_CFLAGS = -Wall -g -fexceptions
-+AM_CFLAGS = -Wall -fexceptions
+-AM_CFLAGS = -Wall -g -fexceptions $(CET_FLAGS)
++AM_CFLAGS = -Wall -fexceptions $(CET_FLAGS)
  if FFI_DEBUG
  # Build debug. Define FFI_DEBUG on the commandline so that, when building with
  # MSVC, it can link against the debug CRT.
 diff -urNp -x '*.orig' gcc-10.2.0.org/libffi/Makefile.in gcc-10.2.0/libffi/Makefile.in
 --- gcc-10.2.0.org/libffi/Makefile.in  2020-07-23 08:35:54.708796179 +0200
 +++ gcc-10.2.0/libffi/Makefile.in      2021-03-21 01:23:21.860335808 +0100
-@@ -604,7 +604,7 @@ libffi_convenience_la_LIBADD = $(libffi_
+@@ -589,7 +589,7 @@ libffi_convenience_la_LIBADD = $(libffi_
  libffi_convenience_la_DEPENDENCIES = $(libffi_la_DEPENDENCIES)
  nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
  LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
--AM_CFLAGS = -Wall -g -fexceptions $(am__append_2)
-+AM_CFLAGS = -Wall -fexceptions $(am__append_2)
- @LIBAT_BUILD_VERSIONED_SHLIB_FALSE@libffi_version_script = 
- @LIBAT_BUILD_VERSIONED_SHLIB_GNU_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@libffi_version_script = -Wl,--version-script,libffi.map
- @LIBAT_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@libffi_version_script = -Wl,-M,libffi.map-sun
+-AM_CFLAGS = -Wall -g -fexceptions $(CET_FLAGS) $(am__append_2)
++AM_CFLAGS = -Wall -fexceptions $(CET_FLAGS) $(am__append_2)
+ @LIBFFI_BUILD_VERSIONED_SHLIB_FALSE@libffi_version_script = 
+ @LIBFFI_BUILD_VERSIONED_SHLIB_GNU_TRUE@@LIBFFI_BUILD_VERSIONED_SHLIB_TRUE@libffi_version_script = -Wl,--version-script,libffi.map
+ @LIBFFI_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBFFI_BUILD_VERSIONED_SHLIB_TRUE@libffi_version_script = -Wl,-M,libffi.map-sun
 diff -urNp -x '*.orig' gcc-10.2.0.org/libgcc/Makefile.in gcc-10.2.0/libgcc/Makefile.in
 --- gcc-10.2.0.org/libgcc/Makefile.in  2020-07-23 08:35:18.748400018 +0200
 +++ gcc-10.2.0/libgcc/Makefile.in      2021-03-21 01:23:21.860335808 +0100
@@ -125,8 +127,8 @@ diff -urNp -x '*.orig' gcc-10.2.0.org/libstdc++-v3/include/Makefile.am gcc-10.2.
 -      $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch3_source} -o $@
 +      $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 ${pch3_source} -o $@
  
- # For robustness sake (in light of junk files or in-source
- # configuration), copy from the build or source tree to the install
+ # The real deal.
+ install-data-local: install-headers
 diff -urNp -x '*.orig' gcc-10.2.0.org/libstdc++-v3/include/Makefile.in gcc-10.2.0/libstdc++-v3/include/Makefile.in
 --- gcc-10.2.0.org/libstdc++-v3/include/Makefile.in    2021-03-21 01:22:56.854335808 +0100
 +++ gcc-10.2.0/libstdc++-v3/include/Makefile.in        2021-03-21 01:23:21.861335808 +0100
@@ -155,5 +157,5 @@ diff -urNp -x '*.orig' gcc-10.2.0.org/libstdc++-v3/include/Makefile.in gcc-10.2.
 -      $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch3_source} -o $@
 +      $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 ${pch3_source} -o $@
  
- # For robustness sake (in light of junk files or in-source
- # configuration), copy from the build or source tree to the install
+ # The real deal.
+ install-data-local: install-headers
index 392be42c8a7528b3d727711c972d3a7a1e86ee11..37e05340be761d920d5b0a83512a7a2fa90c19d0 100644 (file)
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,30 +1,31 @@
-# NOTE: despite lower soname, libffi is newer than standalone 3.0.10
+# TODO: finish D (needs bootstrap from non-PLD gdc binaries)
 #
 # 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 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 multilib        # build without multilib support (which needs glibc[32&64]-devel)
-%bcond_with    multilibx32     # build with x32 multilib support on x86_64 (needs x32 glibc-devel)
-%bcond_without profiling       # build without profiling
-%bcond_without python          # build without libstdc++ printers for gdb
+%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         # do not package API docs
+%bcond_without apidocs         # API documentation
 %bcond_without bootstrap       # omit 3-stage bootstrap
 %bcond_with    tests           # torture gcc
-%bcond_with    symvers         # enable versioned symbols in libstdc++ (WARNING: changes soname from .so.6 to so.7)
+%bcond_with    symvers         # versioned symbols in libstdc++ (WARNING: changes soname from .so.6 to so.7)
 
 %if %{with symvers}
 %define                cxx_sover       7
 %define                with_tsan_m0    1
 %endif
 %ifarch x32
-# lsan and tsan exist only for x86_64 ABI (i.e. our multilib2)
+# 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 aarch64
+%ifarch %{x8664} aarch64
 %define                with_hwasan     1
 %endif
 %ifarch %{ix86} %{x8664} x32
 
 # 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       11
-%define                minor_ver       2.0
+%define                major_ver       13
+%define                minor_ver       1.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
@@ -107,20 +109,21 @@ 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:       3
 Epoch:         6
 License:       GPL v3+
 Group:         Development/Languages
 Source0:       https://gcc.gnu.org/pub/gcc/releases/%{name}-%{version}/%{name}-%{version}.tar.xz
-# Source0-md5: 31c86f2ced76acac66992eeedce2fce2
+# Source0-md5: 43e4de77f2218c83ca675257ea1af9ef
 Source1:       %{name}-optimize-la.pl
 # check libffi version with libffi/configure.ac
 Source3:       libffi.pc.in
 Source4:       branch.sh
 # use branch.sh to update gcc-branch.diff
 Patch100:      %{name}-branch.diff
-# Patch100-md5:        b87420dd46c41e2398444f2c06e29276
+# Patch100-md5:        b3f29f19ec6ac2e71d7e209ce49e8621
 Patch0:                %{name}-info.patch
+Patch1:                all-library-paths.patch
 Patch2:                %{name}-nodebug.patch
 Patch3:                %{name}-ada-link.patch
 Patch4:                %{name}-ada-x32.patch
@@ -131,7 +134,7 @@ URL:                http://gcc.gnu.org/
 BuildRequires: autoconf >= 2.64
 %{?with_tests:BuildRequires:   autogen >= 5.5.4}
 BuildRequires: automake >= 1:1.11.1
-BuildRequires: binutils >= 3:2.30
+BuildRequires: binutils >= 4:2.30
 BuildRequires: bison
 BuildRequires: chrpath >= 0.13-2
 %{?with_tests:BuildRequires:   dejagnu >= 1.4.4}
@@ -141,6 +144,10 @@ 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: gdb
 BuildRequires: gettext-tools >= 0.14.5
@@ -178,18 +185,20 @@ BuildRequires:    gmp-devel >= 4.3.2
 BuildRequires: isl-devel >= 0.15
 BuildRequires: libmpc-devel >= 0.8.1
 BuildRequires: mpfr-devel >= 3.1.0
-%if %{with python}
-BuildRequires: python3-devel
-BuildRequires: rpm-pythonprov
-%endif
+BuildRequires: rpm-build >= 4.6
 BuildRequires: rpmbuild(macros) >= 1.211
 BuildRequires: tar >= 1:1.22
 BuildRequires: texinfo >= 4.7
 BuildRequires: xz
 BuildRequires: zlib-devel
 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.30
+Requires:      binutils >= 4:2.30
 Requires:      gmp >= 4.3.2
 Requires:      isl >= 0.15
 Requires:      libgcc = %{epoch}:%{version}-%{release}
@@ -197,13 +206,13 @@ 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)
 
@@ -232,6 +241,10 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %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                filterout       -fwrapv -fno-strict-aliasing -fsigned-char
@@ -241,7 +254,7 @@ BuildRoot:  %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 # 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)\.so.*'
+%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\)
 
@@ -282,7 +295,7 @@ License:    GPL v3+
 Group:         Development/Languages
 Requires:      %{name} = %{epoch}:%{version}-%{release}
 Requires:      libgcc-multilib-32 = %{epoch}:%{version}-%{release}
-Obsoletes:     libgcc32
+Obsoletes:     libgcc32 < 6:4.4
 %ifarch %{x8664}
 Requires:      glibc-devel(ix86)
 %endif
@@ -296,7 +309,7 @@ Requires:   glibc-devel(s390)
 Requires:      glibc-devel(sparcv9)
 %endif
 Provides:      gcc(multilib-32)
-Obsoletes:     gcc-multilib
+Obsoletes:     gcc-multilib < 6:4.9.2-4
 
 %description multilib-32
 A compiler aimed at integrating all the optimizations and features
@@ -349,7 +362,7 @@ Summary(pt_BR.UTF-8):       Biblioteca runtime para o GCC
 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.
@@ -368,7 +381,7 @@ Summary:    Shared gcc library - 32-bit version
 Summary(pl.UTF-8):     Biblioteka gcc - wersja 32-bitowa
 License:       GPL v3+ with GCC Runtime Library Exception v3.1
 Group:         Libraries
-Obsoletes:     libgcc-multilib
+Obsoletes:     libgcc-multilib < 6:4.9.2-4
 
 %description -n libgcc-multilib-32
 Shared gcc library - 32-bit version.
@@ -432,7 +445,7 @@ 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
+Obsoletes:     libgomp-multilib < 6:4.9.2-4
 
 %description -n libgomp-multilib-32
 GNU OpenMP library - 32-bit version.
@@ -446,7 +459,7 @@ 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
+Obsoletes:     libgomp-multilib-devel < 6:4.9.2-4
 
 %description -n libgomp-multilib-32-devel
 Development files for 32-bit version of GNU OpenMP library.
@@ -460,7 +473,7 @@ 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:      libgomp-multilib-32-devel = %{epoch}:%{version}-%{release}
-Obsoletes:     libgomp-multilib-static
+Obsoletes:     libgomp-multilib-static < 6:4.9.2-4
 
 %description -n libgomp-multilib-32-static
 Static GNU OpenMP library - 32-bit version.
@@ -514,7 +527,7 @@ 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.
@@ -533,7 +546,7 @@ 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-32 = %{epoch}:%{version}-%{release}
-Obsoletes:     gcc-ada-multilib
+Obsoletes:     gcc-ada-multilib < 6:4.9.2-4
 
 %description ada-multilib-32
 This package adds experimental support for compiling 32-bit Ada
@@ -565,7 +578,7 @@ Summary(pl.UTF-8):  Biblioteki standardowe Ady
 License:       GPL v3+ with GCC Runtime Library Exception v3.1
 Group:         Libraries
 Requires:      libgcc = %{epoch}:%{version}-%{release}
-Obsoletes:     gnat
+Obsoletes:     gnat < 4
 Obsoletes:     libgnat1
 
 %description -n libgnat
@@ -585,7 +598,7 @@ Summary:    Static Ada standard libraries
 Summary(pl.UTF-8):     Statyczne biblioteki standardowe dla Ady
 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.
@@ -600,7 +613,7 @@ 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
+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
@@ -615,7 +628,7 @@ Summary:    Static Ada standard libraries - 32-bit version
 Summary(pl.UTF-8):     Statyczne biblioteki standardowe dla Ady - wersje 32-bitowe
 License:       GPL v3+ with GCC Runtime Library Exception v3.1
 Group:         Development/Libraries
-Obsoletes:     libgnat-multilib-static
+Obsoletes:     libgnat-multilib-static < 6:4.9.2-4
 
 %description -n libgnat-multilib-32-static
 This package contains 32-bit version of static libraries for programs
@@ -661,9 +674,9 @@ 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
@@ -709,7 +722,7 @@ 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
+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
@@ -744,8 +757,8 @@ 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++ library, along with
@@ -794,8 +807,8 @@ 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
@@ -823,7 +836,7 @@ Summary(pl.UTF-8):  Statyczna biblioteka standardowa C++
 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.
@@ -841,7 +854,7 @@ 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
+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++
@@ -859,7 +872,7 @@ 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
+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
@@ -875,7 +888,7 @@ Summary(pl.UTF-8):  Statyczna biblioteka standardowa C++ - wersja 32-bitowa
 License:       GPL v3+ with GCC Runtime Library Exception v3.1
 Group:         Development/Libraries
 Requires:      libstdc++-multilib-32-devel = %{epoch}:%{version}-%{release}
-Obsoletes:     libstdc++-multilib-static
+Obsoletes:     libstdc++-multilib-static < 6:4.9.2-4
 
 %description -n libstdc++-multilib-32-static
 Static C++ standard library - 32-bit version.
@@ -965,8 +978,8 @@ Requires:   %{name} = %{epoch}:%{version}-%{release}
 Requires:      libgfortran = %{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
@@ -989,7 +1002,7 @@ Group:             Development/Languages/Fortran
 Requires:      %{name}-fortran = %{epoch}:%{version}-%{release}
 Requires:      libgfortran-multilib-32 = %{epoch}:%{version}-%{release}
 %{?with_quadmath:Requires:     libquadmath-multilib-32-devel = %{epoch}:%{version}-%{release}}
-Obsoletes:     gcc-fortran-multilib
+Obsoletes:     gcc-fortran-multilib < 6:4.9.2-4
 
 %description fortran-multilib-32
 This package adds support for compiling 32-bit Fortran 95 programs
@@ -1023,7 +1036,7 @@ License:  GPL v3+ with GCC Runtime Library Exception v3.1
 Group:         Libraries
 Requires:      libgcc = %{epoch}:%{version}-%{release}
 %{?with_quadmath:Requires:     libquadmath = %{epoch}:%{version}-%{release}}
-Obsoletes:     libg2c
+Obsoletes:     libg2c < 5:4
 
 %description -n libgfortran
 Fortran 95 Library.
@@ -1041,7 +1054,7 @@ 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.
@@ -1059,7 +1072,7 @@ 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
+Obsoletes:     libgfortran-multilib < 6:4.9.2-4
 
 %description -n libgfortran-multilib-32
 Fortran 95 Library - 32-bit version.
@@ -1073,7 +1086,7 @@ 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-32 = %{epoch}:%{version}-%{release}
-Obsoletes:     libgfortran-multilib-static
+Obsoletes:     libgfortran-multilib-static < 6:4.9.2-4
 
 %description -n libgfortran-multilib-32-static
 Static Fortran 95 Library - 32-bit version.
@@ -1157,7 +1170,7 @@ 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
+Obsoletes:     libquadmath-multilib < 6:4.9.2-4
 
 %description -n libquadmath-multilib-32
 This package contains 32-bit version of GCC shared support library
@@ -1176,7 +1189,7 @@ License:  LGPL v2.1+
 Group:         Development/Libraries
 Requires:      libquadmath-devel = %{epoch}:%{version}-%{release}
 Requires:      libquadmath-multilib-32 = %{epoch}:%{version}-%{release}
-Obsoletes:     libquadmath-multilib-devel
+Obsoletes:     libquadmath-multilib-devel < 6:4.9.2-4
 
 %description -n libquadmath-multilib-32-devel
 This package contains development files for 32-bit GCC support library
@@ -1194,7 +1207,7 @@ Summary(pl.UTF-8):        32-bitowa biblioteka statyczna GCC do obsługi typu __float12
 License:       LGPL v2.1+
 Group:         Development/Libraries
 Requires:      libquadmath-multilib-32-devel = %{epoch}:%{version}-%{release}
-Obsoletes:     libquadmath-multilib-static
+Obsoletes:     libquadmath-multilib-static < 6:4.9.2-4
 
 %description -n libquadmath-multilib-32-static
 Static GCC __float128 support library - 32-bit version.
@@ -1314,7 +1327,7 @@ 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
+Obsoletes:     libffi-multilib < 6:4.9.2-4
 
 %description -n libffi-multilib-32
 The libffi library provides a portable, high level programming
@@ -1335,7 +1348,7 @@ License:  BSD-like
 Group:         Development/Libraries
 Requires:      libffi-devel = %{epoch}:%{version}-%{release}
 Requires:      libffi-multilib-32 = %{epoch}:%{version}-%{release}
-Obsoletes:     libffi-multilib-devel
+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
@@ -1350,7 +1363,7 @@ Summary(pl.UTF-8):        Statyczna biblioteka libffi - wersja 32-bitowa
 License:       BSD-like
 Group:         Development/Libraries
 Requires:      libffi-multilib-32-devel = %{epoch}:%{version}-%{release}
-Obsoletes:     libffi-multilib-static
+Obsoletes:     libffi-multilib-static < 6:4.9.2-4
 
 %description -n libffi-multilib-32-static
 Static Foreign Function Interface library - 32-bit version.
@@ -1404,6 +1417,135 @@ 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 language support for GCC
 Summary(de.UTF-8):     Objektive C-Unterstützung für GCC
@@ -1414,8 +1556,8 @@ 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.
@@ -1460,7 +1602,7 @@ Summary(pl.UTF-8):        Obsługa 32-bitowych binariów w języku Objective C dla komp
 Group:         Development/Languages
 Requires:      %{name}-multilib-32 = %{epoch}:%{version}-%{release}
 Requires:      libobjc-multilib-32 = %{epoch}:%{version}-%{release}
-Obsoletes:     gcc-objc-multilib
+Obsoletes:     gcc-objc-multilib < 6:4.9.2-4
 
 %description objc-multilib-32
 This package adds 32-bit Objective C support to the GNU Compiler
@@ -1507,7 +1649,7 @@ Summary(pl.UTF-8):        Biblioteka obiektowego C (Objective C)
 License:       GPL v3+ with GCC Runtime Library Exception v3.1
 Group:         Libraries
 Requires:      libgcc = %{epoch}:%{version}-%{release}
-Obsoletes:     libobjc1
+Obsoletes:     libobjc1 < 5:4
 
 %description -n libobjc
 Objective C Library.
@@ -1541,7 +1683,7 @@ 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
+Obsoletes:     libobjc-multilib < 6:4.9.2-4
 
 %description -n libobjc-multilib-32
 Objective C Library - 32-bit version.
@@ -1555,7 +1697,7 @@ Summary(pl.UTF-8):        Statyczna biblioteka obiektowego C (Objective C) - wersja 32-
 License:       GPL v3+ with GCC Runtime Library Exception v3.1
 Group:         Development/Libraries
 Requires:      libobjc-multilib-32 = %{epoch}:%{version}-%{release}
-Obsoletes:     libobjc-multilib-static
+Obsoletes:     libobjc-multilib-static < 6:4.9.2-4
 
 %description -n libobjc-multilib-32-static
 Static Objective C Library - 32-bit version.
@@ -1610,7 +1752,7 @@ License:  GPL v3+ (gcc), BSD (Go-specific part)
 Group:         Development/Languages
 Requires:      %{name} = %{epoch}:%{version}-%{release}
 Requires:      libgo-multilib-32-devel = %{epoch}:%{version}-%{release}
-Obsoletes:     gcc-go-multilib
+Obsoletes:     gcc-go-multilib < 6:4.9.2-4
 
 %description go-multilib-32
 This package adds 32-bit Go language support to the GNU Compiler
@@ -1682,7 +1824,7 @@ 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
+Obsoletes:     libgo-multilib < 6:4.9.2-4
 
 %description -n libgo-multilib-32
 Go language library - 32-bit version.
@@ -1697,7 +1839,7 @@ License:  BSD
 Group:         Development/Libraries
 Requires:      glibc-devel
 Requires:      libgo-multilib-32 = %{epoch}:%{version}-%{release}
-Obsoletes:     libgo-multilib-devel
+Obsoletes:     libgo-multilib-devel < 6:4.9.2-4
 
 %description -n libgo-multilib-32-devel
 Development files for Go language library - 32-bit version.
@@ -1711,7 +1853,7 @@ Summary(pl.UTF-8):        Statyczna biblioteka języka Go - wersja 32-bitowa
 License:       BSD
 Group:         Development/Libraries
 Requires:      libgo-multilib-32-devel = %{epoch}:%{version}-%{release}
-Obsoletes:     libgo-multilib-static
+Obsoletes:     libgo-multilib-static < 6:4.9.2-4
 
 %description -n libgo-multilib-32-static
 Static Go language library - 32-bit version.
@@ -1807,7 +1949,7 @@ Summary(pl.UTF-8):        Biblioteka Address Sanitizer do kontroli adresów - wersja 32
 License:       BSD-like or MIT
 Group:         Libraries
 Requires:      libstdc++-multilib-32 = %{epoch}:%{version}-%{release}
-Obsoletes:     libasan-multilib
+Obsoletes:     libasan-multilib < 6:4.9.2-4
 
 %description -n libasan-multilib-32
 This package contains 32-bit version of the Address Sanitizer library
@@ -1825,7 +1967,7 @@ 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
+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
@@ -1841,7 +1983,7 @@ 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
+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
@@ -1944,6 +2086,53 @@ library.
 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
@@ -2167,7 +2356,7 @@ Summary(pl.UTF-8):        Biblioteka Undefined Behavior Sanitizer do kontroli nieokreś
 License:       BSD-like or MIT
 Group:         Libraries
 Requires:      libstdc++-multilib-32 = %{epoch}:%{version}-%{release}
-Obsoletes:     libubsan-multilib
+Obsoletes:     libubsan-multilib < 6:4.9.2-4
 
 %description -n libubsan-multilib-32
 This package contains 32-bit version of the Undefined Behavior
@@ -2185,7 +2374,7 @@ Summary(pl.UTF-8):        Pliki programistyczne biblioteki Undefined Behavior Sanitizer
 License:       BSD-like or MIT
 Group:         Development/Libraries
 Requires:      libubsan-multilib-32 = %{epoch}:%{version}-%{release}
-Obsoletes:     libubsan-multilib-devel
+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
@@ -2201,7 +2390,7 @@ Summary(pl.UTF-8):        Statyczna biblioteka Undefined Behavior Sanitizer - wersja 32
 License:       BSD-like or MIT
 Group:         Development/Libraries
 Requires:      libubsan-multilib-32-devel = %{epoch}:%{version}-%{release}
-Obsoletes:     libubsan-multilib-static
+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
@@ -2440,7 +2629,7 @@ Requires: libatomic-devel = %{epoch}:%{version}-%{release}
 %description -n libatomic-static
 This package contains GNU Atomic static library.
 
-%description -n libatomic-static
+%description -n libatomic-static -l pl.UTF-8
 Ten pakiet zawiera statyczną bibliotekę GNU Atomic.
 
 %package -n libatomic-multilib-32
@@ -2448,7 +2637,7 @@ 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
+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
@@ -2466,7 +2655,7 @@ Summary(pl.UTF-8):        Pliki programistyczne biblioteki GNU Atomic - wersja 32-bitow
 License:       GPL v3+ with GCC Runtime Library Exception v3.1
 Group:         Development/Libraries
 Requires:      libatomic-multilib-32 = %{epoch}:%{version}-%{release}
-Obsoletes:     libatomic-multilib-devel
+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
@@ -2482,7 +2671,7 @@ 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
+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.
@@ -2574,6 +2763,7 @@ więc wtyczki muszą być przebudowywane przy każdej aktualizacji GCC.
 %setup -q
 %patch100 -p1
 %patch0 -p1
+%patch1 -p1
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
@@ -2608,7 +2798,7 @@ TEXCONFIG=false \
        --infodir=%{_infodir} \
        --mandir=%{_mandir} \
        --x-libraries=%{_libdir} \
-       --%{?with_bootstrap:en}%{!?with_bootstrap:dis}able-bootstrap \
+       --enable-bootstrap%{!?with_bootstrap:=no} \
        --disable-build-with-cxx \
        --disable-build-poststage1-with-cxx \
        --enable-c99 \
@@ -2622,8 +2812,8 @@ TEXCONFIG=false \
        --enable-gnu-unique-object \
        --enable-initfini-array \
        --disable-isl-version-check \
-       --enable-languages="c%{?with_cxx:,c++}%{?with_fortran:,fortran}%{?with_objc:,objc}%{?with_objcxx:,obj-c++}%{?with_ada:,ada}%{?with_go:,go}" \
-       --%{?with_gomp:en}%{!?with_gomp:dis}able-libgomp \
+       --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 \
@@ -2880,7 +3070,7 @@ 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 libitm.la libssp.la libssp_nonshared.la \
-       %{?with_cxx:libstdc++.la libstdc++fs.la libsupc++.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} \
@@ -2888,6 +3078,7 @@ for f in libitm.la libssp.la libssp_nonshared.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
        file="$RPM_BUILD_ROOT%{_libdir}/$f"
@@ -2896,13 +3087,14 @@ do
 done
 %if %{with multilib}
 for f in libitm.la libssp.la libssp_nonshared.la \
-       %{?with_cxx:libstdc++.la libstdc++fs.la libsupc++.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_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
@@ -2910,13 +3102,15 @@ do
 done
 %if %{with multilib2}
 for f in libitm.la libssp.la libssp_nonshared.la \
-       %{?with_cxx:libstdc++.la libstdc++fs.la libsupc++.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
@@ -2926,7 +3120,6 @@ done
 %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
 
@@ -3063,6 +3256,12 @@ rm -rf $RPM_BUILD_ROOT
 %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-32
@@ -3197,6 +3396,8 @@ rm -rf $RPM_BUILD_ROOT
 %{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
@@ -3210,6 +3411,8 @@ rm -rf $RPM_BUILD_ROOT
 %{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
@@ -3226,7 +3429,10 @@ rm -rf $RPM_BUILD_ROOT
 %{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
@@ -3237,6 +3443,7 @@ rm -rf $RPM_BUILD_ROOT
 %{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
@@ -3263,7 +3470,9 @@ rm -rf $RPM_BUILD_ROOT
 %{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
@@ -3624,6 +3833,8 @@ rm -rf $RPM_BUILD_ROOT
 %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++
@@ -3646,6 +3857,8 @@ rm -rf $RPM_BUILD_ROOT
 %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
 
@@ -3664,6 +3877,8 @@ rm -rf $RPM_BUILD_ROOT
 %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
 
@@ -3711,8 +3926,6 @@ rm -rf $RPM_BUILD_ROOT
 %{gcclibdir}/include/ISO_Fortran_binding.h
 %{gcclibdir}/libcaf_single.a
 %{gcclibdir}/libcaf_single.la
-#%{gcclibdir}/libgfortranbegin.la
-#%{gcclibdir}/libgfortranbegin.a
 %{_infodir}/gfortran.info*
 %{_mandir}/man1/g95.1*
 %{_mandir}/man1/gfortran.1*
@@ -3725,8 +3938,6 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir32}/libgfortran.la
 %{gcclibdir}/32/libcaf_single.a
 %{gcclibdir}/32/libcaf_single.la
-#%{gcclibdir}/32/libgfortranbegin.la
-#%{gcclibdir}/32/libgfortranbegin.a
 %endif
 
 %if %{with multilib2}
@@ -3737,8 +3948,6 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdirm2}/libgfortran.la
 %{gcclibdir}/%{multilib2}/libcaf_single.a
 %{gcclibdir}/%{multilib2}/libcaf_single.la
-#%{gcclibdir}/%{multilib2}/libgfortranbegin.la
-#%{gcclibdir}/%{multilib2}/libgfortranbegin.a
 %endif
 
 %files -n libgfortran
@@ -3881,6 +4090,127 @@ rm -rf $RPM_BUILD_ROOT
 %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 m2-multilib-32
+%defattr(644,root,root,755)
+%{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
+
 %if %{with objc}
 %files objc
 %defattr(644,root,root,755)
@@ -3981,7 +4311,7 @@ rm -rf $RPM_BUILD_ROOT
 %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.19
+%attr(755,root,root) %ghost %{_libdir}/libgo.so.22
 
 %files -n libgo-devel
 %defattr(644,root,root,755)
@@ -3998,7 +4328,7 @@ rm -rf $RPM_BUILD_ROOT
 %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.19
+%attr(755,root,root) %ghost %{_libdir32}/libgo.so.22
 
 %files -n libgo-multilib-32-devel
 %defattr(644,root,root,755)
@@ -4016,7 +4346,7 @@ rm -rf $RPM_BUILD_ROOT
 %files -n libgo-multilib-%{multilib2}
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdirm2}/libgo.so.*.*.*
-%attr(755,root,root) %ghost %{_libdirm2}/libgo.so.19
+%attr(755,root,root) %ghost %{_libdirm2}/libgo.so.22
 
 %files -n libgo-multilib-%{multilib2}-devel
 %defattr(644,root,root,755)
@@ -4036,7 +4366,7 @@ rm -rf $RPM_BUILD_ROOT
 %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.6
+%attr(755,root,root) %ghost %{_libdir}/libasan.so.8
 
 %files -n libasan-devel
 %defattr(644,root,root,755)
@@ -4053,7 +4383,7 @@ rm -rf $RPM_BUILD_ROOT
 %files -n libasan-multilib-32
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir32}/libasan.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir32}/libasan.so.6
+%attr(755,root,root) %ghost %{_libdir32}/libasan.so.8
 
 %files -n libasan-multilib-32-devel
 %defattr(644,root,root,755)
@@ -4070,7 +4400,7 @@ rm -rf $RPM_BUILD_ROOT
 %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.6
+%attr(755,root,root) %ghost %{_libdirm2}/libasan.so.8
 
 %files -n libasan-multilib-%{multilib2}-devel
 %defattr(644,root,root,755)
@@ -4093,6 +4423,7 @@ rm -rf $RPM_BUILD_ROOT
 %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
 
@@ -4101,6 +4432,24 @@ rm -rf $RPM_BUILD_ROOT
 %{_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)
@@ -4145,7 +4494,7 @@ rm -rf $RPM_BUILD_ROOT
 %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.0
+%attr(755,root,root) %ghost %{_libdir}/libtsan.so.2
 
 %files -n libtsan-devel
 %defattr(644,root,root,755)
@@ -4164,7 +4513,7 @@ rm -rf $RPM_BUILD_ROOT
 %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.0
+%attr(755,root,root) %ghost %{_libdirm2}/libtsan.so.2
 
 %files -n libtsan-multilib-%{multilib2}-devel
 %defattr(644,root,root,755)