From f74fadcdb22bb9dc0234b6e9e07aa2ab5f3a71b9 Mon Sep 17 00:00:00 2001 From: Toshaan Bharvani Date: Tue, 6 Jun 2023 23:56:19 +0200 Subject: [PATCH] update to 11.3.1 release 4 Signed-off-by: Toshaan Bharvani --- SPECS/gcc.spec | 510 +++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 475 insertions(+), 35 deletions(-) mode change 100755 => 100644 SPECS/gcc.spec diff --git a/SPECS/gcc.spec b/SPECS/gcc.spec old mode 100755 new mode 100644 index 519033e..be47d1e --- a/SPECS/gcc.spec +++ b/SPECS/gcc.spec @@ -1,10 +1,10 @@ -%global DATE 20220127 -%global gitrev 2fa6e5c54e782377faa4c9c1f0e0b16db27f266c -%global gcc_version 11.2.1 +%global DATE 20221121 +%global gitrev 643e61c61b308f9c572da4ccd5f730fb +%global gcc_version 11.3.1 %global gcc_major 11 # Note, gcc_release must be integer, if you want to add suffixes to # %%{release}, append them after %%{gcc_release} on Release: line. -%global gcc_release 9 +%global gcc_release 4 %global nvptx_tools_gitrev 5f6f343a302d620b0868edab376c00b15741e39e %global newlib_cygwin_gitrev 50e2a63b04bdd018484605fbb954fd1bd5147fa0 %global _unpackaged_files_terminate_build 0 @@ -23,7 +23,7 @@ %if 0%{?fedora} < 32 && 0%{?rhel} < 8 %global multilib_64_archs sparc64 ppc64 ppc64p7 s390x x86_64 %else -%global multilib_64_archs sparc64 ppc64p7 +%global multilib_64_archs sparc64 ppc64p7 %endif %if 0%{?rhel} > 7 %global build_ada 0 @@ -42,7 +42,7 @@ %else %global build_go 0 %endif -%ifarch %{ix86} x86_64 %{arm} %{mips} s390 s390x riscv64 +%ifarch %{ix86} x86_64 %{arm} aarch64 ppc64 ppc64le %{mips} s390 s390x riscv64 %global build_d 1 %else %global build_d 0 @@ -83,7 +83,7 @@ %else %global build_libitm 0 %endif -%if 0%{?rhel} > 10 +%if 0%{?rhel} > 8 %global build_isl 0 %else %global build_isl 1 @@ -94,7 +94,7 @@ %else %global attr_ifunc 0 %endif -%ifarch x86_64 ppc64le ppc64 +%ifarch x86_64 ppc64le %global build_offload_nvptx 1 %else %global build_offload_nvptx 0 @@ -107,16 +107,28 @@ %ifarch sparc64 %global multilib_32_arch sparcv9 %endif -%ifarch ppc64p7 +%ifarch ppc64 ppc64p7 %global multilib_32_arch ppc %endif -%ifarch i686 +%ifarch x86_64 %global multilib_32_arch i686 %endif +%if 0%{?rhel} == 9 +%ifarch x86_64 ppc64le ppc64 +%global build_cross 0 +%else +%global build_cross 0 +%endif +%else +%dnl rhel != 9 +%global build_cross 0 +%endif +# TODO: Add ppc64le-redhat-linux s390x-redhat-linux later. +%global cross_targets aarch64-powerel-linux Summary: Various compilers (C, C++, Objective-C, ...) Name: gcc Version: %{gcc_version} -Release: %{gcc_release}.4%{?dist} +Release: %{gcc_release}.3%{?dist} # libgcc, libgfortran, libgomp, libstdc++ and crtstuff have # GCC Runtime Exception. License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD @@ -271,9 +283,10 @@ Patch18: gcc11-Wbidi-chars.patch Patch19: gcc11-dg-ice-fixes.patch Patch20: gcc11-relocatable-pch.patch Patch21: gcc11-dejagnu-multiline.patch -Patch22: gcc11-libsanitizer-pthread.patch Patch23: gcc11-pie.patch Patch24: gcc11-bind-now.patch +Patch25: gcc11-detect-sapphirerapids.patch +Patch26: gcc11-Wmismatched-dealloc-doc.patch Patch100: gcc11-fortran-fdec-duplicates.patch Patch101: gcc11-fortran-flogical-as-integer.patch @@ -795,6 +808,45 @@ This package adds a version of the annobin plugin for gcc. This version of the plugin is explicitly built by the same version of gcc that is installed so that there cannot be any synchronization problems. +%package -n cross-gcc-aarch64 +Summary: Cross targeted AArch64 gcc for developer use. Not intended for production. +Provides: cross-gcc-aarch64 = %{version}-%{release} +%if %{build_cross} +Requires: cross-binutils-aarch64 >= 2.35 +BuildRequires: sysroot-aarch64-el9-glibc >= 2.34 +BuildRequires: cross-binutils-aarch64 >= 2.35 +%endif +# Don't provide e.g. liblto_plugin.so()(64bit). +AutoReqProv: no + +%description -n cross-gcc-aarch64 +This package contains a version of gcc that can compile code for AArch64 +(cross compiler). This cross compiler is intended for developers to use +during application development. This cross compiler is not intended for +production use, and output binary artifacts should not be used in +production. Generated binary artifacts contain binary annotations that +mark them as cross compiled. + +%package -n cross-gcc-c++-aarch64 +Summary: Cross targeted AArch64 gcc-c++ for developer use. Not intended for production. +Provides: cross-gcc-c++-aarch64 = %{version}-%{release} +%if %{build_cross} +Requires: cross-gcc-aarch64 = %{version}-%{release} +BuildRequires: sysroot-aarch64-el9-glibc >= 2.34 +BuildRequires: cross-binutils-aarch64 >= 2.35 +%endif +# ??? Otherwise this subpackage couldn't be installed, depends on libm.so +# and libgcc_s.so +AutoReqProv: no + +%description -n cross-gcc-c++-aarch64 +This package contains a version of g++ that can compile code for AArch64 +(cross compiler). This cross compiler is intended for developers to use +during application development. This cross compiler is not intended for +production use, and output binary artifacts should not be used in +production. Generated binary artifacts contain binary annotations that +mark them as cross compiled. + %prep %setup -q -n gcc-%{version}-%{DATE} -a 1 -a 2 -a 3 %patch0 -p0 -b .hack~ @@ -823,9 +875,10 @@ so that there cannot be any synchronization problems. %patch19 -p1 -b .ice~ %patch20 -p1 -b .pch~ %patch21 -p1 -b .dejagnu-multiline~ -%patch22 -p1 -b .libsanitizer-pthread~ %patch23 -p1 -b .pie~ %patch24 -p1 -b .now~ +%patch25 -p1 -b .detect-spr~ +%patch26 -p1 -b .Wmismatched-dealloc-doc~ %if 0%{?rhel} >= 9 %patch100 -p1 -b .fortran-fdec-duplicates~ @@ -844,7 +897,9 @@ so that there cannot be any synchronization problems. rm -f gcc/testsuite/go.test/test/fixedbugs/issue19182.go %endif -echo 'PowerEL %{version}-%{gcc_release}' > gcc/DEV-PHASE +echo 'PowerEL %{version}-%{gcc_release}' > gcc/DEV-PHASE.native +echo 'PowerEL %{version}-%{gcc_release} cross from %{_arch}' > gcc/DEV-PHASE.cross +cp -p gcc/DEV-PHASE{.native,} cp -a libstdc++-v3/config/cpu/i{4,3}86/atomicity.h @@ -933,7 +988,7 @@ CC="$CC" CXX="$CXX" CFLAGS="$OPT_FLAGS" \ --target nvptx-none --enable-as-accelerator-for=%{gcc_target_platform} \ --enable-languages=c,c++,fortran,lto \ --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \ - --with-bugurl=http://bugzilla.powerel.org/bugzilla \ + --with-bugurl=http://bugs.powerel.com/bugzilla \ --enable-checking=release --with-system-zlib \ --with-gcc-major-version-only --without-isl --enable-host-pie --enable-host-bind-now make %{?_smp_mflags} @@ -983,14 +1038,43 @@ enablelgo=,go %if %{build_d} enableld=,d %endif -CONFIGURE_OPTS="\ +# CONFIGURE_OPTS_BASE are the configure options common to the native and cross +# builds. E.g., --prefix. This cannot include arch-specific configure options. +# CONFIGURE_OPTS_NATIVE are the configure options used for the native build +# (that is, the regular non-cross build) and libgccjit. This includes arch-specific +# configure options (default -march and such). +# CONFIGURE_OPTS = CONFIGURE_OPTS_BASE + CONFIGURE_OPTS_NATIVE +# CONFIGURE_OPTS_CROSS are the configure options common to all the cross +# builds. E.g., only build C/C++. This shall not be used for the native build. +# Each cross compiler's configure options will be: +# CONFIGURE_OPTS_BASE + CONFIGURE_OPTS_CROSS + --target= + --with-sysroot= + +# It it very important that the arch-specific configure options used in +# CONFIGURE_OPTS_NATIVE are in lockstep with the +# used in the cross builds. +CONFIGURE_OPTS_BASE="\ --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \ - --with-bugurl=http://bugzilla.powerel.org/bugzilla \ + --with-bugurl=http://bugs.powerel.com/bugzilla \ --enable-shared --enable-threads=posix --enable-checking=release \ + --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions \ + --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only \ + --enable-plugin --enable-initfini-array \ +%if %{build_isl} + --with-isl=`pwd`/isl-install \ +%else + --without-isl \ +%endif + " + +# NB: When updating CONFIGURE_OPTS_NATIVE, make sure to update the cross +# compiler options as well (look for CONFIGURE_OPTS_FOR_ARCH). +CONFIGURE_OPTS_NATIVE="\ %ifarch ppc64le --enable-targets=powerpcle-linux \ %endif -%ifarch x86_64 ppc64 ppc64le %{mips} s390x +%ifarch ppc64 + --enable-targets=powerpc-linux \ +%endif +%ifarch %{mips} s390x %ifarch s390x %if 0%{?fedora} < 32 && 0%{?rhel} < 8 --enable-multilib \ @@ -1003,16 +1087,8 @@ CONFIGURE_OPTS="\ %else --enable-multilib \ %endif - --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions \ - --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only \ %ifnarch %{mips} --with-linker-hash-style=gnu \ -%endif - --enable-plugin --enable-initfini-array \ -%if %{build_isl} - --with-isl=`pwd`/isl-install \ -%else - --without-isl \ %endif %if %{build_offload_nvptx} --enable-offload-targets=nvptx-none \ @@ -1050,17 +1126,10 @@ CONFIGURE_OPTS="\ %endif %endif %ifarch ppc64 -%if 0%{?rhel} == 9 --with-cpu-32=%{cpuarch} --with-tune-32=%{cpuarch} --with-cpu-64=%{cpuarch} --with-tune-64=%{cpuarch} \ -%else - --with-cpu-32=power8 --with-tune-32=power8 --with-cpu-64=power8 --with-tune-64=power8 \ -%endif %endif %ifarch ppc64le -%if 0%{?rhel} == 9 --with-cpu-32=%{cpuarch} --with-tune-32=%{cpuarch} --with-cpu-64=%{cpuarch} --with-tune-64=%{cpuarch} \ -%else - --with-cpu-32=power8 --with-tune-32=power8 --with-cpu-64=power8 --with-tune-64=power8 \ %endif %endif %ifarch ppc @@ -1082,10 +1151,10 @@ CONFIGURE_OPTS="\ %endif %else %ifarch %{ix86} - --with-arch=%{cpuarch} \ + --with-arch=i686 \ %endif %ifarch x86_64 - --with-arch_32=%{cpuarch} \ + --with-arch_32=i686 \ %endif %endif %ifarch s390 s390x @@ -1134,6 +1203,14 @@ CONFIGURE_OPTS="\ %endif %endif " +CONFIGURE_OPTS="$CONFIGURE_OPTS_BASE $CONFIGURE_OPTS_NATIVE" + +CONFIGURE_OPTS_CROSS="\ + --enable-languages=c,c++ --disable-bootstrap --disable-libsanitizer \ + --host=%{gcc_target_platform} --build=%{gcc_target_platform} \ + --disable-multilib --disable-libstdcxx-pch --disable-libcc1 \ + --enable-host-pie --enable-host-bind-now \ + " CC="$CC" CXX="$CXX" CFLAGS="$OPT_FLAGS" \ CXXFLAGS="`echo " $OPT_FLAGS " | sed 's/ -Wall / /g;s/ -fexceptions / /g' \ @@ -1174,6 +1251,55 @@ make jit.sphinx.html make jit.sphinx.install-html jit_htmldir=`pwd`/../../rpm.doc/libgccjit-devel/html cd .. +# Build cross compilers here. +%if %{build_cross} +echo ==================== BUILD CROSS ========================= +# Get out of obj-%{gcc_target_platform}. +pushd .. +for crossarch in %{cross_targets}; do + mkdir obj-$crossarch + cd obj-$crossarch + + case $crossarch in + aarch64*) + CONFIGURE_OPTS_FOR_ARCH="" + ;; + s390x*) + CONFIGURE_OPTS_FOR_ARCH="" + ;; + ppc64le*) + CONFIGURE_OPTS_FOR_ARCH="" + ;; + *) + echo >&2 "ERROR: unknown cross arch $crossarch" + exit 1 + ;; + esac + + # Temporarily replace DEV-PHASE. + cp -p ../gcc/DEV-PHASE{.cross,} + + CC="$CC" CXX="$CXX" CFLAGS="$OPT_FLAGS" \ + CXXFLAGS="`echo " $OPT_FLAGS " | sed 's/ -Wall / /g;s/ -fexceptions / /g' \ + | sed 's/ -Wformat-security / -Wformat -Wformat-security /'`" \ + XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \ + ../configure $CONFIGURE_OPTS_BASE $CONFIGURE_OPTS_CROSS \ + --with-sysroot=/usr/$crossarch/sys-root/el9/ \ + --with-gxx-include-dir="/usr/$crossarch/sys-root/el9/%{_prefix}/include/c++/%{gcc_major}" \ + --target=$crossarch \ + $CONFIGURE_OPTS_FOR_ARCH + make %{?_smp_mflags} LDFLAGS_FOR_TARGET=-Wl,-z,relro,-z,now + + # Restore DEV-PHASE. + cp -p ../gcc/DEV-PHASE{.native,} + # Out of obj-$crossarch. + cd .. +done +# Go back to obj-%{gcc_target_platform}. +popd +echo ==================== BUILD CROSS END ========================= +%endif + %if %{build_isl} cp -a isl-install/lib/libisl.so.15 gcc/ %endif @@ -1374,6 +1500,126 @@ make prefix=%{buildroot}%{_prefix} mandir=%{buildroot}%{_mandir} \ chmod 644 %{buildroot}%{_infodir}/gnat* %endif +%if %{build_cross} +echo ==================== INSTALL CROSS ========================= +# Our of obj-%{gcc_target_platform}. +pushd .. +for crossarch in %{cross_targets}; do + cd obj-$crossarch + + CROSS_LIBPATH=%{buildroot}%{_prefix}/lib/gcc/$crossarch/%{gcc_major}/ + + # Temporarily replace DEV-PHASE. + cp -p ../gcc/DEV-PHASE{.cross,} + + # --with-gxx-include-dir= doesn't prefix its argument with $(DESTDIR) + # and you can't install things into /usr unless you're root. + mkdir scratch + scratchdir=`pwd`/scratch + pushd $crossarch/libstdc++-v3 + for i in `find . -name Makefile`; do + cp -a $i $i.save + sed -i -e 's?^gxx_include_dir = .*$?gxx_include_dir = '$scratchdir'?' $i + touch -r $i.save $i + done + popd + + # Use -j1, because build-many-glibcs says: + # Parallel "make install" for GCC has race conditions that can + # cause it to fail; see + # . Such + # problems are not known for binutils, but doing the + # installation in parallel within a particular toolchain build + # (as opposed to installation of one toolchain from + # build-many-glibcs.py running in parallel to the installation + # of other toolchains being built) is not known to be + # significantly beneficial, so it is simplest just to disable + # parallel install for cross tools here. + make -j1 prefix=%{buildroot}%{_prefix} mandir=%{buildroot}%{_mandir} \ + infodir=%{buildroot}%{_infodir} install + + # Restore DEV-PHASE. + cp -p ../gcc/DEV-PHASE{.native,} + + # Restore Makefiles with the old gxx_include_dir. + pushd $crossarch/libstdc++-v3 + for i in `find . -name Makefile`; do + mv -f $i.save $i + done + popd + # We're not shipping C++ headers; nuke 'em. + rm -rf $scratchdir + + # Move libgomp.spec to where it belongs for %files. + mv $crossarch/libgomp/libgomp.spec $CROSS_LIBPATH + # Likewise for libitm.spec + %if %{build_libitm} + mv $crossarch/libitm/libitm.spec $CROSS_LIBPATH + %endif + + cd .. + + pushd $CROSS_LIBPATH + mv include-fixed/syslimits.h include/syslimits.h + mv include-fixed/limits.h include/limits.h + popd + + echo '/* GNU ld script + Use the shared library, but some functions are only in + the static library. */ +OUTPUT_FORMAT(elf64-littleaarch64) +GROUP ( =/lib64/libgcc_s.so.1 libgcc.a )' > $CROSS_LIBPATH/libgcc_s.so + + echo '/* GNU ld script + Use the shared library from sysroot. */ +OUTPUT_FORMAT(elf64-littleaarch64) +INPUT ( =%{_prefix}/lib64/libgomp.so.1 )' > $CROSS_LIBPATH/libgomp.so + + echo '/* GNU ld script + Use the shared library from sysroot. */ +OUTPUT_FORMAT(elf64-littleaarch64) +INPUT ( =/%{_prefix}/lib64/libstdc++.so.6 )' > $CROSS_LIBPATH/libstdc++.so + + echo "/* GNU ld script + Use the static library from sysroot. */ +INPUT( =%{_prefix}/lib/gcc/$crossarch/%{gcc_major}/libstdc++.a )" > $CROSS_LIBPATH/libstdc++.a + + echo "/* GNU ld script + Use the static library from sysroot. */ +INPUT( =%{_prefix}/lib/gcc/$crossarch/%{gcc_major}/libsupc++.a )" > $CROSS_LIBPATH/libsupc++.a + + echo '/* GNU ld script + Use the shared library from sysroot. */ +OUTPUT_FORMAT(elf64-littleaarch64) +INPUT ( =%{_prefix}/lib64/libatomic.so.1 )' > $CROSS_LIBPATH/libatomic.so + + echo "/* GNU ld script + Use the static library from sysroot. */ +INPUT( =%{_prefix}/lib/gcc/$crossarch/%{gcc_major}/libatomic.a )" > $CROSS_LIBPATH/libatomic.a + + echo '/* GNU ld script + Use the shared library from sysroot. */ +OUTPUT_FORMAT(elf64-littleaarch64) +INPUT ( =%{_prefix}/lib64/libitm.so.1 )' > $CROSS_LIBPATH/libitm.so + + echo "/* GNU ld script + Use the static library from sysroot. */ +INPUT( =%{_prefix}/lib/gcc/$crossarch/%{gcc_major}/libitm.a )" > $CROSS_LIBPATH/libitm.a + + # Help plugins find out nvra. + echo gcc-%{version}-%{release}.%{_arch} > $CROSS_LIBPATH/rpmver + + # TODO + # Add symlink to lto plugin in the binutils plugin directory. + #%{__mkdir_p} %{buildroot}%{_libdir}/bfd-plugins/ + #ln -s ../../libexec/gcc/$crossarch/%{gcc_major}/liblto_plugin.so \ + # %{buildroot}%{_libdir}/$crossarch/bfd-plugins/ +done +# Back to obj-%{gcc_target_platform}. +popd +echo ==================== INSTALL CROSS END ========================= +%endif + FULLPATH=%{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} FULLEPATH=%{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major} @@ -3277,7 +3523,201 @@ end %{ANNOBIN_GCC_PLUGIN_DIR}/gcc-annobin.so.0 %{ANNOBIN_GCC_PLUGIN_DIR}/gcc-annobin.so.0.0.0 +%if %{build_cross} +%files -n cross-gcc-aarch64 +%{_prefix}/bin/aarch64-powerel-linux-cpp +%{_prefix}/bin/aarch64-powerel-linux-gcc +%{_prefix}/bin/aarch64-powerel-linux-gcc-%{gcc_major} +%{_prefix}/bin/aarch64-powerel-linux-gcc-ar +%{_prefix}/bin/aarch64-powerel-linux-gcc-nm +%{_prefix}/bin/aarch64-powerel-linux-gcc-ranlib +%{_prefix}/bin/aarch64-powerel-linux-gcov* +%{_prefix}/bin/aarch64-powerel-linux-lto-dump +%{_prefix}/libexec/gcc/aarch64-powerel-linux/%{gcc_major}/cc1 +%{_prefix}/libexec/gcc/aarch64-powerel-linux/%{gcc_major}/collect2 +%{_prefix}/libexec/gcc/aarch64-powerel-linux/%{gcc_major}/lto1 +%{_prefix}/libexec/gcc/aarch64-powerel-linux/%{gcc_major}/lto-wrapper +%{_prefix}/libexec/gcc/aarch64-powerel-linux/%{gcc_major}/liblto_plugin.so +%dir %{_prefix}/lib/gcc +%dir %{_prefix}/lib/gcc/aarch64-powerel-linux +%dir %{_prefix}/lib/gcc/aarch64-powerel-linux/%{gcc_major} +%dir %{_prefix}/lib/gcc/aarch64-powerel-linux/%{gcc_major}/include +%{_prefix}/lib/gcc/aarch64-powerel-linux/%{gcc_major}/crt*.o +%{_prefix}/lib/gcc/aarch64-powerel-linux/%{gcc_major}/libgcc.a +%{_prefix}/lib/gcc/aarch64-powerel-linux/%{gcc_major}/libgcc_eh.a +%{_prefix}/lib/gcc/aarch64-powerel-linux/%{gcc_major}/libgcov.a +%{_prefix}/lib/gcc/aarch64-powerel-linux/%{gcc_major}/include/*.h +%{_prefix}/lib/gcc/aarch64-powerel-linux/%{gcc_major}/rpmver +# These are here for ld(1) purposes only. +%{_prefix}/lib/gcc/aarch64-powerel-linux/%{gcc_major}/libgcc_s.so +%{_prefix}/lib/gcc/aarch64-powerel-linux/%{gcc_major}/libgomp.so +%{_prefix}/lib/gcc/aarch64-powerel-linux/%{gcc_major}/libgomp.spec +%if %{build_libatomic} +%{_prefix}/lib/gcc/aarch64-powerel-linux/%{gcc_major}/libatomic.so +%{_prefix}/lib/gcc/aarch64-powerel-linux/%{gcc_major}/libatomic.a +%endif +%if %{build_libitm} +%{_prefix}/lib/gcc/aarch64-powerel-linux/%{gcc_major}/libitm.so +%{_prefix}/lib/gcc/aarch64-powerel-linux/%{gcc_major}/libitm.a +%{_prefix}/lib/gcc/aarch64-powerel-linux/%{gcc_major}/libitm.spec +%endif + +%files -n cross-gcc-c++-aarch64 +%{_prefix}/bin/aarch64-powerel-linux-c++ +%{_prefix}/bin/aarch64-powerel-linux-g++ +%{_prefix}/libexec/gcc/aarch64-powerel-linux/%{gcc_major}/cc1plus +%{_prefix}/libexec/gcc/aarch64-powerel-linux/%{gcc_major}/g++-mapper-server +# For ld(1) purposes only. +%{_prefix}/lib/gcc/aarch64-powerel-linux/%{gcc_major}/libstdc++.so +%{_prefix}/lib/gcc/aarch64-powerel-linux/%{gcc_major}/libstdc++.a +%{_prefix}/lib/gcc/aarch64-powerel-linux/%{gcc_major}/libsupc++.a +%dnl build_cross +%endif + %changelog +* Wed Dec 21 2022 Marek Polacek 11.3.1-4.3 +- compile the cross binaries as PIE/-z now (#2155452) + +* Mon Dec 19 2022 Marek Polacek 11.3.1-4.2 +- ship libitm.spec in cross-gcc (#2154462) + +* Tue Dec 13 2022 Marek Polacek 11.3.1-4.1 +- add cross compiler functionality for non-production uses (#2149650) + +* Tue Nov 22 2022 Marek Polacek 11.3.1-4 +- update from releases/gcc-11-branch (#2117632) + - PRs analyzer/105252, analyzer/105365, analyzer/105366, c++/65211, + c++/82980, c++/86193, c++/90107, c++/97296, c++/101442, c++/101698, + c++/102071, c++/102177, c++/102300, c++/102307, c++/102479, + c++/102629, c++/104066, c++/104142, c++/104646, c++/104669, + c++/105245, c++/105265, c++/105289, c++/105304, c++/105321, + c++/105386, c++/105398, c++/105725, c++/105761, c++/105774, + c++/105795, c++/105852, c++/105925, c++/106024, c++/106361, + c++/107358, c/41041, c/106016, c/106981, c/107001, d/106139, + d/106638, debug/106261, fortran/82868, fortran/100029, fortran/100040, + fortran/100097, fortran/100098, fortran/100132, fortran/100136, + fortran/100245, fortran/103413, fortran/103504, fortran/103693, + fortran/103694, fortran/104313, fortran/104849, fortran/105012, + fortran/105230, fortran/105243, fortran/105310, fortran/105633, + fortran/105691, fortran/105813, fortran/105954, fortran/106121, + fortran/106817, fortran/106857, fortran/106985, fortran/106986, + fortran/107054, ipa/100413, ipa/105600, ipa/105739, libgomp/106045, + libstdc++/65018, libstdc++/84110, libstdc++/93602, libstdc++/96592, + libstdc++/99290, libstdc++/100823, libstdc++/101709, libstdc++/102447, + libstdc++/103664, libstdc++/103848, libstdc++/103853, + libstdc++/103911, libstdc++/103992, libstdc++/104217, + libstdc++/104443, libstdc++/104602, libstdc++/104731, + libstdc++/105128, libstdc++/105284, libstdc++/105375, + libstdc++/105502, libstdc++/105671, libstdc++/105915, + libstdc++/106162, libstdc++/106248, libstdc++/106320, + libstdc++/106607, libstdc++/106695, lto/106334, lto/106540, + middle-end/103193, middle-end/104869, middle-end/104966, + middle-end/105140, middle-end/105998, middle-end/106027, + middle-end/106030, middle-end/106144, middle-end/106331, + middle-end/106492, preprocessor/97498, preprocessor/105732, + rtl-optimization/104637, rtl-optimization/105041, + rtl-optimization/105333, rtl-optimization/105559, + rtl-optimization/106032, rtl-optimization/106187, sanitizer/105396, + sanitizer/105729, target/96072, target/99184, target/99685, + target/101322, target/101891, target/102059, target/102146, + target/103197, target/103353, target/104257, target/104829, + target/105147, target/105162, target/105209, target/105292, + target/105339, target/105349, target/105463, target/105472, + target/105854, target/105879, target/105970, target/105981, + target/106017, target/106091, target/106355, target/106491, + target/106721, target/107061, target/107064, target/107183, + target/107248, target/107304, target/107364, target/107748, + testsuite/105095, testsuite/105266, testsuite/105433, + testsuite/106345, tree-optimization/103116, tree-optimization/105148, + tree-optimization/105163, tree-optimization/105173, + tree-optimization/105250, tree-optimization/105263, + tree-optimization/105312, tree-optimization/105368, + tree-optimization/105431, tree-optimization/105437, + tree-optimization/105528, tree-optimization/105618, + tree-optimization/105726, tree-optimization/105860, + tree-optimization/106112, tree-optimization/106131, + tree-optimization/106189, tree-optimization/106513, + tree-optimization/106892, tree-optimization/106934 +- fix the detection of Sapphire Rapids in host_detect_local_cpu +- fix -Wmismatched-dealloc documentation (#2116635) + +* Tue Jul 12 2022 Marek Polacek 11.3.1-2.1 +- fix handling of invalid ranges in std::regex (#2106262) + +* Thu Apr 21 2022 Jakub Jelinek 11.3.1-2 +- update from releases/gcc-11-branch (#2077536) + - GCC 11.3 release + - PRs c++/98249, c++/99893, c++/100608, c++/101051, c++/101532, c++/101677, + c++/101717, c++/101894, c++/102869, c++/103105, c++/103328, + c++/103341, c++/103455, c++/103706, c++/103885, c++/103943, + c++/104008, c++/104079, c++/104225, c++/104507, c++/104565, + c++/105003, c++/105064, c++/105143, c++/105186, c++/105256, c/101585, + debug/105203, fortran/102992, fortran/104210, fortran/104228, + fortran/104570, fortran/105138, gcov-profile/105282, ipa/103083, + ipa/103432, jit/100613, libstdc++/90943, libstdc++/100516, + libstdc++/103630, libstdc++/103638, libstdc++/103650, + libstdc++/103955, libstdc++/104098, libstdc++/104301, + libstdc++/104542, libstdc++/104859, libstdc++/105021, + libstdc++/105027, middle-end/104497, middle-end/105165, + rtl-optimization/104985, rtl-optimization/105028, + rtl-optimization/105211, target/80556, target/100106, target/104117, + target/104474, target/104853, target/104894, target/105214, + target/105257, tree-optimization/99121, tree-optimization/104880, + tree-optimization/105053, tree-optimization/105070, + tree-optimization/105189, tree-optimization/105198, + tree-optimization/105226, tree-optimization/105232, + tree-optimization/105235 +- fix bogus -Wuninitialized warning on va_arg with complex types on x86_64 + (PR target/105331) +- remove bogus assertion in std::from_chars (PR libstdc++/105324) + +* Mon Apr 4 2022 David Malcolm - 11.2.1-10 +- update from releases/gcc-11-branch (#2063255) + - PRs ada/98724, ada/104258, ada/104767, ada/104861, c++/58646, c++/59950, + c++/61611, c++/95036, c++/100468, c++/101030, c++/101095, c++/101371, + c++/101515, c++/101767, c++/102045, c++/102123, c++/102538, + c++/102740, c++/102990, c++/103057, c++/103186, c++/103291, + c++/103299, c++/103337, c++/103711, c++/103769, c++/103968, + c++/104107, c++/104108, c++/104284, c++/104410, c++/104472, + c++/104513, c++/104568, c++/104667, c++/104806, c++/104847, + c++/104944, c++/104994, c++/105035, c++/105061, c/82283, c/84685, + c/104510, c/104711, d/104659, d/105004, debug/104337, debug/104517, + debug/104557, fortran/66193, fortran/99585, fortran/100337, + fortran/103790, fortran/104211, fortran/104311, fortran/104331, + fortran/104430, fortran/104619, fortran/104811, go/100537, + libgomp/104385, libstdc++/101231, libstdc++/102358, libstdc++/103904, + libstdc++/104442, lto/104237, lto/104333, lto/104617, + middle-end/95115, middle-end/99578, middle-end/100464, + middle-end/100680, middle-end/100775, middle-end/100786, + middle-end/104307, middle-end/104402, middle-end/104446, + middle-end/104786, middle-end/104971, middle-end/105032, + preprocessor/104147, rtl-optimization/104544, rtl-optimization/104589, + rtl-optimization/104777, rtl-optimization/104814, sanitizer/102656, + sanitizer/104449, sanitizer/105093, target/79754, target/87496, + target/99708, target/99754, target/100784, target/101324, + target/102140, target/102952, target/102957, target/103307, + target/103627, target/103925, target/104090, target/104208, + target/104219, target/104253, target/104362, target/104448, + target/104451, target/104453, target/104458, target/104462, + target/104469, target/104502, target/104674, target/104681, + target/104688, target/104775, target/104890, target/104910, + target/104923, target/104963, target/104998, target/105000, + target/105052, target/105058, target/105068, testsuite/103556, + testsuite/103586, testsuite/104730, testsuite/104759, + testsuite/105055, tree-optimization/45178, tree-optimization/100834, + tree-optimization/101636, tree-optimization/102819, + tree-optimization/102893, tree-optimization/103169, + tree-optimization/103361, tree-optimization/103489, + tree-optimization/103544, tree-optimization/103596, + tree-optimization/103641, tree-optimization/103864, + tree-optimization/104263, tree-optimization/104288, + tree-optimization/104511, tree-optimization/104601, + tree-optimization/104675, tree-optimization/104782, + tree-optimization/104931, tree-optimization/105094 +- fix x86 vector initialization expansion fallback (PR target/105123) +- drop patch 22 (gcc11-libsanitizer-pthread.patch; + upstreamed as r11-9607-ga8dd74bfb921ed) + * Thu Feb 10 2022 Marek Polacek 11.2.1-9.4 - add --enable-host-bind-now, use it (#2044917)