]> TLD Linux GIT Repositories - packages/gcc.git/blobdiff - gcc.spec
- updated to 4.8.5
[packages/gcc.git] / gcc.spec
index 5c667cdcf9d910b542d8bbbdcd0a29c18698a97b..f9c89a9a267364b17ef95259a7eeafedd1bfae9b 100644 (file)
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,4 +1,4 @@
-# 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)
 %bcond_without objc            # build without Objective-C support
 %bcond_without objcxx          # build without Objective-C++ support
 # - features:
-%bcond_with    cloogpplleg     # use cloog-ppl-legacy (0.15.x) backend (instead of cloog-isl)
-%bcond_with    cloogppl        # use cloog-ppl 0.16.1 backend (instead of cloog-isl)
 %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    gtk             # build libgcj GTK peer
+%bcond_with    apidocs         # build and package API docs
 %bcond_with    mozilla         # build libgcjwebplugin (needs fix for new xulrunner)
 %bcond_with    qt              # build libgcj Qt peer (currently doesn't build with libtool-2.x)
-%bcond_without x               # don't build libgcj Xlib-dependent AWTs (incl. GTK/Qt)
+%bcond_with    x               # 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++
 %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
 
-%if %{with cloogppl}
-%define        cloog_backend   ppl
-%else
-%if %{with cloogpplleg}
-%define        cloog_backend   ppl-legacy
-%else
-%define        cloog_backend   isl
+%ifnarch %{ix86} %{x8664}
+%undefine      with_atomic
 %endif
+
+%ifnarch %{ix86} %{x8664}
+%undefine      with_asan
 %endif
 
-%define                major_ver       4.7
-%define                minor_ver       3
+%ifnarch %{x8664}
+%undefine      with_tsan
+%endif
+
+%define                major_ver       4.8
+%define                minor_ver       5
 %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  13
+%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
@@ -88,26 +94,27 @@ 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:       1
+Release:       4
 Epoch:         6
 License:       GPL v3+
 Group:         Development/Languages
 Source0:       ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2
-# Source0-md5: 86f428a30379bdee0224e353ee2f999e
+# Source0-md5: 80d2c2982a3392bb0b89673ff136e223
 Source1:       %{name}-optimize-la.pl
 Source2:       ftp://sourceware.org/pub/java/ecj-%{major_ecj_ver}.jar
 # Source2-md5: d7cd6a27c8801e66cbaa964a039ecfdb
 # check libffi version with libffi/configure.ac
 Source3:       libffi.pc.in
-# svn diff -x --ignore-eol-style --force svn://gcc.gnu.org/svn/gcc/tags/gcc_4_7_3_release svn://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch > gcc-branch.diff
-Patch100:      %{name}-branch.diff
+# 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}-cloog.patch
 Patch2:                %{name}-nodebug.patch
 Patch3:                %{name}-ada-link.patch
-Patch7:                %{name}-libjava-multilib.patch
-Patch8:                %{name}-enable-java-awt-qt.patch
-Patch13:       issue4664051.patch
+Patch4:                %{name}-libjava-multilib.patch
+Patch5:                %{name}-enable-java-awt-qt.patch
+Patch6:                %{name}-install-libffi.patch
+Patch100:      %{name}-branch.diff
 URL:           http://gcc.gnu.org/
 BuildRequires: autoconf >= 2.64
 %{?with_tests:BuildRequires:   autogen}
@@ -116,16 +123,8 @@ BuildRequires:     automake >= 1:1.9.3
 BuildRequires: binutils >= 3:2.17.50.0.9-1
 BuildRequires: bison
 BuildRequires: chrpath >= 0.13-2
-%if %{with cloogppl}
-BuildRequires: cloog-ppl-devel >= 0.16.1
-%else
-%if %{with cloogpplleg}
-BuildRequires: cloog-ppl-devel >= 0.15.9
-BuildRequires: cloog-ppl-devel < 0.16
-%else
-BuildRequires: cloog-isl-devel >= 0.16.1
-%endif
-%endif
+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
@@ -142,8 +141,9 @@ BuildRequires:      gcc(multilib)
 BuildRequires: glibc-devel(ix86)
 %endif
 %endif
-BuildRequires: gmp-devel >= 4.1
 BuildRequires: gmp-c++-devel >= 4.1
+BuildRequires: gmp-devel >= 4.1
+BuildRequires: isl-devel >= 0.13
 BuildRequires: libmpc-devel
 BuildRequires: mpfr-devel >= 2.3.0
 BuildRequires: ppl-devel >= 0.11
@@ -183,7 +183,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)}
@@ -804,6 +804,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.
@@ -1465,20 +1468,217 @@ 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
-
-%patch13 -p0
+%if %{with gcc_libffi}
+%patch6 -p0
+%endif
+%patch100 -p0
 
 mv ChangeLog ChangeLog.general
 
@@ -1527,7 +1727,6 @@ TEXCONFIG=false \
 %ifarch %{ix86} %{x8664}
        --disable-cld \
 %endif
-       --enable-cloog-backend=%{cloog_backend} \
        %{?with_fortran:--enable-cmath} \
        --enable-decimal-float \
        --enable-gnu-unique-object \
@@ -1553,6 +1752,7 @@ TEXCONFIG=false \
        --with-linker-hash-style=gnu \
        --with-long-double-128 \
        --with-ppl \
+       --disable-ppl-version-check \
        --with-slibdir=%{_slibdir} \
 %ifnarch ia64
        --without-system-libunwind \
@@ -1697,6 +1897,7 @@ 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
 install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
@@ -1712,6 +1913,7 @@ sed -e 's,@prefix@,%{_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
@@ -1723,9 +1925,13 @@ for f in libitm.la libssp.la libssp_nonshared.la \
        %{?with_cxx:libstdc++.la libsupc++.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} \
@@ -1744,8 +1950,10 @@ for f in libitm.la libssp.la libssp_nonshared.la \
        %{?with_cxx:libstdc++.la libsupc++.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
@@ -1845,6 +2053,18 @@ rm -rf $RPM_BUILD_ROOT
 %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
@@ -1879,18 +2099,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 -n libquadmath
-/sbin/ldconfig
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
-%postun -n libquadmath
-/sbin/ldconfig
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
+%post  -p /sbin/ldconfig -n libquadmath
+%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)
@@ -1988,6 +2214,14 @@ rm -rf $RPM_BUILD_ROOT
 %{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
@@ -2512,6 +2746,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/%{gcjdbexecdir}/libjvm.a
 %endif
 
+%if %{with gcc_libffi}
 %files -n libffi
 %defattr(644,root,root,755)
 %doc libffi/{ChangeLog,ChangeLog.libgcj,LICENSE,README}
@@ -2533,6 +2768,7 @@ rm -rf $RPM_BUILD_ROOT
 %{gcclibdir}/include/ffitarget.h
 %{_pkgconfigdir}/libffi.pc
 %{_mandir}/man3/ffi*.3*
+%{_infodir}/libffi.info*
 
 %if %{with multilib}
 %files -n libffi-multilib-devel
@@ -2551,6 +2787,7 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %{_libdir32}/libffi.a
 %endif
+%endif
 
 %if %{with objc}
 %files objc
@@ -2621,13 +2858,13 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %doc libgo/{LICENSE,PATENTS,README}
 %attr(755,root,root) %{_libdir}/libgo.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libgo.so.0
+%attr(755,root,root) %ghost %{_libdir}/libgo.so.4
 
 %if %{with multilib}
 %files -n libgo-multilib
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir32}/libgo.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir32}/libgo.so.0
+%attr(755,root,root) %ghost %{_libdir32}/libgo.so.4
 %endif
 
 %files -n libgo-devel
@@ -2654,3 +2891,96 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir32}/libgo.a
 %endif
 %endif
+
+%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
+
+%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
+
+%files -n libasan-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libasan.so
+%{_libdir}/libasan_preinit.o
+%{_libdir}/libasan.la
+
+%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
+
+%files -n libasan-static
+%defattr(644,root,root,755)
+%{_libdir}/libasan.a
+
+%if %{with multilib}
+%files -n libasan-multilib-static
+%defattr(644,root,root,755)
+%{_libdir32}/libasan.a
+%endif
+%endif
+
+%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
+
+%files -n libtsan-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libtsan.so
+%{_libdir}/libtsan.la
+
+%files -n libtsan-static
+%defattr(644,root,root,755)
+%{_libdir}/libtsan.a
+%endif
+
+%if %{with atomic}
+%files -n libatomic
+%defattr(644,root,root,755)
+%doc libatomic/ChangeLog*
+%attr(755,root,root) %{_libdir}/libatomic.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libatomic.so.1
+
+%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
+
+%files -n libatomic-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libatomic.so
+%{_libdir}/libatomic.la
+
+%if %{with multilib}
+%files -n libatomic-multilib-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir32}/libatomic.so
+%{_libdir32}/libatomic.la
+%endif
+
+%files -n libatomic-static
+%defattr(644,root,root,755)
+%{_libdir}/libatomic.a
+
+%if %{with multilib}
+%files -n libatomic-multilib-static
+%defattr(644,root,root,755)
+%{_libdir32}/libatomic.a
+%endif
+%endif