X-Git-Url: https://git.tld-linux.org/?a=blobdiff_plain;f=gcc.spec;h=8d806dd68c3fc2d0a6e7b0b68ff368b3b063e474;hb=7499435cd5e965d1254f430ece1c71ff2a885435;hp=c9346aec831e50e486c787ccfd2b1b1ed8a82c64;hpb=bf4c30ebe6e187742ff45794cd12e71ff6ca6902;p=packages%2Fgcc.git diff --git a/gcc.spec b/gcc.spec index c9346ae..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,7 +98,7 @@ # 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 major_ver 11 %define minor_ver 2.0 Summary: GNU Compiler Collection: the C compiler and shared files @@ -104,19 +107,19 @@ 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: 0.2 +Release: 3 Epoch: 6 License: GPL v3+ Group: Development/Languages Source0: https://gcc.gnu.org/pub/gcc/releases/%{name}-%{version}/%{name}-%{version}.tar.xz -# Source0-md5: e9fd9b1789155ad09bcf3ae747596b50 +# 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: 3629b023e2dbf2ab7f0b49e1bf864f21 +# Patch100-md5: b87420dd46c41e2398444f2c06e29276 Patch0: %{name}-info.patch Patch2: %{name}-nodebug.patch Patch3: %{name}-ada-link.patch @@ -144,13 +147,13 @@ BuildRequires: gettext-tools >= 0.14.5 BuildRequires: glibc-devel >= 6:2.4-1 %if %{with multilib} # Formerly known as gcc(multilib) -BuildRequires: gcc(multilib) +BuildRequires: gcc(multilib-32) %ifarch %{x8664} %if %{with multilibx32} BuildRequires: gcc(multilib-x32) BuildRequires: glibc-devel(x32) %endif -#BuildRequires: glibc-devel(ix86) +BuildRequires: glibc-devel(ix86) %endif %ifarch x32 BuildRequires: gcc(multilib-64) @@ -176,7 +179,7 @@ BuildRequires: isl-devel >= 0.15 BuildRequires: libmpc-devel >= 0.8.1 BuildRequires: mpfr-devel >= 3.1.0 %if %{with python} -BuildRequires: python-devel +BuildRequires: python3-devel BuildRequires: rpm-pythonprov %endif BuildRequires: rpmbuild(macros) >= 1.211 @@ -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\) @@ -943,9 +947,7 @@ 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. @@ -1896,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 @@ -2620,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 \ @@ -2817,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} \ @@ -2880,11 +2948,10 @@ for LIBDIR in %{_libdir} %{?with_multilib:%{_libdir32}} %{?with_multilib2:%{_lib < libstdc++-v3/python/hook.in \ > $LIBPATH/$(basename $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libstdc++.so.*.*.*)-gdb.py done -install -d $RPM_BUILD_ROOT%{py_sitescriptdir} -%{__mv} $RPM_BUILD_ROOT%{_datadir}/gcc-%{version}/python/libstdcxx $RPM_BUILD_ROOT%{py_sitescriptdir} -%py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir} -%py_comp $RPM_BUILD_ROOT%{py_sitescriptdir} -%py_postclean +install -d $RPM_BUILD_ROOT%{py3_sitescriptdir} +%{__mv} $RPM_BUILD_ROOT%{_datadir}/gcc-%{version}/python/libstdcxx $RPM_BUILD_ROOT%{py3_sitescriptdir} +%py3_ocomp $RPM_BUILD_ROOT%{py3_sitescriptdir} +%py3_comp $RPM_BUILD_ROOT%{py3_sitescriptdir} %else %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/gcc-%{version}/python/libstdcxx %endif @@ -3020,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} @@ -3127,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 @@ -3155,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 @@ -3173,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 @@ -3190,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 @@ -3509,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* @@ -3547,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 @@ -3595,10 +3675,12 @@ rm -rf $RPM_BUILD_ROOT %if %{with python} %files -n libstdc++-gdb %defattr(644,root,root,755) -%dir %{py_sitescriptdir}/libstdcxx -%{py_sitescriptdir}/libstdcxx/*.py[co] -%dir %{py_sitescriptdir}/libstdcxx/v6 -%{py_sitescriptdir}/libstdcxx/v6/*.py[co] +%dir %{py3_sitescriptdir}/libstdcxx +%{py3_sitescriptdir}/libstdcxx/*.py +%{py3_sitescriptdir}/libstdcxx/__pycache__ +%dir %{py3_sitescriptdir}/libstdcxx/v6 +%{py3_sitescriptdir}/libstdcxx/v6/*.py +%{py3_sitescriptdir}/libstdcxx/v6/__pycache__ %{_datadir}/gdb/auto-load%{_libdir}/libstdc++.so.%{cxx_sover}.*.*-gdb.py %if %{with multilib} %{_datadir}/gdb/auto-load%{_libdir32}/libstdc++.so.%{cxx_sover}.*.*-gdb.py @@ -3899,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) @@ -3916,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) @@ -3934,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) @@ -4002,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)