%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
# 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
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
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
# 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\)
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
%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 \
%{?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} \
%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}
%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
%{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
%{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
%{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
%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*
%{_libdir}/libstdc++fs.la
%dir %{_includedir}/c++
%{_includedir}/c++/%{version}
-%{_includedir}/expc++.h
%{_includedir}/extc++.h
%{_includedir}/stdc++.h
%{_includedir}/stdtr1c++.h
%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)
%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)
%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)
%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)