]> TLD Linux GIT Repositories - packages/gcc.git/commitdiff
- merger 7.2.0 from PLD
authorMarcin Krol <hawk@tld-linux.org>
Fri, 13 Oct 2017 14:15:50 +0000 (14:15 +0000)
committerMarcin Krol <hawk@tld-linux.org>
Fri, 13 Oct 2017 14:15:50 +0000 (14:15 +0000)
Revert-eeb6872bf.patch [new file with mode: 0644]
branch.sh
gcc-enable-java-awt-qt.patch [deleted file]
gcc-info.patch
gcc-libjava-multilib.patch [deleted file]
gcc-moresparcs.patch [new file with mode: 0644]
gcc-nodebug.patch
gcc-ppc64-m32-m64-multilib-only.patch [new file with mode: 0644]
gcc.spec
libffi.pc.in

diff --git a/Revert-eeb6872bf.patch b/Revert-eeb6872bf.patch
new file mode 100644 (file)
index 0000000..1688c14
--- /dev/null
@@ -0,0 +1,82 @@
+commit 43d83a70267a9e5c456d28de8e7348820446b712
+Author: BartÅ‚omiej Piotrowski <bpiotrowski@archlinux.org>
+Date:   Tue May 16 07:50:42 2017 +0200
+
+    Revert "Prevent LTO wrappers to process a recursive execution"
+    
+    This reverts commit eeb6872bfdfd1e71b27de6f62a5f5c08a2efb015.
+
+diff --git a/gcc/file-find.c b/gcc/file-find.c
+index b072a4993d76..b5a1fe8494e8 100644
+--- a/gcc/file-find.c
++++ b/gcc/file-find.c
+@@ -208,38 +208,3 @@ prefix_from_string (const char *p, struct path_prefix *pprefix)
+     }
+   free (nstore);
+ }
+-
+-void
+-remove_prefix (const char *prefix, struct path_prefix *pprefix)
+-{
+-  struct prefix_list *remove, **prev, **remove_prev = NULL;
+-  int max_len = 0;
+-
+-  if (pprefix->plist)
+-    {
+-      prev = &pprefix->plist;
+-      for (struct prefix_list *pl = pprefix->plist; pl->next; pl = pl->next)
+-      {
+-        if (strcmp (prefix, pl->prefix) == 0)
+-          {
+-            remove = pl;
+-            remove_prev = prev;
+-            continue;
+-          }
+-
+-        int l = strlen (pl->prefix);
+-        if (l > max_len)
+-          max_len = l;
+-
+-        prev = &pl;
+-      }
+-
+-      if (remove_prev)
+-      {
+-        *remove_prev = remove->next;
+-        free (remove);
+-      }
+-
+-      pprefix->max_len = max_len;
+-    }
+-}
+diff --git a/gcc/file-find.h b/gcc/file-find.h
+index 8f49a3af273e..407feba26e74 100644
+--- a/gcc/file-find.h
++++ b/gcc/file-find.h
+@@ -41,7 +41,6 @@ extern void find_file_set_debug (bool);
+ extern char *find_a_file (struct path_prefix *, const char *, int);
+ extern void add_prefix (struct path_prefix *, const char *);
+ extern void add_prefix_begin (struct path_prefix *, const char *);
+-extern void remove_prefix (const char *prefix, struct path_prefix *);
+ extern void prefix_from_env (const char *, struct path_prefix *);
+ extern void prefix_from_string (const char *, struct path_prefix *);
+diff --git a/gcc/gcc-ar.c b/gcc/gcc-ar.c
+index 78d2fc1ad306..d5d80e042e5a 100644
+--- a/gcc/gcc-ar.c
++++ b/gcc/gcc-ar.c
+@@ -194,14 +194,6 @@ main (int ac, char **av)
+ #ifdef CROSS_DIRECTORY_STRUCTURE
+       real_exe_name = concat (target_machine, "-", PERSONALITY, NULL);
+ #endif
+-      /* Do not search original location in the same folder.  */
+-      char *exe_folder = lrealpath (av[0]);
+-      exe_folder[strlen (exe_folder) - strlen (lbasename (exe_folder))] = '\0';
+-      char *location = concat (exe_folder, PERSONALITY, NULL);
+-
+-      if (access (location, X_OK) == 0)
+-      remove_prefix (exe_folder, &path);
+-
+       exe_name = find_a_file (&path, real_exe_name, X_OK);
+       if (!exe_name)
+       {
index c476b969e08ca5f66114eddab8c6624d36a1fe14..7cc296844c0a0f1cec4e13c6b4e85f6d818da045 100755 (executable)
--- a/branch.sh
+++ b/branch.sh
@@ -2,8 +2,8 @@
 set -e
 package=gcc
 svn=svn://gcc.gnu.org/svn/$package
-branch=branches/$package-6-branch
-tag=tags/${package}_6_3_0_release
+branch=branches/$package-7-branch
+tag=tags/${package}_7_2_0_release
 out=$package-branch.diff
 
 # use filterdiff, etc to exclude bad chunks from diff
@@ -25,6 +25,3 @@ if cmp -s $out{,.tmp}; then
        exit 0
 fi
 mv -f $out{.tmp,}
-
-../md5 $package.spec
-../dropin $out
diff --git a/gcc-enable-java-awt-qt.patch b/gcc-enable-java-awt-qt.patch
deleted file mode 100644 (file)
index d5bfb65..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
---- trunk/libjava/classpath/configure.ac       2006-07-02 15:32:04.000000000 +0200
-+++ trunk/libjava/classpath/configure.ac       2006-07-02 19:18:28.913906000 +0200
-@@ -502,7 +502,8 @@
-       AC_CHECK_FILE([$EXTRA_QT_INCLUDE_DIR/QWidget],
-       QT_CFLAGS="$QT_CFLAGS -I$EXTRA_QT_INCLUDE_DIR",
-       AC_MSG_WARN([QWidget not found])))
--      AC_CHECK_PROG(MOC, [moc], [moc])
-+      QT4DIR=`$PKG_CONFIG --variable=prefix QtGui`
-+      AC_CHECK_PROG(MOC, [moc], [$QT4DIR/bin/moc], [], $QT4DIR/bin)
-       AC_CHECK_PROG(MOC, [moc-qt4], [moc-qt4])
-     fi
-     if test "x$HAVE_QT4" = "xno"; then
---- trunk/libjava/classpath/native/jni/qt-peer/Makefile.am     2007-06-04 01:18:43.000000000 +0200
-+++ trunk/libjava/classpath/native/jni/qt-peer/Makefile.am     2008-03-06 16:32:36.000000000 +0100
-@@ -1,8 +1,7 @@
- # Qt AWT backend for Classpath
- #
--## GCJ LOCAL: don't install this library
--noinst_LTLIBRARIES = libqtpeer.la
-+nativeexeclib_LTLIBRARIES = libqtpeer.la
- AM_LDFLAGS = @CLASSPATH_MODULE@ @QT_LIBS@
- AM_CPPFLAGS = @CLASSPATH_INCLUDES@
---- trunk/libjava/classpath/native/jni/qt-peer/Makefile.in     2007-08-04 12:53:49.000000000 +0200
-+++ trunk/libjava/classpath/native/jni/qt-peer/Makefile.in     2008-03-06 15:24:38.000000000 +0100
-@@ -64,7 +64,8 @@
- mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
- CONFIG_HEADER = $(top_builddir)/include/config.h
- CONFIG_CLEAN_FILES =
--LTLIBRARIES = $(noinst_LTLIBRARIES)
-+nativeexeclibLTLIBRARIES_INSTALL = $(INSTALL)
-+LTLIBRARIES = $(nativeexeclib_LTLIBRARIES)
- libqtpeer_la_LIBADD =
- am_libqtpeer_la_OBJECTS = componentevent.lo keybindings.lo \
-       mainqtthread.lo mainthreadinterface.lo nativewrapper.lo \
-@@ -357,7 +358,7 @@
- target_vendor = @target_vendor@
- toolexeclibdir = @toolexeclibdir@
- vm_classes = @vm_classes@
--noinst_LTLIBRARIES = libqtpeer.la
-+nativeexeclib_LTLIBRARIES = libqtpeer.la
- AM_LDFLAGS = @CLASSPATH_MODULE@ @QT_LIBS@
- AM_CPPFLAGS = @CLASSPATH_INCLUDES@
- AM_CXXFLAGS = @QT_CFLAGS@ \
-@@ -475,7 +476,7 @@
-         rm -f "$${dir}/so_locations"; \
-       done
- libqtpeer.la: $(libqtpeer_la_OBJECTS) $(libqtpeer_la_DEPENDENCIES) 
--      $(CXXLINK)  $(libqtpeer_la_LDFLAGS) $(libqtpeer_la_OBJECTS) $(libqtpeer_la_LIBADD) $(LIBS)
-+      $(LINK) -rpath $(nativeexeclibdir) $(libqtpeer_la_LDFLAGS) $(libqtpeer_la_OBJECTS) $(libqtpeer_la_LIBADD) $(LIBS)
- mostlyclean-compile:
-       -rm -f *.$(OBJEXT)
-@@ -686,7 +687,18 @@
- install-data-am:
--install-exec-am:
-+install-nativeexeclibLTLIBRARIES: $(nativeexeclib_LTLIBRARIES)
-+      @$(NORMAL_INSTALL)
-+      test -z "$(nativeexeclibdir)" || $(mkdir_p) "$(DESTDIR)$(nativeexeclibdir)"
-+      @list='$(nativeexeclib_LTLIBRARIES)'; for p in $$list; do \
-+        if test -f $$p; then \
-+          f=$(am__strip_dir) \
-+          echo " $(LIBTOOL) --mode=install $(nativeexeclibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(nativeexeclibdir)/$$f'"; \
-+          $(LIBTOOL) --mode=install $(nativeexeclibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(nativeexeclibdir)/$$f"; \
-+        else :; fi; \
-+      done
-+
-+install-exec-am: install-nativeexeclibLTLIBRARIES
- install-info: install-info-am
-@@ -720,6 +732,7 @@
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-exec \
-       install-exec-am install-info install-info-am install-man \
-+      install-nativeexeclibLTLIBRARIES \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
index e47bdf68c898701d39fa105b9e4789cfcd1ec78c..ff0f9853a5c3628ea53bd5e0f144237475f98ced 100644 (file)
@@ -28,7 +28,7 @@
  
 --- a/gcc/doc/gcc.texi 2004-07-22 22:12:20.000000000 +0200
 +++ b/gcc/doc/gcc.texi 2004-09-26 10:58:58.218713528 +0200
-@@ -62,12 +62,12 @@
+@@ -61,13 +61,13 @@ Texts being (a) (see below), and with th
       funds for GNU development.
  @end copying
  @ifnottex
 -* g++: (gcc).                  The GNU C++ compiler.
 -* gcov: (gcc) Gcov.            @command{gcov}---a test coverage program.
 -* gcov-tool: (gcc) Gcov-tool.  @command{gcov-tool}---an offline gcda profile processing program.
-+* gcc: (gcc).                         The GNU Compiler Collection
-+* g++: (gcc).                         The GNU C++ compiler
-+* 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.
++* gcc: (gcc).                         The GNU Compiler Collection.
++* g++: (gcc).                         The GNU C++ compiler.
++* 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.
  @end direntry
  This file documents the use of the GNU compilers.
  @sp 1
  @end direntry
  This file documents the use and the internals of
  the GNU Fortran compiler, (@command{gfortran}).
---- gcc-4.9.2/gcc/java/gcj.texi.orig   2014-01-02 22:25:41.000000000 +0100
-+++ gcc-4.9.2/gcc/java/gcj.texi        2015-01-13 20:25:09.094821767 +0100
-@@ -53,29 +53,21 @@
- @ifinfo
- @format
--@dircategory Software development
-+@dircategory Programming Languages:
- @direntry
--* Gcj: (gcj).               Ahead-of-time compiler for the Java language
-+* Gcj: (gcj).                         Ahead-of-time compiler for the Java language
- @end direntry
--@dircategory Individual utilities
-+@dircategory Programming tools:
- @direntry
--* jcf-dump: (gcj)Invoking jcf-dump.
--                            Print information about Java class files
--* gij: (gcj)Invoking gij.   GNU interpreter for Java bytecode
--* gcj-dbtool: (gcj)Invoking gcj-dbtool.
--                            Tool for manipulating class file databases.
--* jv-convert: (gcj)Invoking jv-convert.
--                            Convert file from one encoding to another
--* grmic: (gcj)Invoking grmic.
--                            Generate stubs for Remote Method Invocation.
--* gc-analyze: (gcj)Invoking gc-analyze.
--                            Analyze Garbage Collector (GC) memory dumps.
--* aot-compile: (gcj)Invoking aot-compile.
--                            Compile bytecode to native and generate databases.
--* rebuild-gcj-db: (gcj)Invoking rebuild-gcj-db.
--                            Merge the per-solib databases made by aot-compile
--                            into one system-wide database.
-+* jcf-dump: (gcj)jcf-dump.            Print information about Java class files
-+* gij: (gcj)gij.                      GNU interpreter for Java bytecode
-+* jv-convert: (gcj)jv-convert.                Convert file from one encoding to another
-+* gcj-dbtool: (gcj)gcj-dbtool.                Db tool
-+* grmic: (gcj)grmic.                  Generate stubs for Remote Method Invocation
-+* gc-analyze: (gcj)gc-analyze.                Analyze Garbage Collector (GC) memory dumps
-+* aot-compile: (gcj)aot-compile.      Compile bytecode to native and generate databases
-+* rebuild-gcj-db: (gcj)rebuild-gcj-db.        Merge the per-solib databases made by aot-compile into one system-wide database
- @end direntry
- @end format
-@@ -108,33 +100,31 @@
- @file{.class} files.
- @menu
--* Copying::             The GNU General Public License
-+* Copying::           The GNU General Public License
- * GNU Free Documentation License::
--                        How you can share and copy this manual
--* Invoking gcj::        Compiler options supported by @command{gcj}
--* Compatibility::       Compatibility between gcj and other tools for Java
--* Invoking jcf-dump::   Print information about class files
--* Invoking gij::        Interpreting Java bytecodes
--* Invoking gcj-dbtool:: Tool for manipulating class file databases.
--* Invoking jv-convert:: Converting from one encoding to another
--* Invoking grmic::      Generate stubs for Remote Method Invocation.
--* Invoking gc-analyze:: Analyze Garbage Collector (GC) memory dumps.
--* Invoking aot-compile:: Compile bytecode to native and generate databases.
--* Invoking rebuild-gcj-db:: Merge the per-solib databases made by aot-compile
--                            into one system-wide database.
--* About CNI::           Description of the Compiled Native Interface
--* System properties::   Modifying runtime behavior of the libgcj library
--* Resources::           Where to look for more information
--* Index::               Index.
-+                      How you can share and copy this manual
-+* gcj::                       Compiler options supported by @command{gcj}
-+* Compatibility::     Compatibility between gcj and other tools for Java
-+* jcf-dump::          Print information about class files
-+* gij::                       Interpreting Java bytecodes
-+* gcj-dbtool::                Tool for manipulating class file databases.
-+* jv-convert::                Converting from one encoding to another
-+* grmic::             Generate stubs for Remote Method Invocation.
-+* gc-analyze::                Analyze Garbage Collector (GC) memory dumps.
-+* aot-compile::               Compile bytecode to native and generate databases.
-+* rebuild-gcj-db::    Merge the per-solib databases made by aot-compile into one system-wide database.
-+* About CNI::         Description of the Compiled Native Interface
-+* System properties:: Modifying runtime behavior of the libgcj library
-+* Resources::         Where to look for more information
-+* Index::             Index.
- @end menu
--
- @include gpl_v3.texi
- @include fdl.texi
--@node Invoking gcj
-+@node gcj
- @chapter Invoking gcj
- @c man title gcj Ahead-of-time compiler for the Java language
-@@ -685,8 +675,8 @@
- @code{-findirect-dispatch} then add them to the system-wide
- classmap.db file using @code{gcj-dbtool}, they will be automatically
- loaded by the @code{libgcj} system classloader.  This is the new,
--preferred classname-to-library resolution mechanism.  @xref{Invoking
--gcj-dbtool}, for more information on using the classmap database.
-+preferred classname-to-library resolution mechanism.  @xref{gcj-dbtool},
-+for more information on using the classmap database.
- @item
- The old classname-to-library lookup mechanism is still supported
-@@ -733,7 +723,7 @@
- @end itemize
--@node Invoking jcf-dump
-+@node jcf-dump
- @chapter Invoking jcf-dump
- @c man title jcf-dump print information about Java class files
-@@ -793,7 +783,7 @@
- @c man end
--@node Invoking gij
-+@node gij
- @chapter Invoking gij
- @c man title gij GNU interpreter for Java bytecode
-@@ -922,7 +912,7 @@
- @c man end
--@node Invoking gcj-dbtool
-+@node gcj-dbtool
- @chapter Invoking gcj-dbtool.
- @c man title gcj-dbtool Manipulate class file mapping databases for libgcj
-@@ -1013,7 +1003,7 @@
- @c man end
--@node Invoking jv-convert
-+@node jv-convert
- @chapter Invoking jv-convert
- @c man title jv-convert Convert file from one encoding to another
-@@ -1072,7 +1062,7 @@
- @c man end
--@node Invoking grmic
-+@node grmic
- @chapter Invoking grmic
- @c man title grmic Generate stubs for Remote Method Invocation
-@@ -1151,7 +1141,7 @@
- @c man end
--@node Invoking gc-analyze
-+@node gc-analyze
- @chapter Invoking gc-analyze
- @c man title gc-analyze Analyze Garbage Collector (GC) memory dumps
-@@ -1234,7 +1224,7 @@
- @c man end
--@node Invoking aot-compile
-+@node aot-compile
- @chapter Invoking aot-compile
- @c man title aot-compile Compile bytecode to native and generate databases
-@@ -1292,7 +1282,7 @@
- @c man end
--@node Invoking rebuild-gcj-db
-+@node rebuild-gcj-db
- @chapter Invoking rebuild-gcj-db
- @c man title rebuild-gcj-db Merge the per-solib databases made by aot-compile into one system-wide database.
 --- a/gcc/ada/gnat_rm.texi     2005-11-30 12:12:06.000000000 +0100
 +++ b/gcc/ada/gnat_rm.texi     2005-12-11 02:36:14.863426736 +0100
 @@ -26,7 +26,7 @@
  @end direntry
  @end format
  
---- gcc-4.8.2/libjava/classpath/doc/cp-tools.texinfo.orig      2013-02-21 10:40:44.000000000 +0100
-+++ gcc-4.8.2/libjava/classpath/doc/cp-tools.texinfo   2014-04-21 08:05:30.116078643 +0200
-@@ -35,9 +35,9 @@
- @ifnotplaintext
- @setchapternewpage on
--@dircategory GNU Libraries
-+@dircategory Libraries:
- @direntry
--* Classpath Tools: (cp-tools).  GNU Classpath Tools Guide
-+* Classpath Tools: (cp-tools).                GNU Classpath Tools Guide
- @end direntry
- @end ifnotplaintext
- @end ifinfo
 --- gcc-4.8.2/libgomp/libgomp.texi.orig        2013-01-14 19:18:49.000000000 +0100
 +++ gcc-4.8.2/libgomp/libgomp.texi     2014-04-21 08:06:10.259411139 +0200
 @@ -29,9 +29,9 @@
  @end direntry
  
  @titlepage
---- gcc-4.9.2/libjava/classpath/doc/cp-hacking.texinfo.orig    2010-10-12 17:55:12.000000000 +0200
-+++ gcc-4.9.2/libjava/classpath/doc/cp-hacking.texinfo 2015-01-13 20:20:39.751499738 +0100
-@@ -14,9 +14,9 @@
- Copyright (C) 1998,1999,2000,2001,2002,2003,2004,2005,2007,2009 Free Software Foundation, Inc.
- @ifnotplaintext
--@dircategory GNU Libraries
-+@dircategory Libraries:
- @direntry
--* Classpath Hacking: (cp-hacking).  GNU Classpath Hacker's Guide
-+* Classpath Hacking: (cp-hacking).    GNU Classpath Hacker's Guide
- @end direntry
- @end ifnotplaintext
- @end ifinfo
---- gcc-4.9.2/libjava/classpath/doc/cp-vmintegration.texinfo.orig      2008-06-28 15:29:13.000000000 +0200
-+++ gcc-4.9.2/libjava/classpath/doc/cp-vmintegration.texinfo   2015-01-13 20:21:24.928164508 +0100
-@@ -15,9 +15,9 @@
- Copyright (C) 1998-2002, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
- @ifnotplaintext
--@dircategory GNU Libraries
-+@dircategory Libraries:
- @direntry
--* VM Integration: (cp-vmintegration).  GNU Classpath VM Integration Guide
-+* VM Integration: (cp-vmintegration). GNU Classpath VM Integration Guide
- @end direntry
- @end ifnotplaintext
- @end ifinfo
 --- gcc-4.9.2/libiberty/libiberty.texi.orig    2015-01-13 20:22:23.151495398 +0100
 +++ gcc-4.9.2/libiberty/libiberty.texi 2015-01-13 20:22:25.921495282 +0100
 @@ -11,10 +11,9 @@
diff --git a/gcc-libjava-multilib.patch b/gcc-libjava-multilib.patch
deleted file mode 100644 (file)
index 0ae37c1..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
---- libjava/configure.ac.jj    2007-12-07 17:55:50.000000000 +0100
-+++ libjava/configure.ac       2007-12-07 18:36:56.000000000 +0100
-@@ -82,6 +82,13 @@ AC_ARG_ENABLE(java-maintainer-mode,
-       [allow rebuilding of .class and .h files]))
- AM_CONDITIONAL(JAVA_MAINTAINER_MODE, test "$enable_java_maintainer_mode" = yes)
-+AC_ARG_ENABLE(libjava-multilib,
-+      AS_HELP_STRING([--enable-libjava-multilib], [build libjava as multilib]))
-+if test "$enable_libjava_multilib" = no; then
-+  multilib=no
-+  ac_configure_args="$ac_configure_args --disable-multilib"
-+fi
-+
- # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
- GCC_NO_EXECUTABLES
---- libjava/configure.jj       2007-12-07 17:55:50.000000000 +0100
-+++ libjava/configure  2007-12-07 18:39:58.000000000 +0100
-@@ -1018,6 +1018,8 @@ Optional Features:
-   --enable-gconf-peer     compile GConf native peers for util.preferences
-   --enable-java-maintainer-mode
-                           allow rebuilding of .class and .h files
-+  --enable-libjava-multilib
-+                          build libjava as multilib
-   --disable-dependency-tracking  speeds up one-time build
-   --enable-dependency-tracking   do not reject slow dependency extractors
-   --enable-maintainer-mode  enable make rules and dependencies not useful
-@@ -1848,6 +1850,16 @@ else
- fi
-+# Check whether --enable-libjava-multilib was given.
-+if test "${enable_libjava_multilib+set}" = set; then
-+  enableval=$enable_libjava_multilib;
-+fi
-+
-+if test "$enable_libjava_multilib" = no; then
-+  multilib=no
-+  ac_configure_args="$ac_configure_args --disable-multilib"
-+fi
-+
- # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
-
-       Jakub
-
diff --git a/gcc-moresparcs.patch b/gcc-moresparcs.patch
new file mode 100644 (file)
index 0000000..0a243b5
--- /dev/null
@@ -0,0 +1,40 @@
+--- gcc-4.7.1/gcc/config.gcc.orig      2012-07-10 17:33:40.596463050 +0200
++++ gcc-4.7.1/gcc/config.gcc   2012-07-12 18:39:03.475713361 +0200
+@@ -2401,7 +2401,7 @@
+       tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
+       tmake_file="sparc/t-sparc sparc/t-elf 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"
+       extra_options="${extra_options} sparc/long-double-switch.opt"
+       case ${target} in
+@@ -2878,7 +2878,7 @@ sparc64-*-rtems*)
+       extra_options="${extra_options}"
+       tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64"
+       ;;
+-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"
+       extra_options="${extra_options} sparc/long-double-switch.opt"
+       tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64"
+--- gcc-4.7.1/libgcc/config.host.orig  2012-04-30 19:39:57.000000000 +0200
++++ gcc-4.7.1/libgcc/config.host       2012-07-12 18:39:51.112378028 +0200
+@@ -1012,7 +1012,7 @@
+       tmake_file="${tmake_file} t-fdpbit t-crtfm"
+       extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
+       ;;
+-sparc-*-linux*)               # SPARC's running GNU/Linux, libc6
++sparc-*-linux* | sparcv[789]*-*-linux*)               # SPARC's running GNU/Linux, libc6
+       tmake_file="${tmake_file} t-crtfm"
+       if test "${host_address}" = 64; then
+               tmake_file="$tmake_file sparc/t-linux64"
+@@ -1060,7 +1060,7 @@
+       tmake_file="$tmake_file t-crtfm"
+       extra_parts="$extra_parts crtfastmath.o"
+       ;;
+-sparc64-*-linux*)             # 64-bit SPARC's running GNU/Linux
++sparc64*-*-linux*)            # 64-bit SPARC's running GNU/Linux
+       extra_parts="$extra_parts crtfastmath.o"
+       tmake_file="${tmake_file} t-crtfm sparc/t-linux"
+       if test "${host_address}" = 64; then
index 4707f5bfd14b70ef3f7980e423f05ed93c768177..a2695928e62e624b5a8626304c18c425c1d00893 100644 (file)
@@ -9,13 +9,14 @@
  BOOT_CFLAGS = -O $(CFLAGS)
  # These exists to be overridden by the t-* files, respectively.
  T_CFLAGS =
-@@ -105,12 +105,12 @@ TEXI2PDF = texi2pdf
+@@ -105,13 +105,13 @@ TEXI2PDF = texi2pdf
  GNATBIND_FLAGS = -static -x
  ADA_CFLAGS =
  ADAFLAGS = -W -Wall -gnatpg -gnata
 -FORCE_DEBUG_ADAFLAGS = -g
 +FORCE_DEBUG_ADAFLAGS =
  NO_INLINE_ADAFLAGS = -fno-inline
+ NO_OMIT_ADAFLAGS = -fno-omit-frame-pointer
  NO_SIBLING_ADAFLAGS = -fno-optimize-sibling-calls
  NO_REORDER_ADAFLAGS = -fno-toplevel-reorder
  GNATLIBFLAGS = -W -Wall -gnatpg -nostdinc
  LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) $(HOST_LIBGCC2_CFLAGS) \
                 $(LIBGCC2_DEBUG_CFLAGS) -DIN_LIBGCC2 \
                 -fbuilding-libgcc -fno-stack-protector \
---- gcc-4.7.1/libjava/classpath/tools/Makefile.am.orig 2011-09-29 13:37:47.000000000 +0200
-+++ gcc-4.7.1/libjava/classpath/tools/Makefile.am      2012-07-12 18:29:33.452403949 +0200
-@@ -355,8 +355,8 @@
- if JAVA_MAINTAINER_MODE
- ## Compile ASM separately as it is latin-1 encoded.
-       AC=`echo $(JCOMPILER) | sed -e 's/UTF-8/ISO-8859-1/g'`; \
--        $$AC -g -w -d $(srcdir)/asm @asm.lst
--      $(JCOMPILER) $(USE_JAVAC_FLAGS) -g -d $(srcdir)/classes @classes.lst @vm-tools.lst
-+        $$AC -w -d $(srcdir)/asm @asm.lst
-+      $(JCOMPILER) $(USE_JAVAC_FLAGS) -d $(srcdir)/classes @classes.lst @vm-tools.lst
- endif
- ## END GCJ LOCAL
- ## Copy over tools resource files.
---- gcc-4.7.1/libjava/classpath/tools/Makefile.in.orig 2011-09-29 13:37:47.000000000 +0200
-+++ gcc-4.7.1/libjava/classpath/tools/Makefile.in      2012-07-12 18:29:52.035736502 +0200
-@@ -1413,8 +1413,8 @@
-       fi
-       cat classes.lst asm.lst vm-tools.lst > all-classes.lst
- @JAVA_MAINTAINER_MODE_TRUE@   AC=`echo $(JCOMPILER) | sed -e 's/UTF-8/ISO-8859-1/g'`; \
--@JAVA_MAINTAINER_MODE_TRUE@     $$AC -g -w -d $(srcdir)/asm @asm.lst
--@JAVA_MAINTAINER_MODE_TRUE@   $(JCOMPILER) $(USE_JAVAC_FLAGS) -g -d $(srcdir)/classes @classes.lst @vm-tools.lst
-+@JAVA_MAINTAINER_MODE_TRUE@     $$AC -w -d $(srcdir)/asm @asm.lst
-+@JAVA_MAINTAINER_MODE_TRUE@   $(JCOMPILER) $(USE_JAVAC_FLAGS) -d $(srcdir)/classes @classes.lst @vm-tools.lst
-       @list=`cd $(srcdir)/resource && find gnu/classpath/tools com/sun/tools/javac \
-              sun/rmi/rmic $(GJDOC_EX) -name \*.properties -print -o -name \*.jav -print`; \
-       for p in $$list; do \
---- gcc-4.7.1/libjava/Makefile.am.orig 2011-08-05 16:37:48.000000000 +0200
-+++ gcc-4.7.1/libjava/Makefile.am      2012-07-12 18:30:07.649069180 +0200
-@@ -399,7 +399,7 @@
- ## Extra CFLAGS used for JNI C sources shared with GNU Classpath.
- PEDANTIC_CFLAGS = -ansi -pedantic -Wall -Wno-long-long
--JCFLAGS = -g
-+JCFLAGS =
- JC1FLAGS = @LIBGCJ_JAVAFLAGS@ $(GCJFLAGS)
- LIBFFIINCS = @LIBFFIINCS@
---- gcc-4.7.1/libjava/Makefile.in.orig 2012-06-14 10:48:08.000000000 +0200
-+++ gcc-4.7.1/libjava/Makefile.in      2012-07-12 18:30:20.642401968 +0200
-@@ -1032,7 +1032,7 @@
- @BUILD_LIBGCJ_REDUCED_REFLECTION_FALSE@LIBGCJ_REDUCED_REFLECTION_FLAGS = 
- @BUILD_LIBGCJ_REDUCED_REFLECTION_TRUE@LIBGCJ_REDUCED_REFLECTION_FLAGS = -freduced-reflection
- PEDANTIC_CFLAGS = -ansi -pedantic -Wall -Wno-long-long
--JCFLAGS = -g
-+JCFLAGS =
- JC1FLAGS = @LIBGCJ_JAVAFLAGS@ $(GCJFLAGS)
- AM_CPPFLAGS = -I$(top_srcdir) \
-       -Iinclude -I$(top_srcdir)/include \
---- gcc-4.7.1/libjava/testsuite/Makefile.am.orig       2010-05-04 00:37:50.000000000 +0200
-+++ gcc-4.7.1/libjava/testsuite/Makefile.am    2012-07-12 18:30:54.965733863 +0200
-@@ -83,11 +83,11 @@
-         testtmpdir=`echo $$test | sed -e 's,/,_,g'`T; \
-         rm -rf $$testtmpdir; $(mkdir_p) $$testtmpdir; \
-         if test -n "$$testdep"; then \
--          $(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath \
-+          $(GCJ) -C -w --encoding=UTF-8 -bootclasspath \
-             $(top_builddir)/libgcj-$(gcc_version).jar::$$testtmpdir \
-             -d $$testtmpdir $(srcdir)/$$testdep || exit; \
-         fi; \
--        $(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath \
-+        $(GCJ) -C -w --encoding=UTF-8 -bootclasspath \
-           $(top_builddir)/libgcj-$(gcc_version).jar:$$testtmpdir \
-           -d $$testtmpdir $(srcdir)/$$test || exit; \
-         case "$$test" in \
---- gcc-4.7.1/libjava/testsuite/Makefile.in.orig       2012-05-21 20:14:01.000000000 +0200
-+++ gcc-4.7.1/libjava/testsuite/Makefile.in    2012-07-12 18:31:09.359066590 +0200
-@@ -569,11 +569,11 @@
- @JAVA_MAINTAINER_MODE_TRUE@     testtmpdir=`echo $$test | sed -e 's,/,_,g'`T; \
- @JAVA_MAINTAINER_MODE_TRUE@     rm -rf $$testtmpdir; $(mkdir_p) $$testtmpdir; \
- @JAVA_MAINTAINER_MODE_TRUE@     if test -n "$$testdep"; then \
--@JAVA_MAINTAINER_MODE_TRUE@       $(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath \
-+@JAVA_MAINTAINER_MODE_TRUE@       $(GCJ) -C -w --encoding=UTF-8 -bootclasspath \
- @JAVA_MAINTAINER_MODE_TRUE@         $(top_builddir)/libgcj-$(gcc_version).jar::$$testtmpdir \
- @JAVA_MAINTAINER_MODE_TRUE@         -d $$testtmpdir $(srcdir)/$$testdep || exit; \
- @JAVA_MAINTAINER_MODE_TRUE@     fi; \
--@JAVA_MAINTAINER_MODE_TRUE@     $(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath \
-+@JAVA_MAINTAINER_MODE_TRUE@     $(GCJ) -C -w --encoding=UTF-8 -bootclasspath \
- @JAVA_MAINTAINER_MODE_TRUE@       $(top_builddir)/libgcj-$(gcc_version).jar:$$testtmpdir \
- @JAVA_MAINTAINER_MODE_TRUE@       -d $$testtmpdir $(srcdir)/$$test || exit; \
- @JAVA_MAINTAINER_MODE_TRUE@     case "$$test" in \
 --- gcc-4.7.1/libstdc++-v3/include/Makefile.am.orig    2012-03-23 12:00:54.000000000 +0100
 +++ gcc-4.7.1/libstdc++-v3/include/Makefile.am 2012-07-12 18:31:29.102399096 +0200
 @@ -1154,22 +1154,22 @@
diff --git a/gcc-ppc64-m32-m64-multilib-only.patch b/gcc-ppc64-m32-m64-multilib-only.patch
new file mode 100644 (file)
index 0000000..091019e
--- /dev/null
@@ -0,0 +1,21 @@
+--- gcc-4.7.1/gcc/config/rs6000/t-linux64.orig 2011-11-02 16:23:48.000000000 +0100
++++ gcc-4.7.1/gcc/config/rs6000/t-linux64      2012-07-12 18:36:30.279053123 +0200
+@@ -26,12 +26,10 @@
+ # it doesn't tell anything about the 32bit libraries on those systems.  Set
+ # MULTILIB_OSDIRNAMES according to what is found on the target.
+-MULTILIB_OPTIONS        = m64/m32 msoft-float
+-MULTILIB_DIRNAMES       = 64 32 nof
++MULTILIB_OPTIONS        = m64/m32
++MULTILIB_DIRNAMES       = 64 32
+ MULTILIB_EXTRA_OPTS     = fPIC mstrict-align
+-MULTILIB_EXCEPTIONS     = m64/msoft-float
+-MULTILIB_EXCLUSIONS     = m64/!m32/msoft-float
+-MULTILIB_OSDIRNAMES   = ../lib64$(call if_multiarch,:powerpc64-linux-gnu)
++MULTILIB_EXCEPTIONS     =
++MULTILIB_EXCLUSIONS     =
+ MULTILIB_OSDIRNAMES    += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
+-MULTILIB_OSDIRNAMES    += nof
+-MULTILIB_MATCHES        = $(MULTILIB_MATCHES_FLOAT)
++MULTILIB_MATCHES        =
+
index 65753cfae09cd7596c6329ce944d88582416fc23..fd2803079e4af78d0ce77333b9144380021db5b5 100644 (file)
--- a/gcc.spec
+++ b/gcc.spec
@@ -5,12 +5,6 @@
 #   or having own Version, do not use epoch 6 there, reset them to 0!
 #
 # TODO:
-# - gconf peer? (BR: GConf2-devel >= 2.6.0) (but libgcj needs split anyway)
-# - gstreamer peer? (BR: gstreamer-devel, gstreamer-plugins-base-devel >= 0.10.10)
-# - restore qt peer?
-# - package?
-#   /usr/bin/gjdoc [BR: antlr.jar] (but see gjdoc package, there are some additional jars?)
-#   /usr/share/man/man1/gjdoc.1.gz
 # - revise obsoletes for new libmpx packages!
 #
 # Conditional build:
 %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
 # - features:
 %bcond_without gomp            # build without OpenMP support
 %bcond_without multilib        # build without multilib support (which needs glibc[32&64]-devel)
+%bcond_without 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 and aot-compile for java
+%bcond_without python          # build without libstdc++ printers for gdb
 %bcond_with    gcc_libffi      # packaging gcc libffi for system usage
-                               # note: libgcj and libgo always have convenience gcc libffi linked in
-# - libgcj options:
-%bcond_without alsa            # don't build libgcj ALSA MIDI interface
-%bcond_with    dssi            # don't build libgcj DSSI MIDI interface
-%bcond_with    gtk             # don't build libgcj GTK peer
-%bcond_with    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_with    x               # don't build libgcj Xlib-dependent AWTs (incl. GTK/Qt)
 # - other:
 %bcond_without bootstrap       # omit 3-stage bootstrap
 %bcond_with    tests           # torture gcc
 %define                cxx_sover       6
 %endif
 
-# go, java and objcxx require C++
+# go and objcxx require C++
 %if %{without cxx}
 %undefine      with_go
-%undefine      with_java
 %undefine      with_objcxx
 %endif
 # objcxx requires objc
 %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
 
 # setup internal semi-bconds based on bconds and architecture
 %if %{with multilib}
+%ifarch x32
+%define                with_multilib2  1
 %endif
-%ifarch %{ix86} %{x8664}
+%if %{with multilibx32}
+%define                with_multilib2  1
+%endif
+%endif
+%ifarch %{ix86} %{x8664} x32 alpha arm ppc ppc64 sh sparc sparcv9 sparc64
 # library for atomic operations not supported by hardware
 %define                with_atomic     1
 %endif
-%ifarch %{ix86} %{x8664}
+%ifarch %{ix86} %{x8664} x32
 %define                with_cilkrts    1
 %endif
-%ifarch %{ix86} %{x8664}
+%ifarch %{ix86} %{x8664} x32 arm ppc ppc64 sparc sparcv9 sparc64
 # sanitizer feature (asan and ubsan are common for all supported archs)
 %define                with_Xsan       1
 %endif
 %define                with_lsan_m0    1
 %define                with_tsan_m0    1
 %endif
-%ifarch %{ix86} %{x8664}
+%ifarch x32
+# lsan and tsan exist only for x86_64 ABI (i.e. our multilib2)
+%define                with_lsan_m2    1
+%define                with_tsan_m2    1
+%endif
+%ifarch %{ix86} %{x8664} x32
 %define                with_vtv        1
 %endif
 
-%define                major_ver       6
-%define                minor_ver       3.0
-%define                ecj_ver         4.9
-# class data version seen with file(1) that this jvm is able to load
-%define                _classdataversion 50.0
-%define                gcj_soname_ver  17
+# Stable is: any major_ver and minor_ver >= 1.0
+# For PLD we usually use gcc when minor_ver >= 2.0 (first bugfix release or later)
+%define                major_ver       7
+%define                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
@@ -108,24 +105,26 @@ 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:       2
+Release:       3
 Epoch:         6
 License:       GPL v3+
 Group:         Development/Languages
-Source0:       https://ftp.gnu.org/pub/gnu/gcc/gcc-%{version}/%{name}-%{version}.tar.bz2
-# Source0-md5: 677a7623c7ef6ab99881bc4e048debb6
+Source0:       https://ftp.gnu.org/pub/gnu/gcc/gcc-%{version}/%{name}-%{version}.tar.xz
+# Source0-md5: ff370482573133a7fcdd96cd2f552292
 Source1:       %{name}-optimize-la.pl
 # check libffi version with libffi/configure.ac
 Source3:       libffi.pc.in
 Source4:       branch.sh
 # use branch.sh to update glibc-branch.diff
-#Patch100:     %{name}-branch.diff
+Patch100:      %{name}-branch.diff
+# Patch100-md5:        3410627f44b63a23f63e0cc7247db55a
 Patch0:                %{name}-info.patch
 Patch2:                %{name}-nodebug.patch
 Patch3:                %{name}-ada-link.patch
+Patch4:                %{name}-ada-x32.patch
+Patch5:                Revert-eeb6872bf.patch
 
-Patch7:                %{name}-libjava-multilib.patch
-Patch8:                %{name}-enable-java-awt-qt.patch
+Patch10:       %{name}-moresparcs.patch
 Patch11:       %{name}-install-libffi.patch
 URL:           http://gcc.gnu.org/
 BuildRequires: autoconf >= 2.64
@@ -147,18 +146,35 @@ BuildRequires:    gettext-tools >= 0.14.5
 BuildRequires: glibc-devel >= 6:2.4-1
 %if %{with multilib}
 # Formerly known as gcc(multilib)
-BuildRequires: gcc(multilib)
+BuildRequires: gcc(multilib-32)
 %ifarch %{x8664}
+%if %{with multilibx32}
+BuildRequires: gcc(multilib-x32)
+BuildRequires: glibc-devel(x32)
+%endif
+BuildRequires: glibc-devel(ix86)
+%endif
+%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: java-ecj >= %{ecj_ver}
 BuildRequires: libmpc-devel >= 0.8.1
 BuildRequires: mpfr-devel >= 2.4.2
 %if %{with python}
@@ -168,40 +184,6 @@ BuildRequires:     rpm-pythonprov
 BuildRequires: rpmbuild(macros) >= 1.211
 BuildRequires: texinfo >= 4.7
 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: libtool >= 2:2
-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 >= 1.1.8
-BuildRequires: freetype-devel >= 2
-BuildRequires: gdk-pixbuf2-devel >= 2.0
-BuildRequires: gtk+2-devel >= 2:2.8
-BuildRequires: libart_lgpl-devel >= 2.1
-BuildRequires: pango-devel
-BuildRequires: xorg-lib-libXrandr-devel
-BuildRequires: xorg-lib-libXrender-devel
-BuildRequires: xorg-lib-libXt-devel
-BuildRequires: xorg-lib-libXtst-devel
-%endif
-%if %{with qt}
-BuildRequires: QtCore-devel >= 4.1.0
-BuildRequires: QtGui-devel >= 4.1.0
-BuildRequires: qt4-build >= 4.1.0
-%endif
-%{?with_mozilla:BuildRequires: xulrunner-devel >= 1.8.1.3-1.20070321.5}
-%endif
 BuildConflicts:        pdksh < 5.2.14-50
 Requires:      binutils >= 3:2.23
 Requires:      gmp >= 4.3.2
@@ -223,13 +205,30 @@ 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
 %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
@@ -238,7 +237,7 @@ BuildRoot:  %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 # receiving non constant format strings
 %define                Werror_cflags   %{nil}
 
-%define                skip_post_check_so      '.*(libcc1plugin|libgo|libxmlj|lib-gnu-awt-xlib|libmpxwrappers)\.so.*'
+%define                skip_post_check_so      '.*(libasan|libcc1plugin|libcp1plugin|libgo|libxmlj|libubsan|lib-gnu-awt-xlib|libmpxwrappers)\.so.*'
 # private symbols
 %define                _noautoreq              .*\(GLIBC_PRIVATE\)
 
@@ -272,33 +271,72 @@ 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} = %{epoch}:%{version}-%{release}
-Requires:      libgcc-multilib = %{epoch}:%{version}-%{release}
+Requires:      libgcc-multilib-32 = %{epoch}:%{version}-%{release}
 Obsoletes:     libgcc32
 %ifarch %{x8664}
 Requires:      glibc-devel(ix86)
 %endif
-Provides:      gcc(multilib)
+%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
 
-%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
@@ -321,18 +359,31 @@ 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 v3+ with GCC Runtime Library Exception v3.1
 Group:         Libraries
+Obsoletes:     libgcc-multilib
 
-%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
@@ -372,44 +423,85 @@ Static GNU OpenMP library.
 %description -n libgomp-static -l pl.UTF-8
 Statyczna biblioteka GNU OpenMP.
 
-%package -n libgomp-multilib
+%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
 
-%description -n libgomp-multilib
+%description -n libgomp-multilib-32
 GNU OpenMP library - 32-bit version.
 
-%description -n libgomp-multilib -l pl.UTF-8
+%description -n libgomp-multilib-32 -l pl.UTF-8
 Biblioteka GNU OpenMP - wersja 32-bitowa.
 
-%package -n libgomp-multilib-devel
+%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
 
-%description -n libgomp-multilib-devel
+%description -n libgomp-multilib-32-devel
 Development files for 32-bit version of GNU OpenMP library.
 
-%description -n libgomp-multilib-devel -l pl.UTF-8
+%description -n libgomp-multilib-32-devel -l pl.UTF-8
 Pliki programistyczne wersji 32-bitowej biblioteki GNU OpenMP.
 
-%package -n libgomp-multilib-static
+%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:      libgomp-multilib-devel = %{epoch}:%{version}-%{release}
+Requires:      libgomp-multilib-32-devel = %{epoch}:%{version}-%{release}
+Obsoletes:     libgomp-multilib-static
 
-%description -n libgomp-multilib-static
+%description -n libgomp-multilib-32-static
 Static GNU OpenMP library - 32-bit version.
 
-%description -n libgomp-multilib-static -l pl.UTF-8
+%description -n libgomp-multilib-32-static -l pl.UTF-8
 Statyczna biblioteka GNU OpenMP - wersja 32-bitowa.
 
+%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 libgomp-multilib-%{multilib2}
+GNU OpenMP library - %{m2_desc} version.
+
+%description -n libgomp-multilib-%{multilib2} -l pl.UTF-8
+Biblioteka GNU OpenMP - wersja %{m2_desc}.
+
+%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:      libgomp-devel = %{epoch}:%{version}-%{release}
+
+%description -n libgomp-multilib-%{multilib2}-devel
+Development files for %{m2_desc} version of GNU OpenMP library.
+
+%description -n libgomp-multilib-%{multilib2}-devel -l pl.UTF-8
+Pliki programistyczne wersji %{m2_desc}-bitowej biblioteki GNU OpenMP.
+
+%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:      libgomp-multilib-%{multilib2}-devel = %{epoch}:%{version}-%{release}
+
+%description -n libgomp-multilib-%{multilib2}-static
+Static GNU OpenMP library - %{m2_desc} version.
+
+%description -n libgomp-multilib-%{multilib2}-static -l pl.UTF-8
+Statyczna biblioteka GNU OpenMP - wersja %{m2_desc}.
+
 %package -n libcilkrts
 Summary:       GCC Cilk Plus language extensions runtime library
 Summary(pl.UTF-8):     Biblioteka uruchomieniowa rozszerzeÅ„ Cilk Plus dla GCC
@@ -455,52 +547,101 @@ library.
 Ten pakiet zawiera bibliotekÄ™ statycznÄ… rozszerzeÅ„ Cilk Plus dla
 jÄ™zyków C/C++.
 
-%package -n libcilkrts-multilib
+%package -n libcilkrts-multilib-32
 Summary:       GCC Cilk Plus language extensions runtime library - 32-bit version
 Summary(pl.UTF-8):     Biblioteka uruchomieniowa rozszerzeÅ„ Cilk Plus dla GCC - wersja 32-bitowa
 License:       BSD
 Group:         Libraries
-Requires:      libstdc++-multilib = %{epoch}:%{version}-%{release}
+Requires:      libstdc++-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     libcilkrts-multilib
 
-%description -n libcilkrts-multilib
+%description -n libcilkrts-multilib-32
 This package contains the Cilk Plus C/C++ language extensions runtime
 library in 32-bit version.
 
-%description -n libcilkrts-multilib -l pl.UTF-8
+%description -n libcilkrts-multilib-32 -l pl.UTF-8
 Ten pakiet zawiera bibliotekÄ™ uruchomieniowÄ… rozszerzeÅ„ Cilk Plus dla
 jÄ™zyków C/C++. W tym pakiecie znajduje siÄ™ wersja 32-bitowa.
 
-%package -n libcilkrts-multilib-devel
+%package -n libcilkrts-multilib-32-devel
 Summary:       GCC development files for Cilk Plus language extensions - 32-bit version
 Summary(pl.UTF-8):     Pliki programistyczne GCC dla rozszerzeÅ„ Cilk Plus - wersja 32-bitowa
 License:       BSD
 Group:         Development/Libraries
 Requires:      libcilkrts-devel = %{epoch}:%{version}-%{release}
-Requires:      libcilkrts-multilib = %{epoch}:%{version}-%{release}
+Requires:      libcilkrts-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     libcilkrts-multilib-devel
 
-%description -n libcilkrts-multilib-devel
+%description -n libcilkrts-multilib-32-devel
 This package contains development files for Cilk Plus C/C++ language
 extensions in 32-bit version.
 
-%description -n libcilkrts-multilib-devel -l pl.UTF-8
+%description -n libcilkrts-multilib-32-devel -l pl.UTF-8
 Ten pakiet zawiera pliki programistyczne rozszerzeÅ„ Cilk Plus dla
 jÄ™zyków C/C++. W tym pakiecie znajduje siÄ™ wersja 32-bitowa.
 
-%package -n libcilkrts-multilib-static
+%package -n libcilkrts-multilib-32-static
 Summary:       GCC Cilk Plus language extensions static library - 32-bit version
 Summary(pl.UTF-8):     Biblioteka statyczna rozszerzeÅ„ Cilk Plus dla GCC - wersja 32-bitowa
 License:       BSD
 Group:         Development/Libraries
-Requires:      libcilkrts-multilib-devel = %{epoch}:%{version}-%{release}
+Requires:      libcilkrts-multilib-32-devel = %{epoch}:%{version}-%{release}
+Obsoletes:     libcilkrts-multilib-static
 
-%description -n libcilkrts-multilib-static
+%description -n libcilkrts-multilib-32-static
 This package contains the Cilk Plus C/C++ language extensions static
 library in 32-bit version.
 
-%description -n libcilkrts-multilib-static -l pl.UTF-8
+%description -n libcilkrts-multilib-32-static -l pl.UTF-8
 Ten pakiet zawiera bibliotekÄ™ statycznÄ… rozszerzeÅ„ Cilk Plus dla
 jÄ™zyków C/C++. W tym pakiecie znajduje siÄ™ wersja 32-bitowa.
 
+%package -n libcilkrts-multilib-%{multilib2}
+Summary:       GCC Cilk Plus language extensions runtime library - %{m2_desc} version
+Summary(pl.UTF-8):     Biblioteka uruchomieniowa rozszerzeÅ„ Cilk Plus dla GCC - wersja %{m2_desc}
+License:       BSD
+Group:         Libraries
+Requires:      libstdc++-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description -n libcilkrts-multilib-%{multilib2}
+This package contains the Cilk Plus C/C++ language extensions runtime
+library in %{m2_desc} version.
+
+%description -n libcilkrts-multilib-%{multilib2} -l pl.UTF-8
+Ten pakiet zawiera bibliotekÄ™ uruchomieniowÄ… rozszerzeÅ„ Cilk Plus dla
+jÄ™zyków C/C++. W tym pakiecie znajduje siÄ™ wersja %{m2_desc}.
+
+%package -n libcilkrts-multilib-%{multilib2}-devel
+Summary:       GCC development files for Cilk Plus language extensions - %{m2_desc} version
+Summary(pl.UTF-8):     Pliki programistyczne GCC dla rozszerzeÅ„ Cilk Plus - wersja %{m2_desc}
+License:       BSD
+Group:         Development/Libraries
+Requires:      libcilkrts-devel = %{epoch}:%{version}-%{release}
+Requires:      libcilkrts-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description -n libcilkrts-multilib-%{multilib2}-devel
+This package contains development files for Cilk Plus C/C++ language
+extensions in %{m2_desc} version.
+
+%description -n libcilkrts-multilib-%{multilib2}-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne rozszerzeÅ„ Cilk Plus dla
+jÄ™zyków C/C++. W tym pakiecie znajduje siÄ™ wersja %{m2_desc}.
+
+%package -n libcilkrts-multilib-%{multilib2}-static
+Summary:       GCC Cilk Plus language extensions static library - %{m2_desc} version
+Summary(pl.UTF-8):     Biblioteka statyczna rozszerzeÅ„ Cilk Plus dla GCC - wersja %{m2_desc}
+License:       BSD
+Group:         Development/Libraries
+Requires:      libcilkrts-multilib-%{multilib2}-devel = %{epoch}:%{version}-%{release}
+
+%description -n libcilkrts-multilib-%{multilib2}-static
+This package contains the Cilk Plus C/C++ language extensions static
+library in %{m2_desc} version.
+
+%description -n libcilkrts-multilib-%{multilib2}-static -l pl.UTF-8
+Ten pakiet zawiera bibliotekÄ™ statycznÄ… rozszerzeÅ„ Cilk Plus dla
+jÄ™zyków C/C++. W tym pakiecie znajduje siÄ™ wersja %{m2_desc}.
+
 %package ada
 Summary:       Ada language support for GCC
 Summary(es.UTF-8):     Soporte de Ada para GCC
@@ -522,21 +663,37 @@ Ada.
 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
 Adzie.
 
-%package ada-multilib
+%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
 
-%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 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
@@ -573,35 +730,66 @@ 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
+%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 = %{epoch}:%{version}-%{release}
+Requires:      libgcc-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     libgnat-multilib
 
-%description -n libgnat-multilib
+%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 -l pl.UTF-8
+%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-static
+%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 v3+ with GCC Runtime Library Exception v3.1
 Group:         Development/Libraries
+Obsoletes:     libgnat-multilib-static
 
-%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++ language support for GCC
 Summary(es.UTF-8):     Soporte de C++ para GCC
@@ -651,21 +839,37 @@ 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
+%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 = %{epoch}:%{version}-%{release}
+Requires:      %{name}-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     gcc-c++-multilib
 
-%description c++-multilib
+%description c++-multilib-32
 This package adds 32-bit binaries in C++ language support to the GNU
 Compiler Collection.
 
-%description c++-multilib -l pl.UTF-8
+%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-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description c++-multilib-%{multilib2}
+This package adds %{m2_desc} binaries in C++ language support to the GNU
+Compiler Collection.
+
+%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
@@ -766,52 +970,101 @@ Biblioteca estándar estática de C++.
 %description -n libstdc++-static -l pl.UTF-8
 Statyczna biblioteka standardowa C++.
 
-%package -n libstdc++-multilib
+%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 >= %{epoch}:%{version}-%{release}
+Requires:      libgcc-multilib-32 >= %{epoch}:%{version}-%{release}
+Obsoletes:     libstdc++-multilib
 
-%description -n libstdc++-multilib
+%description -n libstdc++-multilib-32
 This is 32-bit version of the GNU implementation of the standard C++
 library.
 
-%description -n libstdc++-multilib -l pl.UTF-8
+%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-devel
+%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 = %{epoch}:%{version}-%{release}
+Requires:      %{name}-c++-multilib-32 = %{epoch}:%{version}-%{release}
 Requires:      libstdc++-devel = %{epoch}:%{version}-%{release}
-Requires:      libstdc++-multilib = %{epoch}:%{version}-%{release}
+Requires:      libstdc++-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     libstdc++-multilib-devel
 
-%description -n libstdc++-multilib-devel
+%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-devel -l pl.UTF-8
+%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-static
+%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 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
 
-%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
@@ -825,21 +1078,6 @@ libstdc++ types/containers.
 Ten pakiet zawiera skrypty Pythona dla GDB sÅ‚użące do Å‚adnego
 wypisywania typów i kontenerów libstdc++.
 
-%package -n libstdc++-apidocs
-Summary:       C++ standard library API documentation
-Summary(pl.UTF-8):     Dokumentacja API biblioteki standardowej C++
-License:       FDL v1.3 (mainly), GPL v3+ (doxygen generated parts)
-Group:         Documentation
-%if "%{_rpmversion}" >= "5"
-BuildArch:     noarch
-%endif
-
-%description -n libstdc++-apidocs
-API and internal documentation for C++ standard library.
-
-%description -n libstdc++-apidocs -l pl.UTF-8
-Dokumentacja API i wewnÄ™trzna biblioteki standardowej C++.
-
 %package fortran
 Summary:       Fortran 95 language support for GCC
 Summary(es.UTF-8):     Soporte de Fortran 95 para GCC
@@ -867,22 +1105,39 @@ 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
+%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}
+Requires:      libquadmath-multilib-32-devel = %{epoch}:%{version}-%{release}
+Obsoletes:     gcc-fortran-multilib
 
-%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}
+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
@@ -920,33 +1175,62 @@ Bibliotecas estáticas de Fortran 95.
 %description -n libgfortran-static -l pl.UTF-8
 Statyczna biblioteka Fortranu 95.
 
-%package -n libgfortran-multilib
+%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 = %{epoch}:%{version}-%{release}
-Requires:      libquadmath-multilib = %{epoch}:%{version}-%{release}
+Requires:      libgcc-multilib-32 = %{epoch}:%{version}-%{release}
+Requires:      libquadmath-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     libgfortran-multilib
 
-%description -n libgfortran-multilib
+%description -n libgfortran-multilib-32
 Fortran 95 Library - 32-bit version.
 
-%description -n libgfortran-multilib -l pl.UTF-8
+%description -n libgfortran-multilib-32 -l pl.UTF-8
 Biblioteka Fortranu 95 - wersja 32-bitowa.
 
-%package -n libgfortran-multilib-static
+%package -n libgfortran-multilib-32-static
 Summary:       Static Fortran 95 Library - 32-bit version
 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
 
-%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
+%description -n libgfortran-multilib-32-static -l pl.UTF-8
 Statyczna biblioteka Fortranu 95 - wersja 32-bitowa.
 
+%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
+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
@@ -991,165 +1275,102 @@ 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
+%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
 
-%description -n libquadmath-multilib
+%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 -l pl.UTF-8
+%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-devel
+%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:       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
 
-%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-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:       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
 
-%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 language support for GCC
-Summary(es.UTF-8):     Soporte de Java para GCC
-Summary(pl.UTF-8):     ObsÅ‚uga jÄ™zyka Java dla GCC
-Group:         Development/Languages/Java
-Requires:      %{name} = %{epoch}:%{version}-%{release}
-Requires:      java-ecj >= %{ecj_ver}
-Requires:      libgcj-devel = %{epoch}:%{version}-%{release}
-Provides:      gcc-java-tools
-Provides:      gcj = %{epoch}:%{version}-%{release}
-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}
-Requires:      libxml2 >= 1:2.6.8
-Requires:      libxslt >= 1.1.11
-%if %{with gtk}
-Requires:      cairo >= 1.1.8
-Requires:      gtk+2 >= 2:2.8
-Requires:      libart_lgpl >= 2.1
-%endif
-%if %{with qt}
-Requires:      QtCore >= 4.1.0
-Requires:      QtGui >= 4.1.0
-%endif
-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 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.
+Requires:      libquadmath-devel = %{epoch}:%{version}-%{release}
+Requires:      libquadmath-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
 
-%description -n libgcj-devel -l es.UTF-8
-Ficheros de desarrollo para las bibliotecas de clases de Java.
+%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 libgcj-devel -l pl.UTF-8
-Pliki nagłówkowe bibliotek klas Javy.
+%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 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
+%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}
-
-%description -n libgcj-static
-Static Java Class Libraries.
+Requires:      libquadmath-multilib-%{multilib2}-devel = %{epoch}:%{version}-%{release}
 
-%description -n libgcj-static -l es.UTF-8
-Bibliotecas estáticas de clases de Java.
+%description -n libquadmath-multilib-%{multilib2}-static
+Static GCC __float128 support library - %{m2_desc} version.
 
-%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
@@ -1211,52 +1432,101 @@ Biblioteca libffi estática.
 %description -n libffi-static -l pl.UTF-8
 Statyczna biblioteka libffi.
 
-%package -n libffi-multilib
+%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
 
-%description -n libffi-multilib
+%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 -l pl.UTF-8
+%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-devel
+%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 = %{epoch}:%{version}-%{release}
+Requires:      libffi-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     libffi-multilib-devel
 
-%description -n libffi-multilib-devel
+%description -n libffi-multilib-32-devel
 Development files for 32-bit version of Foreign Function Interface
 library.
 
-%description -n libffi-multilib-devel -l pl.UTF-8
+%description -n libffi-multilib-32-devel -l pl.UTF-8
 Pliki programistyczne 32-bitowej wersji biblioteki libffi.
 
-%package -n libffi-multilib-static
+%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
 
-%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 objc
 Summary:       Objective C language support for GCC
 Summary(de.UTF-8):     Objektive C-Unterstützung für GCC
@@ -1307,21 +1577,37 @@ 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
+%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
 
-%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.
 
+%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
@@ -1372,32 +1658,60 @@ Bibliotecas estáticas de Objective C.
 %description -n libobjc-static -l pl.UTF-8
 Statyczna biblioteka obiektowego C (Objective C).
 
-%package -n libobjc-multilib
+%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 = %{epoch}:%{version}-%{release}
+Requires:      libgcc-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     libobjc-multilib
 
-%description -n libobjc-multilib
+%description -n libobjc-multilib-32
 Objective C Library - 32-bit version.
 
-%description -n libobjc-multilib -l pl.UTF-8
+%description -n libobjc-multilib-32 -l pl.UTF-8
 Biblioteka obiektowego C (Objective C) - wersja 32-bitowa.
 
-%package -n libobjc-multilib-static
+%package -n libobjc-multilib-32-static
 Summary:       Static Objective C Library - 32-bit version
 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
 
-%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
+%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
@@ -1412,22 +1726,39 @@ 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.
 
-%package go-multilib
+%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
 
-%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.
 
+%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
@@ -1468,46 +1799,89 @@ Static Go language library.
 %description -n libgo-static -l pl.UTF-8
 Statyczna biblioteka jÄ™zyka Go.
 
-%package -n libgo-multilib
+%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 = %{epoch}:%{version}-%{release}
+Requires:      libgcc-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     libgo-multilib
 
-%description -n libgo-multilib
+%description -n libgo-multilib-32
 Go language library - 32-bit version.
 
-%description -n libgo-multilib -l pl.UTF-8
+%description -n libgo-multilib-32 -l pl.UTF-8
 Biblioteka jÄ™zyka Go - wersja 32-bitowa.
 
-%package -n libgo-multilib-devel
+%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 = %{epoch}:%{version}-%{release}
+Requires:      libgo-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     libgo-multilib-devel
 
-%description -n libgo-multilib-devel
+%description -n libgo-multilib-32-devel
 Development files for Go language library - 32-bit version.
 
-%description -n libgo-multilib-devel -l pl.UTF-8
+%description -n libgo-multilib-32-devel -l pl.UTF-8
 Pliki programistyczne biblioteki jÄ™zyka Go - wersja 32-bitowa.
 
-%package -n libgo-multilib-static
+%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
 
-%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.
 
+%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
@@ -1550,53 +1924,103 @@ 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
+%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 = %{epoch}:%{version}-%{release}
+Requires:      libstdc++-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     libasan-multilib
 
-%description -n libasan-multilib
+%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 -l pl.UTF-8
+%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-devel
+%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 = %{epoch}:%{version}-%{release}
+Requires:      libasan-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     libasan-multilib-devel
 
-%description -n libasan-multilib-devel
+%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-devel -l pl.UTF-8
+%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-static
+%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-devel = %{epoch}:%{version}-%{release}
+Requires:      libasan-multilib-32-devel = %{epoch}:%{version}-%{release}
+Obsoletes:     libasan-multilib-static
 
-%description -n libasan-multilib-static
+%description -n libasan-multilib-32-static
 This package contains 32-bit version of the Address Sanitizer static
 library.
 
-%description -n libasan-multilib-static -l pl.UTF-8
+%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 liblsan
 Summary:       The Leak Sanitizer library
 Summary(pl.UTF-8):     Biblioteka Leak Sanitizer do kontroli wycieków
@@ -1639,6 +2063,50 @@ 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
@@ -1680,6 +2148,52 @@ 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Å„
@@ -1724,53 +2238,103 @@ 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
+%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 = %{epoch}:%{version}-%{release}
+Requires:      libstdc++-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     libubsan-multilib
 
-%description -n libubsan-multilib
+%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 -l pl.UTF-8
+%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-devel
+%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 = %{epoch}:%{version}-%{release}
+Requires:      libubsan-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     libubsan-multilib-devel
 
-%description -n libubsan-multilib-devel
+%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-devel -l pl.UTF-8
+%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-static
+%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-devel = %{epoch}:%{version}-%{release}
+Requires:      libubsan-multilib-32-devel = %{epoch}:%{version}-%{release}
+Obsoletes:     libubsan-multilib-static
 
-%description -n libubsan-multilib-static
+%description -n libubsan-multilib-32-static
 This package contains 32-bit version of the Undefined Behavior
 Sanitizer static library.
 
-%description -n libubsan-multilib-static -l pl.UTF-8
+%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
@@ -1818,53 +2382,102 @@ 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
-Summary:       The Virtual Table Verification library - 32-bit version
-Summary(pl.UTF-8):     Biblioteka Virtual Table Verification do weryfikacji tablicy wirtualnej - wersja 32-bitowa
+%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 = %{epoch}:%{version}-%{release}
+Requires:      libgcc-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
 
-%description -n libvtv-multilib
-This package contains 32-bit version of the Virtual Table Verification
+%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 -l pl.UTF-8
-Ten pakiet zawiera 32-bitowÄ… wersjÄ™ biblioteki Virtual Table
+%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-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
+%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 = %{epoch}:%{version}-%{release}
+Requires:      libvtv-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
 
-%description -n libvtv-multilib-devel
-This package contains the development files for 32-bit version of the
+%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-devel -l pl.UTF-8
-Ten pakiet zawiera pliki programistyczne 32-bitowej wersji biblioteki
+%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-static
-Summary:       The Virtual Table Verification static library - 32-bit version
-Summary(pl.UTF-8):     Statyczna biblioteka Virtual Table Verification - wersja 32-bitowa
+%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-devel = %{epoch}:%{version}-%{release}
+Requires:      libvtv-multilib-%{multilib2}-devel = %{epoch}:%{version}-%{release}
 
-%description -n libvtv-multilib-static
-This package contains 32-bit version of the Virtual Table Verification
-library.
+%description -n libvtv-multilib-%{multilib2}-static
+This package contains %{m2_desc} version of the Virtual Table
+Verification library.
 
-%description -n libvtv-multilib-static -l pl.UTF-8
-Ten pakiet zawiera 32-bitowÄ… wersjÄ™ statycznej biblioteki Virtual
+%description -n libvtv-multilib-%{multilib2}-static -l pl.UTF-8
+Ten pakiet zawiera wersjÄ™ %{m2_desc} statycznej biblioteki Virtual
 Table Verification.
 
 %package -n libatomic
@@ -1907,50 +2520,97 @@ This package contains GNU Atomic static library.
 %description -n libatomic-static
 Ten pakiet zawiera statycznÄ… bibliotekÄ™ GNU Atomic.
 
-%package -n libatomic-multilib
+%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
 
-%description -n libatomic-multilib
+%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 -l pl.UTF-8
+%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-devel
+%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 = %{epoch}:%{version}-%{release}
+Requires:      libatomic-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:     libatomic-multilib-devel
 
-%description -n libatomic-multilib-devel
+%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-devel -l pl.UTF-8
+%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-static
+%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-devel = %{epoch}:%{version}-%{release}
+Requires:      libatomic-multilib-32-devel = %{epoch}:%{version}-%{release}
+Obsoletes:     libatomic-multilib-static
 
-%description -n libatomic-multilib-static
+%description -n libatomic-multilib-32-static
 This package contains 32-bit version of the GNU Atomic static library.
 
-%description -n libatomic-multilib-static -l pl.UTF-8
+%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
@@ -2033,67 +2693,118 @@ extensions static library.
 Ten pakiet zawiera bibliotekÄ™ statycznÄ… rozszerzeÅ„ Memory Protection
 Extensions dla jÄ™zyka C.
 
-%package -n libmpx-multilib
+%package -n libmpx-multilib-32
 Summary:       GCC Memory Protection Extensions language extensions runtime library - 32-bit version
 Summary(pl.UTF-8):     Biblioteka uruchomieniowa rozszerzeÅ„ Memory Protection Extensions dla GCC - wersja 32-bitowa
 Epoch:         0
 License:       BSD
 Group:         Libraries
-Requires:      libstdc++-multilib = %{version}-%{release}
+Requires:      libstdc++-multilib-32 = %{version}-%{release}
+Obsoletes:     libmpx-multilib
 
-%description -n libmpx-multilib
+%description -n libmpx-multilib-32
 This package contains the Memory Protection Extensions C language
 extensions runtime library in 32-bit version.
 
-%description -n libmpx-multilib -l pl.UTF-8
+%description -n libmpx-multilib-32 -l pl.UTF-8
 Ten pakiet zawiera bibliotekÄ™ uruchomieniowÄ… rozszerzeÅ„ Memory
 Protection Extensions dla jÄ™zyka C. W tym pakiecie znajduje siÄ™ wersja
 32-bitowa.
 
-%package -n libmpx-multilib-devel
+%package -n libmpx-multilib-32-devel
 Summary:       GCC development files for Memory Protection Extensions language extensions - 32-bit version
 Summary(pl.UTF-8):     Pliki programistyczne GCC dla rozszerzeÅ„ Memory Protection Extensions - wersja 32-bitowa
 Epoch:         0
 License:       BSD
 Group:         Development/Libraries
 Requires:      libmpx-devel = %{version}-%{release}
-Requires:      libmpx-multilib = %{version}-%{release}
+Requires:      libmpx-multilib-32 = %{version}-%{release}
+Obsoletes:     libmpx-multilib-devel
 
-%description -n libmpx-multilib-devel
+%description -n libmpx-multilib-32-devel
 This package contains development files for Memory Protection
 Extensions C language extensions in 32-bit version.
 
-%description -n libmpx-multilib-devel -l pl.UTF-8
+%description -n libmpx-multilib-32-devel -l pl.UTF-8
 Ten pakiet zawiera pliki programistyczne rozszerzeÅ„ Memory Protection
 Extensions dla jÄ™zyka C. W tym pakiecie znajduje siÄ™ wersja 32-bitowa.
 
-%package -n libmpx-multilib-static
+%package -n libmpx-multilib-32-static
 Summary:       GCC Memory Protection Extensions language extensions static library - 32-bit version
 Summary(pl.UTF-8):     Biblioteka statyczna rozszerzeÅ„ Memory Protection Extensions dla GCC - wersja 32-bitowa
 Epoch:         0
 License:       BSD
 Group:         Development/Libraries
-Requires:      libmpx-multilib-devel = %{version}-%{release}
+Requires:      libmpx-multilib-32-devel = %{version}-%{release}
+Obsoletes:     libmpx-multilib-static
 
-%description -n libmpx-multilib-static
+%description -n libmpx-multilib-32-static
 This package contains the Memory Protection Extensions C language
 extensions static library in 32-bit version.
 
-%description -n libmpx-multilib-static -l pl.UTF-8
+%description -n libmpx-multilib-32-static -l pl.UTF-8
 Ten pakiet zawiera bibliotekÄ™ statycznÄ… rozszerzeÅ„ Memory Protection
 Extensions dla jÄ™zyka C. W tym pakiecie znajduje siÄ™ wersja 32-bitowa.
 
+%package -n libmpx-multilib-%{multilib2}
+Summary:       GCC Memory Protection Extensions language extensions runtime library
+Summary(pl.UTF-8):     Biblioteka uruchomieniowa rozszerzeÅ„ Memory Protection Extensions dla GCC
+Epoch:         0
+License:       BSD
+Group:         Libraries
+Requires:      libstdc++-multilib-%{multilib2} = 6:%{version}-%{release}
+
+%description -n libmpx-multilib-%{multilib2}
+This package contains the Memory Protection Extensions C language
+extensions runtime library.
+
+%description -n libmpx-multilib-%{multilib2} -l pl.UTF-8
+Ten pakiet zawiera bibliotekÄ™ uruchomieniowÄ… rozszerzeÅ„ Memory
+Protection Extensions dla jÄ™zyka C.
+
+%package -n libmpx-multilib-%{multilib2}-devel
+Summary:       GCC development files for Memory Protection Extensions language extensions
+Summary(pl.UTF-8):     Pliki programistyczne GCC dla rozszerzeÅ„ Memory Protection Extensions
+Epoch:         0
+License:       BSD
+Group:         Development/Libraries
+Requires:      libmpx-devel = %{version}-%{release}
+Requires:      libmpx-multilib-%{multilib2} = %{version}-%{release}
+
+%description -n libmpx-multilib-%{multilib2}-devel
+This package contains development files for Memory Protection
+Extensions C language extensions.
+
+%description -n libmpx-multilib-%{multilib2}-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne rozszerzeÅ„ Memory Protection
+Extensions dla jÄ™zyka C.
+
+%package -n libmpx-multilib-%{multilib2}-static
+Summary:       GCC Memory Protection Extensions language extensions static library
+Summary(pl.UTF-8):     Biblioteka statyczna rozszerzeÅ„ Memory Protection Extensions dla GCC
+Epoch:         0
+License:       BSD
+Group:         Development/Libraries
+Requires:      libmpx-multilib-%{multilib2}-devel = %{version}-%{release}
+
+%description -n libmpx-multilib-%{multilib2}-static
+This package contains the Memory Protection Extensions C language
+extensions static library.
+
+%description -n libmpx-multilib-%{multilib2}-static -l pl.UTF-8
+Ten pakiet zawiera bibliotekÄ™ statycznÄ… rozszerzeÅ„ Memory Protection
+Extensions dla jÄ™zyka C.
+
 %prep
 %setup -q
 #%patch100 -p0
 %patch0 -p1
 %patch2 -p1
 %patch3 -p1
+%patch4 -p1
+%patch5 -p1
 
-%patch7 -p0
-%if %{with qt}
-%patch8 -p1
-%endif
+%patch10 -p1
 %if %{with gcc_libffi}
 %patch11 -p0
 %endif
@@ -2108,18 +2819,10 @@ 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}" \
@@ -2137,7 +2840,7 @@ TEXCONFIG=false \
        --disable-build-poststage1-with-cxx \
        --enable-c99 \
        --enable-checking=release \
-%ifarch %{ix86} %{x8664}
+%ifarch %{ix86} %{x8664} x32
        --disable-cld \
 %endif
        %{?with_fortran:--enable-cmath} \
@@ -2146,7 +2849,7 @@ 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_java:,java}%{?with_go:,go}" \
+       --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-libitm \
        --enable-linker-build-id \
@@ -2156,21 +2859,32 @@ TEXCONFIG=false \
        --enable-nls \
        --enable-lto \
        --enable-plugin \
+%ifarch ppc ppc64
+       --enable-secureplt \
+%endif
        --enable-shared \
        --enable-threads=posix \
        --disable-werror \
-%ifarch %{x8664}
+%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-ecj-jar=%{_javadir}/ecj.jar \
        --with-gnu-as \
        --with-gnu-ld \
        --with-linker-hash-style=gnu \
        --with-long-double-128 \
 %if %{with multilib}
 %ifarch %{x8664}
-       --with-multilib-list=m32,m64 \
+       --with-multilib-list=m32,m64%{?with_multilibx32:,mx32} \
+%endif
+%ifarch x32
+       --with-multilib-list=m32,m64,mx32 \
 %endif
 %endif
        --with-slibdir=%{_slibdir} \
@@ -2180,7 +2894,7 @@ TEXCONFIG=false \
        --with-system-libunwind \
 %endif
        --with-system-zlib \
-       %{!?with_java:--without-x} \
+       --without-x \
 %if %{with cxx}
        --enable-__cxa_atexit \
        --enable-libstdcxx-allocator=new \
@@ -2191,23 +2905,6 @@ TEXCONFIG=false \
        --enable-symvers=gnu%{?with_symvers:-versioned-namespace} \
        --with-gxx-include-dir=%{_includedir}/c++/%{version} \
        %{?with_vtv:--enable-vtable-verify} \
-%endif
-%if %{with java}
-       %{!?with_alsa:--disable-alsa} \
-       %{!?with_dssi:--disable-dssi} \
-       --disable-gconf-peer \
-       %{?with_gtk:--enable-gtk-cairo} \
-%if %{with x}
-       --enable-java-awt="xlib%{?with_gtk:,gtk}%{?with_qt:,qt}" \
-%endif
-       --enable-jni \
-       --enable-libgcj \
-       --enable-libgcj-database \
-       --enable-libgcj-multifile \
-       --disable-libjava-multilib \
-       %{?with_mozilla:--enable-plugin} \
-       --enable-static-libjava \
-       --enable-xmlj \
 %endif
        --with-pkgversion="PLD-Linux" \
        --with-bugurl="http://bugs.pld-linux.org" \
@@ -2222,7 +2919,6 @@ 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} -O1 -g0" \
                GNATLIBCFLAGS="%{rpmcflags}" \
@@ -2254,6 +2950,22 @@ cd builddir
 
 cp -p gcc/specs $RPM_BUILD_ROOT%{gcclibdir}
 
+%if %{with multilib}
+# create links
+%ifarch sparc64
+ln -f $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-gcc \
+       $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
+ln -f $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-gcc-%{version} \
+       $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc-%{version}
+%if %{with cxx}
+ln -f $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-c++ \
+       $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-c++
+ln -f $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-g++ \
+       $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-g++
+%endif
+%endif
+%endif
+
 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
 echo ".so man1/gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
@@ -2282,6 +2994,20 @@ 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}
@@ -2308,17 +3034,22 @@ 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
-%endif
-
 %if %{with gcc_libffi}
 # still not installed by gcc?
 [ ! -f $RPM_BUILD_ROOT%{_pkgconfigdir}/libffi.pc ] || exit 1
@@ -2334,6 +3065,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
 
@@ -2351,25 +3090,11 @@ for f in libitm.la libssp.la libssp_nonshared.la \
        %{?with_lsan_m0:liblsan.la} \
        %{?with_tsan_m0:libtsan.la} \
        %{?with_atomic:libatomic.la} \
-%if %{with java}
-       %{?with_gcc_libffi: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_objc:libobjc.la};
 do
        file="$RPM_BUILD_ROOT%{_libdir}/$f"
        %{__perl} %{SOURCE1} "$file" %{_libdir} >"${file}.fixed"
        %{__mv} "${file}.fixed" "$file"
-
-       # normalize /lib/../lib/ path (libjawt.la)
-       sed -i -e 's#/%{_lib}/\.\./%{_lib}/#/%{_lib}/#g' "$file"
 done
 %if %{with multilib}
 for f in libitm.la libssp.la libssp_nonshared.la \
@@ -2380,12 +3105,26 @@ for f in libitm.la libssp.la libssp_nonshared.la \
        %{?with_lsan_m1:liblsan.la} \
        %{?with_tsan_m1:libtsan.la} \
        %{?with_atomic:libatomic.la} \
-       %{?with_java:%{?with_gcc_libffi:libffi.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,}
 done
+%if %{with multilib2}
+for f in libitm.la libssp.la libssp_nonshared.la \
+       %{?with_cxx:libstdc++.la libstdc++fs.la libsupc++.la} \
+       %{?with_fortran:libgfortran.la libquadmath.la} \
+       %{?with_gomp:libgomp.la} \
+       %{?with_Xsan:libasan.la libubsan.la} \
+       %{?with_lsan_m2:liblsan.la} \
+       %{?with_tsan_m2:libtsan.la} \
+       %{?with_atomic:libatomic.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
@@ -2397,12 +3136,12 @@ cp -p $RPM_BUILD_ROOT%{gcclibdir}/include-fixed/syslimits.h $RPM_BUILD_ROOT%{gcc
 %{__rm} $RPM_BUILD_ROOT%{gcclibdir}/liblto_plugin.la \
        $RPM_BUILD_ROOT%{_libdir}/libcc1.la
 
-%if %{without lsan_m0} && %{without lsan_m2}
+%if %{without lsan_m0} && (%{without multilib2} || %{without lsan_m2})
 %{__rm} $RPM_BUILD_ROOT%{gcclibdir}/include/sanitizer/lsan_interface.h
 %endif
 
 %if %{with python}
-for LIBDIR in %{_libdir} %{?with_multilib:%{_libdir32}} ; do
+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.
@@ -2413,23 +3152,19 @@ for LIBDIR in %{_libdir} %{?with_multilib:%{_libdir32}} ; do
 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}
-%{__sed} -i -e '1s,#!/usr/bin/env python,#!/usr/bin/python,' $RPM_BUILD_ROOT%{_bindir}/aot-compile
-%endif
 %py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir}
 %py_comp $RPM_BUILD_ROOT%{py_sitescriptdir}
 %py_postclean
 %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
@@ -2471,12 +3206,6 @@ rm -rf $RPM_BUILD_ROOT
 %postun        fortran -p /sbin/postshell
 -/usr/sbin/fix-info-dir -c %{_infodir}
 
-%post  java -p /sbin/postshell
--/usr/sbin/fix-info-dir -c %{_infodir}
-
-%postun        java -p /sbin/postshell
--/usr/sbin/fix-info-dir -c %{_infodir}
-
 %post  go -p /sbin/postshell
 -/usr/sbin/fix-info-dir -c %{_infodir}
 
@@ -2503,70 +3232,102 @@ rm -rf $RPM_BUILD_ROOT
 
 %post   -p /sbin/ldconfig -n libcilkrts
 %postun -p /sbin/ldconfig -n libcilkrts
-%post   -p /sbin/ldconfig -n libcilkrts-multilib
-%postun -p /sbin/ldconfig -n libcilkrts-multilib
+%post   -p /sbin/ldconfig -n libcilkrts-multilib-32
+%postun -p /sbin/ldconfig -n libcilkrts-multilib-32
+%post   -p /sbin/ldconfig -n libcilkrts-multilib-%{multilib2}
+%postun -p /sbin/ldconfig -n libcilkrts-multilib-%{multilib2}
 %post  -p /sbin/ldconfig -n libgcc
 %postun        -p /sbin/ldconfig -n libgcc
-%post  -p /sbin/ldconfig -n libgcc-multilib
-%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 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 libmpx
 %postun        -p /sbin/ldconfig -n libmpx
-%post  -p /sbin/ldconfig -n libmpx-multilib
-%postun        -p /sbin/ldconfig -n libmpx-multilib
+%post  -p /sbin/ldconfig -n libmpx-multilib-32
+%postun        -p /sbin/ldconfig -n libmpx-multilib-32
+%post  -p /sbin/ldconfig -n libmpx-multilib-%{multilib2}
+%postun        -p /sbin/ldconfig -n libmpx-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  -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
-%postun        -p /sbin/ldconfig -n libquadmath-multilib
+%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
-%postun        -p /sbin/ldconfig -n libasan-multilib
+%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 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
-%postun -p /sbin/ldconfig -n libubsan-multilib
+%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
-%postun -p /sbin/ldconfig -n libvtv-multilib
+%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
-%postun        -p /sbin/ldconfig -n libatomic-multilib
+%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
 
@@ -2584,11 +3345,14 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/gcc-ranlib
 #%attr(755,root,root) %{_bindir}/gccbug
 %attr(755,root,root) %{_bindir}/gcov
+%attr(755,root,root) %{_bindir}/gcov-dump
 %attr(755,root,root) %{_bindir}/gcov-tool
 %{_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*
 %{_infodir}/cpp.info*
 %{_infodir}/cppinternals.info*
 %{_infodir}/gcc.info*
@@ -2626,6 +3390,7 @@ rm -rf $RPM_BUILD_ROOT
 %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
@@ -2640,10 +3405,13 @@ rm -rf $RPM_BUILD_ROOT
 %{gcclibdir}/include/syslimits.h
 %{gcclibdir}/include/unwind.h
 %{gcclibdir}/include/varargs.h
-%ifarch %{ix86} %{x8664}
+%ifarch %{ix86} %{x8664} x32
 %{gcclibdir}/include/adxintrin.h
 %{gcclibdir}/include/ammintrin.h
 %{gcclibdir}/include/avx2intrin.h
+%{gcclibdir}/include/avx5124fmapsintrin.h
+%{gcclibdir}/include/avx5124vnniwintrin.h
+%{gcclibdir}/include/avx512vpopcntdqintrin.h
 %{gcclibdir}/include/avx512bwintrin.h
 %{gcclibdir}/include/avx512cdintrin.h
 %{gcclibdir}/include/avx512dqintrin.h
@@ -2686,6 +3454,7 @@ rm -rf $RPM_BUILD_ROOT
 %{gcclibdir}/include/prfchwintrin.h
 %{gcclibdir}/include/rdseedintrin.h
 %{gcclibdir}/include/rtmintrin.h
+%{gcclibdir}/include/sgxintrin.h
 %{gcclibdir}/include/shaintrin.h
 %{gcclibdir}/include/smmintrin.h
 %{gcclibdir}/include/tbmintrin.h
@@ -2713,10 +3482,20 @@ rm -rf $RPM_BUILD_ROOT
 %ifarch mips
 %{gcclibdir}/include/loongson.h
 %endif
+%ifarch powerpc ppc ppc64
+%{gcclibdir}/include/altivec.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
+%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
@@ -2737,6 +3516,28 @@ rm -rf $RPM_BUILD_ROOT
 %{_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
@@ -2747,7 +3548,7 @@ rm -rf $RPM_BUILD_ROOT
 %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.*.*.*
@@ -2756,6 +3557,16 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %ghost %{_slibdir32}/libitm.so.1
 %endif
 
+%if %{with multilib2}
+%files -n libgcc-multilib-%{multilib2}
+%defattr(644,root,root,755)
+%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 gomp}
 %files -n libgomp
 %defattr(644,root,root,755)
@@ -2777,22 +3588,40 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libgomp.a
 
 %if %{with multilib}
-%files -n libgomp-multilib
+%files -n libgomp-multilib-32
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_slibdir32}/libgomp.so.*.*.*
 %attr(755,root,root) %ghost %{_slibdir32}/libgomp.so.1
 
-%files -n libgomp-multilib-devel
+%files -n libgomp-multilib-32-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir32}/libgomp.so
 %{_libdir32}/libgomp.la
 %{_libdir32}/libgomp.spec
 %{gcclibdir}/32/finclude
 
-%files -n libgomp-multilib-static
+%files -n libgomp-multilib-32-static
 %defattr(644,root,root,755)
 %{_libdir32}/libgomp.a
 %endif
+
+%if %{with multilib2}
+%files -n libgomp-multilib-%{multilib2}
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_slibdirm2}/libgomp.so.*.*.*
+%attr(755,root,root) %ghost %{_slibdirm2}/libgomp.so.1
+
+%files -n libgomp-multilib-%{multilib2}-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libgomp.so
+%{_libdirm2}/libgomp.la
+%{_libdirm2}/libgomp.spec
+%{gcclibdir}/%{multilib2}/finclude
+
+%files -n libgomp-multilib-%{multilib2}-static
+%defattr(644,root,root,755)
+%{_libdirm2}/libgomp.a
+%endif
 %endif
 
 %if %{with cilkrts}
@@ -2814,21 +3643,38 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libcilkrts.a
 
 %if %{with multilib}
-%files -n libcilkrts-multilib
+%files -n libcilkrts-multilib-32
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir32}/libcilkrts.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir32}/libcilkrts.so.5
 
-%files -n libcilkrts-multilib-devel
+%files -n libcilkrts-multilib-32-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir32}/libcilkrts.so
 %{_libdir32}/libcilkrts.la
 %{_libdir32}/libcilkrts.spec
 
-%files -n libcilkrts-multilib-static
+%files -n libcilkrts-multilib-32-static
 %defattr(644,root,root,755)
 %{_libdir32}/libcilkrts.a
 %endif
+
+%if %{with multilib2}
+%files -n libcilkrts-multilib-%{multilib2}
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libcilkrts.so.*.*.*
+%attr(755,root,root) %ghost %{_libdirm2}/libcilkrts.so.5
+
+%files -n libcilkrts-multilib-%{multilib2}-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libcilkrts.so
+%{_libdirm2}/libcilkrts.la
+%{_libdirm2}/libcilkrts.spec
+
+%files -n libcilkrts-multilib-%{multilib2}-static
+%defattr(644,root,root,755)
+%{_libdirm2}/libcilkrts.a
+%endif
 %endif
 
 # see libmpx/configure.tgt for supported architectures
@@ -2856,14 +3702,14 @@ rm -rf $RPM_BUILD_ROOT
 %endif
 
 %if %{with multilib}
-%files -n libmpx-multilib
+%files -n libmpx-multilib-32
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir32}/libmpx.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir32}/libmpx.so.2
 %attr(755,root,root) %{_libdir32}/libmpxwrappers.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir32}/libmpxwrappers.so.2
 
-%files -n libmpx-multilib-devel
+%files -n libmpx-multilib-32-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir32}/libmpx.so
 %attr(755,root,root) %{_libdir32}/libmpxwrappers.so
@@ -2871,20 +3717,43 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir32}/libmpxwrappers.la
 %{_libdir32}/libmpx.spec
 
-%files -n libmpx-multilib-static
+%files -n libmpx-multilib-32-static
 %defattr(644,root,root,755)
 %{_libdir32}/libmpx.a
 %{_libdir32}/libmpxwrappers.a
 %endif
 
+%if %{with multilib2}
+# see libmpx/configure.tgt for supported architectures;
+# no x32 there as of gcc 6.x
+%if "%{multilib2}" != "x32"
+%files -n libmpx-multilib-%{multilib2}
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libmpx.so.*.*.*
+%attr(755,root,root) %ghost %{_libdirm2}/libmpx.so.2
+%attr(755,root,root) %{_libdirm2}/libmpxwrappers.so.*.*.*
+%attr(755,root,root) %ghost %{_libdirm2}/libmpxwrappers.so.2
+
+%files -n libmpx-multilib-%{multilib2}-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libmpx.so
+%attr(755,root,root) %{_libdirm2}/libmpxwrappers.so
+%{_libdirm2}/libmpx.la
+%{_libdirm2}/libmpxwrappers.la
+%{_libdirm2}/libmpx.spec
+
+%files -n libmpx-multilib-%{multilib2}-static
+%defattr(644,root,root,755)
+%{_libdirm2}/libmpx.a
+%{_libdirm2}/libmpxwrappers.a
+%endif
+%endif
+
 %if %{with ada}
 %files ada
 %defattr(644,root,root,755)
 %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
@@ -2893,15 +3762,17 @@ rm -rf $RPM_BUILD_ROOT
 %{gcclibdir}/adainclude
 %dir %{gcclibdir}/adalib
 %{gcclibdir}/adalib/*.ali
-%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
@@ -2910,10 +3781,24 @@ rm -rf $RPM_BUILD_ROOT
 %{gcclibdir}/32/adainclude
 %dir %{gcclibdir}/32/adalib
 %{gcclibdir}/32/adalib/*.ali
-%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}/adainclude
+%dir %{gcclibdir}/%{multilib2}/adalib
+%{gcclibdir}/%{multilib2}/adalib/*.ali
+%ifarch %{ix86} %{x8664} x32
+%{gcclibdir}/%{multilib2}/adalib/libgmem.a
+%endif
 %endif
 
 %files -n libgnat
@@ -2929,19 +3814,34 @@ rm -rf $RPM_BUILD_ROOT
 %{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-static
+%files -n libgnat-multilib-32-static
 %defattr(644,root,root,755)
 %{gcclibdir}/32/adalib/libgnarl.a
 %{gcclibdir}/32/adalib/libgnat.a
 %endif
 
+%if %{with multilib2}
+%files -n libgnat-multilib-%{multilib2}
+%defattr(644,root,root,755)
+%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
+
+%files -n libgnat-multilib-%{multilib2}-static
+%defattr(644,root,root,755)
+%{gcclibdir}/%{multilib2}/adalib/libgnarl.a
+%{gcclibdir}/%{multilib2}/adalib/libgnat.a
+%endif
+%endif
+
 %if %{with cxx}
 %files c++
 %defattr(644,root,root,755)
@@ -2956,12 +3856,19 @@ rm -rf $RPM_BUILD_ROOT
 %{_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
 
+%if %{with multilib2}
+%files c++-multilib-%{multilib2}
+%defattr(644,root,root,755)
+%{_libdirm2}/libsupc++.la
+%{_libdirm2}/libsupc++.a
+%endif
+
 %files -n libstdc++ -f libstdc++.lang
 %defattr(644,root,root,755)
 %doc libstdc++-v3/{ChangeLog,README}
@@ -2980,37 +3887,47 @@ rm -rf $RPM_BUILD_ROOT
 %{_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
 
 %files -n libstdc++-static
 %defattr(644,root,root,755)
 %{_libdir}/libstdc++.a
 
 %if %{with multilib}
-%files -n libstdc++-multilib
+%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-devel
+%files -n libstdc++-multilib-32-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir32}/libstdc++.so
 %{_libdir32}/libstdc++.la
 %{_libdir32}/libstdc++fs.a
 %{_libdir32}/libstdc++fs.la
 
-%files -n libstdc++-multilib-static
+%files -n libstdc++-multilib-32-static
 %defattr(644,root,root,755)
 %{_libdir32}/libstdc++.a
 %endif
 
+%if %{with multilib2}
+%files -n libstdc++-multilib-%{multilib2}
+%defattr(644,root,root,755)
+%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++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)
@@ -3022,13 +3939,11 @@ rm -rf $RPM_BUILD_ROOT
 %if %{with multilib}
 %{_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
-
-%if %{with apidocs}
-%files -n libstdc++-apidocs
-%defattr(644,root,root,755)
-%doc libstdc++-v3/doc/html/*
 %endif
+
 %endif
 
 %if %{with fortran}
@@ -3051,7 +3966,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_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
@@ -3062,27 +3977,50 @@ rm -rf $RPM_BUILD_ROOT
 #%{gcclibdir}/32/libgfortranbegin.a
 %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
+#%{gcclibdir}/%{multilib2}/libgfortranbegin.la
+#%{gcclibdir}/%{multilib2}/libgfortranbegin.a
+%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.4
 
 %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.4
 
-%files -n libgfortran-multilib-static
+%files -n libgfortran-multilib-32-static
 %defattr(644,root,root,755)
 %{_libdir32}/libgfortran.a
 %endif
 
+%if %{with multilib2}
+%files -n libgfortran-multilib-%{multilib2}
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libgfortran.so.*.*.*
+%attr(755,root,root) %ghost %{_libdirm2}/libgfortran.so.4
+
+%files -n libgfortran-multilib-%{multilib2}-static
+%defattr(644,root,root,755)
+%{_libdirm2}/libgfortran.a
+%endif
+
 %files -n libquadmath
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libquadmath.so.*.*.*
@@ -3101,162 +4039,42 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libquadmath.a
 
 %if %{with multilib}
-%files -n libquadmath-multilib
+%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-devel
+%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-static
+%files -n libquadmath-multilib-32-static
 %defattr(644,root,root,755)
 %{_libdir32}/libquadmath.a
 %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 multilib2}
+%files -n libquadmath-multilib-%{multilib2}
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libquadmath.so.*.*.*
+%attr(755,root,root) %ghost %{_libdirm2}/libquadmath.so.0
 
-%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
-%{_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
+%files -n libquadmath-multilib-%{multilib2}-devel
+%defattr(644,root,root,755)
+%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
 
 %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
 
@@ -3275,21 +4093,38 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libffi.a
 
 %if %{with multilib}
-%files -n libffi-multilib
+%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-devel
+%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-static
+%files -n libffi-multilib-32-static
 %defattr(644,root,root,755)
 %{_libdir32}/libffi.a
 %endif
+
+%if %{with multilib2}
+%files -n libffi-multilib-%{multilib2}
+%defattr(644,root,root,755)
+%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 objc}
@@ -3302,11 +4137,17 @@ rm -rf $RPM_BUILD_ROOT
 %{gcclibdir}/include/objc
 
 %if %{with multilib}
-%files objc-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}
@@ -3327,16 +4168,28 @@ rm -rf $RPM_BUILD_ROOT
 %{_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.4
 
-%files -n libobjc-multilib-static
+%files -n libobjc-multilib-32-static
 %defattr(644,root,root,755)
 %{_libdir32}/libobjc.a
 %endif
 
+%if %{with multilib2}
+%files -n libobjc-multilib-%{multilib2}
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libobjc.so.*.*.*
+%attr(755,root,root) %ghost %{_libdirm2}/libobjc.so.4
+
+%files -n libobjc-multilib-%{multilib2}-static
+%defattr(644,root,root,755)
+%{_libdirm2}/libobjc.a
+%endif
+%endif
+
 %if %{with go}
 %files go
 %defattr(644,root,root,755)
@@ -3354,17 +4207,24 @@ rm -rf $RPM_BUILD_ROOT
 %{_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.9
+%attr(755,root,root) %ghost %{_libdir}/libgo.so.11
 
 %files -n libgo-devel
 %defattr(644,root,root,755)
@@ -3372,30 +4232,46 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libgo.la
 %{_libdir}/libgobegin.a
 %{_libdir}/libgolibbegin.a
-%{_libdir}/libnetgo.a
 
 %files -n libgo-static
 %defattr(644,root,root,755)
 %{_libdir}/libgo.a
 
 %if %{with multilib}
-%files -n libgo-multilib
+%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.9
+%attr(755,root,root) %ghost %{_libdir32}/libgo.so.11
 
-%files -n libgo-multilib-devel
+%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
-%{_libdir32}/libnetgo.a
 
-%files -n libgo-multilib-static
+%files -n libgo-multilib-32-static
 %defattr(644,root,root,755)
 %{_libdir32}/libgo.a
 %endif
+
+%if %{with multilib2}
+%files -n libgo-multilib-%{multilib2}
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libgo.so.*.*.*
+%attr(755,root,root) %ghost %{_libdirm2}/libgo.so.11
+
+%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}
@@ -3403,7 +4279,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.3
+%attr(755,root,root) %ghost %{_libdir}/libasan.so.4
 
 %files -n libasan-devel
 %defattr(644,root,root,755)
@@ -3417,21 +4293,38 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libasan.a
 
 %if %{with multilib}
-%files -n libasan-multilib
+%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.3
+%attr(755,root,root) %ghost %{_libdir32}/libasan.so.4
 
-%files -n libasan-multilib-devel
+%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-static
+%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.4
+
+%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 lsan_m0}
@@ -3451,6 +4344,26 @@ rm -rf $RPM_BUILD_ROOT
 %{_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.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)
@@ -3461,6 +4374,7 @@ rm -rf $RPM_BUILD_ROOT
 %files -n libtsan-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libtsan.so
+%{_libdir}/libtsan_preinit.o
 %{_libdir}/libtsan.la
 
 %files -n libtsan-static
@@ -3468,6 +4382,23 @@ rm -rf $RPM_BUILD_ROOT
 %{_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.0
+
+%files -n libtsan-multilib-%{multilib2}-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libtsan.so
+%{_libdirm2}/libtsan.la
+
+%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)
@@ -3484,20 +4415,36 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libubsan.a
 
 %if %{with multilib}
-%files -n libubsan-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.0
 
-%files -n libubsan-multilib-devel
+%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-static
+%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.0
+
+%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}
@@ -3517,20 +4464,36 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libvtv.a
 
 %if %{with multilib}
-%files -n libvtv-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-devel
+%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-static
+%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}
@@ -3550,20 +4513,36 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libatomic.a
 
 %if %{with multilib}
-%files -n libatomic-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-devel
+%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-static
+%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
@@ -3573,6 +4552,7 @@ rm -rf $RPM_BUILD_ROOT
 %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)
@@ -3582,3 +4562,5 @@ rm -rf $RPM_BUILD_ROOT
 %{gcclibdir}/plugin/include
 %attr(755,root,root) %{gcclibdir}/plugin/libcc1plugin.la
 %attr(755,root,root) %{gcclibdir}/plugin/libcc1plugin.so
+%attr(755,root,root) %{gcclibdir}/plugin/libcp1plugin.la
+%attr(755,root,root) %{gcclibdir}/plugin/libcp1plugin.so
index fd3902c5c373bb4a3108405b90c97a2815d20d6c..15a89e792c399a6bcefcafdc06bb3d2fa6dbdc1a 100644 (file)
@@ -5,6 +5,6 @@ includedir=@gcclibdir@/include
 
 Name: libffi
 Description: Library supporting Foreign Function Interfaces
-Version: 4.0.1
+Version: 3.99999
 Libs: -L${libdir} -lffi
 Cflags: -I${includedir}