From f05a075009e7f535d16779ffe2c53ff1f952cd6b Mon Sep 17 00:00:00 2001
From: Jakub Jelinek
Date: Sun, 15 Jan 2023 13:51:18 +0100
Subject: [PATCH 1/8] 13.0.0-0.9
---
gcc.spec | 824 +++++++-----------
gcc12-pr107468.patch | 124 ---
...y.patch => gcc13-Wno-format-security.patch | 8 +-
...os.patch => gcc13-d-shared-libphobos.patch | 0
...tch => gcc13-fortran-fdec-duplicates.patch | 0
...=> gcc13-fortran-fdec-non-logical-if.patch | 0
... => gcc13-fortran-fdec-override-kind.patch | 0
...=> gcc13-fortran-flogical-as-integer.patch | 0
gcc12-hack.patch => gcc13-hack.patch | 0
gcc12-isl-dl.patch => gcc13-isl-dl.patch | 6 +-
gcc12-isl-dl2.patch => gcc13-isl-dl2.patch | 0
...atch => gcc13-libgomp-omp_h-multilib.patch | 0
...+-docs.patch => gcc13-libstdc++-docs.patch | 0
...path.patch => gcc13-libtool-no-rpath.patch | 0
...-needed.patch => gcc13-no-add-needed.patch | 0
gcc13-pr107608.patch | 47 +
gcc13-pr107678.patch | 113 +++
gcc13-pr108411.patch | 14 +
...2-rh1574936.patch => gcc13-rh1574936.patch | 0
...atch => gcc13-sparc-config-detection.patch | 10 +-
isl-rh2155127.patch | 85 ++
sources | 2 +-
update-gcc.sh | 2 +-
23 files changed, 579 insertions(+), 656 deletions(-)
delete mode 100644 gcc12-pr107468.patch
rename gcc12-Wno-format-security.patch => gcc13-Wno-format-security.patch (90%)
rename gcc12-d-shared-libphobos.patch => gcc13-d-shared-libphobos.patch (100%)
rename gcc12-fortran-fdec-duplicates.patch => gcc13-fortran-fdec-duplicates.patch (100%)
rename gcc12-fortran-fdec-non-logical-if.patch => gcc13-fortran-fdec-non-logical-if.patch (100%)
rename gcc12-fortran-fdec-override-kind.patch => gcc13-fortran-fdec-override-kind.patch (100%)
rename gcc12-fortran-flogical-as-integer.patch => gcc13-fortran-flogical-as-integer.patch (100%)
rename gcc12-hack.patch => gcc13-hack.patch (100%)
rename gcc12-isl-dl.patch => gcc13-isl-dl.patch (99%)
rename gcc12-isl-dl2.patch => gcc13-isl-dl2.patch (100%)
rename gcc12-libgomp-omp_h-multilib.patch => gcc13-libgomp-omp_h-multilib.patch (100%)
rename gcc12-libstdc++-docs.patch => gcc13-libstdc++-docs.patch (100%)
rename gcc12-libtool-no-rpath.patch => gcc13-libtool-no-rpath.patch (100%)
rename gcc12-no-add-needed.patch => gcc13-no-add-needed.patch (100%)
create mode 100644 gcc13-pr107608.patch
create mode 100644 gcc13-pr107678.patch
create mode 100644 gcc13-pr108411.patch
rename gcc12-rh1574936.patch => gcc13-rh1574936.patch (100%)
rename gcc12-sparc-config-detection.patch => gcc13-sparc-config-detection.patch (77%)
create mode 100644 isl-rh2155127.patch
diff --git a/gcc.spec b/gcc.spec
index 4877961..64130fc 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,10 +1,10 @@
-%global DATE 20221121
-%global gitrev b3f5a0d53b84ed27cf00cfa2b9c3e2c78935c07d
-%global gcc_version 12.2.1
-%global gcc_major 12
+%global DATE 20230115
+%global gitrev 7699a0a3101bf1315fb8e350ac718d1f7b3f7816
+%global gcc_version 13.0.0
+%global gcc_major 13
# 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 4
+%global gcc_release 0
%global nvptx_tools_gitrev 472b6e78b3ba918d727698f79911360b7c808247
%global newlib_cygwin_gitrev a8526cb52bedabd4d6ba4b227a5185627f871aa1
%global _unpackaged_files_terminate_build 0
@@ -34,6 +34,7 @@
%global build_objc 0
%global build_go 0
%global build_d 0
+%global build_m2 0
%else
%ifarch %{ix86} x86_64 ia64 ppc %{power64} alpha s390x %{arm} aarch64 riscv64
%global build_ada 1
@@ -51,6 +52,11 @@
%else
%global build_d 0
%endif
+%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 %{mips} riscv64
+%global build_m2 1
+%else
+%global build_m2 0
+%endif
%endif
%ifarch %{ix86} x86_64 ia64 ppc64le
%global build_libquadmath 1
@@ -62,6 +68,11 @@
%else
%global build_libasan 0
%endif
+%ifarch x86_64 aarch64
+%global build_libhwasan 1
+%else
+%global build_libhwasan 0
+%endif
%ifarch x86_64 ppc64 ppc64le aarch64 s390x
%global build_libtsan 1
%else
@@ -125,7 +136,7 @@
Summary: Various compilers (C, C++, Objective-C, ...)
Name: gcc
Version: %{gcc_version}
-Release: %{gcc_release}%{?dist}
+Release: %{gcc_release}.9%{?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
@@ -264,23 +275,27 @@ Provides: bundled(libbacktrace)
Provides: bundled(libffi)
Provides: gcc(major) = %{gcc_major}
-Patch0: gcc12-hack.patch
-Patch2: gcc12-sparc-config-detection.patch
-Patch3: gcc12-libgomp-omp_h-multilib.patch
-Patch4: gcc12-libtool-no-rpath.patch
-Patch5: gcc12-isl-dl.patch
-Patch6: gcc12-isl-dl2.patch
-Patch7: gcc12-libstdc++-docs.patch
-Patch8: gcc12-no-add-needed.patch
-Patch9: gcc12-Wno-format-security.patch
-Patch10: gcc12-rh1574936.patch
-Patch11: gcc12-d-shared-libphobos.patch
-Patch12: gcc12-pr107468.patch
+Patch0: gcc13-hack.patch
+Patch2: gcc13-sparc-config-detection.patch
+Patch3: gcc13-libgomp-omp_h-multilib.patch
+Patch4: gcc13-libtool-no-rpath.patch
+Patch5: gcc13-isl-dl.patch
+Patch6: gcc13-isl-dl2.patch
+Patch7: gcc13-libstdc++-docs.patch
+Patch8: gcc13-no-add-needed.patch
+Patch9: gcc13-Wno-format-security.patch
+Patch10: gcc13-rh1574936.patch
+Patch11: gcc13-d-shared-libphobos.patch
+Patch12: gcc13-pr107678.patch
+Patch13: gcc13-pr107608.patch
+Patch14: gcc13-pr108411.patch
-Patch100: gcc12-fortran-fdec-duplicates.patch
-Patch101: gcc12-fortran-flogical-as-integer.patch
-Patch102: gcc12-fortran-fdec-override-kind.patch
-Patch103: gcc12-fortran-fdec-non-logical-if.patch
+Patch50: isl-rh2155127.patch
+
+Patch100: gcc13-fortran-fdec-duplicates.patch
+Patch101: gcc13-fortran-flogical-as-integer.patch
+Patch102: gcc13-fortran-fdec-override-kind.patch
+Patch103: gcc13-fortran-fdec-non-logical-if.patch
# On ARM EABI systems, we do want -gnueabi to be part of the
# target triple.
@@ -302,7 +317,7 @@ Patch103: gcc12-fortran-fdec-non-logical-if.patch
%if %{build_go}
# Avoid stripping these libraries and binaries.
%global __os_install_post \
-chmod 644 %{buildroot}%{_prefix}/%{_lib}/libgo.so.21.* \
+chmod 644 %{buildroot}%{_prefix}/%{_lib}/libgo.so.22.* \
chmod 644 %{buildroot}%{_prefix}/bin/go.gcc \
chmod 644 %{buildroot}%{_prefix}/bin/gofmt.gcc \
chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cgo \
@@ -310,7 +325,7 @@ chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/test2json \
chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/vet \
%__os_install_post \
-chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgo.so.21.* \
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgo.so.22.* \
chmod 755 %{buildroot}%{_prefix}/bin/go.gcc \
chmod 755 %{buildroot}%{_prefix}/bin/gofmt.gcc \
chmod 755 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cgo \
@@ -321,11 +336,11 @@ chmod 755 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
%endif
%description
-The gcc package contains the GNU Compiler Collection version 12.
+The gcc package contains the GNU Compiler Collection version 13.
You'll need this package in order to compile C code.
%package -n libgcc
-Summary: GCC version 12 shared support library
+Summary: GCC version 13 shared support library
Autoreq: false
%if !%{build_ada}
Obsoletes: libgnat < %{version}-%{release}
@@ -365,6 +380,7 @@ including templates and exception handling.
Summary: GNU Standard C++ Library
Autoreq: true
Requires: glibc >= 2.10.90-7
+Requires: tzdata >= 2017c
%description -n libstdc++
The libstdc++ package contains a rewritten standard compliant GCC Standard
@@ -489,6 +505,34 @@ Requires: gcc-gdc = %{version}-%{release}
%description -n libgphobos-static
This package contains static D libraries.
+%package gm2
+Summary: Modula-2 support
+Requires: gcc = %{version}-%{release}
+Requires: libgm2 = %{version}-%{release}
+Provides: gcc-m2 = %{version}-%{release}
+Provides: gm2 = %{version}-%{release}
+Autoreq: true
+
+%description gm2
+The gcc-gm2 package provides support for compiling Modula-2
+programs with the GNU Compiler Collection.
+
+%package -n libgm2
+Summary: Modula-2 runtime
+Autoreq: true
+
+%description -n libgm2
+This package contains Modula-2 shared libraries which are needed to run
+Modula-2 dynamically linked programs.
+
+%package -n libgm2-static
+Summary: Static Modula-2 libraries
+Requires: libgm2 = %{version}-%{release}
+Requires: gcc-gm2 = %{version}-%{release}
+
+%description -n libgm2-static
+This package contains static Modula-2 libraries.
+
%package -n libgomp
Summary: GCC OpenMP v4.5 shared support library
@@ -607,6 +651,21 @@ Requires: libasan = %{version}-%{release}
%description -n libasan-static
This package contains Address Sanitizer static runtime library.
+%package -n libhwasan
+Summary: The Hardware-assisted Address Sanitizer runtime library
+
+%description -n libhwasan
+This package contains the Hardware-assisted Address Sanitizer library
+which is used for -fsanitize=hwaddress instrumented programs.
+
+%package -n libhwasan-static
+Summary: The Hardware-assisted Address Sanitizer static library
+Requires: libhwasan = %{version}-%{release}
+
+%description -n libhwasan-static
+This package contains Hardware-assisted Address Sanitizer static runtime
+library.
+
%package -n libtsan
Summary: The Thread Sanitizer runtime library
@@ -803,7 +862,12 @@ so that there cannot be any synchronization problems.
%patch10 -p0 -b .rh1574936~
%endif
%patch11 -p0 -b .d-shared-libphobos~
-%patch12 -p0 -b .pr107468~
+%patch12 -p0 -b .pr107678~
+%patch13 -p0 -b .pr107608~
+%patch14 -p0 -b .pr108411~
+
+%patch50 -p0 -b .rh2155127~
+touch -r isl-0.24/m4/ax_prog_cxx_for_build.m4 isl-0.24/m4/ax_prog_cc_for_build.m4
%if 0%{?rhel} >= 9
%patch100 -p1 -b .fortran-fdec-duplicates~
@@ -856,11 +920,13 @@ export CONFIG_SITE=NONE
CC=gcc
CXX=g++
-OPT_FLAGS=`echo %{optflags}|sed -e 's/\(-Wp,\)\?-D_FORTIFY_SOURCE=[12]//g'`
+OPT_FLAGS=`echo %{optflags}|sed -e 's/\(-Wp,\)\?-D_FORTIFY_SOURCE=[123]//g'`
+OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/\(-Wp,\)\?-U_FORTIFY_SOURCE//g'`
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-flto=auto//g;s/-flto//g;s/-ffat-lto-objects//g'`
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-m64//g;s/-m32//g;s/-m31//g'`
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mfpmath=sse/-mfpmath=sse -msse2/g'`
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/ -pipe / /g'`
+OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-fno-omit-frame-pointer //g;s/-mbackchain //g;s/-mno-omit-leaf-frame-pointer //g'`
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-Werror=format-security/-Wformat-security/g'`
%ifarch sparc
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mcpu=ultrasparc/-mtune=ultrasparc/g;s/-mcpu=v[78]//g'`
@@ -923,7 +989,7 @@ ISL_FLAG_PIC=-fPIC
ISL_FLAG_PIC=-fpic
%endif
cd isl-build
-sed -i 's|libisl\([^-]\)|libgcc12privateisl\1|g' \
+sed -i 's|libisl\([^-]\)|libgcc13privateisl\1|g' \
../../isl-%{isl_version}/Makefile.{am,in}
../../isl-%{isl_version}/configure \
CC=/usr/bin/gcc CXX=/usr/bin/g++ \
@@ -931,8 +997,8 @@ sed -i 's|libisl\([^-]\)|libgcc12privateisl\1|g' \
make %{?_smp_mflags}
make install
cd ../isl-install/lib
-rm libgcc12privateisl.so{,.23}
-mv libgcc12privateisl.so.23.1.0 libisl.so.23
+rm libgcc13privateisl.so{,.23}
+mv libgcc13privateisl.so.23.1.0 libisl.so.23
ln -sf libisl.so.23 libisl.so
cd ../..
%endif
@@ -953,6 +1019,9 @@ enablelgo=,go
%if %{build_d}
enableld=,d
%endif
+%if %{build_m2}
+enablelm2=,m2
+%endif
CONFIGURE_OPTS="\
--prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \
--with-bugurl=http://bugzilla.redhat.com/bugzilla \
@@ -975,7 +1044,7 @@ CONFIGURE_OPTS="\
%endif
--with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions \
--enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only \
- --enable-libstdcxx-backtrace \
+ --enable-libstdcxx-backtrace --with-libstdcxx-zoneinfo=%{_datadir}/zoneinfo \
%ifnarch %{mips}
--with-linker-hash-style=gnu \
%endif
@@ -1107,7 +1176,7 @@ CC="$CC" CXX="$CXX" CFLAGS="$OPT_FLAGS" \
| sed 's/ -Wformat-security / -Wformat -Wformat-security /'`" \
XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \
../configure --enable-bootstrap \
- --enable-languages=c,c++,fortran${enablelobjc}${enablelada}${enablelgo}${enableld},lto \
+ --enable-languages=c,c++,fortran${enablelobjc}${enablelada}${enablelgo}${enableld}${enablelm2},lto \
$CONFIGURE_OPTS
%ifarch sparc sparcv9 sparc64
@@ -1163,7 +1232,7 @@ cd ../..
# Copy various doc files here and there
cd ..
-mkdir -p rpm.doc/gfortran rpm.doc/objc rpm.doc/gdc rpm.doc/libphobos
+mkdir -p rpm.doc/{gfortran,objc,gdc,libphobos,gm2,libgm2}
mkdir -p rpm.doc/go rpm.doc/libgo rpm.doc/libquadmath rpm.doc/libitm
mkdir -p rpm.doc/changelogs/{gcc/cp,gcc/ada,gcc/jit,libstdc++-v3,libobjc,libgomp,libcc1,libatomic,libsanitizer}
@@ -1191,6 +1260,14 @@ done)
done
cp -a src/LICENSE*.txt libdruntime/LICENSE.txt ../rpm.doc/libphobos/)
%endif
+%if %{build_m2}
+(cd gcc/m2; for i in ChangeLog*; do
+ cp -p $i ../../rpm.doc/gm2/$i.gm2
+done)
+(cd libgm2; for i in ChangeLog*; do
+ cp -p $i ../rpm.doc/libgm2/$i.libgm2
+done)
+%endif
%if %{build_libquadmath}
(cd libquadmath; for i in ChangeLog* COPYING.LIB; do
cp -p $i ../rpm.doc/libquadmath/$i.libquadmath
@@ -1488,14 +1565,19 @@ ln -sf ../../../libstdc++.so.6.*[0-9] libstdc++.so
ln -sf ../../../libgfortran.so.5.* libgfortran.so
ln -sf ../../../libgomp.so.1.* libgomp.so
%if %{build_go}
-ln -sf ../../../libgo.so.21.* libgo.so
+ln -sf ../../../libgo.so.22.* libgo.so
%endif
%if %{build_libquadmath}
ln -sf ../../../libquadmath.so.0.* libquadmath.so
%endif
%if %{build_d}
-ln -sf ../../../libgdruntime.so.3.* libgdruntime.so
-ln -sf ../../../libgphobos.so.3.* libgphobos.so
+ln -sf ../../../libgdruntime.so.4.* libgdruntime.so
+ln -sf ../../../libgphobos.so.4.* libgphobos.so
+%endif
+%if %{build_m2}
+for i in cor iso log min pim; do
+ ln -sf ../../../libm2$i.so.18.* libm2$i.so
+done
%endif
%if %{build_libitm}
ln -sf ../../../libitm.so.1.* libitm.so
@@ -1518,14 +1600,19 @@ ln -sf ../../../../%{_lib}/libstdc++.so.6.*[0-9] libstdc++.so
ln -sf ../../../../%{_lib}/libgfortran.so.5.* libgfortran.so
ln -sf ../../../../%{_lib}/libgomp.so.1.* libgomp.so
%if %{build_go}
-ln -sf ../../../../%{_lib}/libgo.so.21.* libgo.so
+ln -sf ../../../../%{_lib}/libgo.so.22.* libgo.so
%endif
%if %{build_libquadmath}
ln -sf ../../../../%{_lib}/libquadmath.so.0.* libquadmath.so
%endif
%if %{build_d}
-ln -sf ../../../../%{_lib}/libgdruntime.so.3.* libgdruntime.so
-ln -sf ../../../../%{_lib}/libgphobos.so.3.* libgphobos.so
+ln -sf ../../../../%{_lib}/libgdruntime.so.4.* libgdruntime.so
+ln -sf ../../../../%{_lib}/libgphobos.so.4.* libgphobos.so
+%endif
+%if %{build_m2}
+for i in cor iso log min pim; do
+ ln -sf ../../../../%{_lib}/libm2$i.so.18.* libm2$i.so
+done
%endif
%if %{build_libitm}
ln -sf ../../../../%{_lib}/libitm.so.1.* libitm.so
@@ -1545,6 +1632,11 @@ rm -f libtsan.so
echo 'INPUT ( %{_prefix}/%{_lib}/'`echo ../../../../%{_lib}/libtsan.so.2.* | sed 's,^.*libt,libt,'`' )' > libtsan.so
mv ../../../../%{_lib}/libtsan_preinit.o libtsan_preinit.o
%endif
+%if %{build_libhwasan}
+rm -f libhwasan.so
+echo 'INPUT ( %{_prefix}/%{_lib}/'`echo ../../../../%{_lib}/libhwasan.so.0.* | sed 's,^.*libh,libh,'`' )' > libhwasan.so
+mv ../../../../%{_lib}/libhwasan_preinit.o libhwasan_preinit.o
+%endif
%if %{build_liblsan}
rm -f liblsan.so
echo 'INPUT ( %{_prefix}/%{_lib}/'`echo ../../../../%{_lib}/liblsan.so.0.* | sed 's,^.*libl,libl,'`' )' > liblsan.so
@@ -1553,6 +1645,7 @@ mv ../../../../%{_lib}/liblsan_preinit.o liblsan_preinit.o
fi
mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++.*a $FULLLPATH/
mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++fs.*a $FULLLPATH/
+mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++exp.*a $FULLLPATH/
mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++_libbacktrace.*a $FULLLPATH/
mv -f %{buildroot}%{_prefix}/%{_lib}/libsupc++.*a $FULLLPATH/
mv -f %{buildroot}%{_prefix}/%{_lib}/libgfortran.*a $FULLLPATH/
@@ -1567,6 +1660,14 @@ mv -f %{buildroot}%{_prefix}/%{_lib}/libquadmath.*a $FULLLPATH/
mv -f %{buildroot}%{_prefix}/%{_lib}/libgdruntime.*a $FULLLPATH/
mv -f %{buildroot}%{_prefix}/%{_lib}/libgphobos.*a $FULLLPATH/
%endif
+%if %{build_m2}
+for i in cor iso log min pim; do
+ mv -f %{buildroot}%{_prefix}/%{_lib}/libm2$i.*a $FULLLPATH/
+ rm -f m2/m2$i/*.{a,la}
+ ln -sf ../../libm2$i.so m2/m2$i/
+ ln -sf ../../libm2$i.a m2/m2$i/
+done
+%endif
%if %{build_libitm}
mv -f %{buildroot}%{_prefix}/%{_lib}/libitm.*a $FULLLPATH/
%endif
@@ -1582,6 +1683,9 @@ mv -f %{buildroot}%{_prefix}/%{_lib}/libubsan.*a $FULLLPATH/
%if %{build_libtsan}
mv -f %{buildroot}%{_prefix}/%{_lib}/libtsan.*a $FULLPATH/
%endif
+%if %{build_libhwasan}
+mv -f %{buildroot}%{_prefix}/%{_lib}/libhwasan.*a $FULLPATH/
+%endif
%if %{build_liblsan}
mv -f %{buildroot}%{_prefix}/%{_lib}/liblsan.*a $FULLPATH/
%endif
@@ -1639,8 +1743,8 @@ ln -sf ../`echo ../../../../lib/libgfortran.so.5.* | sed s~/lib/~/lib64/~` 64/li
ln -sf ../`echo ../../../../lib/libgomp.so.1.* | sed s~/lib/~/lib64/~` 64/libgomp.so
%if %{build_go}
rm -f libgo.so
-echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libgo.so.21.* | sed 's,^.*libg,libg,'`' )' > libgo.so
-echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libgo.so.21.* | sed 's,^.*libg,libg,'`' )' > 64/libgo.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libgo.so.22.* | sed 's,^.*libg,libg,'`' )' > libgo.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libgo.so.22.* | sed 's,^.*libg,libg,'`' )' > 64/libgo.so
%endif
%if %{build_libquadmath}
rm -f libquadmath.so
@@ -1649,10 +1753,20 @@ echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libquadmath.so.0.* | sed '
%endif
%if %{build_d}
rm -f libgdruntime.so libgphobos.so
-echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libgdruntime.so.3.* | sed 's,^.*libg,libg,'`' )' > libgdruntime.so
-echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libgdruntime.so.3.* | sed 's,^.*libg,libg,'`' )' > 64/libgdruntime.so
-echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libgphobos.so.3.* | sed 's,^.*libg,libg,'`' )' > libgphobos.so
-echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libgphobos.so.3.* | sed 's,^.*libg,libg,'`' )' > 64/libgphobos.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libgdruntime.so.4.* | sed 's,^.*libg,libg,'`' )' > libgdruntime.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libgdruntime.so.4.* | sed 's,^.*libg,libg,'`' )' > 64/libgdruntime.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libgphobos.so.4.* | sed 's,^.*libg,libg,'`' )' > libgphobos.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libgphobos.so.4.* | sed 's,^.*libg,libg,'`' )' > 64/libgphobos.so
+%endif
+%if %{build_m2}
+for i in cor iso log min pim; do
+ rm -f libm2$i.so
+ echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libm2$i.so.18.* | sed 's,^.*libm,libm,'`' )' > libm2$i.so
+ echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libm2$i.so.18.* | sed 's,^.*libm,libm,'`' )' > 64/libm2$i.so
+ rm -f 64/m2/m2$i/*.{a,la}
+ ln -sf ../../libm2$i.so 64/m2/m2$i/
+ ln -sf ../../libm2$i.a 64/m2/m2$i/
+done
%endif
%if %{build_libitm}
rm -f libitm.so
@@ -1685,6 +1799,8 @@ ln -sf lib32/libstdc++.a libstdc++.a
ln -sf ../lib64/libstdc++.a 64/libstdc++.a
ln -sf lib32/libstdc++fs.a libstdc++fs.a
ln -sf ../lib64/libstdc++fs.a 64/libstdc++fs.a
+ln -sf lib32/libstdc++exp.a libstdc++exp.a
+ln -sf ../lib64/libstdc++exp.a 64/libstdc++exp.a
ln -sf lib32/libstdc++_libbacktrace.a libstdc++_libbacktrace.a
ln -sf ../lib64/libstdc++_libbacktrace.a 64/libstdc++_libbacktrace.a
ln -sf lib32/libsupc++.a libsupc++.a
@@ -1699,6 +1815,12 @@ ln -sf ../lib64/libgdruntime.a 64/libgdruntime.a
ln -sf lib32/libgphobos.a libgphobos.a
ln -sf ../lib64/libgphobos.a 64/libgphobos.a
%endif
+%if %{build_m2}
+for i in cor iso log min pim; do
+ ln -sf lib32/libm2$i.a libm2$i.a
+ ln -sf ../lib64/libm2$i.a 64/libm2$i.a
+done
+%endif
%if %{build_libitm}
ln -sf lib32/libitm.a libitm.a
ln -sf ../lib64/libitm.a 64/libitm.a
@@ -1740,8 +1862,8 @@ ln -sf ../`echo ../../../../lib64/libgfortran.so.5.* | sed s~/../lib64/~/~` 32/l
ln -sf ../`echo ../../../../lib64/libgomp.so.1.* | sed s~/../lib64/~/~` 32/libgomp.so
%if %{build_go}
rm -f libgo.so
-echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libgo.so.21.* | sed 's,^.*libg,libg,'`' )' > libgo.so
-echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgo.so.21.* | sed 's,^.*libg,libg,'`' )' > 32/libgo.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libgo.so.22.* | sed 's,^.*libg,libg,'`' )' > libgo.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgo.so.22.* | sed 's,^.*libg,libg,'`' )' > 32/libgo.so
%endif
%if %{build_libquadmath}
rm -f libquadmath.so
@@ -1750,10 +1872,20 @@ echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libquadmath.so.0.* | sed '
%endif
%if %{build_d}
rm -f libgdruntime.so libgphobos.so
-echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libgdruntime.so.3.* | sed 's,^.*libg,libg,'`' )' > libgdruntime.so
-echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgdruntime.so.3.* | sed 's,^.*libg,libg,'`' )' > 32/libgdruntime.so
-echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libgphobos.so.3.* | sed 's,^.*libg,libg,'`' )' > libgphobos.so
-echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgphobos.so.3.* | sed 's,^.*libg,libg,'`' )' > 32/libgphobos.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libgdruntime.so.4.* | sed 's,^.*libg,libg,'`' )' > libgdruntime.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgdruntime.so.4.* | sed 's,^.*libg,libg,'`' )' > 32/libgdruntime.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libgphobos.so.4.* | sed 's,^.*libg,libg,'`' )' > libgphobos.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgphobos.so.4.* | sed 's,^.*libg,libg,'`' )' > 32/libgphobos.so
+%endif
+%if %{build_m2}
+for i in cor iso log min pim; do
+ rm -f libm2$i.so
+ echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libm2$i.so.18.* | sed 's,^.*libm,libm,'`' )' > libm2$i.so
+ echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libm2$i.so.18.* | sed 's,^.*libm,libm,'`' )' > 32/libm2$i.so
+ rm -f 32/m2/m2$i/*.{a,la}
+ ln -sf ../../libm2$i.so 32/m2/m2$i/
+ ln -sf ../../libm2$i.a 32/m2/m2$i/
+done
%endif
%if %{build_libitm}
rm -f libitm.so
@@ -1788,6 +1920,8 @@ ln -sf ../lib32/libstdc++.a 32/libstdc++.a
ln -sf lib64/libstdc++.a libstdc++.a
ln -sf ../lib32/libstdc++fs.a 32/libstdc++fs.a
ln -sf lib64/libstdc++fs.a libstdc++fs.a
+ln -sf ../lib32/libstdc++exp.a 32/libstdc++exp.a
+ln -sf lib64/libstdc++exp.a libstdc++exp.a
ln -sf ../lib32/libstdc++_libbacktrace.a 32/libstdc++_libbacktrace.a
ln -sf lib64/libstdc++_libbacktrace.a libstdc++_libbacktrace.a
ln -sf ../lib32/libsupc++.a 32/libsupc++.a
@@ -1802,6 +1936,12 @@ ln -sf lib64/libgdruntime.a libgdruntime.a
ln -sf ../lib32/libgphobos.a 32/libgphobos.a
ln -sf lib64/libgphobos.a libgphobos.a
%endif
+%if %{build_m2}
+for i in cor iso log min pim; do
+ ln -sf ../lib32/libm2$i.a 32/libm2$i.a
+ ln -sf lib64/libm2$i.a libm2$i.a
+done
+%endif
%if %{build_libitm}
ln -sf ../lib32/libitm.a 32/libitm.a
ln -sf lib64/libitm.a libitm.a
@@ -1837,6 +1977,7 @@ ln -sf lib64/adalib adalib
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libgfortran.a 32/libgfortran.a
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libstdc++.a 32/libstdc++.a
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libstdc++fs.a 32/libstdc++fs.a
+ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libstdc++exp.a 32/libstdc++exp.a
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libstdc++_libbacktrace.a 32/libstdc++_libbacktrace.a
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libsupc++.a 32/libsupc++.a
%if %{build_libquadmath}
@@ -1846,6 +1987,11 @@ ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libqua
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libgdruntime.a 32/libgdruntime.a
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libgphobos.a 32/libgphobos.a
%endif
+%if %{build_m2}
+for i in cor iso log min pim; do
+ ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libm2$i.a 32/libm2$i.a
+done
+%endif
%if %{build_libitm}
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libitm.a 32/libitm.a
%endif
@@ -1884,8 +2030,9 @@ for d in . $FULLLSUBDIR; do
-o -name libgolibbegin.a -o -name libgomp.a \
-o -name libitm.a -o -name liblsan.a \
-o -name libobjc.a -o -name libgdruntime.a -o -name libgphobos.a \
- -o -name libquadmath.a -o -name libstdc++.a \
- -o -name libstdc++fs.a -o -name libstdc++_libbacktrace.a -o -name libsupc++.a \
+ -o -name libm2\*.a -o -name libquadmath.a -o -name libstdc++.a \
+ -o -name libstdc++fs.a -o -name libstdc++exp.a \
+ -o -name libstdc++_libbacktrace.a -o -name libsupc++.a \
-o -name libtsan.a -o -name libubsan.a \) -a -type f`; do
cp -a $f $RPM_BUILD_ROOT%{_prefix}/lib/debug%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/$d/
done
@@ -1895,7 +2042,7 @@ done
# Strip debug info from Fortran/ObjC/Java static libraries
strip -g `find . \( -name libgfortran.a -o -name libobjc.a -o -name libgomp.a \
-o -name libgcc.a -o -name libgcov.a -o -name libquadmath.a \
- -o -name libgdruntime.a -o -name libgphobos.a \
+ -o -name libgdruntime.a -o -name libgphobos.a -o -name libm2\*.a \
-o -name libitm.a -o -name libgo.a -o -name libcaf\*.a \
-o -name libatomic.a -o -name libasan.a -o -name libtsan.a \
-o -name libubsan.a -o -name liblsan.a -o -name libcc1.a \) \
@@ -1908,8 +2055,13 @@ chmod 755 %{buildroot}%{_prefix}/%{_lib}/libcc1.so.0.*
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libquadmath.so.0.*
%endif
%if %{build_d}
-chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgdruntime.so.3.*
-chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgphobos.so.3.*
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgdruntime.so.4.*
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgphobos.so.4.*
+%endif
+%if %{build_m2}
+for i in cor iso log min pim; do
+ chmod 755 %{buildroot}%{_prefix}/%{_lib}/libm2$i.so.18.*
+done
%endif
%if %{build_libitm}
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libitm.so.1.*
@@ -1926,12 +2078,15 @@ chmod 755 %{buildroot}%{_prefix}/%{_lib}/libubsan.so.1.*
%if %{build_libtsan}
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libtsan.so.2.*
%endif
+%if %{build_libhwasan}
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libhwasan.so.0.*
+%endif
%if %{build_liblsan}
chmod 755 %{buildroot}%{_prefix}/%{_lib}/liblsan.so.0.*
%endif
%if %{build_go}
# Avoid stripping these libraries and binaries.
-chmod 644 %{buildroot}%{_prefix}/%{_lib}/libgo.so.21.*
+chmod 644 %{buildroot}%{_prefix}/%{_lib}/libgo.so.22.*
chmod 644 %{buildroot}%{_prefix}/bin/go.gcc
chmod 644 %{buildroot}%{_prefix}/bin/gofmt.gcc
chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cgo
@@ -1948,8 +2103,6 @@ chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgnarl*so*
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgnat*so*
%endif
-mv $FULLPATH/include-fixed/syslimits.h $FULLPATH/include/syslimits.h
-mv $FULLPATH/include-fixed/limits.h $FULLPATH/include/limits.h
for h in `find $FULLPATH/include -name \*.h`; do
if grep -q 'It has been auto-edited by fixincludes from' $h; then
rh=`grep -A2 'It has been auto-edited by fixincludes from' $h | tail -1 | sed 's|^.*"\(.*\)".*$|\1|'`
@@ -2002,6 +2155,7 @@ rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gcc-ar || :
rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gcc-nm || :
rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gcc-ranlib || :
rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gdc || :
+rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gm2 || :
%ifarch %{multilib_64_archs}
# Remove libraries for the other arch on multilib arches
@@ -2141,6 +2295,8 @@ end
%ldconfig_scriptlets -n libgphobos
+%ldconfig_scriptlets -n libgm2
+
%ldconfig_scriptlets -n libgnat
%ldconfig_scriptlets -n libgomp
@@ -2322,6 +2478,13 @@ end
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mwaitintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512fp16intrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512fp16vlintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avxifmaintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avxvnniint8intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avxneconvertintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cmpccxaddintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amxfp16intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/prfchiintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/raointintrin.h
%endif
%ifarch ia64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ia64intrin.h
@@ -2497,6 +2660,10 @@ end
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan_preinit.o
%endif
+%if %{build_libhwasan}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libhwasan.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libhwasan_preinit.o
+%endif
%if %{build_liblsan}
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/liblsan.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/liblsan_preinit.o
@@ -2540,6 +2707,7 @@ end
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++fs.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++exp.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++_libbacktrace.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libsupc++.a
%endif
@@ -2548,6 +2716,7 @@ end
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++fs.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++exp.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++_libbacktrace.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libsupc++.a
%endif
@@ -2557,6 +2726,7 @@ end
%ifarch sparcv9 sparc64 ppc ppc64 ppc64p7
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++fs.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++exp.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++_libbacktrace.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libsupc++.a
%endif
@@ -2590,15 +2760,18 @@ end
%ifarch sparcv9 ppc
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libstdc++fs.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libstdc++exp.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libstdc++_libbacktrace.a
%endif
%ifarch sparc64 ppc64 ppc64p7
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libstdc++fs.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libstdc++exp.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libstdc++_libbacktrace.a
%endif
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++fs.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++exp.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++_libbacktrace.a
%endif
%doc rpm.doc/changelogs/libstdc++-v3/ChangeLog* libstdc++-v3/README*
@@ -2770,8 +2943,8 @@ end
%doc rpm.doc/gdc/*
%files -n libgphobos
-%{_prefix}/%{_lib}/libgdruntime.so.3*
-%{_prefix}/%{_lib}/libgphobos.so.3*
+%{_prefix}/%{_lib}/libgdruntime.so.4*
+%{_prefix}/%{_lib}/libgphobos.so.4*
%doc rpm.doc/libphobos/*
%files -n libgphobos-static
@@ -2794,6 +2967,59 @@ end
%endif
%endif
+%if %{build_m2}
+%files gm2
+%{_prefix}/bin/gm2
+%{_mandir}/man1/gm2.1*
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/libexec/gcc
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/m2
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cc1gm2
+%ifarch sparcv9 sparc64 ppc ppc64 ppc64p7
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libm2*.a
+%endif
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libm2*.so
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/m2
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libm2*.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libm2*.so
+%endif
+%ifarch %{multilib_64_archs}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/m2
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libm2*.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libm2*.so
+%endif
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/m2rte.so
+%doc rpm.doc/gm2/*
+
+%files -n libgm2
+%{_prefix}/%{_lib}/libm2*.so.18*
+%doc rpm.doc/libgm2/*
+
+%files -n libgm2-static
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libm2*.a
+%endif
+%ifarch sparc64 ppc64 ppc64p7
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libm2*.a
+%endif
+%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libm2*.a
+%endif
+%endif
+
%if %{build_ada}
%files gnat
%{_prefix}/bin/gnat
@@ -3036,6 +3262,20 @@ end
%license libsanitizer/LICENSE.TXT
%endif
+%if %{build_libhwasan}
+%files -n libhwasan
+%{_prefix}/%{_lib}/libhwasan.so.0*
+
+%files -n libhwasan-static
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libhwasan.a
+%doc rpm.doc/changelogs/libsanitizer/ChangeLog*
+%{!?_licensedir:%global license %%doc}
+%license libsanitizer/LICENSE.TXT
+%endif
+
%if %{build_liblsan}
%files -n liblsan
%{_prefix}/%{_lib}/liblsan.so.0*
@@ -3096,7 +3336,7 @@ end
%doc rpm.doc/go/*
%files -n libgo
-%attr(755,root,root) %{_prefix}/%{_lib}/libgo.so.21*
+%attr(755,root,root) %{_prefix}/%{_lib}/libgo.so.22*
%doc rpm.doc/libgo/*
%files -n libgo-devel
@@ -3215,461 +3455,5 @@ end
%endif
%changelog
-* Mon Nov 21 2022 Jakub Jelinek 12.2.1-4
-- update from releases/gcc-12 branch
- - PRs c++/104066, c++/105774, c++/106829, c++/107358, c/41041, c/106981,
- c/107001, libstdc++/95048, libstdc++/103295, target/104688,
- target/107183, target/107304, target/107404, target/107713,
- target/107748, tree-optimization/107121, tree-optimization/107206
-- fix up std::from_chars behavior in rounding modes other than FE_TONEAREST
- (PR libstdc++/107468)
-
-* Thu Nov 3 2022 Jakub Jelinek 12.2.1-3
-- update from releases/gcc-12 branch
- - PRs c++/93259, c++/105774, c++/106759, c++/106829, c++/106893, c++/106925,
- c++/107358, c/106947, c/106981, c/107001, fortran/82868,
- fortran/100029, fortran/100040, fortran/100097, fortran/100098,
- fortran/100103, fortran/100132, fortran/100136, fortran/100245,
- fortran/103413, fortran/103694, fortran/105012, fortran/105633,
- fortran/106566, fortran/106579, fortran/106817, fortran/106857,
- fortran/106985, fortran/106986, fortran/107054, libstdc++/105678,
- libstdc++/106320, libstdc++/106589, libstdc++/106607,
- libstdc++/106695, lto/107418, middle-end/106548, middle-end/106982,
- other/106782, rtl-optimization/106187, target/96072, target/99184,
- target/99685, target/100645, target/101322, target/103353,
- target/104482, target/105421, target/105463, target/105485,
- target/106017, target/106355, target/106459, target/106491,
- target/106524, target/106704, target/106714, target/106721,
- target/107061, target/107064, target/107248, target/107364,
- tree-optimization/102892, tree-optimization/105937,
- tree-optimization/106322, tree-optimization/106809,
- tree-optimization/106841, tree-optimization/106860,
- tree-optimization/106892, tree-optimization/106922,
- tree-optimization/106934, tree-optimization/107107,
- tree-optimization/107121, tree-optimization/107160,
- tree-optimization/107212, tree-optimization/107254,
- tree-optimization/107323
-
-* Wed Sep 7 2022 Kalev Lember 12.2.1-2
-- enable GDC on aarch64
-
-* Fri Aug 19 2022 Jakub Jelinek 12.2.1-1
-- update from releases/gcc-12 branch
- - GCC 12.2 release
- - PRs c++/67048, c++/106369, c/106016, d/106623, d/106638, lto/106334,
- lto/106540, middle-end/106492, tree-optimization/106513
-- fix an if-conversion wrong-code bug (PR rtl-optimization/106590)
-- implement C++23 P2327R1 - de-deprecating volatile compound operations - as
- a DR
-
-* Wed Aug 10 2022 Jakub Jelinek 12.1.1-4
-- update from releases/gcc-12 branch
- - PRs analyzer/105285, analyzer/106204, analyzer/106225, c++/53164,
- c++/96363, c++/100374, c++/105541, c++/105626, c++/105634, c++/105637,
- c++/105758, c++/105842, c++/105848, c++/105912, c++/106024,
- c++/106102, c++/106230, c++/106311, c++/106361, d/106139, d/106555,
- d/106563, debug/106261, fortran/101330, fortran/103137,
- fortran/103138, fortran/103504, fortran/103693, fortran/104313,
- fortran/105243, fortran/105691, fortran/105813, fortran/105954,
- fortran/106121, libfortran/106079, libstdc++/88881, libstdc++/100823,
- libstdc++/104443, libstdc++/105844, libstdc++/105880,
- libstdc++/105957, libstdc++/105995, libstdc++/106162,
- libstdc++/106248, lto/106129, middle-end/105965, middle-end/106027,
- middle-end/106144, middle-end/106331, middle-end/106449,
- preprocessor/97498, rtl-optimization/105041, rtl-optimization/106032,
- target/103722, target/105459, target/105930, target/105991,
- target/106091, target/106097, target/106122, testsuite/106345,
- tree-optimization/105665, tree-optimization/105860,
- tree-optimization/105946, tree-optimization/105969,
- tree-optimization/105971, tree-optimization/106063,
- tree-optimization/106087, tree-optimization/106112,
- tree-optimization/106114, tree-optimization/106131,
- tree-optimization/106189
-
-* Thu Jun 30 2022 Jakub Jelinek 12.1.1-3
-- fix up libtsan on s390x
-
-* Tue Jun 28 2022 Jakub Jelinek 12.1.1-2
-- update from releases/gcc-12 branch
- - PRs c++/49387, c++/102307, c++/102651, c++/104470, c++/105491, c++/105589,
- c++/105623, c++/105652, c++/105655, c++/105725, c++/105734,
- c++/105756, c++/105761, c++/105779, c++/105795, c++/105852,
- c++/105871, c++/105885, c++/105908, c++/105925, c++/105931,
- c++/105964, c++/106001, c/105635, d/105544, fortran/105230,
- gcov-profile/105535, ipa/100413, ipa/105600, ipa/105639, ipa/105739,
- libgomp/105745, libgomp/106045, libstdc++/104731, libstdc++/105284,
- libstdc++/105671, libstdc++/105681, middle-end/105537,
- middle-end/105604, middle-end/105711, middle-end/105951,
- middle-end/105998, middle-end/106030, other/105527,
- preprocessor/105732, rtl-optimization/105455, rtl-optimization/105559,
- rtl-optimization/105577, sanitizer/105714, sanitizer/105729,
- target/101891, target/104871, target/105162, target/105209,
- target/105292, target/105472, target/105556, target/105599,
- target/105854, target/105879, target/105953, target/105960,
- target/105970, target/105981, target/106096, tree-optimization/103116,
- tree-optimization/105431, tree-optimization/105458,
- tree-optimization/105528, tree-optimization/105562,
- tree-optimization/105618, tree-optimization/105726,
- tree-optimization/105736, tree-optimization/105786,
- tree-optimization/105940
-- enable tsan and lsan on s390x (#2101610)
-- trim RHEL fortran patches
-- fix nvptx build (PRs bootstrap/105551, target/105938)
-
-* Sat May 7 2022 Jakub Jelinek 12.1.1-1
-- update from releases/gcc-12 branch
- - GCC 12.1 release
- - PRs c++/105476, libstdc++/103911, libstdc++/105441, libstdc++/105502,
- middle-end/105376, middle-end/105461, target/102059, testsuite/105433,
- tree-optimization/105394, tree-optimization/105437,
- tree-optimization/105484
-
-* Thu May 5 2022 Stephen Gallagher 12.0.1-0.18
-- fix annobin plugin conditional to build for ELN
-
-* Fri Apr 29 2022 Jakub Jelinek 12.0.1-0.17
-- update from trunk and releases/gcc-12 branch
- - GCC 12.1-rc1
- - PRs analyzer/105252, analyzer/105264, analyzer/105365, analyzer/105366,
- c++/65211, c++/82980, c++/86193, c++/90107, c++/97219, c++/100838,
- c++/101442, c++/101698, c++/102629, c++/102804, c++/102987,
- c++/103868, c++/104051, c++/104624, c++/104646, c++/104996,
- c++/105256, c++/105265, c++/105268, c++/105287, c++/105289,
- c++/105297, c++/105301, c++/105304, c++/105321, c++/105322,
- c++/105353, c++/105386, c++/105398, c++/105425, c++/105426,
- debug/105089, debug/105203, fortran/70673, fortran/78054,
- fortran/102043, fortran/103662, fortran/104717, fortran/105242,
- fortran/105310, fortran/105379, fortran/105381, gcov-profile/105282,
- ipa/103818, ipa/105306, libgomp/105358, libstdc++/93602,
- libstdc++/99290, libstdc++/102994, libstdc++/104858,
- libstdc++/105269, libstdc++/105324, libstdc++/105375,
- libstdc++/105417, lto/105364, lto/105399, middle-end/104492,
- rtl-optimization/105231, rtl-optimization/105314,
- rtl-optimization/105333, sanitizer/105396, target/89125,
- target/103197, target/104676, target/105247, target/105257,
- target/105271, target/105331, target/105334, target/105338,
- target/105339, target/105349, target/105367, testsuite/105266,
- tree-optimization/100810, tree-optimization/103941,
- tree-optimization/104010, tree-optimization/105219,
- tree-optimization/105254, tree-optimization/105276,
- tree-optimization/105312, tree-optimization/105368,
- tree-optimization/105374
-
-* Wed Apr 13 2022 Jakub Jelinek 12.0.1-0.16
-- update from trunk
- - PRs c++/97296, c++/98249, c++/100111, c++/103105, c++/104142, c++/104669,
- c++/105223, c++/105233, c++/105245, jit/104071, jit/104072,
- jit/104073, jit/104293, middle-end/105253, middle-end/105259,
- rtl-optimization/105211, target/95325, target/97348, target/101755,
- target/102146, target/103623, target/104144, target/104894,
- target/105213, target/105214, target/105234, testsuite/105183,
- tree-optimization/104912, tree-optimization/105226,
- tree-optimization/105232, tree-optimization/105235,
- tree-optimization/105250, tree-optimization/105263
-
-* Mon Apr 11 2022 Jakub Jelinek 12.0.1-0.15
-- update from trunk
- - PRs analyzer/102208, analyzer/103892, c++/91618, c++/92385, c++/96604,
- c++/96645, c++/99479, c++/100370, c++/100608, c++/101051, c++/101677,
- c++/101717, c++/101894, c++/103328, c++/103852, c++/104668,
- c++/104702, c++/105110, c++/105143, c++/105186, c++/105187,
- c++/105191, c/105149, c/105151, d/104740, driver/105096,
- fortran/104210, fortran/105138, fortran/105184, ipa/103376,
- ipa/104303, ipa/105166, jit/102824, libstdc++/105031,
- libstdc++/105128, libstdc++/105146, libstdc++/105153,
- libstdc++/105154, middle-end/105140, middle-end/105165,
- rtl-optimization/104985, target/101908, target/102024, target/103147,
- target/104049, target/104253, target/104409, target/104853,
- target/104897, target/104987, target/105002, target/105069,
- target/105123, target/105139, target/105144, target/105147,
- target/105157, target/105197, testsuite/103196, testsuite/105095,
- testsuite/105122, testsuite/105196, tree-optimization/102586,
- tree-optimization/103761, tree-optimization/104639,
- tree-optimization/104645, tree-optimization/105132,
- tree-optimization/105142, tree-optimization/105148,
- tree-optimization/105150, tree-optimization/105163,
- tree-optimization/105173, tree-optimization/105175,
- tree-optimization/105185, tree-optimization/105189,
- tree-optimization/105198, tree-optimization/105218
-- build annobin gcc plugin as part of gcc build into gcc-plugin-annobin
- subpackage
-
-* Sun Apr 3 2022 Jakub Jelinek 12.0.1-0.14
-- update from trunk
- - revert delayed parse DMI change (PR c++/96645)
-- fix up aarch64 make install
-
-* Fri Apr 1 2022 Jakub Jelinek 12.0.1-0.13
-- update from trunk
- - PRs ada/104767, ada/104861, analyzer/95000, analyzer/99771,
- analyzer/103533, analyzer/104308, analyzer/104793, analyzer/104863,
- analyzer/104943, analyzer/104954, analyzer/104955, analyzer/104979,
- analyzer/104997, analyzer/105017, analyzer/105057, analyzer/105074,
- analyzer/105087, c++/39751, c++/58646, c++/59426, c++/65396,
- c++/71637, c++/84964, c++/87820, c++/92918, c++/93280, c++/95999,
- c++/96329, c++/96437, c++/96440, c++/96645, c++/96780, c++/98644,
- c++/99445, c++/100474, c++/101030, c++/101515, c++/101767, c++/102045,
- c++/102071, c++/102123, c++/102137, c++/102489, c++/102538,
- c++/102740, c++/102869, c++/102990, c++/103177, c++/103291,
- c++/103299, c++/103337, c++/103455, c++/103460, c++/103769,
- c++/103943, c++/103968, c++/104008, c++/104108, c++/104284,
- c++/104476, c++/104527, c++/104568, c++/104583, c++/104608,
- c++/104620, c++/104622, c++/104623, c++/104641, c++/104752,
- c++/104806, c++/104823, c++/104846, c++/104847, c++/104944,
- c++/104994, c++/105003, c++/105006, c++/105035, c++/105050,
- c++/105061, c++/105064, c++/105067, c++/105092, c/82283, c/84685,
- c/98198, c/104711, d/103528, d/104911, d/105004, debug/104564,
- debug/104778, fortran/50549, fortran/100892, fortran/103039,
- fortran/103560, fortran/103691, fortran/104126, fortran/104570,
- fortran/104571, fortran/104811, fortran/104849, fortran/104999,
- ipa/102513, ipa/103083, ipa/103171, ipa/104813, jit/63854,
- libgcc/86224, libgomp/105042, libstdc++/92546, libstdc++/103407,
- libstdc++/104242, libstdc++/104859, libstdc++/104866,
- libstdc++/104870, libstdc++/104875, libstdc++/104990,
- libstdc++/105021, libstdc++/105027, lto/102426, middle-end/90115,
- middle-end/98420, middle-end/99578, middle-end/100680,
- middle-end/102330, middle-end/103597, middle-end/104086,
- middle-end/104285, middle-end/104436, middle-end/104774,
- middle-end/104786, middle-end/104869, middle-end/104885,
- middle-end/104892, middle-end/104966, middle-end/104971,
- middle-end/104975, middle-end/105032, middle-end/105049, other/65095,
- other/102664, other/104899, other/105114, rtl-optimization/103775,
- rtl-optimization/104814, rtl-optimization/104961,
- rtl-optimization/104989, rtl-optimization/105028,
- rtl-optimization/105091, sanitizer/105093, target/86722, target/91229,
- target/94680, target/96882, target/99754, target/102125,
- target/102215, target/102772, target/102986, target/103074,
- target/104004, target/104666, target/104688, target/104714,
- target/104762, target/104783, target/104790, target/104815,
- target/104818, target/104829, target/104840, target/104842,
- target/104857, target/104868, target/104882, target/104890,
- target/104898, target/104902, target/104903, target/104910,
- target/104916, target/104923, target/104925, target/104946,
- target/104952, target/104957, target/104963, target/104967,
- target/104974, target/104976, target/104977, target/104978,
- target/104982, target/104998, target/105000, target/105011,
- target/105052, target/105058, target/105066, target/105068,
- testsuite/102841, testsuite/104759, testsuite/105055,
- testsuite/105085, tree-optimization/80334, tree-optimization/84201,
- tree-optimization/90356, tree-optimization/98335,
- tree-optimization/100834, tree-optimization/101895,
- tree-optimization/102008, tree-optimization/102586,
- tree-optimization/102645, tree-optimization/102943,
- tree-optimization/104645, tree-optimization/104755,
- tree-optimization/104851, tree-optimization/104880,
- tree-optimization/104941, tree-optimization/104942,
- tree-optimization/104960, tree-optimization/104970,
- tree-optimization/105012, tree-optimization/105053,
- tree-optimization/105056, tree-optimization/105070,
- tree-optimization/105080, tree-optimization/105094,
- tree-optimization/105109
-
-* Tue Mar 8 2022 Jakub Jelinek 12.0.1-0.12
-- fix up promoted SUBREG handling (#2045160, PR rtl-optimization/104839)
-- fix up check for asm goto (PR rtl-optimization/104777)
-
-* Tue Mar 8 2022 Jakub Jelinek 12.0.1-0.11
-- update from trunk
- - PRs analyzer/101983, fortran/99585, fortran/104430, libstdc++/104807,
- middle-end/104381, target/99297, target/104779, target/104794,
- target/104797, translation/90148, translation/104552,
- tree-optimization/104782, tree-optimization/104825
-- fix build on i686 where gnat1 was hanging (PR target/104838,
- PR target/104781)
-
-* Sun Mar 6 2022 Jakub Jelinek 12.0.1-0.10
-- update from trunk
- - PRs analyzer/103521, analyzer/104434, c++/70077, c++/79493, c++/103443,
- c++/104618, c++/104667, c++/104682, c/104627, c/104633, d/104659,
- d/104736, debug/100541, fortran/84519, fortran/104131, fortran/104573,
- fortran/104619, gcov-profile/104677, ipa/104533, ipa/104648,
- libstdc++/96526, libstdc++/104602, libstdc++/104748, middle-end/80270,
- middle-end/100400, middle-end/102276, middle-end/103836,
- middle-end/103984, middle-end/104061, middle-end/104132,
- middle-end/104133, middle-end/104529, middle-end/104540,
- middle-end/104550, middle-end/104558, middle-end/104679,
- middle-end/104721, middle-end/104757, middle-end/104761,
- middle-end/104784, rtl-optimization/104154, rtl-optimization/104589,
- rtl-optimization/104637, rtl-optimization/104686, target/87496,
- target/88134, target/99555, target/100757, target/101325,
- target/102429, target/103302, target/104121, target/104208,
- target/104489, target/104656, target/104664, target/104674,
- target/104681, target/104698, target/104704, target/104724,
- target/104726, target/104758, testsuite/100407, testsuite/104687,
- testsuite/104725, testsuite/104727, testsuite/104728,
- testsuite/104730, testsuite/104732, testsuite/104791,
- tree-optimization/91384, tree-optimization/101636,
- tree-optimization/103037, tree-optimization/103845,
- tree-optimization/103856, tree-optimization/104601,
- tree-optimization/104644, tree-optimization/104675,
- tree-optimization/104676, tree-optimization/104700,
- tree-optimization/104715, tree-optimization/104716
-- fix constraints on s390x conditional trap (PR target/104775)
-
-* Tue Feb 22 2022 Jakub Jelinek 12.0.1-0.9
-- update from trunk
- - PRs analyzer/104524, analyzer/104560, analyzer/104576, c++/85493,
- c++/90451, c++/94944, c++/95036, c++/104107, c++/104507, c++/104539,
- c++/104565, c/104506, c/104510, c/104531, c/104532, debug/104517,
- debug/104557, fortran/77693, fortran/104211, libstdc++/104542,
- libstdc++/104559, lto/104617, middle-end/104355, middle-end/104522,
- rtl-optimization/104447, rtl-optimization/104498,
- rtl-optimization/104544, sanitizer/102656, target/99708, target/99881,
- target/100056, target/100874, target/103069, target/104253,
- target/104257, target/104335, target/104440, target/104448,
- target/104536, target/104581, target/104598, target/104612,
- testsuite/104146, tree-optimization/96881, tree-optimization/103771,
- tree-optimization/104519, tree-optimization/104526,
- tree-optimization/104543, tree-optimization/104551,
- tree-optimization/104582, tree-optimization/104604
-
-* Mon Feb 14 2022 Jakub Jelinek 12.0.1-0.8
-- update from trunk
- - PRs ada/97504, ada/98724, c/104505, fortran/104228, libstdc++/100912,
- middle-end/104497, tree-optimization/104511, tree-optimization/104528
- - fix handling of return in arm constexpr ctors and on all arches return in
- constexpr dtors (PR c++/104513)
-
-* Sat Feb 12 2022 Jakub Jelinek 12.0.1-0.7
-- update from trunk
- - PRs analyzer/98797, analyzer/101081, analyzer/102052, analyzer/103872,
- analyzer/104274, analyzer/104417, analyzer/104452, c++/80951,
- c++/96242, c++/96876, c++/102204, c++/103706, c++/103752, c++/104033,
- c++/104379, c++/104403, c++/104410, c++/104425, c++/104432,
- c++/104472, c/104427, debug/104407, fortran/66193, fortran/104329,
- libgomp/104385, libstdc++/104442, middle-end/100775,
- middle-end/104402, middle-end/104446, middle-end/104450,
- middle-end/104464, middle-end/104467, middle-end/104496,
- rtl-optimization/104059, rtl-optimization/104153,
- rtl-optimization/104198, rtl-optimization/104400,
- rtl-optimization/104459, sanitizer/104449, target/35513, target/79754,
- target/97005, target/97040, target/100593, target/102140,
- target/103627, target/104117, target/104283, target/104327,
- target/104345, target/104364, target/104441, target/104451,
- target/104453, target/104456, target/104458, target/104462,
- target/104469, target/104474, target/104502, testsuite/104481,
- tree-optimization/102832, tree-optimization/104288,
- tree-optimization/104373, tree-optimization/104420,
- tree-optimization/104445, tree-optimization/104466,
- tree-optimization/104479, tree-optimization/104499
-
-* Sat Feb 5 2022 Jakub Jelinek 12.0.1-0.6
-- update from trunk
- - PRs analyzer/104369, c++/92385, c++/104079, c++/104300, c++/104302,
- debug/104337, debug/104366, fortran/104311, fortran/104328,
- middle-end/90348, middle-end/104092, middle-end/104260,
- rtl-optimization/101885, target/95082, target/100808, target/103686,
- target/104219, target/104362, target/104380, tree-optimization/103641,
- tree-optimization/104119, tree-optimization/104356,
- tree-optimization/104389
-
-* Wed Feb 2 2022 Jakub Jelinek 12.0.1-0.5
-- update from trunk
- - PRs analyzer/104270, c++/101874, c++/102414, c++/102434, c++/103186,
- c++/104291, c++/104294, d/104287, demangler/98886, demangler/99935,
- fortran/104331, libstdc++/101831, libstdc++/104301, lto/104333,
- middle-end/104232, middle-end/104307, middle-end/95115,
- preprocessor/104147, rtl-optimization/101260, target/94372,
- target/100428, target/104189, target/104298, target/104323,
- tree-optimization/95424, tree-optimization/100499,
- tree-optimization/102819, tree-optimization/103169,
- tree-optimization/103514, tree-optimization/104279,
- tree-optimization/104280, tree-optimization/104281
-- fix a VRP bug with 1-3 bit precision types (PR tree-optimization/104334)
-
-* Sat Jan 29 2022 Jakub Jelinek 12.0.1-0.4
-- update from trunk
- - PRs ada/104258, analyzer/104224, analyzer/104247, bootstrap/67102,
- c++/51344, c++/59950, c++/82632, c++/92752, c++/92944, c++/99895,
- c++/100030, c++/100198, c++/100282, c++/101532, c++/101988,
- c++/103057, c++/103341, c++/103678, c++/104206, c++/104225,
- c++/104226, c++/104235, c++/104245, fortran/84784, fortran/103790,
- fortran/104128, fortran/104212, fortran/104227, libfortran/104233,
- libstdc++/100516, libstdc++/104161, libstdc++/104217,
- libstdc++/104259, lto/104237, middle-end/103642, target/103702,
- target/104201, target/104213, target/104239, testsuite/70230,
- tree-optimization/104196, tree-optimization/104203,
- tree-optimization/104263, tree-optimization/104267, web/104254
-- configure with --enable-libstdcxx-backtrace and package
- libstdc++_libbacktrace.a
-
-* Tue Jan 25 2022 Jakub Jelinek 12.0.1-0.3
-- update from trunk
- - PRs ada/103538, analyzer/94362, analyzer/103685, analyzer/104062,
- analyzer/104089, analyzer/104150, analyzer/104159, bootstrap/104135,
- bootstrap/104170, c++/20040, c++/55227, c++/91911, c++/101072,
- c++/101405, c++/101715, c++/102300, c++/102338, c++/103631,
- c++/103672, c++/103681, c++/104025, c++/104055, c++/104084,
- c++/104134, c++/104139, c++/104148, c++/104173, c++/104182,
- c++/104197, c/104115, debug/103874, fortran/102621, fortran/103695,
- fortran/104127, libgcc/104207, libstdc++/87193, libstdc++/104019,
- libstdc++/104032, libstdc++/104099, libstdc++/104101,
- libstdc++/104123, libstdc++/104174, middle-end/100786,
- middle-end/102860, middle-end/104069, middle-end/104076,
- middle-end/104140, other/104176, other/104181, preprocessor/104030,
- rtl-optimization/102478, sanitizer/99673, sanitizer/104158,
- target/64821, target/94193, target/100784, target/102517,
- target/103676, target/103771, target/104090, target/104136,
- target/104188, testsuite/102833, testsuite/103763, testsuite/104021,
- testsuite/104022, testsuite/104109, tree-optimization/100089,
- tree-optimization/100740, tree-optimization/101508,
- tree-optimization/101972, tree-optimization/102087,
- tree-optimization/102131, tree-optimization/103721,
- tree-optimization/103997, tree-optimization/104112,
- tree-optimization/104114, tree-optimization/104152,
- tree-optimization/104156, tree-optimization/104214
- - don't emit C++ mangling aliases for compatibility with GCC 8.1 ppc64le
- IEEE quad long double (PR target/104172)
-- mark IEEE quad long double in DWARF as implicit typedef to _Float128
- (PR debug/104194)
-
-* Tue Jan 18 2022 Jakub Jelinek 12.0.1-0.2
-- update from trunk
- - PRs c++/104007, c++/104074, fortran/103692, ipa/103989, libstdc++/101124,
- libstdc++/104098, middle-end/103163, tree-optimization/103987,
- tree-optimization/104038
-- default to -mabi=ieeelongdouble on ppc64le
-- fix -Wdangling-pointer with -fsanitize=address (PR middle-end/104103)
-- fix -masm=intel (PR target/104104)
-
-* Tue Jan 18 2022 Jakub Jelinek 12.0.1-0.1
-- update from trunk
- - PRs c++/104031, c/63272, fortran/83079, fortran/87711, fortran/97896,
- libstdc++/103650, libstdc++/104080, middle-end/101292, target/103124,
- target/103973, target/104005, testsuite/104035, testsuite/104037,
- tree-optimization/80532, tree-optimization/101941,
- tree-optimization/104064
-
-* Sat Jan 15 2022 Jakub Jelinek 12.0.0-0.5
-- update from trunk
- - PRs ada/104027, analyzer/104029, c++/70417, c++/103705, c++/103991,
- c/104002, fortran/67804, fortran/99256, fortran/103782,
- libfortran/104006, libstdc++/91260, libstdc++/91383, libstdc++/95065,
- libstdc++/103992, middle-end/100280, middle-end/101475,
- middle-end/104026, target/94790, target/98737, target/100637,
- target/103935, target/103941, target/104001, target/104003,
- target/104014, tree-optimization/83072, tree-optimization/83073,
- tree-optimization/96707, tree-optimization/97909,
- tree-optimization/102192, tree-optimization/103989,
- tree-optimization/104009, tree-optimization/104015
-- include rs6000-vecdefines.h on ppc* (#2040825)
-
-* Wed Jan 12 2022 Jakub Jelinek 12.0.0-0.4
-- update from trunk
- - PRs ada/79724, analyzer/102692, analyzer/103940, c++/89074, c++/103480,
- c++/100588, c++/101597, c++/103783, c++/103831, c++/103879,
- c++/103912, c++/103946, c/101537, c/103881, fortran/82207,
- fortran/101762, fortran/103366, fortran/103777, fortran/103789,
- libstdc++/77760, libstdc++/100017, libstdc++/103726, libstdc++/103866,
- libstdc++/103891, libstdc++/103955, middle-end/70090,
- middle-end/101530, rtl-optimization/98782, rtl-optimization/103974,
- target/53652, target/102024, target/102239, target/103465,
- target/103804, target/103861, testsuite/102935, testsuite/103820,
- tree-optimization/76174, tree-optimization/83541,
- tree-optimization/100359, tree-optimization/103551,
- tree-optimization/103821, tree-optimization/103948,
- tree-optimization/103961, tree-optimization/103971,
- tree-optimization/103977, tree-optimization/103990
-
-* Sat Jan 8 2022 Jakub Jelinek 12.0.0-0.3
+* Sun Jan 15 2023 Jakub Jelinek 13.0.0-0.9
- new package
diff --git a/gcc12-pr107468.patch b/gcc12-pr107468.patch
deleted file mode 100644
index 0949b11..0000000
--- a/gcc12-pr107468.patch
+++ /dev/null
@@ -1,124 +0,0 @@
-libstdc++: Update from latest fast_float [PR107468]
-
-The following patch is a cherry-pick from
-https://github.com/fastfloat/fast_float/pull/153
-to restrict fast_float Clinger's fast path to when rounding mode
-is FE_TONEAREST.
-Using std::fegetround showed in benchmarks too slow, so instead
-it uses a check with 2 float additions and comparison to verify
-if rounding is FE_TONEAREST.
-
-2022-11-20 Jakub Jelinek
-
- PR libstdc++/107468
- * src/c++17/fast_float/fast_float.h (detail::rounds_to_nearest): New
- function, taken from https://github.com/fastfloat/fast_float/pull/153.
- (from_chars_advanced): Only use Clinger's fast path if
- detail::rounds_to_nearest().
- * testsuite/20_util/from_chars/pr107468.cc: New test.
-
---- libstdc++-v3/src/c++17/fast_float/fast_float.h.jj 2022-04-28 15:56:18.315632888 +0200
-+++ libstdc++-v3/src/c++17/fast_float/fast_float.h 2022-11-20 18:53:49.570830249 +0100
-@@ -2842,6 +2842,48 @@ from_chars_result parse_infnan(const cha
- return answer;
- }
-
-+/**
-+ * Returns true if the floating-pointing rounding mode is to 'nearest'.
-+ * It is the default on most system. This function is meant to be inexpensive.
-+ * Credit : @mwalcott3
-+ */
-+fastfloat_really_inline bool rounds_to_nearest() noexcept {
-+ // See
-+ // A fast function to check your floating-point rounding mode
-+ // https://lemire.me/blog/2022/11/16/a-fast-function-to-check-your-floating-point-rounding-mode/
-+ //
-+ // This function is meant to be equivalent to :
-+ // prior: #include
-+ // return fegetround() == FE_TONEAREST;
-+ // However, it is expected to be much faster than the fegetround()
-+ // function call.
-+ //
-+ // The volatile keywoard prevents the compiler from computing the function
-+ // at compile-time.
-+ // There might be other ways to prevent compile-time optimizations (e.g., asm).
-+ // The value does not need to be std::numeric_limits::min(), any small
-+ // value so that 1 + x should round to 1 would do (after accounting for excess
-+ // precision, as in 387 instructions).
-+ static volatile float fmin = std::numeric_limits::min();
-+ float fmini = fmin; // we copy it so that it gets loaded at most once.
-+ //
-+ // Explanation:
-+ // Only when fegetround() == FE_TONEAREST do we have that
-+ // fmin + 1.0f == 1.0f - fmin.
-+ //
-+ // FE_UPWARD:
-+ // fmin + 1.0f > 1
-+ // 1.0f - fmin == 1
-+ //
-+ // FE_DOWNWARD or FE_TOWARDZERO:
-+ // fmin + 1.0f == 1
-+ // 1.0f - fmin < 1
-+ //
-+ // Note: This may fail to be accurate if fast-math has been
-+ // enabled, as rounding conventions may not apply.
-+ return (fmini + 1.0f == 1.0f - fmini);
-+}
-+
- } // namespace detail
-
- template
-@@ -2870,7 +2912,7 @@ from_chars_result from_chars_advanced(co
- answer.ec = std::errc(); // be optimistic
- answer.ptr = pns.lastmatch;
- // Next is Clinger's fast path.
-- if (binary_format::min_exponent_fast_path() <= pns.exponent && pns.exponent <= binary_format::max_exponent_fast_path() && pns.mantissa <=binary_format::max_mantissa_fast_path() && !pns.too_many_digits) {
-+ if (binary_format::min_exponent_fast_path() <= pns.exponent && pns.exponent <= binary_format::max_exponent_fast_path() && pns.mantissa <=binary_format::max_mantissa_fast_path() && !pns.too_many_digits && detail::rounds_to_nearest()) {
- value = T(pns.mantissa);
- if (pns.exponent < 0) { value = value / binary_format::exact_power_of_ten(-pns.exponent); }
- else { value = value * binary_format::exact_power_of_ten(pns.exponent); }
---- libstdc++-v3/testsuite/20_util/from_chars/pr107468.cc.jj
-+++ libstdc++-v3/testsuite/20_util/from_chars/pr107468.cc
-@@ -0,0 +1,42 @@
-+// Copyright (C) 2022 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 3, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING3. If not see
-+// .
-+
-+// { dg-do run { target c++17 } }
-+// { dg-add-options ieee }
-+
-+#include
-+#include
-+#include
-+#include
-+
-+int
-+main()
-+{
-+ // FP from_char not available otherwise.
-+#if __cpp_lib_to_chars >= 201611L \
-+ && _GLIBCXX_USE_C99_FENV_TR1 \
-+ && defined(FE_DOWNWARD) \
-+ && defined(_GLIBCXX_FLOAT_IS_IEEE_BINARY32)
-+ // PR libstdc++/107468
-+ float f;
-+ char buf[] = "3.355447e+07";
-+ std::fesetround(FE_DOWNWARD);
-+ auto [ptr, ec] = std::from_chars(buf, buf + sizeof(buf) - 1, f, std::chars_format::scientific);
-+ VERIFY( ec == std::errc() && ptr == buf + sizeof(buf) - 1 );
-+ VERIFY( f == 33554472.0f );
-+#endif
-+}
diff --git a/gcc12-Wno-format-security.patch b/gcc13-Wno-format-security.patch
similarity index 90%
rename from gcc12-Wno-format-security.patch
rename to gcc13-Wno-format-security.patch
index 43e482a..4c71dac 100644
--- a/gcc12-Wno-format-security.patch
+++ b/gcc13-Wno-format-security.patch
@@ -32,27 +32,31 @@
fi
--- Makefile.tpl.jj 2021-12-30 15:12:42.188164847 +0100
+++ Makefile.tpl 2022-01-07 12:06:12.115550714 +0100
-@@ -447,8 +447,8 @@ LDFLAGS = @LDFLAGS@
+@@ -446,9 +446,9 @@ LDFLAGS = @LDFLAGS@
LIBCFLAGS = $(CFLAGS)
CXXFLAGS = @CXXFLAGS@
LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
-GOCFLAGS = $(CFLAGS)
-GDCFLAGS = $(CFLAGS)
+-GM2FLAGS = $(CFLAGS)
+GOCFLAGS = $(filter-out -Wformat-security,$(CFLAGS))
+GDCFLAGS = $(filter-out -Wformat-security,$(CFLAGS))
++GM2FLAGS = $(filter-out -Wformat-security,$(CFLAGS))
# Pass additional PGO and LTO compiler options to the PGO build.
BUILD_CFLAGS = $(PGO_BUILD_CFLAGS) $(PGO_BUILD_LTO_CFLAGS)
--- Makefile.in.jj 2021-12-30 15:12:42.188164847 +0100
+++ Makefile.in 2022-01-07 12:06:27.335334561 +0100
-@@ -444,8 +444,8 @@ LDFLAGS = @LDFLAGS@
+@@ -443,9 +443,9 @@ LDFLAGS = @LDFLAGS@
LIBCFLAGS = $(CFLAGS)
CXXFLAGS = @CXXFLAGS@
LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
-GOCFLAGS = $(CFLAGS)
-GDCFLAGS = $(CFLAGS)
+-GM2FLAGS = $(CFLAGS)
+GOCFLAGS = $(filter-out -Wformat-security,$(CFLAGS))
+GDCFLAGS = $(filter-out -Wformat-security,$(CFLAGS))
++GM2FLAGS = $(filter-out -Wformat-security,$(CFLAGS))
# Pass additional PGO and LTO compiler options to the PGO build.
BUILD_CFLAGS = $(PGO_BUILD_CFLAGS) $(PGO_BUILD_LTO_CFLAGS)
diff --git a/gcc12-d-shared-libphobos.patch b/gcc13-d-shared-libphobos.patch
similarity index 100%
rename from gcc12-d-shared-libphobos.patch
rename to gcc13-d-shared-libphobos.patch
diff --git a/gcc12-fortran-fdec-duplicates.patch b/gcc13-fortran-fdec-duplicates.patch
similarity index 100%
rename from gcc12-fortran-fdec-duplicates.patch
rename to gcc13-fortran-fdec-duplicates.patch
diff --git a/gcc12-fortran-fdec-non-logical-if.patch b/gcc13-fortran-fdec-non-logical-if.patch
similarity index 100%
rename from gcc12-fortran-fdec-non-logical-if.patch
rename to gcc13-fortran-fdec-non-logical-if.patch
diff --git a/gcc12-fortran-fdec-override-kind.patch b/gcc13-fortran-fdec-override-kind.patch
similarity index 100%
rename from gcc12-fortran-fdec-override-kind.patch
rename to gcc13-fortran-fdec-override-kind.patch
diff --git a/gcc12-fortran-flogical-as-integer.patch b/gcc13-fortran-flogical-as-integer.patch
similarity index 100%
rename from gcc12-fortran-flogical-as-integer.patch
rename to gcc13-fortran-flogical-as-integer.patch
diff --git a/gcc12-hack.patch b/gcc13-hack.patch
similarity index 100%
rename from gcc12-hack.patch
rename to gcc13-hack.patch
diff --git a/gcc12-isl-dl.patch b/gcc13-isl-dl.patch
similarity index 99%
rename from gcc12-isl-dl.patch
rename to gcc13-isl-dl.patch
index 824288b..20dd8bf 100644
--- a/gcc12-isl-dl.patch
+++ b/gcc13-isl-dl.patch
@@ -629,7 +629,7 @@
--- gcc/graphite.cc.jj 2015-11-04 14:15:32.000000000 +0100
+++ gcc/graphite.cc 2015-11-04 14:56:02.645536409 +0100
@@ -60,6 +60,35 @@ along with GCC; see the file COPYING3.
- #include "tree-into-ssa.h"
+ #include "tree-ssa-propagate.h"
#include "graphite.h"
+__typeof (isl_pointers__) isl_pointers__;
@@ -664,7 +664,7 @@
/* Print global statistics to FILE. */
static void
-@@ -365,6 +394,15 @@ graphite_transform_loops (void)
+@@ -424,6 +453,15 @@ graphite_transform_loops (void)
if (parallelized_function_p (cfun->decl))
return;
@@ -680,7 +680,7 @@
calculate_dominance_info (CDI_DOMINATORS);
/* We rely on post-dominators during merging of SESE regions so those
-@@ -455,6 +493,14 @@ graphite_transform_loops (void)
+@@ -519,6 +557,14 @@ graphite_transform_loops (void)
}
}
diff --git a/gcc12-isl-dl2.patch b/gcc13-isl-dl2.patch
similarity index 100%
rename from gcc12-isl-dl2.patch
rename to gcc13-isl-dl2.patch
diff --git a/gcc12-libgomp-omp_h-multilib.patch b/gcc13-libgomp-omp_h-multilib.patch
similarity index 100%
rename from gcc12-libgomp-omp_h-multilib.patch
rename to gcc13-libgomp-omp_h-multilib.patch
diff --git a/gcc12-libstdc++-docs.patch b/gcc13-libstdc++-docs.patch
similarity index 100%
rename from gcc12-libstdc++-docs.patch
rename to gcc13-libstdc++-docs.patch
diff --git a/gcc12-libtool-no-rpath.patch b/gcc13-libtool-no-rpath.patch
similarity index 100%
rename from gcc12-libtool-no-rpath.patch
rename to gcc13-libtool-no-rpath.patch
diff --git a/gcc12-no-add-needed.patch b/gcc13-no-add-needed.patch
similarity index 100%
rename from gcc12-no-add-needed.patch
rename to gcc13-no-add-needed.patch
diff --git a/gcc13-pr107608.patch b/gcc13-pr107608.patch
new file mode 100644
index 0000000..305b260
--- /dev/null
+++ b/gcc13-pr107608.patch
@@ -0,0 +1,47 @@
+2023-01-15 Aldy Hernandez
+
+ PR tree-optimization/107608
+ * range-op-float.cc (range_operator_float::fold_range): Avoid
+ folding into INF when flag_trapping_math.
+ * value-range.h (frange::known_isinf): Return false for possible NANs.
+
+--- gcc/range-op-float.cc
++++ gcc/range-op-float.cc
+@@ -91,6 +91,27 @@ range_operator_float::fold_range (frange &r, tree type,
+ else
+ r.clear_nan ();
+
++ // If the result has overflowed and flag_trapping_math, folding this
++ // operation could elide an overflow or division by zero exception.
++ // Avoid returning a singleton +-INF, to keep the propagators (DOM
++ // and substitute_and_fold_engine) from folding. See PR107608.
++ if (flag_trapping_math
++ && MODE_HAS_INFINITIES (TYPE_MODE (type))
++ && r.known_isinf () && !op1.known_isinf () && !op2.known_isinf ())
++ {
++ REAL_VALUE_TYPE inf = r.lower_bound ();
++ if (real_isneg (&inf))
++ {
++ REAL_VALUE_TYPE min = real_min_representable (type);
++ r.set (type, inf, min);
++ }
++ else
++ {
++ REAL_VALUE_TYPE max = real_max_representable (type);
++ r.set (type, max, inf);
++ }
++ }
++
+ return true;
+ }
+
+--- gcc/value-range.h
++++ gcc/value-range.h
+@@ -1300,6 +1300,7 @@ inline bool
+ frange::known_isinf () const
+ {
+ return (m_kind == VR_RANGE
++ && !maybe_isnan ()
+ && real_identical (&m_min, &m_max)
+ && real_isinf (&m_min));
+ }
diff --git a/gcc13-pr107678.patch b/gcc13-pr107678.patch
new file mode 100644
index 0000000..3cf29ac
--- /dev/null
+++ b/gcc13-pr107678.patch
@@ -0,0 +1,113 @@
+A recent change only initializes the regs.how[] during Dwarf unwinding
+which resulted in an uninitialized offset used in return address signing
+and random failures during unwinding. The fix is to encode the return
+address signing state in REG_UNSAVED and REG_UNDEFINED.
+
+2023-01-10 Wilco Dijkstra
+
+ PR target/107678
+ * unwind-dw2.c (RA_SIGNED_BIT): Remove.
+ * unwind-dw2-execute_cfa.h: Use REG_UNSAVED/UNDEFINED
+ to encode return address signing state.
+ * config/aarch64/aarch64-unwind.h (aarch64_demangle_return_addr)
+ Check current return address signing state.
+ (aarch64_frob_update_contex): Remove.
+
+--- libgcc/config/aarch64/aarch64-unwind.h
++++ libgcc/config/aarch64/aarch64-unwind.h
+@@ -29,8 +29,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+
+ #define MD_DEMANGLE_RETURN_ADDR(context, fs, addr) \
+ aarch64_demangle_return_addr (context, fs, addr)
+-#define MD_FROB_UPDATE_CONTEXT(context, fs) \
+- aarch64_frob_update_context (context, fs)
+
+ static inline int
+ aarch64_cie_signed_with_b_key (struct _Unwind_Context *context)
+@@ -55,42 +53,27 @@ aarch64_cie_signed_with_b_key (struct _Unwind_Context *context)
+
+ static inline void *
+ aarch64_demangle_return_addr (struct _Unwind_Context *context,
+- _Unwind_FrameState *fs ATTRIBUTE_UNUSED,
++ _Unwind_FrameState *fs,
+ _Unwind_Word addr_word)
+ {
+ void *addr = (void *)addr_word;
+- if (context->flags & RA_SIGNED_BIT)
++ const int reg = DWARF_REGNUM_AARCH64_RA_STATE;
++
++ if (fs->regs.how[reg] == REG_UNSAVED)
++ return addr;
++
++ /* Return-address signing state is toggled by DW_CFA_GNU_window_save (where
++ REG_UNDEFINED means enabled), or set by a DW_CFA_expression. */
++ if (fs->regs.how[reg] == REG_UNDEFINED
++ || (_Unwind_GetGR (context, reg) & 0x1) != 0)
+ {
+ _Unwind_Word salt = (_Unwind_Word) context->cfa;
+ if (aarch64_cie_signed_with_b_key (context) != 0)
+ return __builtin_aarch64_autib1716 (addr, salt);
+ return __builtin_aarch64_autia1716 (addr, salt);
+ }
+- else
+- return addr;
+-}
+-
+-/* Do AArch64 private initialization on CONTEXT based on frame info FS. Mark
+- CONTEXT as return address signed if bit 0 of DWARF_REGNUM_AARCH64_RA_STATE is
+- set. */
+-
+-static inline void
+-aarch64_frob_update_context (struct _Unwind_Context *context,
+- _Unwind_FrameState *fs)
+-{
+- const int reg = DWARF_REGNUM_AARCH64_RA_STATE;
+- int ra_signed;
+- if (fs->regs.how[reg] == REG_UNSAVED)
+- ra_signed = fs->regs.reg[reg].loc.offset & 0x1;
+- else
+- ra_signed = _Unwind_GetGR (context, reg) & 0x1;
+- if (ra_signed)
+- /* The flag is used for re-authenticating EH handler's address. */
+- context->flags |= RA_SIGNED_BIT;
+- else
+- context->flags &= ~RA_SIGNED_BIT;
+
+- return;
++ return addr;
+ }
+
+ #endif /* defined AARCH64_UNWIND_H && defined __ILP32__ */
+--- libgcc/unwind-dw2.c
++++ libgcc/unwind-dw2.c
+@@ -137,9 +137,6 @@ struct _Unwind_Context
+ #define SIGNAL_FRAME_BIT ((~(_Unwind_Word) 0 >> 1) + 1)
+ /* Context which has version/args_size/by_value fields. */
+ #define EXTENDED_CONTEXT_BIT ((~(_Unwind_Word) 0 >> 2) + 1)
+- /* Bit reserved on AArch64, return address has been signed with A or B
+- key. */
+-#define RA_SIGNED_BIT ((~(_Unwind_Word) 0 >> 3) + 1)
+ _Unwind_Word flags;
+ /* 0 for now, can be increased when further fields are added to
+ struct _Unwind_Context. */
+--- libgcc/unwind-dw2-execute_cfa.h 2023-01-02 17:53:56.003021412 +0100
++++ libgcc/unwind-dw2-execute_cfa.h 2023-01-12 19:52:05.456327742 +0100
+@@ -278,10 +278,15 @@
+ case DW_CFA_GNU_window_save:
+ #if defined (__aarch64__) && !defined (__ILP32__)
+ /* This CFA is multiplexed with Sparc. On AArch64 it's used to toggle
+- return address signing status. */
++ return address signing status. The REG_UNDEFINED/UNSAVED states
++ mean RA signing is enabled/disabled. */
+ reg = DWARF_REGNUM_AARCH64_RA_STATE;
+- gcc_assert (fs->regs.how[reg] == REG_UNSAVED);
+- fs->regs.reg[reg].loc.offset ^= 1;
++ gcc_assert (fs->regs.how[reg] == REG_UNSAVED
++ || fs->regs.how[reg] == REG_UNDEFINED);
++ if (fs->regs.how[reg] == REG_UNSAVED)
++ fs->regs.how[reg] = REG_UNDEFINED;
++ else
++ fs->regs.how[reg] = REG_UNSAVED;
+ #else
+ /* ??? Hardcoded for SPARC register window configuration. */
+ if (__LIBGCC_DWARF_FRAME_REGISTERS__ >= 32)
diff --git a/gcc13-pr108411.patch b/gcc13-pr108411.patch
new file mode 100644
index 0000000..2c51481
--- /dev/null
+++ b/gcc13-pr108411.patch
@@ -0,0 +1,14 @@
+PR108411 workaround
+
+--- gcc/config/aarch64/aarch64.cc 2023-01-15 13:20:00.569241815 +0100
++++ gcc/config/aarch64/aarch64.cc 2023-01-15 13:30:05.061513817 +0100
+@@ -7707,8 +7707,7 @@ aarch64_layout_arg (cumulative_args_t pc
+ unsigned int alignment
+ = aarch64_function_arg_alignment (mode, type, &abi_break,
+ &abi_break_packed);
+- gcc_assert (alignment <= 16 * BITS_PER_UNIT
+- && (!alignment || abi_break < alignment)
++ gcc_assert ((!alignment || abi_break < alignment)
+ && (!abi_break_packed || alignment < abi_break_packed));
+
+ pcum->aapcs_arg_processed = true;
diff --git a/gcc12-rh1574936.patch b/gcc13-rh1574936.patch
similarity index 100%
rename from gcc12-rh1574936.patch
rename to gcc13-rh1574936.patch
diff --git a/gcc12-sparc-config-detection.patch b/gcc13-sparc-config-detection.patch
similarity index 77%
rename from gcc12-sparc-config-detection.patch
rename to gcc13-sparc-config-detection.patch
index bb06b35..bbe8ec3 100644
--- a/gcc12-sparc-config-detection.patch
+++ b/gcc13-sparc-config-detection.patch
@@ -1,21 +1,21 @@
--- gcc/config.gcc.jj 2008-04-24 15:42:46.000000000 -0500
+++ gcc/config.gcc 2008-04-24 15:44:51.000000000 -0500
-@@ -2790,7 +2790,7 @@ sparc-*-rtems*)
- tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
+@@ -3330,7 +3330,7 @@ sparc-*-rtems*)
+ tm_file="${tm_file} elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems"
;;
-sparc-*-linux*)
+sparc-*-linux* | sparcv9-*-linux*)
- tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h"
+ tm_file="${tm_file} elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h"
extra_options="${extra_options} sparc/long-double-switch.opt"
case ${target} in
-@@ -2844,7 +2844,7 @@ sparc64-*-rtems*)
+@@ -3384,7 +3384,7 @@ sparc64-*-rtems*)
extra_options="${extra_options}"
tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64"
;;
-sparc64-*-linux*)
+sparc64*-*-linux*)
- tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default64.h sparc/linux64.h sparc/tso.h"
+ tm_file="sparc/biarch64.h ${tm_file} elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default64.h sparc/linux64.h sparc/tso.h"
extra_options="${extra_options} sparc/long-double-switch.opt"
tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64"
--- libgcc/config.host.jj 2008-04-24 15:46:19.000000000 -0500
diff --git a/isl-rh2155127.patch b/isl-rh2155127.patch
new file mode 100644
index 0000000..092bddb
--- /dev/null
+++ b/isl-rh2155127.patch
@@ -0,0 +1,85 @@
+From: Sven Verdoolaege
+Date: Mon, 6 Jun 2022 12:56:02 +0000 (+0200)
+Subject: update m4/ax_prog_cc_for_build.m4
+X-Git-Tag: isl-0.25~11
+X-Git-Url: https://repo.or.cz/isl.git/commitdiff_plain/b4dcdfadc29a6c9f410a72f345f3f32725b1d38b
+
+update m4/ax_prog_cc_for_build.m4
+
+In particular, update to the latest version from the autoconf archive,
+but preserve the changes from isl-0.22.1-358-gcd42abdf2
+(m4/ax_prog_cc_for_build.m4: do not override host compiler dependency style,
+Tue Jun 9 10:54:10 2020 +0200).
+
+Signed-off-by: Sven Verdoolaege
+
+--- isl-0.24/m4/ax_prog_cc_for_build.m4.jj 2021-03-02 12:07:09.000000000 +0100
++++ isl-0.24/m4/ax_prog_cc_for_build.m4 2022-12-20 18:11:18.855777817 +0100
+@@ -32,7 +32,7 @@
+ # and this notice are preserved. This file is offered as-is, without any
+ # warranty.
+
+-#serial 18
++#serial 21
+
+ AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
+ AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
+@@ -44,6 +44,8 @@ dnl Use the standard macros, but make th
+ dnl
+ pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
+ pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl
++pushdef([ac_cv_prog_cc_c99], ac_cv_build_prog_cc_c99)dnl
++pushdef([ac_cv_prog_cc_c11], ac_cv_build_prog_cc_c11)dnl
+ pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
+ pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
+ pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
+@@ -86,7 +88,21 @@ AS_IF([test -n "$build"], [ac_build
+ [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"])
+
+ AC_LANG_PUSH([C])
++
++dnl The pushdef([ac_cv_c_compiler_gnu], ...) currently does not cover
++dnl the use of this variable in _AC_LANG_COMPILER_GNU called by
++dnl AC_PROG_CC. Unset this cache variable temporarily as a workaround.
++was_set_c_compiler_gnu=${[ac_cv_c_compiler_gnu]+y}
++AS_IF([test ${was_set_c_compiler_gnu}],
++ [saved_c_compiler_gnu=$[ac_cv_c_compiler_gnu]
++ AS_UNSET([[ac_cv_c_compiler_gnu]])])
++
+ AC_PROG_CC
++
++dnl Restore ac_cv_c_compiler_gnu
++AS_IF([test ${was_set_c_compiler_gnu}],
++ [[ac_cv_c_compiler_gnu]=$[saved_c_compiler_gnu]])
++
+ _AC_COMPILER_EXEEXT
+ _AC_COMPILER_OBJEXT
+ AC_PROG_CPP
+--- isl-0.24/configure.jj 2021-04-26 11:13:19.000000000 +0200
++++ isl-0.24/configure 2022-12-20 18:11:36.882518568 +0100
+@@ -5002,6 +4990,13 @@ ac_compile='$CC_FOR_BUILD -c $CFLAGS_FOR
+ ac_link='$CC_FOR_BUILD -o conftest$ac_build_exeext $CFLAGS_FOR_BUILD $CPPFLAGS_FOR_BUILD $LDFLAGS_FOR_BUILD conftest.$ac_ext $LIBS >&5'
+ ac_compiler_gnu=$ac_cv_build_c_compiler_gnu
+
++
++was_set_c_compiler_gnu=${ac_cv_c_compiler_gnu+y}
++if test ${was_set_c_compiler_gnu}; then :
++ saved_c_compiler_gnu=$ac_cv_c_compiler_gnu
++ { ac_cv_c_compiler_gnu=; unset ac_cv_c_compiler_gnu;}
++fi
++
+ ac_ext=c
+ ac_cpp='$CPP_FOR_BUILD $CPPFLAGS_FOR_BUILD'
+ ac_compile='$CC_FOR_BUILD -c $CFLAGS_FOR_BUILD $CPPFLAGS_FOR_BUILD conftest.$ac_ext >&5'
+@@ -5728,6 +5723,11 @@ else
+ fi
+
+
++
++if test ${was_set_c_compiler_gnu}; then :
++ ac_cv_c_compiler_gnu=$saved_c_compiler_gnu
++fi
++
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
diff --git a/sources b/sources
index 4f41efa..56d6327 100644
--- a/sources
+++ b/sources
@@ -1,4 +1,4 @@
-SHA512 (gcc-12.2.1-20221121.tar.xz) = 6fef1438e77d8b7e7aeddea6d2d6a82c37d2e93f65ad9007f04206e1a368dd70597cef01188de4ee9bbfe1811a129303ce10b49cb9758a2b44abe4f0312d073a
+SHA512 (gcc-13.0.0-20230115.tar.xz) = f347e7b91a078e37842612be601f28c68249e4300ee122fbcee8a0a8c15171d51507a4913640135cca07e47f979163acdfd1a4b7cd06a21966663986aee95a29
SHA512 (isl-0.24.tar.bz2) = aab3bddbda96b801d0f56d2869f943157aad52a6f6e6a61745edd740234c635c38231af20bc3f1a08d416a5e973a90e18249078ed8e4ae2f1d5de57658738e95
SHA512 (newlib-cygwin-a8526cb52bedabd4d6ba4b227a5185627f871aa1.tar.xz) = b099246fe4a5d0a372cdaee5da49083df5b2f4440a4e83961600cdf22d37da50c99ce9ae46b769f188a67034ee038cf863260988fc9d594e8e5fb3905a381dec
SHA512 (nvptx-tools-472b6e78b3ba918d727698f79911360b7c808247.tar.xz) = 91690321bf96460c3b3e229199a6f752ed1c27c6933d4345dc7e237dc068f604ad211bb3a0373e14d4f332bee05b6227d6933e14e0b475ffdfea8b511ab735e6
diff --git a/update-gcc.sh b/update-gcc.sh
index d34d6ce..66e94c6 100755
--- a/update-gcc.sh
+++ b/update-gcc.sh
@@ -3,5 +3,5 @@
git clone --depth 1 git://gcc.gnu.org/git/gcc.git gcc-dir.tmp
git --git-dir=gcc-dir.tmp/.git fetch --depth 1 origin $1
d=`date --iso | sed 's/-//g'`
-git --git-dir=gcc-dir.tmp/.git archive --prefix=gcc-12.2.1-$d/ $1 | xz -9e > gcc-12.2.1-$d.tar.xz
+git --git-dir=gcc-dir.tmp/.git archive --prefix=gcc-13.0.0-$d/ $1 | xz -9e > gcc-13.0.0-$d.tar.xz
rm -rf gcc-dir.tmp
From dd925156932d4af9b7ad5358ddf640b79191b69d Mon Sep 17 00:00:00 2001
From: Jakub Jelinek
Date: Sun, 15 Jan 2023 13:52:46 +0100
Subject: [PATCH 2/8] 13.0.0-0.9
---
.gitignore | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/.gitignore b/.gitignore
index a02dee0..4d59191 100644
--- a/.gitignore
+++ b/.gitignore
@@ -80,3 +80,8 @@
/newlib-cygwin-a8526cb52bedabd4d6ba4b227a5185627f871aa1.tar.xz
/nvptx-tools-472b6e78b3ba918d727698f79911360b7c808247.tar.xz
/gcc-12.2.1-20221121.tar.xz
+/gcc-13.0.0-20221219.tar.xz
+/gcc-13.0.0-20230102.tar.xz
+/gcc-13.0.0-20230106.tar.xz
+/gcc-13.0.0-20230112.tar.xz
+/gcc-13.0.0-20230115.tar.xz
From 3dab9de8f0c61a79931f37f5484a69e8e9aa029c Mon Sep 17 00:00:00 2001
From: Florian Weimer
Date: Mon, 16 Jan 2023 21:49:51 +0100
Subject: [PATCH 3/8] Adapt to new way of redhat-rpm-config setting fortify
flags
---
gcc.spec | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/gcc.spec b/gcc.spec
index 64130fc..693e51c 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -920,7 +920,9 @@ export CONFIG_SITE=NONE
CC=gcc
CXX=g++
-OPT_FLAGS=`echo %{optflags}|sed -e 's/\(-Wp,\)\?-D_FORTIFY_SOURCE=[123]//g'`
+OPT_FLAGS="%{optflags}"
+OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=[123]//g'`
+OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/\(-Wp,\)\?-D_FORTIFY_SOURCE=[123]//g'`
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/\(-Wp,\)\?-U_FORTIFY_SOURCE//g'`
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-flto=auto//g;s/-flto//g;s/-ffat-lto-objects//g'`
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-m64//g;s/-m32//g;s/-m31//g'`
From ec851df6675e1360c24c6a3efc9756c7f60e8c05 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dan=20Hor=C3=A1k?=
Date: Tue, 17 Jan 2023 10:20:15 +0100
Subject: [PATCH 4/8] move the baseline arch to z13 for s390x in F-38+
https://fedoraproject.org/wiki/Changes/z13BaselineForIBMZ
---
gcc.spec | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/gcc.spec b/gcc.spec
index 693e51c..8a66d53 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1143,7 +1143,11 @@ CONFIGURE_OPTS="\
%endif
%else
%if 0%{?fedora} >= 26
+%if 0%{?fedora} >= 38
+ --with-arch=z13 --with-tune=z14 \
+%else
--with-arch=zEC12 --with-tune=z13 \
+%endif
%else
--with-arch=z9-109 --with-tune=z10 \
%endif
From 0d926ffb44e39c12baf68ef3e8c26612c44a877b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dan=20Hor=C3=A1k?=
Date: Tue, 17 Jan 2023 10:31:20 +0100
Subject: [PATCH 5/8] drop the ancient defaults for s390x
---
gcc.spec | 4 ----
1 file changed, 4 deletions(-)
diff --git a/gcc.spec b/gcc.spec
index 8a66d53..130f4a8 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1142,15 +1142,11 @@ CONFIGURE_OPTS="\
--with-arch=z196 --with-tune=zEC12 \
%endif
%else
-%if 0%{?fedora} >= 26
%if 0%{?fedora} >= 38
--with-arch=z13 --with-tune=z14 \
%else
--with-arch=zEC12 --with-tune=z13 \
%endif
-%else
- --with-arch=z9-109 --with-tune=z10 \
-%endif
%endif
--enable-decimal-float \
%endif
From d4299b940b4fcf56e42f3b172a961649f8e00382 Mon Sep 17 00:00:00 2001
From: Jakub Jelinek
Date: Tue, 17 Jan 2023 11:02:16 +0100
Subject: [PATCH 6/8] Various small tweaks.
---
gcc.spec | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/gcc.spec b/gcc.spec
index 130f4a8..7d5a815 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -380,6 +380,7 @@ including templates and exception handling.
Summary: GNU Standard C++ Library
Autoreq: true
Requires: glibc >= 2.10.90-7
+BuildRequires: tzdata >= 2017c
Requires: tzdata >= 2017c
%description -n libstdc++
@@ -1095,7 +1096,7 @@ CONFIGURE_OPTS="\
%endif
%endif
%ifarch ppc64le
-%if 0%{?rhel} == 9
+%if 0%{?rhel} >= 9
--with-cpu-32=power9 --with-tune-32=power9 --with-cpu-64=power9 --with-tune-64=power9 \
%else
--with-cpu-32=power8 --with-tune-32=power8 --with-cpu-64=power8 --with-tune-64=power8 \
@@ -1130,7 +1131,7 @@ CONFIGURE_OPTS="\
%if 0%{?rhel} >= 7
%if 0%{?rhel} > 7
%if 0%{?rhel} > 8
-%if 0%{?rhel} == 9
+%if 0%{?rhel} >= 9
--with-arch=z14 --with-tune=z15 \
%else
--with-arch=z13 --with-tune=arch13 \
@@ -1145,7 +1146,11 @@ CONFIGURE_OPTS="\
%if 0%{?fedora} >= 38
--with-arch=z13 --with-tune=z14 \
%else
+%if 0%{?fedora} >= 26
--with-arch=zEC12 --with-tune=z13 \
+%else
+ --with-arch=z9-109 --with-tune=z10 \
+%endif
%endif
%endif
--enable-decimal-float \
From 311655b816f6039baa85db3c5f42a8adc41ff1ed Mon Sep 17 00:00:00 2001
From: Jakub Jelinek
Date: Tue, 17 Jan 2023 21:14:10 +0100
Subject: [PATCH 7/8] 13.0.1-0.1
---
.gitignore | 1 +
gcc.spec | 18 +++++++++++++-----
gcc13-libstdc++-docs.patch | 4 ++--
sources | 2 +-
update-gcc.sh | 2 +-
5 files changed, 18 insertions(+), 9 deletions(-)
diff --git a/.gitignore b/.gitignore
index 4d59191..e72a744 100644
--- a/.gitignore
+++ b/.gitignore
@@ -85,3 +85,4 @@
/gcc-13.0.0-20230106.tar.xz
/gcc-13.0.0-20230112.tar.xz
/gcc-13.0.0-20230115.tar.xz
+/gcc-13.0.1-20230117.tar.xz
diff --git a/gcc.spec b/gcc.spec
index 7d5a815..e74955f 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,6 +1,6 @@
-%global DATE 20230115
-%global gitrev 7699a0a3101bf1315fb8e350ac718d1f7b3f7816
-%global gcc_version 13.0.0
+%global DATE 20230117
+%global gitrev fedc064ac31b465edcfd22884b94bbdd05312224
+%global gcc_version 13.0.1
%global gcc_major 13
# Note, gcc_release must be integer, if you want to add suffixes to
# %%{release}, append them after %%{gcc_release} on Release: line.
@@ -136,7 +136,7 @@
Summary: Various compilers (C, C++, Objective-C, ...)
Name: gcc
Version: %{gcc_version}
-Release: %{gcc_release}.9%{?dist}
+Release: %{gcc_release}.1%{?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
@@ -929,7 +929,7 @@ OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-flto=auto//g;s/-flto//g;s/-ffat-lto-object
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-m64//g;s/-m32//g;s/-m31//g'`
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mfpmath=sse/-mfpmath=sse -msse2/g'`
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/ -pipe / /g'`
-OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-fno-omit-frame-pointer //g;s/-mbackchain //g;s/-mno-omit-leaf-frame-pointer //g'`
+OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-fno-omit-frame-pointer//g;s/-mbackchain//g;s/-mno-omit-leaf-frame-pointer//g'`
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-Werror=format-security/-Wformat-security/g'`
%ifarch sparc
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mcpu=ultrasparc/-mtune=ultrasparc/g;s/-mcpu=v[78]//g'`
@@ -3462,5 +3462,13 @@ end
%endif
%changelog
+* Tue Jan 17 2023 Jakub Jelinek 13.0.1-0.1
+- update from trunk
+ - PRs c++/105593, fortran/108421, go/108426, ipa/106077, libstdc++/108288,
+ libstdc++/108413, other/108413, target/55522, target/96795,
+ target/105980, target/107515, target/108272, tree-optimization/94793,
+ tree-optimization/106523, tree-optimization/107608
+- don't build ppc64le unwinder with -fno-omit-frame-pointer (#2161595)
+
* Sun Jan 15 2023 Jakub Jelinek 13.0.0-0.9
- new package
diff --git a/gcc13-libstdc++-docs.patch b/gcc13-libstdc++-docs.patch
index b6c2d50..5a2fe27 100644
--- a/gcc13-libstdc++-docs.patch
+++ b/gcc13-libstdc++-docs.patch
@@ -4,7 +4,7 @@
FSF
-+ Release 12.2.1
++ Release 13.0.1
+
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation
@@ -17,7 +17,7 @@
- The API documentation, rendered into HTML, can be viewed online
+ The API documentation, rendered into HTML, can be viewed locally
-+ for the 12.2.1 release,
++ for the 13.0.1 release,
+ online
for each GCC release
and
diff --git a/sources b/sources
index 56d6327..d8b317a 100644
--- a/sources
+++ b/sources
@@ -1,4 +1,4 @@
-SHA512 (gcc-13.0.0-20230115.tar.xz) = f347e7b91a078e37842612be601f28c68249e4300ee122fbcee8a0a8c15171d51507a4913640135cca07e47f979163acdfd1a4b7cd06a21966663986aee95a29
+SHA512 (gcc-13.0.1-20230117.tar.xz) = 22bc806162976c843cfeb43d24bb33e7961fedb402ec2c5e3ca2d02b9058825a1b37258b2dd9cfe14de02e5a4a00b2cf32c1e97375fc04265d6215de6a25d611
SHA512 (isl-0.24.tar.bz2) = aab3bddbda96b801d0f56d2869f943157aad52a6f6e6a61745edd740234c635c38231af20bc3f1a08d416a5e973a90e18249078ed8e4ae2f1d5de57658738e95
SHA512 (newlib-cygwin-a8526cb52bedabd4d6ba4b227a5185627f871aa1.tar.xz) = b099246fe4a5d0a372cdaee5da49083df5b2f4440a4e83961600cdf22d37da50c99ce9ae46b769f188a67034ee038cf863260988fc9d594e8e5fb3905a381dec
SHA512 (nvptx-tools-472b6e78b3ba918d727698f79911360b7c808247.tar.xz) = 91690321bf96460c3b3e229199a6f752ed1c27c6933d4345dc7e237dc068f604ad211bb3a0373e14d4f332bee05b6227d6933e14e0b475ffdfea8b511ab735e6
diff --git a/update-gcc.sh b/update-gcc.sh
index 66e94c6..b6c0315 100755
--- a/update-gcc.sh
+++ b/update-gcc.sh
@@ -3,5 +3,5 @@
git clone --depth 1 git://gcc.gnu.org/git/gcc.git gcc-dir.tmp
git --git-dir=gcc-dir.tmp/.git fetch --depth 1 origin $1
d=`date --iso | sed 's/-//g'`
-git --git-dir=gcc-dir.tmp/.git archive --prefix=gcc-13.0.0-$d/ $1 | xz -9e > gcc-13.0.0-$d.tar.xz
+git --git-dir=gcc-dir.tmp/.git archive --prefix=gcc-13.0.1-$d/ $1 | xz -9e > gcc-13.0.1-$d.tar.xz
rm -rf gcc-dir.tmp
From 2e2b76f57af416790e0b37794e9ad0e49d99e2e9 Mon Sep 17 00:00:00 2001
From: Jakub Jelinek
Date: Tue, 17 Jan 2023 21:37:23 +0100
Subject: [PATCH 8/8] 13.0.1-0.1
---
gcc.spec | 8 +++-----
gcc13-pr107608.patch | 47 --------------------------------------------
2 files changed, 3 insertions(+), 52 deletions(-)
delete mode 100644 gcc13-pr107608.patch
diff --git a/gcc.spec b/gcc.spec
index e74955f..23c0c3f 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -287,8 +287,7 @@ Patch9: gcc13-Wno-format-security.patch
Patch10: gcc13-rh1574936.patch
Patch11: gcc13-d-shared-libphobos.patch
Patch12: gcc13-pr107678.patch
-Patch13: gcc13-pr107608.patch
-Patch14: gcc13-pr108411.patch
+Patch13: gcc13-pr108411.patch
Patch50: isl-rh2155127.patch
@@ -864,8 +863,7 @@ so that there cannot be any synchronization problems.
%endif
%patch11 -p0 -b .d-shared-libphobos~
%patch12 -p0 -b .pr107678~
-%patch13 -p0 -b .pr107608~
-%patch14 -p0 -b .pr108411~
+%patch13 -p0 -b .pr108411~
%patch50 -p0 -b .rh2155127~
touch -r isl-0.24/m4/ax_prog_cxx_for_build.m4 isl-0.24/m4/ax_prog_cc_for_build.m4
@@ -3467,7 +3465,7 @@ end
- PRs c++/105593, fortran/108421, go/108426, ipa/106077, libstdc++/108288,
libstdc++/108413, other/108413, target/55522, target/96795,
target/105980, target/107515, target/108272, tree-optimization/94793,
- tree-optimization/106523, tree-optimization/107608
+ tree-optimization/106523
- don't build ppc64le unwinder with -fno-omit-frame-pointer (#2161595)
* Sun Jan 15 2023 Jakub Jelinek 13.0.0-0.9
diff --git a/gcc13-pr107608.patch b/gcc13-pr107608.patch
deleted file mode 100644
index 305b260..0000000
--- a/gcc13-pr107608.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-2023-01-15 Aldy Hernandez
-
- PR tree-optimization/107608
- * range-op-float.cc (range_operator_float::fold_range): Avoid
- folding into INF when flag_trapping_math.
- * value-range.h (frange::known_isinf): Return false for possible NANs.
-
---- gcc/range-op-float.cc
-+++ gcc/range-op-float.cc
-@@ -91,6 +91,27 @@ range_operator_float::fold_range (frange &r, tree type,
- else
- r.clear_nan ();
-
-+ // If the result has overflowed and flag_trapping_math, folding this
-+ // operation could elide an overflow or division by zero exception.
-+ // Avoid returning a singleton +-INF, to keep the propagators (DOM
-+ // and substitute_and_fold_engine) from folding. See PR107608.
-+ if (flag_trapping_math
-+ && MODE_HAS_INFINITIES (TYPE_MODE (type))
-+ && r.known_isinf () && !op1.known_isinf () && !op2.known_isinf ())
-+ {
-+ REAL_VALUE_TYPE inf = r.lower_bound ();
-+ if (real_isneg (&inf))
-+ {
-+ REAL_VALUE_TYPE min = real_min_representable (type);
-+ r.set (type, inf, min);
-+ }
-+ else
-+ {
-+ REAL_VALUE_TYPE max = real_max_representable (type);
-+ r.set (type, max, inf);
-+ }
-+ }
-+
- return true;
- }
-
---- gcc/value-range.h
-+++ gcc/value-range.h
-@@ -1300,6 +1300,7 @@ inline bool
- frange::known_isinf () const
- {
- return (m_kind == VR_RANGE
-+ && !maybe_isnan ()
- && real_identical (&m_min, &m_max)
- && real_isinf (&m_min));
- }