]> git.pld-linux.org Git - packages/gcc.git/blobdiff - gcc.spec
- rel 5; branch diff update
[packages/gcc.git] / gcc.spec
index c3ab95a1b4f93e0f197eb97cfa92408a7b7a8068..d46e6627b1641add71fd113a88c27c0651535af1 100644 (file)
--- a/gcc.spec
+++ b/gcc.spec
@@ -23,6 +23,9 @@
 %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
 # - libgcj options:
 %bcond_without alsa            # don't build libgcj ALSA MIDI interface
 %bcond_without dssi            # don't build libgcj DSSI MIDI interface
@@ -33,7 +36,6 @@
 %bcond_without x               # don't build libgcj Xlib-dependent AWTs (incl. GTK/Qt)
 # - other:
 %bcond_without bootstrap       # omit 3-stage bootstrap
-%bcond_with    ppc64_nof       # "nof" multilib target in ppc64 compiler
 %bcond_with    tests           # torture gcc
 %bcond_with    symvers         # enable versioned symbols in libstdc++ (WARNING: changes soname from .so.6 to so.7)
 
 %undefine      with_multilib
 %endif
 
+%ifnarch %{x8664}
+%undefine      with_tsan
+%endif
+
 %ifarch sparc64
 %undefine      with_ada
 %endif
 %endif
 %endif
 
-%define                major_ver       4.7
-%define                minor_ver       3
+%define                major_ver       4.8
+%define                minor_ver       2
 %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
@@ -93,30 +99,29 @@ 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:       5
 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: a3d7d63b9cb6b6ea049469a0c4a43c9d
 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
+# svn diff -x --ignore-eol-style --force svn://gcc.gnu.org/svn/gcc/tags/gcc_4_8_2_release svn://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch > gcc-branch.diff
 Patch100:      %{name}-branch.diff
-# Patch100-md5:        ed71b602ecff35de8f4678e27dd9c2ef
+# Patch100-md5:        58c22bad027d35adbe84c9c19f9dd738
 Patch0:                %{name}-info.patch
 Patch1:                %{name}-cloog.patch
 Patch2:                %{name}-nodebug.patch
 Patch3:                %{name}-ada-link.patch
 Patch4:                %{name}-sparc64-ada_fix.patch
-Patch6:                %{name}-ppc64-m32-m64-multilib-only.patch
 Patch7:                %{name}-libjava-multilib.patch
 Patch8:                %{name}-enable-java-awt-qt.patch
 Patch10:       %{name}-moresparcs.patch
-Patch13:       issue4664051.patch
+Patch11:       %{name}-install-libffi.patch
 URL:           http://gcc.gnu.org/
 BuildRequires: autoconf >= 2.64
 %{?with_tests:BuildRequires:   autogen}
@@ -201,7 +206,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)}
@@ -1492,6 +1497,133 @@ 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
+Group:         Libraries
+
+%description -n libasan
+This package contains the Address Sanitizer library
+which is used for -fsanitize=address instrumented programs.
+
+%package -n libasan-multilib
+Summary:       The Address Sanitizer library - 32-bit version
+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.
+
+%package -n libasan-devel
+Summary:       Development files for the Address Sanitizer library
+Group:         Development/Libraries
+Requires:      libasan = %{epoch}:%{version}-%{release}
+
+%description -n libasan-devel
+This package contains development files for the Address Sanitizer
+library.
+
+%package -n libasan-multilib-devel
+Summary:       Development files for the Address Sanitizer library - 32-bit version
+Group:         Development/Libraries
+Requires:      libasan-multilib = %{epoch}:%{version}-%{release}
+
+%description -n libasan-multilib-devel
+This package contains 32-bit version of the development files for the
+Address Sanitizer static library.
+
+%package -n libasan-static
+Summary:       The Address Sanitizer static library
+Group:         Development/Libraries
+Requires:      libasan-devel = %{epoch}:%{version}-%{release}
+
+%description -n libasan-static
+This package contains Address Sanitizer static library.
+
+%package -n libasan-multilib-static
+Summary:       The Address Sanitizer static library - 32-bit version
+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.
+
+%package -n libtsan
+Summary:       The Thread Sanitizer library
+Group:         Libraries
+
+%description -n libtsan
+This package contains the Thread Sanitizer library
+which is used for -fsanitize=thread instrumented programs.
+
+%package -n libtsan-devel
+Summary:       Development files for the Thread Sanitizer library
+Group:         Development/Libraries
+Requires:      libtsan = %{epoch}:%{version}-%{release}
+
+%description -n libtsan-devel
+This package contains development files for Thread Sanitizer library.
+
+%package -n libtsan-static
+Summary:       The Thread Sanitizer static library
+Group:         Development/Libraries
+Requires:      libtsan-devel = %{epoch}:%{version}-%{release}
+
+%description -n libtsan-static
+This package contains Thread Sanitizer static library.
+
+%package -n libatomic
+Summary:       The GNU Atomic library
+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.
+
+%package -n libatomic-multilib
+Summary:       The GNU Atomic library - 32-bit version
+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.
+
+%package -n libatomic-devel
+Summary:       Development files for the GNU Atomic library
+Group:         Development/Libraries
+Requires:      libatomic = %{epoch}:%{version}-%{release}
+
+%description -n libatomic-devel
+This package contains development files for the GNU Atomic libraries.
+
+%package -n libatomic-multilib-devel
+Summary:       Development files for the GNU Atomic static library - 32-bit version
+Group:         Development/Libraries
+Requires:      libatomic-multilib = %{epoch}:%{version}-%{release}
+
+%description -n libatomic-multilib-devel
+This package contains 32-bit version of the Development files for the
+GNU Atomic libraries.
+
+%package -n libatomic-static
+Summary:       The GNU Atomic static library
+Group:         Development/Libraries
+Requires:      libatomic-devel = %{epoch}:%{version}-%{release}
+
+%description -n libatomic-static
+This package contains GNU Atomic static libraries.
+
+%package -n libatomic-multilib-static
+Summary:       The GNU Atomic static library - 32-bit version
+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
+libraries.
+
 %prep
 %setup -q
 %patch100 -p0
@@ -1501,14 +1633,12 @@ Statyczna biblioteka języka Go - wersja 32-bitowa.
 %patch3 -p1
 %patch4 -p1
 
-%{!?with_ppc64_nof:%patch6 -p1}
 %patch7 -p0
 %if %{with qt}
 %patch8 -p1
 %endif
 %patch10 -p1
-
-%patch13 -p0
+%patch11 -p0
 
 mv ChangeLog ChangeLog.general
 
@@ -1780,6 +1910,9 @@ 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 \
@@ -1801,6 +1934,8 @@ 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_objc:libobjc.la};
@@ -1930,6 +2065,8 @@ rm -rf $RPM_BUILD_ROOT
 %postun        -p /sbin/ldconfig -n libgcj
 %post  -p /sbin/ldconfig -n libffi
 %postun        -p /sbin/ldconfig -n libffi
+%post  -n libffi-devel -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
 %post  -p /sbin/ldconfig -n libffi-multilib
 %postun        -p /sbin/ldconfig -n libffi-multilib
 %post  -p /sbin/ldconfig -n libobjc
@@ -1948,6 +2085,16 @@ rm -rf $RPM_BUILD_ROOT
 %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)
@@ -2045,6 +2192,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
@@ -2600,6 +2755,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
@@ -2688,13 +2844,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
@@ -2721,3 +2877,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
This page took 0.04972 seconds and 4 git commands to generate.