From a2aa0cd5505f67b90395c99326385bf65ff68486 Mon Sep 17 00:00:00 2001 From: Marcin Krol Date: Fri, 30 Aug 2019 20:42:37 +0200 Subject: [PATCH] - merged 9.2.0 from PLD --- branch.sh | 4 +- gcc-nodebug.patch | 4 +- gcc.spec | 168 +++---------------------------------------- pr88419-revert.patch | 47 ------------ 4 files changed, 16 insertions(+), 207 deletions(-) delete mode 100644 pr88419-revert.patch diff --git a/branch.sh b/branch.sh index 73296f8..786711f 100755 --- a/branch.sh +++ b/branch.sh @@ -2,8 +2,8 @@ set -e package=gcc svn=svn://gcc.gnu.org/svn/$package -branch=branches/$package-8-branch -tag=tags/${package}_8_3_0_release +branch=branches/$package-9-branch +tag=tags/${package}_9_2_0_release out=$package-branch.diff # use filterdiff, etc to exclude bad chunks from diff diff --git a/gcc-nodebug.patch b/gcc-nodebug.patch index a269592..2ecd3b2 100644 --- a/gcc-nodebug.patch +++ b/gcc-nodebug.patch @@ -138,12 +138,14 @@ BOOT_LDFLAGS= BOOT_ADAFLAGS=-gnatpg -gnata -@@ -574,7 +574,7 @@ +@@ -618,8 +618,8 @@ CXXFLAGS_FOR_TARGET = @CXXFLAGS_FOR_TARG LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET) LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates LDFLAGS_FOR_TARGET = @LDFLAGS_FOR_TARGET@ -GOCFLAGS_FOR_TARGET = -O2 -g +-GDCFLAGS_FOR_TARGET = -O2 -g +GOCFLAGS_FOR_TARGET = -O2 ++GDCFLAGS_FOR_TARGET = -O2 FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@ SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@ diff --git a/gcc.spec b/gcc.spec index 520af85..b384d14 100644 --- a/gcc.spec +++ b/gcc.spec @@ -70,8 +70,8 @@ # Stable is: any major_ver and minor_ver >= 1.0 # For TLD we usually use gcc when minor_ver >= 2.0 (first bugfix release or later) -%define major_ver 8 -%define minor_ver 3.0 +%define major_ver 9 +%define minor_ver 2.0 Summary: GNU Compiler Collection: the C compiler and shared files Summary(es.UTF-8): Colección de compiladores GNU: el compilador C y ficheros compartidos @@ -84,18 +84,17 @@ Epoch: 6 License: GPL v3+ Group: Development/Languages Source0: https://ftp.gnu.org/pub/gnu/gcc/gcc-%{version}/%{name}-%{version}.tar.xz -# Source0-md5: 65b210b4bfe7e060051f799e0f994896 +# Source0-md5: 3818ad8600447f05349098232c2ddc78 Source1: %{name}-optimize-la.pl # check libffi version with libffi/configure.ac Source3: libffi.pc.in Source4: branch.sh # use branch.sh to update gcc-branch.diff Patch100: %{name}-branch.diff -# Patch100-md5: 7ba29b0799f0a4314b3b344264bb027a +# Patch100-md5: ccf474139f5a06cbb0aca5ce0e2bd0d8 Patch0: %{name}-info.patch Patch2: %{name}-nodebug.patch Patch3: %{name}-ada-link.patch -Patch4: pr88419-revert.patch Patch11: %{name}-install-libffi.patch URL: http://gcc.gnu.org/ @@ -172,7 +171,7 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) # receiving non constant format strings %define Werror_cflags %{nil} -%define skip_post_check_so '.*(libasan|libcc1plugin|libcp1plugin|libgo|libxmlj|libubsan|lib-gnu-awt-xlib|libmpxwrappers)\.so.*' +%define skip_post_check_so '.*(libasan|libcc1plugin|libcp1plugin|libgo|libxmlj|libubsan|lib-gnu-awt-xlib)\.so.*' # private symbols %define _noautoreq .*\(GLIBC_PRIVATE\) @@ -1714,104 +1713,7 @@ więc wtyczki muszą być przebudowywane przy każdej aktualizacji GCC. # Packages with epoch 0 # DO NOT MOVE THESE PACKAGES AROUND - -%package -n libmpx -Summary: GCC Memory Protection Extensions language extensions runtime library -Summary(pl.UTF-8): Biblioteka uruchomieniowa rozszerzeń Memory Protection Extensions dla GCC -Epoch: 0 -License: BSD -Group: Libraries -Requires: libstdc++ = 6:%{version}-%{release} - -%description -n libmpx -This package contains the Memory Protection Extensions C language -extensions runtime library. - -%description -n libmpx -l pl.UTF-8 -Ten pakiet zawiera bibliotekę uruchomieniową rozszerzeń Memory -Protection Extensions dla języka C. - -%package -n libmpx-devel -Summary: GCC development files for Memory Protection Extensions language extensions -Summary(pl.UTF-8): Pliki programistyczne GCC dla rozszerzeń Memory Protection Extensions -Epoch: 0 -License: BSD -Group: Development/Libraries -Requires: libmpx = %{version}-%{release} - -%description -n libmpx-devel -This package contains development files for Memory Protection -Extensions C language extensions. - -%description -n libmpx-devel -l pl.UTF-8 -Ten pakiet zawiera pliki programistyczne rozszerzeń Memory Protection -Extensions dla języka C. - -%package -n libmpx-static -Summary: GCC Memory Protection Extensions language extensions static library -Summary(pl.UTF-8): Biblioteka statyczna rozszerzeń Memory Protection Extensions dla GCC -Epoch: 0 -License: BSD -Group: Development/Libraries -Requires: libmpx-devel = %{version}-%{release} - -%description -n libmpx-static -This package contains Memory Protection Extensions C language -extensions static library. - -%description -n libmpx-static -l pl.UTF-8 -Ten pakiet zawiera bibliotekę statyczną rozszerzeń Memory Protection -Extensions dla języka C. - -%package -n libmpx-multilib -Summary: GCC Memory Protection Extensions language extensions runtime library - 32-bit version -Summary(pl.UTF-8): Biblioteka uruchomieniowa rozszerzeń Memory Protection Extensions dla GCC - wersja 32-bitowa -Epoch: 0 -License: BSD -Group: Libraries -Requires: libstdc++-multilib = %{version}-%{release} - -%description -n libmpx-multilib -This package contains the Memory Protection Extensions C language -extensions runtime library in 32-bit version. - -%description -n libmpx-multilib -l pl.UTF-8 -Ten pakiet zawiera bibliotekę uruchomieniową rozszerzeń Memory -Protection Extensions dla języka C. W tym pakiecie znajduje się wersja -32-bitowa. - -%package -n libmpx-multilib-devel -Summary: GCC development files for Memory Protection Extensions language extensions - 32-bit version -Summary(pl.UTF-8): Pliki programistyczne GCC dla rozszerzeń Memory Protection Extensions - wersja 32-bitowa -Epoch: 0 -License: BSD -Group: Development/Libraries -Requires: libmpx-devel = %{version}-%{release} -Requires: libmpx-multilib = %{version}-%{release} - -%description -n libmpx-multilib-devel -This package contains development files for Memory Protection -Extensions C language extensions in 32-bit version. - -%description -n libmpx-multilib-devel -l pl.UTF-8 -Ten pakiet zawiera pliki programistyczne rozszerzeń Memory Protection -Extensions dla języka C. W tym pakiecie znajduje się wersja 32-bitowa. - -%package -n libmpx-multilib-static -Summary: GCC Memory Protection Extensions language extensions static library - 32-bit version -Summary(pl.UTF-8): Biblioteka statyczna rozszerzeń Memory Protection Extensions dla GCC - wersja 32-bitowa -Epoch: 0 -License: BSD -Group: Development/Libraries -Requires: libmpx-multilib-devel = %{version}-%{release} - -%description -n libmpx-multilib-static -This package contains the Memory Protection Extensions C language -extensions static library in 32-bit version. - -%description -n libmpx-multilib-static -l pl.UTF-8 -Ten pakiet zawiera bibliotekę statyczną rozszerzeń Memory Protection -Extensions dla języka C. W tym pakiecie znajduje się wersja 32-bitowa. +# PUT SUCH PACKAGES HERE %prep %setup -q @@ -1819,7 +1721,6 @@ Extensions dla języka C. W tym pakiecie znajduje się wersja 32-bitowa. %patch0 -p1 %patch2 -p1 %patch3 -p1 -%patch4 -p1 %if %{with gcc_libffi} %patch11 -p0 @@ -2191,10 +2092,6 @@ rm -rf $RPM_BUILD_ROOT %postun -p /sbin/ldconfig -n libffi %post -p /sbin/ldconfig -n libffi-multilib %postun -p /sbin/ldconfig -n libffi-multilib -%post -p /sbin/ldconfig -n libmpx -%postun -p /sbin/ldconfig -n libmpx -%post -p /sbin/ldconfig -n libmpx-multilib -%postun -p /sbin/ldconfig -n libmpx-multilib %post -p /sbin/ldconfig -n libobjc %postun -p /sbin/ldconfig -n libobjc %post -p /sbin/ldconfig -n libobjc-multilib @@ -2335,6 +2232,7 @@ rm -rf $RPM_BUILD_ROOT %{gcclibdir}/include/bmmintrin.h %{gcclibdir}/include/cet.h %{gcclibdir}/include/cetintrin.h +%{gcclibdir}/include/cldemoteintrin.h %{gcclibdir}/include/clflushoptintrin.h %{gcclibdir}/include/clwbintrin.h %{gcclibdir}/include/clzerointrin.h @@ -2371,6 +2269,7 @@ rm -rf $RPM_BUILD_ROOT %{gcclibdir}/include/vaesintrin.h %{gcclibdir}/include/vpclmulqdqintrin.h %{gcclibdir}/include/wbnoinvdintrin.h +%{gcclibdir}/include/waitpkgintrin.h %{gcclibdir}/include/wmmintrin.h %{gcclibdir}/include/x86intrin.h %{gcclibdir}/include/xmmintrin.h @@ -2624,6 +2523,7 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_libdir}/libgfortran.so %{_libdir}/libgfortran.spec %{_libdir}/libgfortran.la +%{gcclibdir}/include/ISO_Fortran_binding.h %{gcclibdir}/libcaf_single.a %{gcclibdir}/libcaf_single.la #%{gcclibdir}/libgfortranbegin.la @@ -2813,7 +2713,7 @@ 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.13 +%attr(755,root,root) %ghost %{_libdir}/libgo.so.14 %files -n libgo-devel %defattr(644,root,root,755) @@ -2830,7 +2730,7 @@ rm -rf $RPM_BUILD_ROOT %files -n libgo-multilib %defattr(644,root,root,755) %attr(755,root,root) %{_libdir32}/libgo.so.*.*.* -%attr(755,root,root) %ghost %{_libdir32}/libgo.so.13 +%attr(755,root,root) %ghost %{_libdir32}/libgo.so.14 %files -n libgo-multilib-devel %defattr(644,root,root,755) @@ -3035,49 +2935,3 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{gcclibdir}/plugin/libcc1plugin.so %{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 -%defattr(644,root,root,755) -%attr(755,root,root) %{_libdir32}/libmpx.so.*.*.* -%attr(755,root,root) %ghost %{_libdir32}/libmpx.so.2 -%attr(755,root,root) %{_libdir32}/libmpxwrappers.so.*.*.* -%attr(755,root,root) %ghost %{_libdir32}/libmpxwrappers.so.2 - -%files -n libmpx-multilib-devel -%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-static -%defattr(644,root,root,755) -%{_libdir32}/libmpx.a -%{_libdir32}/libmpxwrappers.a -%endif diff --git a/pr88419-revert.patch b/pr88419-revert.patch deleted file mode 100644 index a8a0600..0000000 --- a/pr88419-revert.patch +++ /dev/null @@ -1,47 +0,0 @@ -# DP: Revert the fix for PC c++/88419, causing PR c++/89906. - -2019-03-08 Jason Merrill - - PR c++/88419 - C++17 ICE with class template arg deduction. - * pt.c (make_template_placeholder): Set TYPE_CANONICAL after - CLASS_PLACEHOLDER_TEMPLATE. - ---- a/gcc/cp/pt.c -+++ b/gcc/cp/pt.c -@@ -26002,10 +26002,8 @@ - tree - make_template_placeholder (tree tmpl) - { -- tree t = make_auto_1 (DECL_NAME (tmpl), false); -+ tree t = make_auto_1 (DECL_NAME (tmpl), true); - CLASS_PLACEHOLDER_TEMPLATE (t) = tmpl; -- /* Our canonical type depends on the placeholder. */ -- TYPE_CANONICAL (t) = canonical_type_parameter (t); - return t; - } - ---- a/gcc/testsuite/g++.dg/cpp1z/class-deduction62.C -+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction62.C -@@ -1,22 +0,0 @@ --// PR c++/88419 --// { dg-do compile { target c++17 } } -- --template struct ref_view { -- template ref_view(T&&); --}; -- --template ref_view(R&) -> ref_view; -- --struct ref_fn { -- template auto operator()(R r) const -- noexcept(noexcept(ref_view{r})); --}; -- --template struct indirect_view { -- indirect_view(R); --}; -- --struct indirect_fn { -- template auto operator()(R r) const -- noexcept(noexcept(indirect_view{r})); --}; -- 2.46.0