commit 0f5fee8c711e73a71837fd90f22551265d37f80a Author: Jakub Bogusz <qbo...@pld-linux.org> Date: Thu Jul 26 21:10:15 2018 +0200
- merged update from GCC_7 branch - updated per-arch intrinsic headers and some multilib files gcc-info.patch | 46 ++++++----- gcc.spec | 241 ++++++++++++++++++++++++++++++++++++--------------------- 2 files changed, 177 insertions(+), 110 deletions(-) --- diff --git a/gcc.spec b/gcc.spec index 9b21ea0..c469c46 100644 --- a/gcc.spec +++ b/gcc.spec @@ -4,8 +4,6 @@ # - when adding new subpackages with external libraries (like libffi) # or having own Version, do not use epoch 6 there, reset them to 0! # -# TODO: -# - revise obsoletes for new libmpx packages! # # Conditional build: # - languages: @@ -23,6 +21,7 @@ %bcond_without python # build without libstdc++ printers for gdb %bcond_with gcc_libffi # packaging gcc libffi for system usage # - other: +%bcond_without apidocs # do not package API docs %bcond_without 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) @@ -69,11 +68,11 @@ %define with_multilib2 1 %endif %endif -%ifarch %{ix86} %{x8664} x32 alpha arm ppc ppc64 sh sparc sparcv9 sparc64 +%ifarch %{ix86} %{x8664} x32 alpha %{arm} ppc ppc64 sh sparc sparcv9 sparc64 # library for atomic operations not supported by hardware %define with_atomic 1 %endif -%ifarch %{ix86} %{x8664} x32 arm ppc ppc64 sparc sparcv9 sparc64 +%ifarch %{ix86} %{x8664} x32 %{arm} ppc ppc64 sparc sparcv9 sparc64 # sanitizer feature (asan and ubsan are common for all supported archs) %define with_Xsan 1 %endif @@ -112,7 +111,7 @@ Source1: %{name}-optimize-la.pl # check libffi version with libffi/configure.ac Source3: libffi.pc.in Source4: branch.sh -# use branch.sh to update glibc-branch.diff +# use branch.sh to update gcc-branch.diff Patch100: %{name}-branch.diff # Patch100-md5: d9a6ef7cbfd2b7e6800d77560824d59f Patch0: %{name}-info.patch @@ -178,7 +177,9 @@ BuildRequires: python-devel BuildRequires: rpm-pythonprov %endif BuildRequires: rpmbuild(macros) >= 1.211 +BuildRequires: tar >= 1:1.22 BuildRequires: texinfo >= 4.7 +BuildRequires: xz BuildRequires: zlib-devel BuildConflicts: pdksh < 5.2.14-50 Requires: binutils >= 3:2.23 @@ -934,6 +935,21 @@ libstdc++ types/containers. Ten pakiet zawiera skrypty Pythona dla GDB służące do ładnego wypisywania typów i kontenerów libstdc++. +%package -n libstdc++-apidocs +Summary: C++ standard library API documentation +Summary(pl.UTF-8): Dokumentacja API biblioteki standardowej C++ +License: FDL v1.3 (mainly), GPL v3+ (doxygen generated parts) +Group: Documentation +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif + +%description -n libstdc++-apidocs +API and internal documentation for C++ standard library. + +%description -n libstdc++-apidocs -l pl.UTF-8 +Dokumentacja API i wewnętrzna biblioteki standardowej C++. + %package fortran Summary: Fortran 95 language support for GCC Summary(es.UTF-8): Soporte de Fortran 95 para GCC @@ -2556,7 +2572,6 @@ Epoch: 0 License: BSD Group: Libraries Requires: libstdc++-multilib-32 = %{version}-%{release} -Obsoletes: libmpx-multilib %description -n libmpx-multilib-32 This package contains the Memory Protection Extensions C language @@ -2575,7 +2590,6 @@ License: BSD Group: Development/Libraries Requires: libmpx-devel = %{version}-%{release} Requires: libmpx-multilib-32 = %{version}-%{release} -Obsoletes: libmpx-multilib-devel %description -n libmpx-multilib-32-devel This package contains development files for Memory Protection @@ -2592,7 +2606,6 @@ Epoch: 0 License: BSD Group: Development/Libraries Requires: libmpx-multilib-32-devel = %{version}-%{release} -Obsoletes: libmpx-multilib-static %description -n libmpx-multilib-32-static This package contains the Memory Protection Extensions C language @@ -3192,7 +3205,6 @@ rm -rf $RPM_BUILD_ROOT %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 %attr(755,root,root) %{_bindir}/gcov-dump %attr(755,root,root) %{_bindir}/gcov-tool @@ -3239,15 +3251,10 @@ rm -rf $RPM_BUILD_ROOT %{gcclibdir}/include/sanitizer/common_interface_defs.h %dir %{gcclibdir}/include/ssp %{gcclibdir}/include/ssp/*.h -%{gcclibdir}/include/cet.h -%{gcclibdir}/include/cetintrin.h %{gcclibdir}/include/float.h %{gcclibdir}/include/gcov.h -%{gcclibdir}/include/gfniintrin.h %{gcclibdir}/include/iso646.h %{gcclibdir}/include/limits.h -%{gcclibdir}/include/movdirintrin.h -%{gcclibdir}/include/pconfigintrin.h %{gcclibdir}/include/stdalign.h %{gcclibdir}/include/stdarg.h %{gcclibdir}/include/stdatomic.h @@ -3260,9 +3267,6 @@ rm -rf $RPM_BUILD_ROOT %{gcclibdir}/include/syslimits.h %{gcclibdir}/include/unwind.h %{gcclibdir}/include/varargs.h -%{gcclibdir}/include/vaesintrin.h -%{gcclibdir}/include/vpclmulqdqintrin.h -%{gcclibdir}/include/wbnoinvdintrin.h %ifarch %{ix86} %{x8664} x32 %{gcclibdir}/include/adxintrin.h %{gcclibdir}/include/ammintrin.h @@ -3293,6 +3297,8 @@ rm -rf $RPM_BUILD_ROOT %{gcclibdir}/include/bmi2intrin.h %{gcclibdir}/include/bmiintrin.h %{gcclibdir}/include/bmmintrin.h +%{gcclibdir}/include/cet.h +%{gcclibdir}/include/cetintrin.h %{gcclibdir}/include/clflushoptintrin.h %{gcclibdir}/include/clwbintrin.h %{gcclibdir}/include/clzerointrin.h @@ -3303,6 +3309,7 @@ rm -rf $RPM_BUILD_ROOT %{gcclibdir}/include/fma4intrin.h %{gcclibdir}/include/fmaintrin.h %{gcclibdir}/include/fxsrintrin.h +%{gcclibdir}/include/gfniintrin.h %{gcclibdir}/include/ia32intrin.h %{gcclibdir}/include/immintrin.h %{gcclibdir}/include/lwpintrin.h @@ -3310,8 +3317,10 @@ rm -rf $RPM_BUILD_ROOT %{gcclibdir}/include/mm3dnow.h %{gcclibdir}/include/mmintrin.h %{gcclibdir}/include/mm_malloc.h +%{gcclibdir}/include/movdirintrin.h %{gcclibdir}/include/nmmintrin.h %{gcclibdir}/include/mwaitxintrin.h +%{gcclibdir}/include/pconfigintrin.h %{gcclibdir}/include/pkuintrin.h %{gcclibdir}/include/pmmintrin.h %{gcclibdir}/include/popcntintrin.h @@ -3323,6 +3332,9 @@ rm -rf $RPM_BUILD_ROOT %{gcclibdir}/include/smmintrin.h %{gcclibdir}/include/tbmintrin.h %{gcclibdir}/include/tmmintrin.h +%{gcclibdir}/include/vaesintrin.h +%{gcclibdir}/include/vpclmulqdqintrin.h +%{gcclibdir}/include/wbnoinvdintrin.h %{gcclibdir}/include/wmmintrin.h %{gcclibdir}/include/x86intrin.h %{gcclibdir}/include/xmmintrin.h @@ -3333,10 +3345,18 @@ rm -rf $RPM_BUILD_ROOT %{gcclibdir}/include/xsavesintrin.h %{gcclibdir}/include/xtestintrin.h %endif -%ifarch arm +%ifarch %{arm} +%{gcclibdir}/include/arm_acle.h +%{gcclibdir}/include/arm_cmse.h +%{gcclibdir}/include/arm_fp16.h %{gcclibdir}/include/arm_neon.h %{gcclibdir}/include/mmintrin.h %endif +%ifarch aarch64 +%{gcclibdir}/include/arm_acle.h +%{gcclibdir}/include/arm_fp16.h +%{gcclibdir}/include/arm_neon.h +%endif %ifarch ia64 %{gcclibdir}/include/ia64intrin.h %endif @@ -3345,9 +3365,18 @@ rm -rf $RPM_BUILD_ROOT %endif %ifarch mips %{gcclibdir}/include/loongson.h +%{gcclibdir}/include/msa.h %endif %ifarch powerpc ppc ppc64 %{gcclibdir}/include/altivec.h +%{gcclibdir}/include/amo.h +%{gcclibdir}/include/bmiintrin.h +%{gcclibdir}/include/bmi2intrin.h +%{gcclibdir}/include/emmintrin.h +%{gcclibdir}/include/htmintrin.h +%{gcclibdir}/include/htmxlintrin.h +%{gcclibdir}/include/mm_malloc.h +%{gcclibdir}/include/mmintrin.h %{gcclibdir}/include/paired.h %{gcclibdir}/include/ppc-asm.h %{gcclibdir}/include/ppu_intrinsics.h @@ -3355,6 +3384,17 @@ rm -rf $RPM_BUILD_ROOT %{gcclibdir}/include/spe.h %{gcclibdir}/include/spu2vmx.h %{gcclibdir}/include/vec_types.h +%{gcclibdir}/include/x86intrin.h +%{gcclibdir}/include/xmmintrin.h +%endif +%ifarch s390 +%{gcclibdir}/include/htmintrin.h +%{gcclibdir}/include/htmxlintrin.h +%{gcclibdir}/include/s390intrin.h +%{gcclibdir}/include/vecintrin.h +%endif +%ifarch sparc sparcv9 sparc64 +%{gcclibdir}/include/visintrin.h %endif %{?with_vtv:%{gcclibdir}/include/vtv_*.h} @@ -3488,78 +3528,6 @@ rm -rf $RPM_BUILD_ROOT %endif %endif -# see libmpx/configure.tgt for supported architectures -%ifarch %{x8664} %{ix86} -%files -n libmpx -%defattr(644,root,root,755) -%doc libmpx/ChangeLog -%attr(755,root,root) %{_libdir}/libmpx.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libmpx.so.2 -%attr(755,root,root) %{_libdir}/libmpxwrappers.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libmpxwrappers.so.2 - -%files -n libmpx-devel -%defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libmpx.so -%attr(755,root,root) %{_libdir}/libmpxwrappers.so -%{_libdir}/libmpx.la -%{_libdir}/libmpxwrappers.la -%{_libdir}/libmpx.spec - -%files -n libmpx-static -%defattr(644,root,root,755) -%{_libdir}/libmpx.a -%{_libdir}/libmpxwrappers.a -%endif - -%if %{with multilib} -%files -n libmpx-multilib-32 -%defattr(644,root,root,755) -%attr(755,root,root) %{_libdir32}/libmpx.so.*.*.* -%attr(755,root,root) %ghost %{_libdir32}/libmpx.so.2 -%attr(755,root,root) %{_libdir32}/libmpxwrappers.so.*.*.* -%attr(755,root,root) %ghost %{_libdir32}/libmpxwrappers.so.2 - -%files -n libmpx-multilib-32-devel -%defattr(644,root,root,755) -%attr(755,root,root) %{_libdir32}/libmpx.so -%attr(755,root,root) %{_libdir32}/libmpxwrappers.so -%{_libdir32}/libmpx.la -%{_libdir32}/libmpxwrappers.la -%{_libdir32}/libmpx.spec - -%files -n libmpx-multilib-32-static -%defattr(644,root,root,755) -%{_libdir32}/libmpx.a -%{_libdir32}/libmpxwrappers.a -%endif - -%if %{with multilib2} -# see libmpx/configure.tgt for supported architectures; -# no x32 there as of gcc 6.x -%if "%{multilib2}" != "x32" -%files -n libmpx-multilib-%{multilib2} -%defattr(644,root,root,755) -%attr(755,root,root) %{_libdirm2}/libmpx.so.*.*.* -%attr(755,root,root) %ghost %{_libdirm2}/libmpx.so.2 -%attr(755,root,root) %{_libdirm2}/libmpxwrappers.so.*.*.* -%attr(755,root,root) %ghost %{_libdirm2}/libmpxwrappers.so.2 - -%files -n libmpx-multilib-%{multilib2}-devel -%defattr(644,root,root,755) -%attr(755,root,root) %{_libdirm2}/libmpx.so -%attr(755,root,root) %{_libdirm2}/libmpxwrappers.so -%{_libdirm2}/libmpx.la -%{_libdirm2}/libmpxwrappers.la -%{_libdirm2}/libmpx.spec - -%files -n libmpx-multilib-%{multilib2}-static -%defattr(644,root,root,755) -%{_libdirm2}/libmpx.a -%{_libdirm2}/libmpxwrappers.a -%endif -%endif - %if %{with ada} %files ada %defattr(644,root,root,755) @@ -3636,6 +3604,11 @@ rm -rf $RPM_BUILD_ROOT %defattr(644,root,root,755) %{gcclibdir}/32/adalib/libgnarl.a %{gcclibdir}/32/adalib/libgnat.a +%ifarch %{x8664} +# these exist only when host is x86_64??? +%{gcclibdir}/32/adalib/libgnarl_pic.a +%{gcclibdir}/32/adalib/libgnat_pic.a +%endif %endif %if %{with multilib2} @@ -3650,6 +3623,11 @@ rm -rf $RPM_BUILD_ROOT %defattr(644,root,root,755) %{gcclibdir}/%{multilib2}/adalib/libgnarl.a %{gcclibdir}/%{multilib2}/adalib/libgnat.a +%ifarch %{x8664} +# these exist only when host is x86_64??? +%{gcclibdir}/%{multilib2}/adalib/libgnarl_pic.a +%{gcclibdir}/%{multilib2}/adalib/libgnat_pic.a +%endif %endif %endif @@ -3755,6 +3733,11 @@ rm -rf $RPM_BUILD_ROOT %endif %endif +%if %{with apidocs} +%files -n libstdc++-apidocs +%defattr(644,root,root,755) +%doc libstdc++-v3/doc/html/* +%endif %endif %if %{with fortran} @@ -4167,6 +4150,7 @@ rm -rf $RPM_BUILD_ROOT %files -n liblsan-multilib-%{multilib2}-devel %defattr(644,root,root,755) %attr(755,root,root) %{_libdirm2}/liblsan.so +%{_libdirm2}/liblsan_preinit.o %{_libdirm2}/liblsan.la # it looks like duplicate of file from liblsan-devel, but actually it isn't: # these packages are mutually exclusive @@ -4207,7 +4191,12 @@ rm -rf $RPM_BUILD_ROOT %files -n libtsan-multilib-%{multilib2}-devel %defattr(644,root,root,755) %attr(755,root,root) %{_libdirm2}/libtsan.so +%{_libdirm2}/libtsan_preinit.o %{_libdirm2}/libtsan.la +# it looks like duplicate of file from libtsan-devel, but actually it isn't: +# these packages are mutually exclusive +# (either liblsan-devel.x86_64 or liblsan-multilib-64.x32) +%{gcclibdir}/include/sanitizer/tsan_interface.h %files -n libtsan-multilib-%{multilib2}-static %defattr(644,root,root,755) @@ -4379,3 +4368,75 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{gcclibdir}/plugin/libcc1plugin.so %attr(755,root,root) %{gcclibdir}/plugin/libcp1plugin.la %attr(755,root,root) %{gcclibdir}/plugin/libcp1plugin.so + +# see libmpx/configure.tgt for supported architectures +%ifarch %{x8664} %{ix86} +%files -n libmpx +%defattr(644,root,root,755) +%doc libmpx/ChangeLog +%attr(755,root,root) %{_libdir}/libmpx.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libmpx.so.2 +%attr(755,root,root) %{_libdir}/libmpxwrappers.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libmpxwrappers.so.2 + +%files -n libmpx-devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libmpx.so +%attr(755,root,root) %{_libdir}/libmpxwrappers.so +%{_libdir}/libmpx.la +%{_libdir}/libmpxwrappers.la +%{_libdir}/libmpx.spec + +%files -n libmpx-static +%defattr(644,root,root,755) +%{_libdir}/libmpx.a +%{_libdir}/libmpxwrappers.a +%endif + +%if %{with multilib} +%files -n libmpx-multilib-32 +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir32}/libmpx.so.*.*.* +%attr(755,root,root) %ghost %{_libdir32}/libmpx.so.2 +%attr(755,root,root) %{_libdir32}/libmpxwrappers.so.*.*.* +%attr(755,root,root) %ghost %{_libdir32}/libmpxwrappers.so.2 + +%files -n libmpx-multilib-32-devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir32}/libmpx.so +%attr(755,root,root) %{_libdir32}/libmpxwrappers.so +%{_libdir32}/libmpx.la +%{_libdir32}/libmpxwrappers.la +%{_libdir32}/libmpx.spec + +%files -n libmpx-multilib-32-static +%defattr(644,root,root,755) +%{_libdir32}/libmpx.a +%{_libdir32}/libmpxwrappers.a +%endif + +%if %{with multilib2} +# see libmpx/configure.tgt for supported architectures; +# no x32 there as of gcc 6.x +%if "%{multilib2}" != "x32" +%files -n libmpx-multilib-%{multilib2} +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdirm2}/libmpx.so.*.*.* +%attr(755,root,root) %ghost %{_libdirm2}/libmpx.so.2 +%attr(755,root,root) %{_libdirm2}/libmpxwrappers.so.*.*.* +%attr(755,root,root) %ghost %{_libdirm2}/libmpxwrappers.so.2 + +%files -n libmpx-multilib-%{multilib2}-devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdirm2}/libmpx.so +%attr(755,root,root) %{_libdirm2}/libmpxwrappers.so +%{_libdirm2}/libmpx.la +%{_libdirm2}/libmpxwrappers.la +%{_libdirm2}/libmpx.spec + +%files -n libmpx-multilib-%{multilib2}-static +%defattr(644,root,root,755) +%{_libdirm2}/libmpx.a +%{_libdirm2}/libmpxwrappers.a +%endif +%endif diff --git a/gcc-info.patch b/gcc-info.patch index ff0f985..1536e1c 100644 --- a/gcc-info.patch +++ b/gcc-info.patch @@ -40,11 +40,11 @@ -* gcov: (gcc) Gcov. @command{gcov}---a test coverage program. -* gcov-tool: (gcc) Gcov-tool. @command{gcov-tool}---an offline gcda profile processing program. -* gcov-dump: (gcc) Gcov-dump. @command{gcov-dump}---an offline gcda and gcno profile dump tool. -+* gcc: (gcc). The GNU Compiler Collection. -+* g++: (gcc). The GNU C++ compiler. -+* gcov: (gcc) Gcov. @command{gcov}---a test coverage program. -+* gcov-tool: (gcc) Gcov-tool. @command{gcov-tool}---an offline gcda profile processing program. -+* gcov-dump: (gcc) Gcov-dump. @command{gcov-dump}---an offline gcda and gcno profile dump tool. ++* gcc: (gcc). The GNU Compiler Collection ++* g++: (gcc). The GNU C++ compiler ++* gcov: (gcc) Gcov. @command{gcov}---a test coverage program ++* gcov-tool: (gcc) Gcov-tool. @command{gcov-tool}---an offline gcda profile processing program ++* gcov-dump: (gcc) Gcov-dump. @command{gcov-dump}---an offline gcda and gcno profile dump tool @end direntry This file documents the use of the GNU compilers. @sp 1 @@ -76,17 +76,34 @@ @end direntry @macro syntax{element} ---- a/gcc/ada/gnat_ugn.texi 2005-12-06 23:45:52.983574000 +0100 -+++ b/gcc/ada/gnat_ugn.texi 2005-12-11 02:35:45.580878360 +0100 -@@ -10,7 +10,7 @@ +--- gcc-6.4.0/gcc/ada/gnat_rm.texi.orig 2016-01-04 14:03:35.362396000 +0100 ++++ gcc-6.4.0/gcc/ada/gnat_rm.texi 2018-04-04 20:06:55.773027894 +0200 +@@ -10,9 +10,9 @@ @paragraphindent 0 @exampleindent 4 @finalout -@dircategory GNU Ada Tools +@dircategory Programming Languages: @direntry - * gnat_ugn: (gnat_ugn.info). gnat_ugn +-* gnat_rm: (gnat_rm.info). gnat_rm ++* gnat_rm: (gnat_rm.info). gnat_rm @end direntry + + @definfoenclose strong,`,' +--- gcc-6.4.0/gcc/ada/gnat_ugn.texi.orig 2018-04-04 16:44:59.699832904 +0200 ++++ gcc-6.4.0/gcc/ada/gnat_ugn.texi 2018-04-04 20:07:10.206361061 +0200 +@@ -10,9 +10,9 @@ + @paragraphindent 0 + @exampleindent 4 + @finalout +-@dircategory GNU Ada Tools ++@dircategory Programming Languages: + @direntry +-* gnat_ugn: (gnat_ugn.info). gnat_ugn ++* gnat_ugn: (gnat_ugn.info). gnat_ugn + @end direntry + + @definfoenclose strong,`,' --- a/gcc/fortran/gfortran.texi 2004-09-16 15:13:39.000000000 +0200 +++ b/gcc/fortran/gfortran.texi 2004-09-26 11:05:50.258074024 +0200 @@ -62,9 +62,9 @@ @@ -101,17 +118,6 @@ @end direntry This file documents the use and the internals of the GNU Fortran compiler, (@command{gfortran}). ---- a/gcc/ada/gnat_rm.texi 2005-11-30 12:12:06.000000000 +0100 -+++ b/gcc/ada/gnat_rm.texi 2005-12-11 02:36:14.863426736 +0100 -@@ -26,7 +26,7 @@ - @paragraphindent 0 - @exampleindent 4 - @finalout --@dircategory GNU Ada Tools -+@dircategory Programming Languages: - @direntry - * gnat_rm: (gnat_rm.info). gnat_rm - @end direntry --- a/gcc/doc/install.texi 2005-11-30 12:02:42.000000000 +0100 +++ b/gcc/doc/install.texi 2005-12-11 02:44:22.598279768 +0100 @@ -87,9 +87,9 @@ ================================================================ ---- gitweb: http://git.pld-linux.org/gitweb.cgi/packages/gcc.git/commitdiff/0f5fee8c711e73a71837fd90f22551265d37f80a _______________________________________________ pld-cvs-commit mailing list pld-cvs-commit@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit