From 7499435cd5e965d1254f430ece1c71ff2a885435 Mon Sep 17 00:00:00 2001 From: Marcin Krol Date: Mon, 21 Feb 2022 02:10:27 +0100 Subject: [PATCH] - merged 11.2.0 from PLD --- branch.sh | 4 +- gcc-nodebug.patch | 2 +- gcc.spec | 120 ++++++++++++++++++++++++++++++++++++++++++---- 3 files changed, 113 insertions(+), 13 deletions(-) diff --git a/branch.sh b/branch.sh index eb61c67..0d2995c 100755 --- a/branch.sh +++ b/branch.sh @@ -2,8 +2,8 @@ set -e url=git://gcc.gnu.org/git/gcc.git package=gcc -tag=releases/gcc-10.3.0 -branch=releases/gcc-10 +tag=releases/gcc-11.2.0 +branch=releases/gcc-11 out=$package-branch.diff repo=$package.git diff --git a/gcc-nodebug.patch b/gcc-nodebug.patch index aa44dd3..162eddd 100644 --- a/gcc-nodebug.patch +++ b/gcc-nodebug.patch @@ -43,7 +43,7 @@ diff -urNp -x '*.orig' gcc-10.2.0.org/gcc/ada/gcc-interface/Makefile.in gcc-10.2 NO_OMIT_ADAFLAGS = -fno-omit-frame-pointer NO_SIBLING_ADAFLAGS = -fno-optimize-sibling-calls NO_REORDER_ADAFLAGS = -fno-toplevel-reorder - GNATLIBFLAGS = -W -Wall -gnatpg -nostdinc + GNATLIBFLAGS = -W -Wall -gnatg -nostdinc -GNATLIBCFLAGS = -g -O2 +GNATLIBCFLAGS = -O2 # Pretend that _Unwind_GetIPInfo is available for the target by default. This diff --git a/gcc.spec b/gcc.spec index 7028646..8d806dd 100644 --- a/gcc.spec +++ b/gcc.spec @@ -86,6 +86,9 @@ %define with_lsan_m2 1 %define with_tsan_m2 1 %endif +%ifarch aarch64 +%define with_hwasan 1 +%endif %ifarch %{ix86} %{x8664} x32 %define with_vtv 1 %endif @@ -95,8 +98,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 10 -%define minor_ver 3.0 +%define major_ver 11 +%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 @@ -109,14 +112,14 @@ Epoch: 6 License: GPL v3+ Group: Development/Languages Source0: https://gcc.gnu.org/pub/gcc/releases/%{name}-%{version}/%{name}-%{version}.tar.xz -# Source0-md5: 443c15b92614a3ce8f22e3b24ca2226a +# Source0-md5: 31c86f2ced76acac66992eeedce2fce2 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: a8efa1a27e26ce736a3ab51b4d1d56f2 +# Patch100-md5: b87420dd46c41e2398444f2c06e29276 Patch0: %{name}-info.patch Patch2: %{name}-nodebug.patch Patch3: %{name}-ada-link.patch @@ -184,6 +187,7 @@ BuildRequires: tar >= 1:1.22 BuildRequires: texinfo >= 4.7 BuildRequires: xz BuildRequires: zlib-devel +BuildRequires: zstd-devel BuildConflicts: pdksh < 5.2.14-50 Requires: binutils >= 3:2.30 Requires: gmp >= 4.3.2 @@ -237,7 +241,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|libitm|libxmlj|libubsan|lib-gnu-awt-xlib)\.so.*' +%define skip_post_check_so '.*(libasan|libcc1plugin|libcp1plugin|libgnat-%{major_ver}|libgo|libitm|libxmlj|libubsan|lib-gnu-awt-xlib)\.so.*' # private symbols %define _noautoreq .*\(GLIBC_PRIVATE\) @@ -1894,6 +1898,52 @@ library. Ten pakiet zawiera wersję %{m2_desc} statycznej biblioteki Address Sanitizer. +%package -n libhwasan +Summary: The Hardware-Assisted Address Sanitizer library +Summary(pl.UTF-8): Biblioteka Hardware-Assisted Address Sanitizer do kontroli adresów +License: BSD-like or MIT +Group: Libraries +Requires: libstdc++ = %{epoch}:%{version}-%{release} + +%description -n libhwasan +This package contains the Hardware-Assisted Address Sanitizer library +which is used for -fsanitize=hwaddress instrumented programs. + +%description -n libhwasan -l pl.UTF-8 +Ten pakiet zawiera bibliotekę Hardware-Assisted Address Sanitizer, +służącą do kontroli adresów w programach kompilowanych z opcją +-fsanitize=hwaddress. + +%package -n libhwasan-devel +Summary: Development files for the Hardware-Assisted Address Sanitizer library +Summary(pl.UTF-8): Pliki programistyczne biblioteki Hardware-Assisted Address Sanitizer +License: BSD-like or MIT +Group: Development/Libraries +Requires: libhwasan = %{epoch}:%{version}-%{release} + +%description -n libhwasan-devel +This package contains development files for the Hardware-Assisted +Address Sanitizer library. + +%description -n libhwasan-devel -l pl.UTF-8 +Ten pakiet zawiera pliki programistyczne biblioteki Hardware-Assisted +Address Sanitizer. + +%package -n libhwasan-static +Summary: The Hardware-Assisted Address Sanitizer static library +Summary(pl.UTF-8): Statyczna biblioteka Hardware-Assisted Address Sanitizer +License: BSD-like or MIT +Group: Development/Libraries +Requires: libhwasan-devel = %{epoch}:%{version}-%{release} + +%description -n libhwasan-static +This package contains Hardware-Assisted Address Sanitizer static +library. + +%description -n libhwasan-static -l pl.UTF-8 +Ten pakiet zawiera statyczną bibliotekę Hardware-Assisted Address +Sanitizer. + %package -n liblsan Summary: The Leak Sanitizer library Summary(pl.UTF-8): Biblioteka Leak Sanitizer do kontroli wycieków @@ -2618,11 +2668,30 @@ TEXCONFIG=false \ %endif --with-system-zlib \ --without-x \ +%ifarch armv6l + --with-arch=armv6 \ +%endif %ifarch armv6hl --with-arch=armv6 \ --with-float=hard \ --with-fpu=vfp \ %endif +%ifarch armv7l + --with-arch=armv7 \ + --with-mode=thumb \ +%endif +%ifarch armv7hl + --with-arch=armv7-a \ + --with-float=hard \ + --with-fpu=vfpv3-d16 \ + --with-mode=thumb \ +%endif +%ifarch armv7hnl + --with-arch=armv7-a \ + --with-float=hard \ + --with-fpu=neon-vfpv3 \ + --with-mode=thumb \ +%endif %if %{with cxx} --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ @@ -2815,6 +2884,7 @@ for f in libitm.la libssp.la libssp_nonshared.la \ %{?with_fortran:libgfortran.la %{?with_quadmath:libquadmath.la}} \ %{?with_gomp:libgomp.la} \ %{?with_Xsan:libasan.la libubsan.la} \ + %{?with_hwasan:libhwasan.la} \ %{?with_lsan_m0:liblsan.la} \ %{?with_tsan_m0:libtsan.la} \ %{?with_atomic:libatomic.la} \ @@ -3017,6 +3087,8 @@ rm -rf $RPM_BUILD_ROOT %postun -p /sbin/ldconfig -n libasan-multilib-32 %post -p /sbin/ldconfig -n libasan-multilib-%{multilib2} %postun -p /sbin/ldconfig -n libasan-multilib-%{multilib2} +%post -p /sbin/ldconfig -n libhwasan +%postun -p /sbin/ldconfig -n libhwasan %post -p /sbin/ldconfig -n liblsan %postun -p /sbin/ldconfig -n liblsan %post -p /sbin/ldconfig -n liblsan-multilib-%{multilib2} @@ -3124,6 +3196,9 @@ rm -rf $RPM_BUILD_ROOT %ifarch %{ix86} %{x8664} x32 %{gcclibdir}/include/adxintrin.h %{gcclibdir}/include/ammintrin.h +%{gcclibdir}/include/amxbf16intrin.h +%{gcclibdir}/include/amxint8intrin.h +%{gcclibdir}/include/amxtileintrin.h %{gcclibdir}/include/avx2intrin.h %{gcclibdir}/include/avx5124fmapsintrin.h %{gcclibdir}/include/avx5124vnniwintrin.h @@ -3152,6 +3227,7 @@ rm -rf $RPM_BUILD_ROOT %{gcclibdir}/include/avx512vpopcntdqintrin.h %{gcclibdir}/include/avx512vpopcntdqvlintrin.h %{gcclibdir}/include/avxintrin.h +%{gcclibdir}/include/avxvnniintrin.h %{gcclibdir}/include/bmi2intrin.h %{gcclibdir}/include/bmiintrin.h %{gcclibdir}/include/bmmintrin.h @@ -3170,14 +3246,17 @@ rm -rf $RPM_BUILD_ROOT %{gcclibdir}/include/fmaintrin.h %{gcclibdir}/include/fxsrintrin.h %{gcclibdir}/include/gfniintrin.h +%{gcclibdir}/include/hresetintrin.h %{gcclibdir}/include/ia32intrin.h %{gcclibdir}/include/immintrin.h +%{gcclibdir}/include/keylockerintrin.h %{gcclibdir}/include/lwpintrin.h %{gcclibdir}/include/lzcntintrin.h %{gcclibdir}/include/mm3dnow.h %{gcclibdir}/include/mmintrin.h %{gcclibdir}/include/mm_malloc.h %{gcclibdir}/include/movdirintrin.h +%{gcclibdir}/include/mwaitintrin.h %{gcclibdir}/include/mwaitxintrin.h %{gcclibdir}/include/nmmintrin.h %{gcclibdir}/include/pconfigintrin.h @@ -3187,16 +3266,20 @@ rm -rf $RPM_BUILD_ROOT %{gcclibdir}/include/prfchwintrin.h %{gcclibdir}/include/rdseedintrin.h %{gcclibdir}/include/rtmintrin.h +%{gcclibdir}/include/serializeintrin.h %{gcclibdir}/include/sgxintrin.h %{gcclibdir}/include/shaintrin.h %{gcclibdir}/include/smmintrin.h %{gcclibdir}/include/tbmintrin.h %{gcclibdir}/include/tmmintrin.h +%{gcclibdir}/include/tsxldtrkintrin.h +%{gcclibdir}/include/uintrintrin.h %{gcclibdir}/include/vaesintrin.h %{gcclibdir}/include/vpclmulqdqintrin.h %{gcclibdir}/include/waitpkgintrin.h %{gcclibdir}/include/wbnoinvdintrin.h %{gcclibdir}/include/wmmintrin.h +%{gcclibdir}/include/x86gprintrin.h %{gcclibdir}/include/x86intrin.h %{gcclibdir}/include/xmmintrin.h %{gcclibdir}/include/xopintrin.h @@ -3506,12 +3589,13 @@ rm -rf $RPM_BUILD_ROOT %if %{with cxx} %files c++ %defattr(644,root,root,755) -%doc gcc/cp/{ChangeLog,NEWS} +%doc gcc/cp/ChangeLog %attr(755,root,root) %{_bindir}/g++ %attr(755,root,root) %{_bindir}/*-g++ %attr(755,root,root) %{_bindir}/c++ %attr(755,root,root) %{_bindir}/*-c++ %attr(755,root,root) %{gcclibdir}/cc1plus +%attr(755,root,root) %{gcclibdir}/g++-mapper-server %{_libdir}/libsupc++.la %{_libdir}/libsupc++.a %{_mandir}/man1/g++.1* @@ -3544,7 +3628,6 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/libstdc++fs.la %dir %{_includedir}/c++ %{_includedir}/c++/%{version} -%{_includedir}/expc++.h %{_includedir}/extc++.h %{_includedir}/stdc++.h %{_includedir}/stdtr1c++.h @@ -3898,7 +3981,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.16 +%attr(755,root,root) %ghost %{_libdir}/libgo.so.19 %files -n libgo-devel %defattr(644,root,root,755) @@ -3915,7 +3998,7 @@ rm -rf $RPM_BUILD_ROOT %files -n libgo-multilib-32 %defattr(644,root,root,755) %attr(755,root,root) %{_libdir32}/libgo.so.*.*.* -%attr(755,root,root) %ghost %{_libdir32}/libgo.so.16 +%attr(755,root,root) %ghost %{_libdir32}/libgo.so.19 %files -n libgo-multilib-32-devel %defattr(644,root,root,755) @@ -3933,7 +4016,7 @@ rm -rf $RPM_BUILD_ROOT %files -n libgo-multilib-%{multilib2} %defattr(644,root,root,755) %attr(755,root,root) %{_libdirm2}/libgo.so.*.*.* -%attr(755,root,root) %ghost %{_libdirm2}/libgo.so.16 +%attr(755,root,root) %ghost %{_libdirm2}/libgo.so.19 %files -n libgo-multilib-%{multilib2}-devel %defattr(644,root,root,755) @@ -4001,6 +4084,23 @@ rm -rf $RPM_BUILD_ROOT %endif %endif +%if %{with hwasan} +%files -n libhwasan +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libhwasan.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libhwasan.so.0 + +%files -n libhwasan-devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libhwasan.so +%{_libdir}/libhwasan.la +%{gcclibdir}/include/sanitizer/hwasan_interface.h + +%files -n libhwasan-static +%defattr(644,root,root,755) +%{_libdir}/libhwasan.a +%endif + %if %{with lsan_m0} %files -n liblsan %defattr(644,root,root,755) -- 2.46.0