From f05a075009e7f535d16779ffe2c53ff1f952cd6b Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Sun, 15 Jan 2023 13:51:18 +0100 Subject: [PATCH] 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