]> TLD Linux GIT Repositories - packages/gcc.git/blobdiff - gcc.spec
- isl 0.13 fix and branch diff update, release 2
[packages/gcc.git] / gcc.spec
index 9f6905e5561c69ceed3cf1d70970f3b4384731ff..d3e76dd17436d5ce1e28fcd26733250bf2870130 100644 (file)
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,44 +1,57 @@
-# $Revision: 1.649.2.3 $, $Date: 2011/07/01 17:47:33 $
-# NOTE: despite lower soname, libffi is newer than standalone 3.0.9
+# NOTE: despite lower soname, libffi is newer than standalone 3.0.10
 #
 # TODO:
 # - gconf peer? (but libgcj needs split anyway)
 # - package?
-#   /usr/bin/aot-compile
-#   /usr/bin/gjdoc
-#   /usr/share/man/man1/aot-compile.1.gz
+#   /usr/bin/gjdoc [BR: antlr.jar] (but see gjdoc package, there are some additional jars?)
 #   /usr/share/man/man1/gjdoc.1.gz
-#   /usr/share/python/aotcompile.py
-#   /usr/share/python/classfile.py
-# - missing libffi.pc required by some packages (eg. python-pygobject)
 #
 # Conditional build:
+# - languages:
 %bcond_without ada             # build without ADA support
 %bcond_without cxx             # build without C++ support
 %bcond_without fortran         # build without Fortran support
-%bcond_without gomp            # build without OpenMP support
+%bcond_without go              # build without Go support
 %bcond_without java            # build without Java support
-%bcond_without mudflap         # build without Mudflap pointer debugging 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 mudflap         # build without Mudflap pointer debugging support
+%bcond_without multilib        # build without multilib support (it needs glibc[32&64]-devel)
+%bcond_without profiling       # build without profiling
+%bcond_without python          # build without libstdc++ printers for gdb and aot-compile for java
+%bcond_without asan            # build without Address Sanitizer library
+%bcond_without tsan            # build without Thread Sanitizer library
+%bcond_without atomic          # build without library for atomic operations not supported by hardware
+%bcond_without 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_without dssi            # don't build libgcj DSSI MIDI interface
 %bcond_without gtk             # don't build libgcj GTK peer
 %bcond_without apidocs         # do not build and package API docs
-%bcond_with    mozilla         # don't build libgcjwebplugin (needs fix for new xulrunner)
+%bcond_with    mozilla         # build libgcjwebplugin (needs fix for new xulrunner)
 %bcond_with    qt              # build libgcj Qt peer (currently doesn't build with libtool-2.x)
 %bcond_without x               # don't build libgcj Xlib-dependent AWTs (incl. GTK/Qt)
-%bcond_without multilib        # build without multilib support (it needs glibc[32&64]-devel)
-%bcond_with    profiling       # build with profiling
-%bcond_without python          # build without libstdc++ python pretty printers for gdb
+# - other:
 %bcond_without bootstrap       # omit 3-stage bootstrap
 %bcond_with    tests           # torture gcc
+%bcond_with    symvers         # enable versioned symbols in libstdc++ (WARNING: changes soname from .so.6 to so.7)
+
+%if %{with symvers}
+%define                cxx_sover       7
+%else
+%define                cxx_sover       6
+%endif
 
+# go, java and objcxx require C++
 %if %{without cxx}
+%undefine      with_go
 %undefine      with_java
 %undefine      with_objcxx
 %endif
-
+# objcxx requires objc
 %if %{without objc}
 %undefine      with_objcxx
 %endif
 %undefine      with_multilib
 %endif
 
-%define                major_ver       4.5
+%ifnarch %{ix86} %{x8664}
+%undefine      with_atomic
+%endif
+
+%ifnarch %{ix86} %{x8664}
+%undefine      with_asan
+%endif
+
+%ifnarch %{x8664}
+%undefine      with_tsan
+%endif
+
+%define                major_ver       4.8
 %define                minor_ver       3
 %define                major_ecj_ver   4.5
 # class data version seen with file(1) that this jvm is able to load
 %define                _classdataversion 50.0
-%define                gcj_soname_ver  11
+%define                gcj_soname_ver  14
 
 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
@@ -69,34 +94,38 @@ 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:       4
+Release:       2
 Epoch:         6
 License:       GPL v3+
 Group:         Development/Languages
 Source0:       ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2
-# Source0-md5: 8e0b5c12212e185f3e4383106bfa9cc6
+# Source0-md5: 7c60f24fab389f77af203d2516ee110f
 Source1:       %{name}-optimize-la.pl
 Source2:       ftp://sourceware.org/pub/java/ecj-%{major_ecj_ver}.jar
 # Source2-md5: d7cd6a27c8801e66cbaa964a039ecfdb
-# svn diff -x --ignore-eol-style svn://gcc.gnu.org/svn/gcc/tags/gcc_4_5_3_release svn://gcc.gnu.org/svn/gcc/branches/gcc-4_5-branch > gcc-branch.diff
-Patch100:      %{name}-branch.diff
+# check libffi version with libffi/configure.ac
+Source3:       libffi.pc.in
+# For creating branch.diff please run:
+# svn diff -x --ignore-eol-style --force svn://gcc.gnu.org/svn/gcc/tags/gcc_4_8_3_release svn://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch > gcc-branch.diff
 Patch0:                %{name}-info.patch
-Patch1:                %{name}-nolocalefiles.patch
+Patch1:                %{name}-cloog.patch
 Patch2:                %{name}-nodebug.patch
 Patch3:                %{name}-ada-link.patch
-Patch7:                %{name}-libjava-multilib.patch
-Patch8:                %{name}-enable-java-awt-qt.patch
-Patch9:                %{name}-hash-style-gnu.patch
-Patch11:       %{name}-build-id.patch
-Patch12:       %{name}-plugin-decl-hook.patch
+Patch4:                %{name}-libjava-multilib.patch
+Patch5:                %{name}-enable-java-awt-qt.patch
+Patch6:                %{name}-install-libffi.patch
+Patch7:                gcc-4.9-isl-0.13-hack.patch
+Patch100:      %{name}-branch.diff
 URL:           http://gcc.gnu.org/
-BuildRequires: autoconf
+BuildRequires: autoconf >= 2.64
 %{?with_tests:BuildRequires:   autogen}
-BuildRequires: automake
+BuildRequires: automake >= 1:1.9.3
 # binutils 2.17.50.0.9 or newer are required for fixing PR middle-end/20218.
-BuildRequires: binutils >= 2:2.17.50.0.9-1
+BuildRequires: binutils >= 3:2.17.50.0.9-1
 BuildRequires: bison
 BuildRequires: chrpath >= 0.13-2
+BuildRequires: cloog-isl-devel >= 0.17.0
+BuildRequires: cloog-isl-devel < 0.19
 %{?with_tests:BuildRequires:   dejagnu}
 BuildRequires: elfutils-devel >= 0.145-1
 BuildRequires: fileutils >= 4.0.41
@@ -110,12 +139,16 @@ BuildRequires:    glibc-devel >= 6:2.4-1
 %if %{with multilib}
 BuildRequires: gcc(multilib)
 %ifarch %{x8664}
-BuildRequires: glibc-devel(i686)
+BuildRequires: glibc-devel(ix86)
 %endif
 %endif
+BuildRequires: gmp-c++-devel >= 4.1
 BuildRequires: gmp-devel >= 4.1
+BuildRequires: isl-devel >= 0.10
+BuildRequires: isl-devel < 0.13
 BuildRequires: libmpc-devel
 BuildRequires: mpfr-devel >= 2.3.0
+BuildRequires: ppl-devel >= 0.11
 %if %{with python}
 BuildRequires: python-devel
 BuildRequires: rpm-pythonprov
@@ -134,6 +167,7 @@ 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}
@@ -151,7 +185,7 @@ BuildRequires:      qt4-build >= 4.0.1
 %{?with_mozilla:BuildRequires: xulrunner-devel >= 1.8.1.3-1.20070321.5}
 %endif
 BuildConflicts:        pdksh < 5.2.14-50
-Requires:      binutils >= 3:2.20.51.0.2
+Requires:      binutils >= 3:2.23
 Requires:      libgcc = %{epoch}:%{version}-%{release}
 Provides:      cpp = %{epoch}:%{version}-%{release}
 %{?with_ada:Provides:  gcc(ada)}
@@ -170,12 +204,19 @@ BuildRoot:        %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 # 32-bit environment on x86-64
 %define                _slibdir32      /lib
 %define                _libdir32       /usr/lib
+%define                _pkgconfigdir32 %{_libdir32}/pkgconfig
 %endif
+%define                gcclibdir       %{_libdir}/gcc/%{_target_platform}/%{version}
+%define                gcjdbexecdir    gcj-%{version}-%{gcj_soname_ver}
 
 %define                filterout       -fwrapv -fno-strict-aliasing -fsigned-char
 %define                filterout_ld    -Wl,--as-needed
 
-%define                skip_post_check_so      '.*(libmudflap|libmudflapth|libxmlj|lib-gnu-awt-xlib)\.so.*'
+# functions with printf format attribute but with special parser and also
+# receiving non constant format strings
+%define                Werror_cflags   %{nil}
+
+%define                skip_post_check_so      '.*(libgo|libmudflap|libmudflapth|libxmlj|lib-gnu-awt-xlib)\.so.*'
 
 %description
 A compiler aimed at integrating all the optimizations and features
@@ -217,7 +258,7 @@ Requires:   libgcc-multilib = %{epoch}:%{version}-%{release}
 %{?with_multilib:Provides:     gcc(multilib)}
 Obsoletes:     libgcc32
 %ifarch %{x8664}
-Requires:      glibc-devel(i686)
+Requires:      glibc-devel(ix86)
 %endif
 
 %description multilib
@@ -668,7 +709,6 @@ standardowej C++.
 Summary:       libstdc++ pretty printers for GDB
 Summary(pl.UTF-8):     Funkcje wypisujące dane libstdc++ dla GDB
 Group:         Development/Debuggers
-Requires:      python-gdb
 
 %description -n libstdc++-gdb
 This package contains Python scripts for GDB pretty printing of the
@@ -766,6 +806,9 @@ Statyczna biblioteka standardowa C++ - wersja 32-bitowa.
 Summary:       C++ standard library API documentation
 Summary(pl.UTF-8):     Dokumentacja API biblioteki standardowej C++
 Group:         Documentation
+%if "%{_rpmversion}" >= "5"
+BuildArch:     noarch
+%endif
 
 %description -n libstdc++-apidocs
 API and internal documentation for C++ standard library.
@@ -781,6 +824,7 @@ Summary(pt_BR.UTF-8):       Suporte Fortran 95 para o GCC
 Group:         Development/Languages/Fortran
 Requires:      %{name} = %{epoch}:%{version}-%{release}
 Requires:      libgfortran = %{epoch}:%{version}-%{release}
+Requires:      libquadmath-devel = %{epoch}:%{version}-%{release}
 Provides:      gcc-g77 = %{epoch}:%{version}-%{release}
 Obsoletes:     egcs-g77
 Obsoletes:     gcc-g77
@@ -802,10 +846,11 @@ Suporte Fortran 95 para o GCC.
 
 %package fortran-multilib
 Summary:       Fortran 95 32-bit support for gcc
-Summary(pl.UTF-8):     Obsługa binariów 32-bitowych Fortrana 95 dla gcc
+Summary(pl.UTF-8):     Obsługa binariów 32-bitowych Fortranu 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}
 
 %description fortran-multilib
 This package adds support for compiling 32-bit Fortran 95 programs
@@ -818,9 +863,10 @@ kompilatora gcc.
 %package -n libgfortran
 Summary:       Fortran 95 Library
 Summary(es.UTF-8):     Biblioteca de Fortran 95
-Summary(pl.UTF-8):     Biblioteka Fortrana 95
+Summary(pl.UTF-8):     Biblioteka Fortranu 95
 License:       GPL v2+ with unlimited link permission
 Group:         Libraries
+Requires:      libquadmath = %{epoch}:%{version}-%{release}
 Obsoletes:     libg2c
 
 %description -n libgfortran
@@ -830,24 +876,25 @@ Fortran 95 Library.
 Biblioteca de Fortran 95.
 
 %description -n libgfortran -l pl.UTF-8
-Biblioteka Fortrana 95.
+Biblioteka Fortranu 95.
 
 %package -n libgfortran-multilib
 Summary:       Fortran 95 Library - 32-bit version
-Summary(pl.UTF-8):     Biblioteka Fortrana 95 - wersja 32-bitowa
+Summary(pl.UTF-8):     Biblioteka Fortranu 95 - wersja 32-bitowa
 License:       GPL v2+ with unlimited link permission
 Group:         Libraries
+Requires:      libquadmath-multilib = %{epoch}:%{version}-%{release}
 
 %description -n libgfortran-multilib
 Fortran 95 Library - 32-bit version.
 
 %description -n libgfortran-multilib -l pl.UTF-8
-Biblioteka Fortrana 95 - wersja 32-bitowa.
+Biblioteka Fortranu 95 - wersja 32-bitowa.
 
 %package -n libgfortran-static
 Summary:       Static Fortran 95 Library
 Summary(es.UTF-8):     Bibliotecas estáticas de Fortran 95
-Summary(pl.UTF-8):     Statyczna Biblioteka Fortrana 95
+Summary(pl.UTF-8):     Statyczna Biblioteka Fortranu 95
 License:       GPL v2+ with unlimited link permission
 Group:         Development/Libraries
 Requires:      libgfortran = %{epoch}:%{version}-%{release}
@@ -860,11 +907,11 @@ Static Fortran 95 Library.
 Bibliotecas estáticas de Fortran 95.
 
 %description -n libgfortran-static -l pl.UTF-8
-Statyczna biblioteka Fortrana 95.
+Statyczna biblioteka Fortranu 95.
 
 %package -n libgfortran-multilib-static
 Summary:       Static Fortran 95 Library - 32-bit version
-Summary(pl.UTF-8):     Statyczna Biblioteka Fortrana 95 - wersja 32-bitowa
+Summary(pl.UTF-8):     Statyczna Biblioteka Fortranu 95 - wersja 32-bitowa
 License:       GPL v2+ with unlimited link permission
 Group:         Development/Libraries
 Requires:      libgfortran-multilib = %{epoch}:%{version}-%{release}
@@ -873,7 +920,98 @@ Requires:  libgfortran-multilib = %{epoch}:%{version}-%{release}
 Static Fortran 95 Library - 32-bit version.
 
 %description -n libgfortran-multilib-static -l pl.UTF-8
-Statyczna biblioteka Fortrana 95 - wersja 32-bitowa.
+Statyczna biblioteka Fortranu 95 - wersja 32-bitowa.
+
+%package -n libquadmath
+Summary:       GCC __float128 shared support library
+Summary(pl.UTF-8):     Biblioteka współdzielona do obsługi typu __float128
+License:       GPL v2+ with linking exception
+Group:         Libraries
+
+%description -n libquadmath
+This package contains GCC shared support library which is needed for
+__float128 math support and for Fortran REAL*16 support.
+
+%description -n libquadmath -l pl.UTF-8
+Ten pakiet zawiera bibliotekę współdzieloną GCC do obsługi operacji
+matematycznych na zmiennych typu __float128 oraz typu REAL*16 w
+Fortranie.
+
+%package -n libquadmath-multilib
+Summary:       GCC __float128 shared support library - 32-bit version
+Summary(pl.UTF-8):     Biblioteka współdzielona GCC do obsługi typu __float128 - wersja 32-bitowa
+License:       GPL v2+ with linking exception
+Group:         Libraries
+
+%description -n libquadmath-multilib
+This package contains 32-bit version of GCC shared support library
+which is needed for __float128 math support and for Fortran REAL*16
+support.
+
+%description -n libquadmath-multilib -l pl.UTF-8
+Ten pakiet zawiera 32-bitową bibliotekę współdzieloną GCC do obsługi
+operacji matematycznych na zmiennych typu __float128 oraz typu REAL*16
+w Fortranie.
+
+%package -n libquadmath-devel
+Summary:       Header files for GCC __float128 support library
+Summary(pl.UTF-8):     Pliki nagłówkowe biblioteka GCC do obsługi typu __float128
+License:       GPL v2+ with linking exception
+Group:         Development/Libraries
+Requires:      libquadmath = %{epoch}:%{version}-%{release}
+
+%description -n libquadmath-devel
+This package contains header files for GCC support library which is
+needed for __float128 math support and for Fortran REAL*16 support.
+
+%description -n libquadmath-devel -l pl.UTF-8
+Ten pakiet zawiera pliki nagłówkowe biblioteki GCC do obsługi operacji
+matematycznych na zmiennych typu __float128 oraz typu REAL*16 w
+Fortranie.
+
+%package -n libquadmath-multilib-devel
+Summary:       Development files for 32-bit GCC __float128 support library
+Summary(pl.UTF-8):     Pliki programistyczne 32-bitowej biblioteki do obsługi typu __float128
+License:       GPL v2+ with linking exception
+Group:         Development/Libraries
+Requires:      libquadmath-devel = %{epoch}:%{version}-%{release}
+Requires:      libquadmath-multilib = %{epoch}:%{version}-%{release}
+
+%description -n libquadmath-multilib-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
+Ten pakiet zawiera pliki programistyczne 32-bitowej biblioteki GCC do
+obsługi operacji matematycznych na zmiennych typu __float128 oraz typu
+REAL*16 w Fortranie.
+
+%package -n libquadmath-static
+Summary:       Static GCC __float128 support library
+Summary(pl.UTF-8):     Biblioteka statyczna GCC do obsługi typu __float128
+License:       GPL v2+ with linking exception
+Group:         Development/Libraries
+Requires:      libquadmath-devel = %{epoch}:%{version}-%{release}
+
+%description -n libquadmath-static
+Static GCC __float128 support library.
+
+%description -n libquadmath-static -l pl.UTF-8
+Biblioteka statyczna GCC do obsługi typu __float128.
+
+%package -n libquadmath-multilib-static
+Summary:       Static GCC __float128 support library - 32-bit version
+Summary(pl.UTF-8):     32-bitowa biblioteka statyczna GCC do obsługi typu __float128
+License:       GPL v2+ with linking exception
+Group:         Development/Libraries
+Requires:      libquadmath-multilib-devel = %{epoch}:%{version}-%{release}
+
+%description -n libquadmath-multilib-static
+Static GCC __float128 support library - 32-bit version.
+
+%description -n libquadmath-multilib-static -l pl.UTF-8
+32-bitowa biblioteka statyczna GCC do obsługi typu __float128.
 
 %package java
 Summary:       Java support for gcc
@@ -903,6 +1041,23 @@ 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
@@ -1205,27 +1360,334 @@ Static Objective C Library - 32-bit version.
 %description -n libobjc-multilib-static -l pl.UTF-8
 Statyczna biblioteki Obiektowego C - wersja 32-bitowa.
 
+%package go
+Summary:       Go language support for gcc
+Summary(pl.UTF-8):     Obsługa języka Go dla kompilatora gcc
+License:       GPL v3+ (gcc), BSD (Go-specific part)
+Group:         Development/Languages
+Requires:      %{name} = %{epoch}:%{version}-%{release}
+Requires:      libgo-devel = %{epoch}:%{version}-%{release}
+
+%description go
+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
+Summary:       32-bit Go language 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}
+
+%description go-multilib
+This package adds 32-bit Go language support to the GNU Compiler
+Collection.
+
+%description go-multilib -l pl.UTF-8
+Ten pakiet dodaje obsługę 32-bitowych binariów języka Go do
+kompilatora gcc.
+
+%package -n libgo
+Summary:       Go language library
+Summary(pl.UTF-8):     Biblioteka języka Go
+License:       BSD
+Group:         Libraries
+Requires:      libgcc >= %{epoch}:%{version}-%{release}
+
+%description -n libgo
+Go language library.
+
+%description -n libgo -l pl.UTF-8
+Biblioteka języka Go.
+
+%package -n libgo-multilib
+Summary:       Go language library - 32-bit version
+Summary(pl.UTF-8):     Biblioteka języka Go - wersja 32-bitowa
+License:       BSD
+Group:         Libraries
+Requires:      libgcc-multilib >= %{epoch}:%{version}-%{release}
+
+%description -n libgo-multilib
+Go language library - 32-bit version.
+
+%description -n libgo-multilib -l pl.UTF-8
+Biblioteka języka Go - wersja 32-bitowa.
+
+%package -n libgo-devel
+Summary:       Development files for Go language library
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki języka Go
+License:       BSD
+Group:         Development/Libraries
+Requires:      glibc-devel
+Requires:      libgo = %{epoch}:%{version}-%{release}
+
+%description -n libgo-devel
+Development files for Go language library.
+
+%description -n libgo-devel -l pl.UTF-8
+Pliki programistyczne biblioteki języka Go.
+
+%package -n libgo-multilib-devel
+Summary:       Development files for Go language library - 32-bit version
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki języka Go - wersja 32-bitowa
+License:       BSD
+Group:         Development/Libraries
+Requires:      glibc-devel
+Requires:      libgo-multilib = %{epoch}:%{version}-%{release}
+
+%description -n libgo-multilib-devel
+Development files for Go language library - 32-bit version.
+
+%description -n libgo-multilib-devel -l pl.UTF-8
+Pliki programistyczne biblioteki języka Go - wersja 32-bitowa.
+
+%package -n libgo-static
+Summary:       Static Go language library
+Summary(pl.UTF-8):     Statyczna biblioteka języka Go
+License:       BSD
+Group:         Development/Libraries
+Requires:      libgo-devel = %{epoch}:%{version}-%{release}
+
+%description -n libgo-static
+Static Go language library.
+
+%description -n libgo-static -l pl.UTF-8
+Statyczna biblioteka języka Go.
+
+%package -n libgo-multilib-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}
+
+%description -n libgo-multilib-static
+Static Go language library - 32-bit version.
+
+%description -n libgo-multilib-static -l pl.UTF-8
+Statyczna biblioteka języka Go - wersja 32-bitowa.
+
+%package -n libasan
+Summary:       The Address Sanitizer library
+Summary(pl.UTF-8):     Biblioteka Address Sanitizer do kontroli adresów
+Group:         Libraries
+
+%description -n libasan
+This package contains the Address Sanitizer library which is used for
+-fsanitize=address instrumented programs.
+
+%description -n libasan -l pl.UTF-8
+Ten pakiet zawiera bibliotekę Address Sanitizer, służącą do
+kontroli adresów w programach kompilowanych z opcją
+-fsanitize=address.
+
+%package -n libasan-multilib
+Summary:       The Address Sanitizer library - 32-bit version
+Summary(pl.UTF-8):     Biblioteka Address Sanitizer do kontroli adresów - wersja 32-bitowa
+Group:         Libraries
+
+%description -n libasan-multilib
+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
+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-devel
+Summary:       Development files for the Address Sanitizer library
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki Address Sanitizer
+Group:         Development/Libraries
+Requires:      libasan = %{epoch}:%{version}-%{release}
+
+%description -n libasan-devel
+This package contains development files for the Address Sanitizer
+library.
+
+%description -n libasan-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne biblioteki Address Sanitizer.
+
+%package -n libasan-multilib-devel
+Summary:       Development files for the Address Sanitizer library - 32-bit version
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki Address Sanitizer - wersja 32-bitowa
+Group:         Development/Libraries
+Requires:      libasan-multilib = %{epoch}:%{version}-%{release}
+
+%description -n libasan-multilib-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
+Ten pakiet zawiera pliki programistyczne 32-bitowej wersji biblioteki
+Address Sanitizer.
+
+%package -n libasan-static
+Summary:       The Address Sanitizer static library
+Summary(pl.UTF-8):     Statyczna biblioteka Address Sanitizer
+Group:         Development/Libraries
+Requires:      libasan-devel = %{epoch}:%{version}-%{release}
+
+%description -n libasan-static
+This package contains Address Sanitizer static library.
+
+%description -n libasan-static -l pl.UTF-8
+Ten pakiet zawiera statyczną bibliotekę Address Sanitizer.
+
+%package -n libasan-multilib-static
+Summary:       The Address Sanitizer static library - 32-bit version
+Summary(pl.UTF-8):     Statyczna biblioteka Address Sanitizer - wersja 32-bitowa
+Group:         Development/Libraries
+Requires:      libasan-multilib-devel = %{epoch}:%{version}-%{release}
+
+%description -n libasan-multilib-static
+This package contains 32-bit version of the Address Sanitizer static
+library.
+
+%description -n libasan-multilib-static -l pl.UTF-8
+Ten pakiet zawiera 32-bitową wersję statycznej biblioteki Address
+Sanitizer.
+
+%package -n libtsan
+Summary:       The Thread Sanitizer library
+Summary(pl.UTF-8):     Biblioteka Thread Sanitizer do kontroli wielowątkowości
+Group:         Libraries
+
+%description -n libtsan
+This package contains the Thread Sanitizer library which is used for
+-fsanitize=thread instrumented programs.
+
+%description -n libtsan -l pl.UTF-8
+Ten pakiet zawiera bibliotekę Thread Sanitizer, służącą do kontroli
+wielowątkowości w programach kompilowanych z opcją -fsanitize=thread.
+
+%package -n libtsan-devel
+Summary:       Development files for the Thread Sanitizer library
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki Thread Sanitizer
+Group:         Development/Libraries
+Requires:      libtsan = %{epoch}:%{version}-%{release}
+
+%description -n libtsan-devel
+This package contains development files for Thread Sanitizer library.
+
+%description -n libtsan-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne biblioteki Address Sanitizer.
+
+%package -n libtsan-static
+Summary:       The Thread Sanitizer static library
+Summary(pl.UTF-8):     Statyczna biblioteka Thread Sanitizer
+Group:         Development/Libraries
+Requires:      libtsan-devel = %{epoch}:%{version}-%{release}
+
+%description -n libtsan-static
+This package contains Thread Sanitizer static library.
+
+%description -n libtsan-static -l pl.UTF-8
+Ten pakiet zawiera statyczną bibliotekę Thread Sanitizer.
+
+%package -n libatomic
+Summary:       The GNU Atomic library
+Summary(pl.UTF-8):     Biblioteka GNU Atomic
+Group:         Libraries
+
+%description -n libatomic
+This package contains the GNU Atomic library which is a GCC support
+library for atomic operations not supported by hardware.
+
+%description -n libatomic -l pl.UTF-8
+Ten pakiet zawiera bibliotekę GNU Atomic, będącą biblioteką GCC
+wspierającą operacje atomowe na sprzęcie ich nie obsługującym.
+
+%package -n libatomic-multilib
+Summary:       The GNU Atomic library - 32-bit version
+Summary(pl.UTF-8):     Biblioteka GNU Atomic - wersja 32-bitowa
+Group:         Libraries
+
+%description -n libatomic-multilib
+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
+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-devel
+Summary:       Development files for the GNU Atomic library
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki GNU Atomic
+Group:         Development/Libraries
+Requires:      libatomic = %{epoch}:%{version}-%{release}
+
+%description -n libatomic-devel
+This package contains development files for the GNU Atomic library.
+
+%description -n libatomic-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne biblioteki GNU Atomic.
+
+%package -n libatomic-multilib-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
+Group:         Development/Libraries
+Requires:      libatomic-multilib = %{epoch}:%{version}-%{release}
+
+%description -n libatomic-multilib-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
+Ten pakiet zawiera pliki programistyczne 32-bitowej wersji biblioteki
+GNU Atomic.
+
+%package -n libatomic-static
+Summary:       The GNU Atomic static library
+Summary(pl.UTF-8):     Statyczna biblioteka GNU Atomic
+Group:         Development/Libraries
+Requires:      libatomic-devel = %{epoch}:%{version}-%{release}
+
+%description -n libatomic-static
+This package contains GNU Atomic static library.
+
+%description -n libatomic-static
+Ten pakiet zawiera statyczną bibliotekę GNU Atomic.
+
+%package -n libatomic-multilib-static
+Summary:       The GNU Atomic static library - 32-bit version
+Summary(pl.UTF-8):     Statyczna biblioteka GNU Atomic - wersja 32-bitowa
+Group:         Development/Libraries
+Requires:      libatomic-multilib-devel = %{epoch}:%{version}-%{release}
+
+%description -n libatomic-multilib-static
+This package contains 32-bit version of the GNU Atomic static
+library.
+
+%description -n libatomic-multilib-static -l pl.UTF-8
+Ten pakiet zawiera 32-bitową wersję statycznej biblioteki GNU Atomic.
+
 %prep
 %setup -q
-%patch100 -p0
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
-
-%patch7 -p0
+%patch4 -p0
 %if %{with qt}
-%patch8 -p1
+%patch5 -p1
 %endif
-%patch9 -p1
-%patch11 -p0
-%patch12 -p0
+%if %{with gcc_libffi}
+%patch6 -p0
+%endif
+%patch7 -p1
+%patch100 -p0
 
 mv ChangeLog ChangeLog.general
 
 %if %{with java}
 # see contrib/download_ecj
-install %{SOURCE2} ecj.jar
+cp -p %{SOURCE2} ecj.jar
 %endif
 
 # override snapshot version.
@@ -1260,66 +1722,75 @@ TEXCONFIG=false \
        --infodir=%{_infodir} \
        --mandir=%{_mandir} \
        --x-libraries=%{_libdir} \
+       --%{?with_bootstrap:en}%{!?with_bootstrap:dis}able-bootstrap \
+       --disable-build-with-cxx \
+       --disable-build-poststage1-with-cxx \
+       --enable-c99 \
        --enable-checking=release \
-       --enable-shared \
-       --enable-threads=posix \
-       --enable-linux-futex \
-       --enable-languages="c%{?with_cxx:,c++}%{?with_fortran:,fortran}%{?with_objc:,objc}%{?with_objcxx:,obj-c++}%{?with_ada:,ada}%{?with_java:,java}" \
+%ifarch %{ix86} %{x8664}
+       --disable-cld \
+%endif
+       %{?with_fortran:--enable-cmath} \
+       --enable-decimal-float \
+       --enable-gnu-unique-object \
+       --enable-initfini-array \
+       --enable-languages="c%{?with_cxx:,c++}%{?with_fortran:,fortran}%{?with_objc:,objc}%{?with_objcxx:,obj-c++}%{?with_ada:,ada}%{?with_java:,java}%{?with_go:,go}" \
        --%{?with_gomp:en}%{!?with_gomp:dis}able-libgomp \
+       --enable-libitm \
        --%{?with_mudflap:en}%{!?with_mudflap:dis}able-libmudflap \
-       --enable-c99 \
+       --enable-linker-build-id \
+       --enable-linux-futex \
        --enable-long-long \
-       --enable-decimal-float=yes \
        %{!?with_multilib:--disable-multilib} \
        --enable-nls \
-       --disable-werror \
        --enable-lto \
        --enable-plugin \
-%ifarch %{ix86} %{x8664}
-       --disable-cld \
-%endif
-%ifarch sparc64
-       --with-cpu=ultrasparc \
-%endif
+       --enable-shared \
+       --enable-threads=posix \
+       --disable-werror \
+       --with-cloog \
+       --with-demangler-in-ld \
        --with-gnu-as \
        --with-gnu-ld \
-       --with-demangler-in-ld \
-       --with-system-zlib \
+       --with-linker-hash-style=gnu \
+       --with-long-double-128 \
+       --with-ppl \
+       --disable-ppl-version-check \
        --with-slibdir=%{_slibdir} \
 %ifnarch ia64
        --without-system-libunwind \
 %else
        --with-system-libunwind \
 %endif
+       --with-system-zlib \
        %{!?with_java:--without-x} \
-       %{?with_fortran:--enable-cmath} \
-       --with-long-double-128 \
-%ifarch ppc ppc64
-       --enable-secureplt \
-%endif
 %if %{with cxx}
-       --with-gxx-include-dir=%{_includedir}/c++/%{version} \
-       --disable-libstdcxx-pch \
        --enable-__cxa_atexit \
        --enable-libstdcxx-allocator=new \
+       --disable-libstdcxx-pch \
+       --enable-libstdcxx-threads \
+       --enable-libstdcxx-time=rt \
+       --enable-libstdcxx-visibility \
+       --enable-symvers=gnu%{?with_symvers:-versioned-namespace} \
+       --with-gxx-include-dir=%{_includedir}/c++/%{version} \
 %endif
 %if %{with java}
-       --enable-libjava-multilib=no \
        %{!?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
-       %{?with_mozilla:--enable-plugin} \
+       --enable-jni \
        --enable-libgcj \
        --enable-libgcj-multifile \
        --enable-libgcj-database \
-       %{?with_gtk:--enable-gtk-cairo} \
-       --enable-jni \
+       --disable-libjava-multilib \
+       %{?with_mozilla:--enable-plugin} \
+       --enable-static-libjava \
        --enable-xmlj \
 %endif
-       --%{?with_bootstrap:en}%{!?with_bootstrap:dis}able-bootstrap \
        --with-pkgversion="TLD-Linux" \
        --with-bugurl="http://www.tld-linux.org" \
        %{_target_platform}
@@ -1334,7 +1805,7 @@ all $(all):
                %{?with_bootstrap:%{?with_profiling:profiledbootstrap}} \
                GCJFLAGS="%{rpmcflags}" \
                BOOT_CFLAGS="%{rpmcflags}" \
-               STAGE1_CFLAGS="%{rpmcflags} -O0" \
+               STAGE1_CFLAGS="%{rpmcflags} -O1 -g0" \
                GNATLIBCFLAGS="%{rpmcflags}" \
                LDFLAGS_FOR_TARGET="%{rpmldflags}" \
                mandir=%{_mandir} \
@@ -1362,29 +1833,46 @@ cd builddir
        infodir=%{_infodir} \
        DESTDIR=$RPM_BUILD_ROOT
 
-install gcc/specs $RPM_BUILD_ROOT%{_libdir}/gcc/%{_target_platform}/%{version}
+cp -p gcc/specs $RPM_BUILD_ROOT%{gcclibdir}
 
 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
-echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
+echo ".so man1/gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
 
 libssp=$(cd $RPM_BUILD_ROOT%{_libdir}; echo libssp.so.*.*.*)
 mv $RPM_BUILD_ROOT%{_libdir}/libssp.so.* $RPM_BUILD_ROOT%{_slibdir}
 ln -sf %{_slibdir}/$libssp $RPM_BUILD_ROOT%{_libdir}/libssp.so
+
+libitm=$(cd $RPM_BUILD_ROOT%{_libdir}; echo libitm.so.*.*.*)
+mv $RPM_BUILD_ROOT%{_libdir}/libitm.so.* $RPM_BUILD_ROOT%{_slibdir}
+ln -sf %{_slibdir}/$libitm $RPM_BUILD_ROOT%{_libdir}/libitm.so
+
+libgomp=$(cd $RPM_BUILD_ROOT%{_libdir}; echo libgomp.so.*.*.*)
+mv $RPM_BUILD_ROOT%{_libdir}/libgomp.so.* $RPM_BUILD_ROOT%{_slibdir}
+ln -sf %{_slibdir}/$libgomp $RPM_BUILD_ROOT%{_libdir}/libgomp.so
+
 %if %{with multilib}
 libssp=$(cd $RPM_BUILD_ROOT%{_libdir32}; echo libssp.so.*.*.*)
 mv $RPM_BUILD_ROOT%{_libdir32}/libssp.so.* $RPM_BUILD_ROOT%{_slibdir32}
 ln -sf %{_slibdir32}/$libssp $RPM_BUILD_ROOT%{_libdir32}/libssp.so
+
+libitm=$(cd $RPM_BUILD_ROOT%{_libdir32}; echo libitm.so.*.*.*)
+mv $RPM_BUILD_ROOT%{_libdir32}/libitm.so.* $RPM_BUILD_ROOT%{_slibdir32}
+ln -sf %{_slibdir32}/$libitm $RPM_BUILD_ROOT%{_libdir32}/libitm.so
+
+libgomp=$(cd $RPM_BUILD_ROOT%{_libdir32}; echo libgomp.so.*.*.*)
+mv $RPM_BUILD_ROOT%{_libdir32}/libgomp.so.* $RPM_BUILD_ROOT%{_slibdir32}
+ln -sf %{_slibdir32}/$libgomp $RPM_BUILD_ROOT%{_libdir32}/libgomp.so
 %endif
 
 %if %{with fortran}
 ln -sf gfortran $RPM_BUILD_ROOT%{_bindir}/g95
-echo ".so gfortran.1" > $RPM_BUILD_ROOT%{_mandir}/man1/g95.1
+echo ".so man1/gfortran.1" > $RPM_BUILD_ROOT%{_mandir}/man1/g95.1
 %endif
 
 %if %{with ada}
 # move ada shared libraries to proper place...
-mv -f  $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/adalib/*.so.1 \
+mv -f  $RPM_BUILD_ROOT%{gcclibdir}/adalib/*.so.1 \
        $RPM_BUILD_ROOT%{_libdir}
 # check if symlink to be made is valid
 test -f        $RPM_BUILD_ROOT%{_libdir}/libgnat-%{major_ver}.so.1
@@ -1393,7 +1881,7 @@ ln -sf    libgnarl-%{major_ver}.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-%{major_ver
 ln -sf libgnat-%{major_ver}.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
 ln -sf libgnarl-%{major_ver}.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
 %if %{with multilib}
-mv -f  $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/32/adalib/*.so.1 \
+mv -f  $RPM_BUILD_ROOT%{gcclibdir}/32/adalib/*.so.1 \
        $RPM_BUILD_ROOT%{_libdir32}
 # check if symlink to be made is valid
 test -f        $RPM_BUILD_ROOT%{_libdir32}/libgnat-%{major_ver}.so.1
@@ -1410,25 +1898,43 @@ cd ..
 install -d java-doc
 cp -f libjava/READ* java-doc
 ln -sf libgcj-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/libgcj.jar
-rm -f $RPM_BUILD_ROOT%{_libdir}/classpath/libgjs*.la
-# tools.zip sources
-rm -rf $RPM_BUILD_ROOT%{_datadir}/classpath/tools/gnu
 %endif
+
+%if %{with gcc_libffi}
+# still not installed by gcc?
+[ ! -f $RPM_BUILD_ROOT%{_pkgconfigdir}/libffi.pc ] || exit 1
+install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
+sed -e 's,@prefix@,%{_prefix},
+       s,@exec_prefix@,%{_exec_prefix},
+       s,@libdir@,%{_libdir},
+       s,@gcclibdir@,%{gcclibdir},' %{SOURCE3} >$RPM_BUILD_ROOT%{_pkgconfigdir}/libffi.pc
+%if %{with multilib}
+[ ! -f $RPM_BUILD_ROOT%{_pkgconfigdir32}/libffi.pc ] || exit 1
+install -d $RPM_BUILD_ROOT%{_pkgconfigdir32}
+sed -e 's,@prefix@,%{_prefix},
+       s,@exec_prefix@,%{_exec_prefix},
+       s,@libdir@,%{_libdir32},
+       s,@gcclibdir@,%{gcclibdir},' %{SOURCE3} >$RPM_BUILD_ROOT%{_pkgconfigdir32}/libffi.pc
+%endif
+%endif
+
 %if %{with objc}
 cp -f libobjc/README gcc/objc/README.libobjc
 %endif
 
-%define        gcjdbexecdir    gcj-%{version}-%{gcj_soname_ver}
-
-# avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/*/%{version}
+# avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/%{_target_platform}/%{version}
 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
-for f in libssp.la libssp_nonshared.la \
+for f in libitm.la libssp.la libssp_nonshared.la \
        %{?with_cxx:libstdc++.la libsupc++.la} \
-       %{?with_fortran:libgfortran.la} \
+       %{?with_fortran:libgfortran.la libquadmath.la} \
        %{?with_gomp:libgomp.la} \
+       %{?with_asan:libasan.la} \
+       %{?with_tsan:libtsan.la} \
+       %{?with_atomic:libatomic.la} \
        %{?with_mudflap:libmudflap.la libmudflapth.la} \
 %if %{with java}
-       libffi.la libgcj.la libgcj-tools.la libgij.la \
+       %{?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} \
@@ -1443,12 +1949,14 @@ do
        mv $RPM_BUILD_ROOT%{_libdir}/$f{.fixed,}
 done
 %if %{with multilib}
-for f in libssp.la libssp_nonshared.la \
+for f in libitm.la libssp.la libssp_nonshared.la \
        %{?with_cxx:libstdc++.la libsupc++.la} \
-       %{?with_fortran:libgfortran.la} \
+       %{?with_fortran:libgfortran.la libquadmath.la} \
        %{?with_gomp:libgomp.la} \
+       %{?with_asan:libasan.la} \
+       %{?with_atomic:libatomic.la} \
        %{?with_mudflap:libmudflap.la libmudflapth.la} \
-       %{?with_java:libffi.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
@@ -1456,11 +1964,15 @@ do
 done
 %endif
 
-gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*)
-cp $gccdir/install-tools/include/*.h $gccdir/include
-cp $gccdir/include-fixed/syslimits.h $gccdir/include
-rm -rf $gccdir/install-tools
-rm -rf $gccdir/include-fixed
+cp -p $RPM_BUILD_ROOT%{gcclibdir}/install-tools/include/*.h $RPM_BUILD_ROOT%{gcclibdir}/include
+cp -p $RPM_BUILD_ROOT%{gcclibdir}/include-fixed/syslimits.h $RPM_BUILD_ROOT%{gcclibdir}/include
+%{__rm} -r $RPM_BUILD_ROOT%{gcclibdir}/install-tools
+%{__rm} -r $RPM_BUILD_ROOT%{gcclibdir}/include-fixed
+
+# plugin, .la not needed
+%{__rm} $RPM_BUILD_ROOT%{gcclibdir}/liblto_plugin.la
+# already packaged in binutils-devel
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libiberty.a
 
 %if %{with python}
 for LIB in lib lib64; do
@@ -1470,13 +1982,27 @@ for LIB in lib lib64; do
        sed -e 's,@pythondir@,%{_datadir}/gdb,' \
          -e 's,@toolexeclibdir@,%{_prefix}/'"$LIB," \
          < libstdc++-v3/python/hook.in \
-         > $LIBPATH/$(basename $RPM_BUILD_ROOT/%{_prefix}/%{_lib}/libstdc++.so.*.*.*)-gdb.py
+         > $LIBPATH/$(basename $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libstdc++.so.*.*.*)-gdb.py
 done
 install -d $RPM_BUILD_ROOT%{py_sitescriptdir}
-cp -a libstdc++-v3/python/libstdcxx $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
 %endif
 
 %find_lang gcc
@@ -1485,14 +2011,11 @@ cat cpplib.lang >> gcc.lang
 
 %if %{with cxx}
 %find_lang libstdc\+\+
-install libstdc++-v3/include/precompiled/* $RPM_BUILD_ROOT%{_includedir}
+cp -p libstdc++-v3/include/precompiled/* $RPM_BUILD_ROOT%{_includedir}
 %endif
 
-# gdb stuff maybe?
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.py
-%if %{with multilib}
-%{__rm} $RPM_BUILD_ROOT%{_libdir32}/*.py
-%endif
+# always -f, as "dir" is created depending which texlive version is installed
+%{__rm} -f $RPM_BUILD_ROOT%{_infodir}/dir
 
 # svn snap doesn't contain (release does) below files,
 # so let's create dummy entries to satisfy %%files.
@@ -1527,6 +2050,24 @@ rm -rf $RPM_BUILD_ROOT
 %postun        java -p /sbin/postshell
 -/usr/sbin/fix-info-dir -c %{_infodir}
 
+%post  go -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
+
+%postun        go -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
+
+%post  -n libquadmath-devel -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
+
+%postun        -n libquadmath-devel -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
+
+%post  -n libffi-devel -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
+
+%postun        -n libffi-devel -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
+
 %post  -p /sbin/ldconfig -n libgcc
 %postun        -p /sbin/ldconfig -n libgcc
 %post  -p /sbin/ldconfig -n libgcc-multilib
@@ -1561,6 +2102,24 @@ rm -rf $RPM_BUILD_ROOT
 %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 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 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 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 libtsan
+%postun        -p /sbin/ldconfig -n libtsan
+%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
 
 %files -f gcc.lang
 %defattr(644,root,root,755)
@@ -1571,7 +2130,10 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/cc
 %attr(755,root,root) %{_bindir}/cpp
 %attr(755,root,root) %{_bindir}/gcc
-%attr(755,root,root) %{_bindir}/gccbug
+%attr(755,root,root) %{_bindir}/gcc-ar
+%attr(755,root,root) %{_bindir}/gcc-nm
+%attr(755,root,root) %{_bindir}/gcc-ranlib
+#%attr(755,root,root) %{_bindir}/gccbug
 %attr(755,root,root) %{_bindir}/gcov
 %{_mandir}/man1/cc.1*
 %{_mandir}/man1/cpp.1*
@@ -1582,87 +2144,115 @@ rm -rf $RPM_BUILD_ROOT
 %{_infodir}/gcc.info*
 %{_infodir}/gccinstall.info*
 %{_infodir}/gccint.info*
+%{_infodir}/libitm.info*
 %attr(755,root,root) /lib/cpp
 %attr(755,root,root) %{_slibdir}/libgcc_s.so
+%attr(755,root,root) %{_libdir}/libitm.so
 %attr(755,root,root) %{_libdir}/libssp.so
+%{_libdir}/libitm.la
+%{_libdir}/libitm.a
+%{_libdir}/libitm.spec
 %{_libdir}/libssp.la
 %{_libdir}/libssp.a
 %{_libdir}/libssp_nonshared.la
 %{_libdir}/libssp_nonshared.a
 %dir %{_libdir}/gcc
-%dir %{_libdir}/gcc/*
-%dir %{_libdir}/gcc/*/*
-%{_libdir}/gcc/*/*/libgcc.a
-%{_libdir}/gcc/*/*/libgcc_eh.a
-%{_libdir}/gcc/*/*/libgcov.a
-%{_libdir}/gcc/*/*/specs
-%{_libdir}/gcc/*/*/crt*.o
-%attr(755,root,root) %{_libdir}/gcc/*/*/cc1
-%attr(755,root,root) %{_libdir}/gcc/*/*/collect2
-%attr(755,root,root) %{_libdir}/gcc/*/*/lto-wrapper
-%attr(755,root,root) %{_libdir}/gcc/*/*/lto1
-%{_libdir}/gcc/*/*/plugin
-%dir %{_libdir}/gcc/*/*/include
-%dir %{_libdir}/gcc/*/*/include/ssp
-%{_libdir}/gcc/*/*/include/ssp/*.h
-%{_libdir}/gcc/*/*/include/float.h
-%{_libdir}/gcc/*/*/include/iso646.h
-%{_libdir}/gcc/*/*/include/limits.h
-%{_libdir}/gcc/*/*/include/stdarg.h
-%{_libdir}/gcc/*/*/include/stdbool.h
-%{_libdir}/gcc/*/*/include/stddef.h
-%{_libdir}/gcc/*/*/include/stdfix.h
-%{_libdir}/gcc/*/*/include/stdint.h
-%{_libdir}/gcc/*/*/include/stdint-gcc.h
-%{_libdir}/gcc/*/*/include/syslimits.h
-%{_libdir}/gcc/*/*/include/unwind.h
-%{_libdir}/gcc/*/*/include/varargs.h
+%dir %{_libdir}/gcc/%{_target_platform}
+%dir %{gcclibdir}
+%{gcclibdir}/libgcc.a
+%{gcclibdir}/libgcc_eh.a
+%{gcclibdir}/libgcov.a
+%{gcclibdir}/specs
+%{gcclibdir}/crt*.o
+%attr(755,root,root) %{gcclibdir}/cc1
+%attr(755,root,root) %{gcclibdir}/collect2
+%attr(755,root,root) %{gcclibdir}/lto-wrapper
+%attr(755,root,root) %{gcclibdir}/lto1
+%attr(755,root,root) %{gcclibdir}/liblto_plugin.so*
+%{gcclibdir}/plugin
+%dir %{gcclibdir}/include
+%dir %{gcclibdir}/include/ssp
+%{gcclibdir}/include/ssp/*.h
+%{gcclibdir}/include/float.h
+%{gcclibdir}/include/iso646.h
+%{gcclibdir}/include/limits.h
+%{gcclibdir}/include/stdalign.h
+%{gcclibdir}/include/stdarg.h
+%{gcclibdir}/include/stdbool.h
+%{gcclibdir}/include/stddef.h
+%{gcclibdir}/include/stdfix.h
+%{gcclibdir}/include/stdint.h
+%{gcclibdir}/include/stdint-gcc.h
+%{gcclibdir}/include/stdnoreturn.h
+%{gcclibdir}/include/syslimits.h
+%{gcclibdir}/include/unwind.h
+%{gcclibdir}/include/varargs.h
 %ifarch %{ix86} %{x8664}
-%{_libdir}/gcc/*/*/include/abmintrin.h
-%{_libdir}/gcc/*/*/include/ammintrin.h
-%{_libdir}/gcc/*/*/include/avxintrin.h
-%{_libdir}/gcc/*/*/include/bmmintrin.h
-%{_libdir}/gcc/*/*/include/cpuid.h
-%{_libdir}/gcc/*/*/include/cross-stdarg.h
-%{_libdir}/gcc/*/*/include/emmintrin.h
-%{_libdir}/gcc/*/*/include/fma4intrin.h
-%{_libdir}/gcc/*/*/include/ia32intrin.h
-%{_libdir}/gcc/*/*/include/immintrin.h
-%{_libdir}/gcc/*/*/include/lwpintrin.h
-%{_libdir}/gcc/*/*/include/mm3dnow.h
-%{_libdir}/gcc/*/*/include/mm_malloc.h
-%{_libdir}/gcc/*/*/include/mmintrin.h
-%{_libdir}/gcc/*/*/include/nmmintrin.h
-%{_libdir}/gcc/*/*/include/popcntintrin.h
-%{_libdir}/gcc/*/*/include/pmmintrin.h
-%{_libdir}/gcc/*/*/include/smmintrin.h
-%{_libdir}/gcc/*/*/include/tmmintrin.h
-%{_libdir}/gcc/*/*/include/wmmintrin.h
-%{_libdir}/gcc/*/*/include/x86intrin.h
-%{_libdir}/gcc/*/*/include/xmmintrin.h
-%{_libdir}/gcc/*/*/include/xopintrin.h
-%endif
-%ifarch powerpc ppc ppc64
-%{_libdir}/gcc/*/*/include/altivec.h
-%{_libdir}/gcc/*/*/include/paired.h
-%{_libdir}/gcc/*/*/include/ppc-asm.h
-%{_libdir}/gcc/*/*/include/ppu_intrinsics.h
-%{_libdir}/gcc/*/*/include/si2vmx.h
-%{_libdir}/gcc/*/*/include/spe.h
-%{_libdir}/gcc/*/*/include/spu2vmx.h
-%{_libdir}/gcc/*/*/include/vec_types.h
+%{gcclibdir}/include/ammintrin.h
+%{gcclibdir}/include/avxintrin.h
+%{gcclibdir}/include/avx2intrin.h
+%{gcclibdir}/include/bmiintrin.h
+%{gcclibdir}/include/bmi2intrin.h
+%{gcclibdir}/include/bmmintrin.h
+%{gcclibdir}/include/cpuid.h
+%{gcclibdir}/include/cross-stdarg.h
+%{gcclibdir}/include/emmintrin.h
+%{gcclibdir}/include/f16cintrin.h
+%{gcclibdir}/include/fmaintrin.h
+%{gcclibdir}/include/fma4intrin.h
+%{gcclibdir}/include/ia32intrin.h
+%{gcclibdir}/include/immintrin.h
+%{gcclibdir}/include/lwpintrin.h
+%{gcclibdir}/include/lzcntintrin.h
+%{gcclibdir}/include/mm3dnow.h
+%{gcclibdir}/include/mm_malloc.h
+%{gcclibdir}/include/mmintrin.h
+%{gcclibdir}/include/nmmintrin.h
+%{gcclibdir}/include/popcntintrin.h
+%{gcclibdir}/include/pmmintrin.h
+%{gcclibdir}/include/smmintrin.h
+%{gcclibdir}/include/tbmintrin.h
+%{gcclibdir}/include/tmmintrin.h
+%{gcclibdir}/include/wmmintrin.h
+%{gcclibdir}/include/x86intrin.h
+%{gcclibdir}/include/xmmintrin.h
+%{gcclibdir}/include/xopintrin.h
+%{gcclibdir}/include/adxintrin.h
+%{gcclibdir}/include/fxsrintrin.h
+%{gcclibdir}/include/prfchwintrin.h
+%{gcclibdir}/include/rdseedintrin.h
+%{gcclibdir}/include/rtmintrin.h
+%{gcclibdir}/include/xsaveintrin.h
+%{gcclibdir}/include/xsaveoptintrin.h
+%{gcclibdir}/include/xtestintrin.h
+%endif
+%ifarch arm
+%{gcclibdir}/include/arm_neon.h
+%{gcclibdir}/include/mmintrin.h
+%endif
+%ifarch ia64
+%{gcclibdir}/include/ia64intrin.h
+%endif
+%ifarch m68k
+%{gcclibdir}/include/math-68881.h
+%endif
+%ifarch mips
+%{gcclibdir}/include/loongson.h
 %endif
 
 %if %{with multilib}
 %files multilib
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_slibdir32}/libgcc_s.so
-%dir %{_libdir}/gcc/*/*/32
-%{_libdir}/gcc/*/*/32/crt*.o
-%{_libdir}/gcc/*/*/32/libgcc.a
-%{_libdir}/gcc/*/*/32/libgcc_eh.a
-%{_libdir}/gcc/*/*/32/libgcov.a
+%dir %{gcclibdir}/32
+%{gcclibdir}/32/crt*.o
+%{gcclibdir}/32/libgcc.a
+%{gcclibdir}/32/libgcc_eh.a
+%{gcclibdir}/32/libgcov.a
+%attr(755,root,root) %{_libdir32}/libitm.so
 %attr(755,root,root) %{_libdir32}/libssp.so
+%{_libdir32}/libitm.la
+%{_libdir32}/libitm.a
 %{_libdir32}/libssp.la
 %{_libdir32}/libssp.a
 %{_libdir32}/libssp_nonshared.la
@@ -1672,28 +2262,32 @@ rm -rf $RPM_BUILD_ROOT
 %files -n libgcc
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_slibdir}/libgcc_s.so.1
+%attr(755,root,root) %{_slibdir}/libitm.so.*.*.*
 %attr(755,root,root) %{_slibdir}/libssp.so.*.*.*
+%attr(755,root,root) %ghost %{_slibdir}/libitm.so.1
 %attr(755,root,root) %ghost %{_slibdir}/libssp.so.0
 
 %if %{with multilib}
 %files -n libgcc-multilib
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_slibdir32}/libgcc_s.so.1
+%attr(755,root,root) %{_slibdir32}/libitm.so.*.*.*
 %attr(755,root,root) %{_slibdir32}/libssp.so.*.*.*
 %attr(755,root,root) %ghost %{_slibdir32}/libssp.so.0
+%attr(755,root,root) %ghost %{_slibdir32}/libitm.so.1
 %endif
 
 %if %{with gomp}
 %files -n libgomp
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libgomp.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libgomp.so.1
+%attr(755,root,root) %{_slibdir}/libgomp.so.*.*.*
+%attr(755,root,root) %ghost %{_slibdir}/libgomp.so.1
 
 %if %{with multilib}
 %files -n libgomp-multilib
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir32}/libgomp.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir32}/libgomp.so.1
+%attr(755,root,root) %{_slibdir32}/libgomp.so.*.*.*
+%attr(755,root,root) %ghost %{_slibdir32}/libgomp.so.1
 %endif
 
 %files -n libgomp-devel
@@ -1701,8 +2295,8 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/libgomp.so
 %{_libdir}/libgomp.la
 %{_libdir}/libgomp.spec
-%{_libdir}/gcc/*/*/finclude
-%{_libdir}/gcc/*/*/include/omp.h
+%{gcclibdir}/finclude
+%{gcclibdir}/include/omp.h
 %{_infodir}/libgomp.info*
 
 %if %{with multilib}
@@ -1747,7 +2341,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/libmudflapth.so
 %{_libdir}/libmudflap.la
 %{_libdir}/libmudflapth.la
-%{_libdir}/gcc/*/*/include/mf-runtime.h
+%{gcclibdir}/include/mf-runtime.h
 
 %if %{with multilib}
 %files -n libmudflap-multilib-devel
@@ -1783,13 +2377,12 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/libgnarl.so
 %attr(755,root,root) %{_libdir}/libgnat-*.so
 %attr(755,root,root) %{_libdir}/libgnat.so
-%attr(755,root,root) %{_libdir}/gcc/*/*/gnat1
-%{_libdir}/gcc/*/*/adainclude
-%dir %{_libdir}/gcc/*/*/adalib
-%{_libdir}/gcc/*/*/adalib/*.ali
-%{_libdir}/gcc/*/*/adalib/g-trasym.o
+%attr(755,root,root) %{gcclibdir}/gnat1
+%{gcclibdir}/adainclude
+%dir %{gcclibdir}/adalib
+%{gcclibdir}/adalib/*.ali
 %ifarch %{ix86} %{x8664}
-%{_libdir}/gcc/*/*/adalib/libgmem.a
+%{gcclibdir}/adalib/libgmem.a
 %endif
 %{_infodir}/gnat-style.info*
 %{_infodir}/gnat_rm.info*
@@ -1802,12 +2395,11 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir32}/libgnarl.so
 %attr(755,root,root) %{_libdir32}/libgnat-*.so
 %attr(755,root,root) %{_libdir32}/libgnat.so
-%{_libdir}/gcc/*/*/32/adainclude
-%dir %{_libdir}/gcc/*/*/32/adalib
-%{_libdir}/gcc/*/*/32/adalib/*.ali
-%{_libdir}/gcc/*/*/32/adalib/g-trasym.o
+%{gcclibdir}/32/adainclude
+%dir %{gcclibdir}/32/adalib
+%{gcclibdir}/32/adalib/*.ali
 %ifarch %{ix86} %{x8664}
-%{_libdir}/gcc/*/*/32/adalib/libgmem.a
+%{gcclibdir}/32/adalib/libgmem.a
 %endif
 %endif
 
@@ -1829,16 +2421,14 @@ rm -rf $RPM_BUILD_ROOT
 
 %files -n libgnat-static
 %defattr(644,root,root,755)
-%{_libdir}/gcc/*/*/adalib/libgnala.a
-%{_libdir}/gcc/*/*/adalib/libgnarl.a
-%{_libdir}/gcc/*/*/adalib/libgnat.a
+%{gcclibdir}/adalib/libgnarl.a
+%{gcclibdir}/adalib/libgnat.a
 
 %if %{with multilib}
 %files -n libgnat-multilib-static
 %defattr(644,root,root,755)
-%{_libdir}/gcc/*/*/32/adalib/libgnala.a
-%{_libdir}/gcc/*/*/32/adalib/libgnarl.a
-%{_libdir}/gcc/*/*/32/adalib/libgnat.a
+%{gcclibdir}/32/adalib/libgnarl.a
+%{gcclibdir}/32/adalib/libgnat.a
 %endif
 %endif
 
@@ -1850,7 +2440,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/*-g++
 %attr(755,root,root) %{_bindir}/c++
 %attr(755,root,root) %{_bindir}/*-c++
-%attr(755,root,root) %{_libdir}/gcc/*/*/cc1plus
+%attr(755,root,root) %{gcclibdir}/cc1plus
 %{_libdir}/libsupc++.la
 %{_libdir}/libsupc++.a
 %{_mandir}/man1/g++.1*
@@ -1866,13 +2456,13 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %doc libstdc++-v3/{ChangeLog,README}
 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libstdc++.so.6
+%attr(755,root,root) %ghost %{_libdir}/libstdc++.so.%{cxx_sover}
 
 %if %{with multilib}
 %files -n libstdc++-multilib
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir32}/libstdc++.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir32}/libstdc++.so.6
+%attr(755,root,root) %ghost %{_libdir32}/libstdc++.so.%{cxx_sover}
 %endif
 
 %if %{with python}
@@ -1882,7 +2472,10 @@ rm -rf $RPM_BUILD_ROOT
 %{py_sitescriptdir}/libstdcxx/*.py[co]
 %dir %{py_sitescriptdir}/libstdcxx/v6
 %{py_sitescriptdir}/libstdcxx/v6/*.py[co]
-%{_datadir}/gdb/auto-load/usr/lib*/libstdc++.so.6.0.14-gdb.py
+%{_datadir}/gdb/auto-load/usr/%{_lib}/libstdc++.so.%{cxx_sover}.*.*-gdb.py
+%if %{with multilib}
+%{_datadir}/gdb/auto-load/usr/lib/libstdc++.so.%{cxx_sover}.*.*-gdb.py
+%endif
 %endif
 
 %files -n libstdc++-devel
@@ -1934,11 +2527,14 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/g95
 %attr(755,root,root) %{_bindir}/gfortran
 %attr(755,root,root) %{_bindir}/*-gfortran
-%attr(755,root,root) %{_libdir}/gcc/*/*/f951
+%attr(755,root,root) %{gcclibdir}/f951
 %attr(755,root,root) %{_libdir}/libgfortran.so
+%{_libdir}/libgfortran.spec
 %{_libdir}/libgfortran.la
-%{_libdir}/gcc/*/*/libgfortranbegin.la
-%{_libdir}/gcc/*/*/libgfortranbegin.a
+%{gcclibdir}/libcaf_single.a
+%{gcclibdir}/libcaf_single.la
+%{gcclibdir}/libgfortranbegin.la
+%{gcclibdir}/libgfortranbegin.a
 %{_infodir}/gfortran.info*
 %{_mandir}/man1/g95.1*
 %{_mandir}/man1/gfortran.1*
@@ -1947,9 +2543,12 @@ rm -rf $RPM_BUILD_ROOT
 %files fortran-multilib
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir32}/libgfortran.so
+%{_libdir32}/libgfortran.spec
 %{_libdir32}/libgfortran.la
-%{_libdir}/gcc/*/*/32/libgfortranbegin.la
-%{_libdir}/gcc/*/*/32/libgfortranbegin.a
+%{gcclibdir}/32/libcaf_single.a
+%{gcclibdir}/32/libcaf_single.la
+%{gcclibdir}/32/libgfortranbegin.la
+%{gcclibdir}/32/libgfortranbegin.a
 %endif
 
 %files -n libgfortran
@@ -1974,6 +2573,43 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %{_libdir32}/libgfortran.a
 %endif
+
+%files -n libquadmath
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libquadmath.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libquadmath.so.0
+
+%if %{with multilib}
+%files -n libquadmath-multilib
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir32}/libquadmath.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir32}/libquadmath.so.0
+%endif
+
+%files -n libquadmath-devel
+%defattr(644,root,root,755)
+%{gcclibdir}/include/quadmath.h
+%{gcclibdir}/include/quadmath_weak.h
+%attr(755,root,root) %{_libdir}/libquadmath.so
+%{_libdir}/libquadmath.la
+%{_infodir}/libquadmath.info*
+
+%if %{with multilib}
+%files -n libquadmath-multilib-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir32}/libquadmath.so
+%{_libdir32}/libquadmath.la
+%endif
+
+%files -n libquadmath-static
+%defattr(644,root,root,755)
+%{_libdir}/libquadmath.a
+
+%if %{with multilib}
+%files -n libquadmath-multilib-static
+%defattr(644,root,root,755)
+%{_libdir32}/libquadmath.a
+%endif
 %endif
 
 %if %{with java}
@@ -2000,9 +2636,9 @@ rm -rf $RPM_BUILD_ROOT
 %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) %{_libdir}/gcc/*/*/ecj1
-%attr(755,root,root) %{_libdir}/gcc/*/*/jc1
-%attr(755,root,root) %{_libdir}/gcc/*/*/jvgenmain
+%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*
@@ -2025,6 +2661,15 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man1/jv-convert.1*
 %{_mandir}/man1/rebuild-gcj-db*
 
+%if %{with python}
+%files java-aotcompile
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/aot-compile
+%dir %{py_sitescriptdir}/libjava
+%{py_sitescriptdir}/libjava/*.py[co]
+%{_mandir}/man1/aot-compile.1*
+%endif
+
 %files -n libgcj
 %defattr(644,root,root,755)
 %doc libjava/{ChangeLog,LIBGCJ_LICENSE,NEWS,README,THANKS}
@@ -2080,12 +2725,12 @@ rm -rf $RPM_BUILD_ROOT
 %{?with_qt:%{_libdir}/%{gcjdbexecdir}/libqtpeer.la}
 %{?with_mozilla:%{_libdir}/%{gcjdbexecdir}/libgcjwebplugin.la}
 %{_libdir}/%{gcjdbexecdir}/libxmlj.la
-%{_libdir}/gcc/*/*/include/gcj
-%{_libdir}/gcc/*/*/include/jawt.h
-%{_libdir}/gcc/*/*/include/jawt_md.h
-%{_libdir}/gcc/*/*/include/jni.h
-%{_libdir}/gcc/*/*/include/jni_md.h
-%{_libdir}/gcc/*/*/include/jvmpi.h
+%{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
@@ -2102,7 +2747,9 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libgij.a
 %{?with_x:%{_libdir}/lib-gnu-awt-xlib.a}
 %{_libdir}/%{gcjdbexecdir}/libjvm.a
+%endif
 
+%if %{with gcc_libffi}
 %files -n libffi
 %defattr(644,root,root,755)
 %doc libffi/{ChangeLog,ChangeLog.libgcj,LICENSE,README}
@@ -2120,15 +2767,18 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libffi.so
 %{_libdir}/libffi.la
-%{_libdir}/gcc/*/*/include/ffi.h
-%{_libdir}/gcc/*/*/include/ffitarget.h
+%{gcclibdir}/include/ffi.h
+%{gcclibdir}/include/ffitarget.h
+%{_pkgconfigdir}/libffi.pc
 %{_mandir}/man3/ffi*.3*
+%{_infodir}/libffi.info*
 
 %if %{with multilib}
 %files -n libffi-multilib-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir32}/libffi.so
 %{_libdir32}/libffi.la
+%{_pkgconfigdir32}/libffi.pc
 %endif
 
 %files -n libffi-static
@@ -2145,11 +2795,18 @@ rm -rf $RPM_BUILD_ROOT
 %if %{with objc}
 %files objc
 %defattr(644,root,root,755)
-%doc gcc/objc/README
-%attr(755,root,root) %{_libdir}/gcc/*/*/cc1obj
+%doc gcc/objc/README.libobjc
+%attr(755,root,root) %{gcclibdir}/cc1obj
 %attr(755,root,root) %{_libdir}/libobjc.so
 %{_libdir}/libobjc.la
-%{_libdir}/gcc/*/*/include/objc
+%{gcclibdir}/include/objc
+
+%if %{with objcxx}
+%files objc++
+%defattr(644,root,root,755)
+%doc gcc/objcp/ChangeLog
+%attr(755,root,root) %{gcclibdir}/cc1objplus
+%endif
 
 %if %{with multilib}
 %files objc-multilib
@@ -2162,13 +2819,13 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %doc libobjc/{ChangeLog,README*}
 %attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libobjc.so.2
+%attr(755,root,root) %ghost %{_libdir}/libobjc.so.4
 
 %if %{with multilib}
 %files -n libobjc-multilib
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir32}/libobjc.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir32}/libobjc.so.2
+%attr(755,root,root) %ghost %{_libdir32}/libobjc.so.4
 %endif
 
 %files -n libobjc-static
@@ -2182,823 +2839,151 @@ rm -rf $RPM_BUILD_ROOT
 %endif
 %endif
 
-%if %{with objcxx}
-%files objc++
+%if %{with go}
+%files go
 %defattr(644,root,root,755)
-%doc gcc/objcp/ChangeLog
-%attr(755,root,root) %{_libdir}/gcc/*/*/cc1objplus
-%endif
-
-%define date   %(echo `LC_ALL="C" date +"%a %b %d %Y"`)
-%changelog
-* %{date} PLD Team <feedback@pld-linux.org>
-All persons listed below can be reached at <cvs_login>@pld-linux.org
-
-$Log: gcc.spec,v $
-Revision 1.649.2.3  2011/07/01 17:47:33  lisu
-- rel 3
-
-Revision 1.649.2.2  2011/06/28 09:11:28  lisu
-- rel 2
-
-Revision 1.649.2.1  2011/05/15 14:26:34  arekm
-- up to 4.5.3
-
-Revision 1.649  2011/02/12 18:47:58  arekm
-- rel 4; branch diff updated
-
-Revision 1.648  2011/02/09 17:00:38  qboosh
-- no //
-
-Revision 1.647  2011/02/09 16:39:44  qboosh
-- pl for libstdc++-gdb
-
-Revision 1.646  2011/01/24 19:05:00  arekm
-- rel 3; branch diff updated
-
-Revision 1.645  2011/01/08 17:34:35  arekm
-- rel 2; branch diff updated
-
-Revision 1.644  2010/12/18 21:01:45  arekm
-- up to 4.5.2
-
-Revision 1.643  2010/11/16 08:53:09  arekm
-- rel 5; branch diff updated; python-pretty-printer-bool-vector.patch dropped (unneded says pluto)
-
-Revision 1.642  2010/10/27 19:34:30  wiget
-- added note about missing libffi.pc
-
-Revision 1.641  2010/10/25 05:51:51  qboosh
-- pl for libstdc++-apidocs
-
-Revision 1.640  2010/10/25 05:25:54  glen
-- typos
-
-Revision 1.639  2010/10/25 05:14:11  glen
-- no html subdir
-
-Revision 1.638  2010/10/25 05:13:43  glen
-- libstdc++-apidocs subpackage
-
-Revision 1.637  2010/10/16 14:07:56  pluto
-- do not check for unresolved symbols on mudflap hooks and java modules.
-- release 4.
-
-Revision 1.636  2010/10/16 08:52:48  pluto
-- patch pretty printers to support std::vector<bool>.
-- release 3 for rebuild with new branch diff.
-
-Revision 1.635  2010/10/15 21:44:34  pluto
-- gcc-branch.diff updated.
-- libstdc++ python pretty printers for gdb packaged.
-- adapterized.
-- nfy...
-
-Revision 1.634  2010/10/02 06:24:56  qboosh
-- libffi note
-
-Revision 1.633  2010/09/30 06:44:44  qboosh
-- needs pdksh with heredoc quote fix
-
-Revision 1.632  2010/09/29 07:06:38  qboosh
-- restored gcj-dbtool
-- remaining ghost soname symlinks
-
-Revision 1.631  2010/09/29 06:32:22  qboosh
-- unified rm and info post/postun
-
-Revision 1.630  2010/09/29 06:18:15  qboosh
-- more verbose/unified form of files
-
-Revision 1.629  2010/09/28 18:23:54  qboosh
-- finished fixing multilib descriptions
-
-Revision 1.628  2010/09/28 06:41:46  qboosh
-- fixing multilib descriptions part#1
-
-Revision 1.627  2010/09/28 06:15:10  qboosh
-- missing strict internal deps
-- libgcj R: libstdc++
-
-Revision 1.626  2010/08/29 19:28:54  arekm
-- rel 2; branch fixes
-
-Revision 1.625  2010/08/03 12:55:54  pluto
-- bootstrap fixed, release 1.
-
-Revision 1.624  2010/08/01 18:39:38  arekm
-- rel should be 0.1
-
-Revision 1.623  2010/08/01 18:18:49  arekm
-- up to 4.5.1 (but broken, doesn't build, just like most of our 4.5.0 snaps)
-
-Revision 1.622  2010/07/04 19:21:20  arekm
-- rel 10; branch diff updated
-
-Revision 1.621  2010/06/15 20:02:42  pluto
-- branch.diff updeaded, revert.patch dropped, release 9.
-
-Revision 1.620  2010/06/08 08:55:30  arekm
-- rel 8; fixes from upstream
-
-Revision 1.619  2010/06/01 08:11:05  arekm
-- rel 7; branch diff updated
-
-Revision 1.618  2010/05/24 13:31:34  arekm
-- rel 6; revert one optimization until gcc bug 44258 is fixed
-
-Revision 1.617  2010/05/20 12:17:23  arekm
-- rel 5; branch diff updated
-
-Revision 1.616  2010/05/18 10:09:27  gotar
-- binutils is epoch 3 since rev. 1.224/1.198.2.3
-
-Revision 1.615  2010/05/15 08:10:40  pluto
-- release 4 (rebuild with updated branch diff).
-
-Revision 1.614  2010/04/16 20:04:15  glen
-- gdb note
-
-Revision 1.613  2010/04/16 17:11:05  pluto
-- trully release 3.
-- more TODO.
-
-Revision 1.612  2010/04/16 17:02:36  arekm
-- rel 3
-
-Revision 1.611  2010/04/16 15:09:36  arekm
-- rel 2; don't install libdir py files for now as ldconfig yells on this
-
-Revision 1.610  2010/04/16 12:32:56  arekm
-- rel 1
-
-Revision 1.609  2010/04/16 11:16:18  pluto
-- additional hook (FINISH_DECL) for plugin machinery.
-
-Revision 1.608  2010/04/16 10:59:41  pluto
-- use major_ver and gcj_soname_ver instead of hardcoded numbers.
-
-Revision 1.607  2010/04/16 10:27:25  arekm
-- more todo
-
-Revision 1.606  2010/04/16 10:23:09  arekm
-- ffi man pages
-
-Revision 1.605  2010/04/16 10:19:47  arekm
-- update files
-
-Revision 1.604  2010/04/16 08:56:23  pluto
-- add missed BRs, enable LTO and plugin machinery.
-- remove --enable-multilib from ./configure, it's enabled by default.
-
-Revision 1.603  2010/04/16 06:36:06  arekm
-- fetch 4.5.0 tarball
-
-Revision 1.602  2010/04/14 13:57:00  pluto
-- speedup bootstrap stage1 build.
-
-Revision 1.601  2010/03/29 05:53:51  arekm
-- rel 5; fix patches
-
-Revision 1.600  2010/03/28 20:57:20  arekm
-- rel 4
-
-Revision 1.599  2010/03/28 20:35:25  arekm
-- release 3
-
-Revision 1.598  2010/02/05 20:13:02  arekm
-- rel 2; disable mozilla bcond until it's fixed
-
-Revision 1.597  2010/01/21 18:49:47  arekm
-- rel 1; builds
-
-Revision 1.596  2010/01/21 14:59:21  pluto
-- updated to 4.4.3, java build broken by recent xulrunner headers!
-
-Revision 1.595  2009/12/06 20:34:09  jajcus
-- BR: dssi-devel, not dssi
-
-Revision 1.594  2009/11/24 19:42:40  sparky
-- put all make options inside Makefile, so it's easier to restart the build
-
-Revision 1.593  2009/11/12 11:33:54  patrys
-- rebuild
-- rel 5
-
-Revision 1.592  2009/10/26 21:31:39  arekm
-- rel 4; fix patches
-
-Revision 1.591  2009/10/26 20:44:46  arekm
-- rel 3; more branch fixes
-
-Revision 1.590  2009/10/25 12:26:03  gotar
-- updated binutils R (unknown pseudo-op: `.cfi_sections')
-
-Revision 1.589  2009/10/23 15:04:21  sls
-- BR: xorg-lib-libXt-devel
-
-Revision 1.588  2009/10/21 11:14:52  pluto
-- release 2, branch diff updated.
-
-Revision 1.587  2009/10/15 14:33:38  pluto
-- updated to 4.4.2, branch diff regenerated, release 1.
-
-Revision 1.586  2009/09/18 11:18:58  arekm
-- rel 3; branch diff updated
-
-Revision 1.585  2009/07/26 09:35:39  arekm
-- rel 2; drop pr14912 patch which causes https://svn.boost.org/trac/boost/ticket/3287
-
-Revision 1.584  2009/07/24 08:21:05  arekm
-- check for release
-
-Revision 1.583  2009/07/24 07:33:19  arekm
-- up to 4.4.1
-
-Revision 1.582  2009/07/12 16:40:11  arekm
-- rel 7; drop patch101 (we don't know where it comes from and it seem to be unmaintained here); update branch diff
-
-Revision 1.581  2009/07/11 10:19:19  pluto
-- one more sparcv9 fix.
-
-Revision 1.580  2009/07/07 08:10:22  tommat
-- 32bit sparc in th is sparcv9
-
-Revision 1.579  2009/07/01 00:32:06  arekm
-- rel 6; more fixes
-
-Revision 1.578  2009/06/28 16:28:16  arekm
-- rel 5; upstream fixes
-
-Revision 1.577  2009/06/10 05:47:42  pawelz
-- gij supports ClassDataVersion 50 now
-- subpackage java obsoletes java-gnu-classpath-tools
-- rel 4
-
-Revision 1.576  2009/05/25 05:00:49  tommat
-- enable moresparcs patch
-
-Revision 1.575  2009/05/21 16:54:39  tommat
-- disable ada for sparc64
-
-Revision 1.574  2009/04/27 07:44:41  arekm
-- rel 3
-
-Revision 1.573  2009/04/24 13:18:24  arekm
-- rel 2; add latest fixes from 4.4 branch
-
-Revision 1.572  2009/04/22 21:22:02  pawelz
-- package rebuild-gcj-db man page
-- ghost symlinks for libstdc++ and gcj libs
-
-Revision 1.571  2009/04/21 22:48:35  sparky
-- cross-stdarg.h is x86(64)-specyfic
-
-Revision 1.570  2009/04/21 20:54:09  pluto
-- reenable ix86 branch diff.
-
-Revision 1.569  2009/04/21 13:29:17  arekm
-- up to final 4.4.0
-
-Revision 1.568  2009/04/02 10:59:19  pluto
-- remove dead entry in %%files.
-
-Revision 1.567  2009/04/01 18:12:59  pluto
-- bump 4.4 branch snapshot, apply smarter template diagnostics patch.
-
-Revision 1.566  2009/03/23 08:14:11  arekm
-- enable build-id feature by default
-
-Revision 1.565  2009/02/27 11:28:51  glen
-- multilib obsoletes libgcc32; rel .3
-
-Revision 1.564  2009/02/25 22:12:28  baggins
-- gcc-fortran requires exact gcc, or you'll get this:
-  i686-pld-linux-gfortran: error trying to exec 'cc1': execvp: No such file or directory
-
-Revision 1.563  2009/01/26 19:43:49  pluto
-- new snap, decimal float enabled explicitly.
-
-Revision 1.562  2009/01/03 15:10:13  pluto
-- initial update for incoming 4.4.0 (stable 4.3 branched as GCC_4_3).
-
-Revision 1.561  2008/11/17 23:48:41  pluto
-- strict deps for libstdc++-multilib-devel.
-
-Revision 1.560  2008/11/14 22:20:39  arekm
-- rel 5; update branch diff
-
-Revision 1.559  2008/11/05 23:42:15  arekm
-- release 4
-
-Revision 1.558  2008/09/11 09:16:40  pluto
-- branch.diff updated (fix powerpc wrong code due to insn scheduler bug).
-- release 3.
-
-Revision 1.557  2008/09/08 22:03:35  pluto
-- branch.diff updated, release 2.
-
-Revision 1.556  2008/08/28 16:29:30  pluto
-- correct DEV-PHASE.
-
-Revision 1.555  2008/08/28 15:31:08  pluto
-- updated to 4.3.2 w/ additional branch fixes, release 1.
-
-Revision 1.554  2008/08/26 20:01:12  pluto
-- updated to 4.3.2-RC1.
-
-Revision 1.553  2008/07/28 12:20:43  blekot
-- added Provides: java(ClassDataVersion) = %{_classdataversion}
-- rel up (4)
-
-Revision 1.552  2008/07/22 20:41:20  arekm
-gcc-java O: eclipse-ecj
-
-Revision 1.551  2008/07/21 12:19:49  arekm
-- readline not needed
-
-Revision 1.550  2008/07/20 11:13:30  arekm
-- conditional on source is evil
-
-Revision 1.549  2008/07/20 11:10:29  arekm
-rel 3; include ecj here; patch by uzi18/o2.pl
-
-Revision 1.548  2008/06/27 20:43:20  arekm
-- rel 2
-
-Revision 1.547  2008/06/27 20:37:41  arekm
-BR perl-base
-
-Revision 1.546  2008/06/27 20:36:16  arekm
-- Call SOURCE1 via perl so it will work even if source file doesn't have executable bit set.
-
-Revision 1.545  2008/06/23 15:12:28  pluto
-- branch diff updated, fixes major ia32 bug (kernel-wrong-code).
-
-Revision 1.544  2008/06/20 08:53:38  pluto
-- don't require external jar, we have gjar now in gcc-java.
-- fix internal jar wrapper build.
-
-Revision 1.543  2008/06/19 18:29:11  pluto
-- testing alternative solution to avoid BC:jar...
-
-Revision 1.542  2008/06/16 18:02:38  arekm
-- BC jar only if building with java
-
-Revision 1.541  2008/06/16 18:01:28  arekm
-- BC: jar
-
-Revision 1.540  2008/06/16 11:16:34  pluto
-- apply branch fixes (mostly c++ mem/cpu hogs).
-- apply ix86 branch diff for recent intel/amd processors
-  with hardware aes/pclmul support.
-- disable qt(peer) bcond. build requires ac/am/lt regen but libjava
-  runtime (natRuntime.cc) uses deprecated/removed libtool-1.5 api
-  (see lt_dlforeach function). finally it doesn;t build at all.
-- release 1.
-
-Revision 1.539  2008-06-13 22:09:52  arekm
-- libtool solved
-
-Revision 1.538  2008-06-13 11:04:53  arekm
-- partial libtool 2.2 workaround. lt_dlforeach() libltdl API was deprecated and we need to find out how to replace it
-
-Revision 1.537  2008-06-09 14:49:23  pluto
-- fetch 4.3.1 tarball, release 0.1 dueto TODO.
-
-Revision 1.536  2008-05-29 13:45:14  pluto
-- updated to 4.3.1-RC2, needs libtool fix (see TODO).
-
-Revision 1.535  2008-05-28 06:00:33  tommat
-- added moresparcs patch, sparcv9 target still not working
-
-Revision 1.534  2008-05-26 14:26:56  pluto
-- updated to 4.3.1-RC1.
-
-Revision 1.533  2008-04-30 11:47:29  pluto
-- if-java for gnative2ascii exclude.
-
-Revision 1.532  2008-04-18 14:31:24  pluto
-- wrong patch dropped, branch.diff updated.
-
-Revision 1.531  2008-04-09 14:16:10  pluto
-- gomp/mudflap bconded.
-
-Revision 1.530  2008-04-08 21:22:19  pluto
-- s/branch.diff/branch.diff.bz2/
-
-Revision 1.529  2008-03-13 21:47:04  pluto
-- restore version overwriting (accidentally removed).
-
-Revision 1.528  2008-03-13 21:01:40  pluto
-- branch diff reactivated.
-
-Revision 1.527  2008-03-10 12:10:14  pluto
-- support -mcld option (generate cld instruction in fn. prologue).
-- userland compiled with gcc43 for old buggy kernels needs this!
-
-Revision 1.526  2008-03-08 07:22:01  pluto
-- gcc reqs gmp-devel and mpfr-devel unconditionally now.
-
-Revision 1.525  2008-03-06 23:11:54  pluto
-- pass CC=%%{__cc} to configure.
-
-Revision 1.524  2008-03-06 23:01:09  pluto
-- alpha_ada-fix.patch not needed.
-
-Revision 1.523  2008-03-06 22:48:55  pluto
-- enable optimized __cxa_guard_{acquire,release,abort} for linux.
-  http://gcc.gnu.org/ml/gcc-patches/2007-12/msg01195.html
-
-Revision 1.522  2008-03-06 21:24:30  pluto
-- new includes for ppc vector unit.
-
-Revision 1.521  2008-03-06 19:34:29  pluto
-- s/gsyslimits.h/syslimits.h/
-
-Revision 1.520  2008-03-06 15:35:15  pluto
-- libqtpeer.so is back, release 1.
-
-Revision 1.519  2008-03-06 08:22:28  pluto
-- fetch final 4.3.0 tarball, qtpeer nfy, kernel has a bug, release 0.1.
-
-Revision 1.518  2008-03-04 20:43:13  pluto
-- move omp.h from libgomp-devel to gcc (libstdc++/parallel needs this header).
-- move {org,sun} subdirs from libstdc++-devel to libgcj-devel.
+%doc gcc/go/gofrontend/{LICENSE,PATENTS,README}
+%attr(755,root,root) %{_bindir}/gccgo
+%attr(755,root,root) %{gcclibdir}/go1
+%dir %{_libdir}/go
+%{_libdir}/go/%{version}
+%{_mandir}/man1/gccgo.1*
+%{_infodir}/gccgo.info*
 
-Revision 1.517  2008-03-04 20:26:13  pluto
-- fixup install/files. qtpeer.so linking needs fix.
-
-Revision 1.516  2008-03-04 15:30:05  pluto
-- 4.2.3 copied to GCC_4_2 branch.
-- spec updated to 4.3.0-rc2.
-
-Revision 1.515  2008-02-14 19:29:47  pluto
-- ldconfig for *-multilib subpkgs.
-
-Revision 1.514  2008-02-01 20:00:36  pluto
-- dropped concept checks bcond. current boost-based design of this feature is broken.
-  suitable implementation of concepts will be merged into gcc-4.4.
-  development branch: http://gcc.gnu.org/projects/cxx0x.html#concepts
-- updated to 4.2.3, release 1.
-
-Revision 1.513  2008-01-24 01:36:31  glen
-- invoke fix-info-dir via /sbin/postshell where possible to avoid extra /bin/sh dep
-
-Revision 1.512  2008-01-24 01:22:59  glen
-- invoke fix-info-dir via /sbin/postshell where possible to avoid extra /bin/sh dep
-
-Revision 1.511  2008-01-18 16:29:55  qboosh
-- libstdc++ R: equal or newer libgcc
-
-Revision 1.510  2007-12-29 00:40:26  glen
-- obsoletes for ac gcc4 package; rel 3
-
-Revision 1.509  2007-12-09 01:39:13  glen
-- R: jpackage-utils for %{_javadir}
-
-Revision 1.508  2007-10-10 12:03:36  pluto
-- branch diff updated. wrong-code regressions fixed, release 2.
-
-Revision 1.507  2007/10/09 11:01:47  pluto
-- updated to 4.2.2 final, release 1.
-
-Revision 1.506  2007/09/28 14:56:53  pluto
-- updated to 4.2.2-RC2.
-
-Revision 1.505  2007/09/16 12:44:32  qboosh
-- updated/fixed License tags (gcc is on GPL v3+ now)
-
-Revision 1.504  2007/09/10 13:45:57  pluto
-- updated to 4.2.2-RC1.
-
-Revision 1.503  2007/08/28 08:30:04  pluto
-- branch.diff updated, release 2.
-
-Revision 1.502  2007/07/22 11:12:08  pluto
-- updated to 4.2.1.
-
-Revision 1.501  2007/07/18 05:44:18  arekm
-- rel 9; disable concept checks by default
-
-Revision 1.500  2007/07/04 21:55:21  arekm
-- rel 8; updated branch diff
-
-Revision 1.499  2007/06/25 22:01:28  pluto
-- branch.diff, unnecessary_anonymous_warning.patch updated, release 7.
-
-Revision 1.498  2007/06/12 14:14:47  pluto
-- enable concept checks in libstdc++.
-
-Revision 1.497  2007/06/09 14:09:45  arekm
-- multilib build needs BR: gcc(multilib)
-
-Revision 1.496  2007/06/09 13:35:37  arekm
-- P: gcc(multilib) moved from main package to -multilib subpackage
-
-Revision 1.495  2007/06/09 10:23:20  arekm
-- rel 6; branch diff update; gcc-multilib R: libgcc-multilib added
-
-Revision 1.494  2007/06/03 13:08:05  pluto
-- multilib split merged from devel, branch diff updated, release 5.
-
-Revision 1.493  2007/05/28 12:36:50  pluto
-- remove obsolete patch.
-
-Revision 1.492  2007/05/24 19:28:17  qboosh
-- javadeps not used by default (and currently not needed here)
-
-Revision 1.491  2007/05/24 19:13:36  qboosh
-- relative .jar symlink within directory
-
-Revision 1.490  2007/05/24 18:23:14  pluto
-- java BR rpm-javaprov, release 4.
-
-Revision 1.489  2007/05/21 11:30:54  pluto
-- fix patch for PR/30052 that causes an ICE during fortran bootstrap.
-- release 3.
-
-Revision 1.488  2007/05/19 17:18:48  qboosh
-- sanitize libgij.la
-
-Revision 1.487  2007/05/19 17:13:35  qboosh
-- package libgfortranbegin.la
-
-Revision 1.486  2007/05/19 14:36:40  pluto
-- fix mem/time hog, release 2.
-
-Revision 1.485  2007/05/19 12:49:36  qboosh
-- mozilla bcond (for libgcjwebplugin)
-
-Revision 1.484  2007/05/18 19:33:41  qboosh
-- post-snap cleanup (snaps belong to DEVEL branch)
-
-Revision 1.483  2007/05/15 21:07:56  pluto
-- 4.2.0 released.
-
-Revision 1.482  2007/05/05 14:27:30  pluto
-- turn off unnecessary warnings about anonymous namespaces.
-
-Revision 1.481  2007/05/02 19:27:33  pluto
-- 4.2.0-RC3.
-
-Revision 1.480  2007/05/01 21:18:52  pluto
-- 4.2.0-RC2.
-
-Revision 1.479  2007/04/25 21:17:40  pluto
-- branch diff updated to 20070425.
-
-Revision 1.478  2007/04/18 13:15:02  pluto
-- enable .gnu.hash by default, enable libgcjwebplugin.so.
-
-Revision 1.477  2007/04/16 09:38:58  pluto
-- branch diff (bugfixes) applied.
-
-Revision 1.476  2007/04/09 00:09:09  baggins
-- removed stupid hack
-
-Revision 1.475  2007/04/09 00:06:25  baggins
-- removed pre 4.2 changelog entries (40KB of now meaningless text)
-
-Revision 1.474  2007/04/09 00:04:55  baggins
-- reverted to rc1, hack around release to avoid bumping epoch
-- we don't want broken random snapshots anymore now
-
-Revision 1.473  2007/04/03 07:00:04  arekm
-- up to 20070403.r123448
-
-Revision 1.472  2007/03/20 20:13:37  pluto
-- fix PR c++/7302, drop broken patches, make testsuite working.
-
-Revision 1.471  2007/03/18 09:50:31  arekm
-4.2.0 rc1
-
-Revision 1.470  2007/03/08 00:36:48  pluto
-- updated to 4.2.0-20070307.
-
-Revision 1.469  2007/03/01 15:48:22  arekm
-- up to 20070228
-
-Revision 1.468  2007/02/24 04:51:15  sls
-- BR: libart_lgpl-devel (--with gtk); sorted BR
-
-Revision 1.467  2007/02/22 21:04:12  arekm
-- up to 20070221; -pr29943.patch merged
-
-Revision 1.466  2007/02/14 23:06:54  pluto
-- updated to 4.2.0-20070214.
-
-Revision 1.465  2007/02/14 21:50:28  pluto
-- fix -fsection-anchors ( ppc related ).
-
-Revision 1.464  2007/02/13 07:16:45  glen
-- tabs in preamble
-
-Revision 1.463  2007/02/12 00:48:34  baggins
-- converted to UTF-8
-
-Revision 1.462  2007/02/10 11:51:55  arekm
-- add libgomp info files
-
-Revision 1.461  2007/02/09 23:49:48  arekm
-- disable one patch that looks broken according to bugreport
-
-Revision 1.460  2007/02/09 23:40:11  arekm
-- snap 20070207; pr19505 already fixed in different way
-
-Revision 1.459  2007/01/26 20:24:54  arekm
-- up to 20070126r121214
-
-Revision 1.458  2007/01/14 12:11:26  qboosh
-- restored lib-gnu-awt-xlib after my messing (it comes directly from libjava,
-  not classpath as I though); added x bcond
-
-Revision 1.457  2007/01/06 11:49:18  pluto
-- update
-
-Revision 1.456  2007/01/06 11:43:31  arekm
-- use any external jar like fastjar
-
-Revision 1.455  2007/01/05 02:28:42  sls
-- BR: perl-tools-pod (fastjar needs pod2man)
-
-Revision 1.454  2007/01/02 11:55:15  arekm
-- gmem.a is also available on x86_64
-
-Revision 1.453  2007/01/01 20:50:22  arekm
-TODO
-
-Revision 1.452  2007/01/01 18:18:16  arekm
-- add --enable-java-awt
-
-Revision 1.451  2007/01/01 14:22:58  arekm
-- correct bcond names (?)
-
-Revision 1.450  2007/01/01 00:10:07  arekm
-- rel .2
-
-Revision 1.449  2006/12/31 21:29:34  pluto
-- up to 20061231r120298
-
-Revision 1.448  2006/12/31 18:25:10  qboosh
-- reverted c++config.h splitting, it's already handled by 32 subdir in C++ headers
-
-Revision 1.447  2006/12/31 17:15:26  qboosh
-- release .3
-
-Revision 1.446  2006/12/31 03:56:58  qboosh
-- bugfix
-
-Revision 1.445  2006/12/31 00:09:02  qboosh
-- configure --with-cpu=ultrasparc on sparc64 (merged from AC-branch)
-
-Revision 1.444  2006/12/30 23:59:20  qboosh
-- sparc64->sparc hardlinks only if built with multilib
-- handle different c++config.h files if c++ is built with multilib
-
-Revision 1.443  2006/12/30 23:47:49  qboosh
-- more sparc64->sparc hardlinks (merged from AC-branch)
-
-Revision 1.442  2006/12/30 02:13:36  qboosh
-- more libgomp
-
-Revision 1.441  2006/12/30 01:24:55  qboosh
-- bugfix
-
-Revision 1.440  2006/12/30 01:11:39  qboosh
-- no lib-gnu-awt-xlib
-
-Revision 1.439  2006/12/29 15:29:25  qboosh
-- typo
-
-Revision 1.438  2006/12/29 14:32:40  qboosh
-- java updates, added alsa,dssi,gtk,qt bconds
-
-Revision 1.437  2006/12/29 13:30:47  qboosh
-- added libgomp*
-
-Revision 1.436  2006/12/25 17:50:40  pluto
-- up to 4.2-20061225r120195
-
-Revision 1.435  2006/12/07 22:23:05  pluto
-- oops, remove local trash.
-
-Revision 1.434  2006/12/07 22:12:01  pluto
-- package ppc specific files.
-
-Revision 1.433  2006/12/07 09:55:08  wiget
-- one more todo
-
-Revision 1.432  2006/12/06 22:16:28  pluto
-- updated to 4.2.0-20061206 (rev. 119598).
-
-Revision 1.431  2006/12/06 15:49:15  pluto
-- BR: mpfr-devel >= 2.2.1, updated patch for PR20218, testing...
-
-Revision 1.430  2006/11/19 19:12:48  pluto
-- updated to 4.2-20061119 (rev. 118994).
-
-Revision 1.429  2006/11/13 14:56:53  sparky
-- don't use %{without ...}, it may not work after inverting bcond
-
-Revision 1.428  2006/11/10 19:49:02  pluto
-- updated to 4.2.0-20061110 (rev. 118658).
-- BR: mpfr-devel >= 2.2.
-
-Revision 1.427  2006/11/01 18:05:39  pluto
-- remove dups from c++ %files.
-
-Revision 1.426  2006/11/01 17:59:54  pluto
-- java %files updated.
-
-Revision 1.425  2006/11/01 14:02:10  pluto
-- package c++ dir.
-
-Revision 1.424  2006/10/31 08:00:33  pluto
-- fix %files.
-
-Revision 1.423  2006/10/30 23:37:12  pluto
-- updated to 4.2-20061030 (rev. 118195).
-
-Revision 1.422  2006/10/22 15:47:20  pluto
-- fix PR target/29512 - O(c^N) complexity algorithm in the i386 backend.
-- move c++ headers into versioned dir.
-
-Revision 1.421  2006/10/22 13:29:05  pluto
-- disable multlib build ( broken ), fix %files.
-
-Revision 1.420  2006/10/21 18:56:38  pluto
-- updated to 4.2.0-20061021 (rev. 117925).
-  (4.2 branch created).
-
-Revision 1.419  2006/10/16 15:02:59  qrczak
-- PR28230: fixes wrong code generation with -fwrapv
-
-Revision 1.418  2006/09/16 21:07:00  pluto
-- java %files updated.
+%if %{with multilib}
+%files go-multilib
+%defattr(644,root,root,755)
+%dir %{_libdir32}/go
+%{_libdir32}/go/%{version}
+%endif
 
-Revision 1.417  2006/09/16 12:47:31  pluto
-- updated to 4.2.0-20060916 (rev. 116994).
+%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.4
 
-Revision 1.416  2006/09/03 21:01:12  pluto
-- updated to 4.2.0-20060831 (rev. 116602).
+%if %{with multilib}
+%files -n libgo-multilib
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir32}/libgo.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir32}/libgo.so.4
+%endif
 
-Revision 1.415  2006/08/07 12:04:06  pluto
-- BR: s/perl-devel/perl-base/
+%files -n libgo-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libgo.so
+%{_libdir}/libgo.la
+%{_libdir}/libgobegin.a
 
-Revision 1.414  2006/08/06 22:36:23  pluto
-- jar wrapper build forced, files updated.
+%if %{with multilib}
+%files -n libgo-multilib-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir32}/libgo.so
+%{_libdir32}/libgo.la
+%{_libdir32}/libgobegin.a
+%endif
 
-Revision 1.413  2006/08/06 20:45:50  pluto
-- updated to 4.2.0-20060806 (rev. 115974).
+%files -n libgo-static
+%defattr(644,root,root,755)
+%{_libdir}/libgo.a
 
-Revision 1.412  2006/07/25 13:17:02  pluto
-- updated to 4.2.0-20060725 (rev. 115734).
+%if %{with multilib}
+%files -n libgo-multilib-static
+%defattr(644,root,root,755)
+%{_libdir32}/libgo.a
+%endif
+%endif
 
-Revision 1.411  2006/07/17 20:01:28  pluto
-- visibility fixes for 4.2.
+%if %{with asan}
+%files -n libasan
+%defattr(644,root,root,755)
+%doc libsanitizer/ChangeLog* libsanitizer/LICENSE.TXT
+%attr(755,root,root) %{_libdir}/libasan.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libasan.so.0
 
-Revision 1.410  2006/07/06 10:34:58  pluto
-- now it should bootstrap on x86 and ppc...
+%if %{with multilib}
+%files -n libasan-multilib
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir32}/libasan.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir32}/libasan.so.0
+%endif
 
-Revision 1.409  2006/07/05 13:40:49  pluto
-- %files updated (mmx/sse issue).
+%files -n libasan-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libasan.so
+%{_libdir}/libasan_preinit.o
+%{_libdir}/libasan.la
 
-Revision 1.408  2006/07/04 10:22:15  glen
-- typo
+%if %{with multilib}
+%files -n libasan-multilib-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir32}/libasan.so
+%{_libdir32}/libasan_preinit.o
+%{_libdir32}/libasan.la
+%endif
 
-Revision 1.407  2006/07/04 08:25:48  pluto
-- logfix (kill utf8).
+%files -n libasan-static
+%defattr(644,root,root,755)
+%{_libdir}/libasan.a
 
-Revision 1.406  2006/07/04 08:21:14  pluto
-- fastjar is not bundled anymore with gcc. to build libgcj, you will need
-  either InfoZIP (both zip and unzip) or an external jar program.
-  in the former case, the gcc build will install a jar shell script that
-  uses InfoZIP to provide the functionality of jar.
+%if %{with multilib}
+%files -n libasan-multilib-static
+%defattr(644,root,root,755)
+%{_libdir32}/libasan.a
+%endif
+%endif
 
-Revision 1.405  2006/07/03 00:06:57  pluto
-- --with-qt4dir no more needed.
+%if %{with tsan}
+%files -n libtsan
+%defattr(644,root,root,755)
+%doc libsanitizer/ChangeLog* libsanitizer/LICENSE.TXT
+%attr(755,root,root) %{_libdir}/libtsan.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libtsan.so.0
 
-Revision 1.404  2006/07/02 22:47:21  pluto
-- gcc/java += gappletviewer,gjarsigner,gkeytool.
+%files -n libtsan-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libtsan.so
+%{_libdir}/libtsan.la
 
-Revision 1.403  2006/07/02 22:09:25  pluto
-- don't duplicate libffi docs in libgcj package.
+%files -n libtsan-static
+%defattr(644,root,root,755)
+%{_libdir}/libtsan.a
+%endif
 
-Revision 1.402  2006/07/02 21:49:39  pluto
-- install/files updated.
+%if %{with atomic}
+%files -n libatomic
+%defattr(644,root,root,755)
+%doc libatomic/ChangeLog*
+%attr(755,root,root) %{_libdir}/libatomic.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libatomic.so.1
 
-Revision 1.401  2006/07/02 19:20:17  pluto
-- updated to 4.2.0-20060702r115125.
+%if %{with multilib}
+%files -n libatomic-multilib
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir32}/libatomic.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir32}/libatomic.so.1
+%endif
 
-Revision 1.400  2006/05/01 08:54:55  pluto
-- updated to 4.2.0-20060428 (rev. 113350).
+%files -n libatomic-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libatomic.so
+%{_libdir}/libatomic.la
 
-Revision 1.399  2006/03/23 19:27:13  pluto
-- BR:zip, install fixes, TODO added.
+%if %{with multilib}
+%files -n libatomic-multilib-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir32}/libatomic.so
+%{_libdir32}/libatomic.la
+%endif
 
-Revision 1.398  2006/03/22 20:46:40  agaran
-- commit for pluto, testing if it will lock for me too
+%files -n libatomic-static
+%defattr(644,root,root,755)
+%{_libdir}/libatomic.a
 
-Revision 1.397  2005/12/02 09:02:50  pluto
-- working on 4.2.0...
+%if %{with multilib}
+%files -n libatomic-multilib-static
+%defattr(644,root,root,755)
+%{_libdir32}/libatomic.a
+%endif
+%endif