From 5fa334b4827a88911977ebc07a3d4d4f54378452 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 6 May 2022 14:21:20 +0100 Subject: [PATCH] Rebase to Fedora Rawhide (bootstrap=1) resolves: rhbz#2080170 side-tag: c9s-build-side-467-stack-gate --- .gitignore | 3 + ...Don-t-hard-code-MS-printf-attributes.patch | 10 +- mingw-gcc-config.patch | 24 +- mingw-gcc.spec | 374 +++++++++++++++--- sources | 2 +- 5 files changed, 325 insertions(+), 88 deletions(-) diff --git a/.gitignore b/.gitignore index 5a88da5..104683f 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,6 @@ gcc-4.5.1.tar.bz2 /gcc-11.1.1-20210428.tar.xz /gcc-11.1.1-20210623.tar.xz /gcc-11.2.1-20210728.tar.xz +/gcc-11.2.1-20211019.tar.xz +/gcc-12.0.1-20220308.tar.xz +/gcc-12.0.1-20220413.tar.xz diff --git a/0020-libgomp-Don-t-hard-code-MS-printf-attributes.patch b/0020-libgomp-Don-t-hard-code-MS-printf-attributes.patch index ce4819d..5b75b2b 100644 --- a/0020-libgomp-Don-t-hard-code-MS-printf-attributes.patch +++ b/0020-libgomp-Don-t-hard-code-MS-printf-attributes.patch @@ -1,6 +1,6 @@ -diff -rupN --no-dereference gcc-11.2.1-20210728/libgomp/libgomp.h gcc-11.2.1-20210728-new/libgomp/libgomp.h ---- gcc-11.2.1-20210728/libgomp/libgomp.h 2021-07-28 11:09:49.000000000 +0200 -+++ gcc-11.2.1-20210728-new/libgomp/libgomp.h 2021-07-30 11:20:02.737945857 +0200 +diff -rupN --no-dereference gcc-12.0.1-20220308/libgomp/libgomp.h gcc-12.0.1-20220308-new/libgomp/libgomp.h +--- gcc-12.0.1-20220308/libgomp/libgomp.h 2022-03-08 12:23:45.000000000 +0100 ++++ gcc-12.0.1-20220308-new/libgomp/libgomp.h 2022-03-11 16:00:28.480133277 +0100 @@ -69,6 +69,13 @@ # endif #endif @@ -15,7 +15,7 @@ diff -rupN --no-dereference gcc-11.2.1-20210728/libgomp/libgomp.h gcc-11.2.1-202 #ifdef HAVE_ATTRIBUTE_VISIBILITY # pragma GCC visibility push(hidden) #endif -@@ -173,7 +180,7 @@ team_free (void *ptr) +@@ -177,7 +184,7 @@ team_free (void *ptr) extern void gomp_vdebug (int, const char *, va_list); extern void gomp_debug (int, const char *, ...) @@ -24,7 +24,7 @@ diff -rupN --no-dereference gcc-11.2.1-20210728/libgomp/libgomp.h gcc-11.2.1-202 #define gomp_vdebug(KIND, FMT, VALIST) \ do { \ if (__builtin_expect (gomp_debug_var, 0)) \ -@@ -186,11 +193,11 @@ extern void gomp_debug (int, const char +@@ -190,11 +197,11 @@ extern void gomp_debug (int, const char } while (0) extern void gomp_verror (const char *, va_list); extern void gomp_error (const char *, ...) diff --git a/mingw-gcc-config.patch b/mingw-gcc-config.patch index 5d86241..5558740 100644 --- a/mingw-gcc-config.patch +++ b/mingw-gcc-config.patch @@ -1,6 +1,6 @@ -diff -rupN --no-dereference gcc-11.2.1-20210728/config/intdiv0.m4 gcc-11.2.1-20210728-new/config/intdiv0.m4 ---- gcc-11.2.1-20210728/config/intdiv0.m4 2021-07-28 11:09:49.000000000 +0200 -+++ gcc-11.2.1-20210728-new/config/intdiv0.m4 2021-07-30 11:19:58.858765997 +0200 +diff -rupN --no-dereference gcc-12.0.1-20220308/config/intdiv0.m4 gcc-12.0.1-20220308-new/config/intdiv0.m4 +--- gcc-12.0.1-20220308/config/intdiv0.m4 2022-03-08 12:23:45.000000000 +0100 ++++ gcc-12.0.1-20220308-new/config/intdiv0.m4 2022-03-11 16:00:24.564943437 +0100 @@ -31,10 +31,10 @@ sigfpe_handler (sig) int sig; exit (sig != SIGFPE); } @@ -16,9 +16,9 @@ diff -rupN --no-dereference gcc-11.2.1-20210728/config/intdiv0.m4 gcc-11.2.1-202 int main () { -diff -rupN --no-dereference gcc-11.2.1-20210728/libiberty/acinclude.m4 gcc-11.2.1-20210728-new/libiberty/acinclude.m4 ---- gcc-11.2.1-20210728/libiberty/acinclude.m4 2021-07-28 11:09:49.000000000 +0200 -+++ gcc-11.2.1-20210728-new/libiberty/acinclude.m4 2021-07-30 11:19:58.859766044 +0200 +diff -rupN --no-dereference gcc-12.0.1-20220308/libiberty/acinclude.m4 gcc-12.0.1-20220308-new/libiberty/acinclude.m4 +--- gcc-12.0.1-20220308/libiberty/acinclude.m4 2022-03-08 12:23:45.000000000 +0100 ++++ gcc-12.0.1-20220308-new/libiberty/acinclude.m4 2022-03-11 16:00:24.564943437 +0100 @@ -157,7 +157,7 @@ if test $ac_cv_os_cray = yes; then fi @@ -28,15 +28,3 @@ diff -rupN --no-dereference gcc-11.2.1-20210728/libiberty/acinclude.m4 gcc-11.2. { static char *addr = 0; auto char dummy; -diff -rupN --no-dereference gcc-11.2.1-20210728/libiberty/configure.ac gcc-11.2.1-20210728-new/libiberty/configure.ac ---- gcc-11.2.1-20210728/libiberty/configure.ac 2021-07-28 11:09:49.000000000 +0200 -+++ gcc-11.2.1-20210728-new/libiberty/configure.ac 2021-07-30 11:19:58.859766044 +0200 -@@ -665,7 +665,7 @@ if test -z "${setobjs}"; then - for v in $vars; do - AC_MSG_CHECKING([for $v]) - AC_CACHE_VAL(libiberty_cv_var_$v, -- [AC_LINK_IFELSE([AC_LANG_PROGRAM([[int *p;]],[[extern int $v []; p = $v;]])], -+ [AC_LINK_IFELSE([AC_LANG_PROGRAM([[__attribute__ ((used)) int *p;]],[[extern int $v []; p = $v;]])], - [eval "libiberty_cv_var_$v=yes"], - [eval "libiberty_cv_var_$v=no"])]) - if eval "test \"`echo '$libiberty_cv_var_'$v`\" = yes"; then diff --git a/mingw-gcc.spec b/mingw-gcc.spec index c050a72..3d03e5e 100644 --- a/mingw-gcc.spec +++ b/mingw-gcc.spec @@ -1,16 +1,11 @@ +%global mingw_build_ucrt64 1 %global __os_install_post /usr/lib/rpm/brp-compress %{nil} -# Steps: -# 1. Build mingw-gcc with bootstrap=1, enable_libgomp=0 -# 2. Build mingw-crt -# 3. Build mingw-gcc with bootstrap=0, enable_libgomp=0 -# 4. Build mingw-winpthreads -# 5. Build mingw-gcc with bootstrap=0, enable_libgomp=1 +# Causes build failures +%undefine _auto_set_build_flags -# Set this to one when mingw-crt isn't built yet -%global bootstrap 0 -# Set this one to zero when mingw-winpthreads isn't built yet -%global enable_libgomp 1 +# NOTE See mingw-filesystem/README.md for the build steps! +%global bootstrap 1 %if 0%{?rhel} > 8 %global build_isl 0 @@ -23,14 +18,14 @@ # Run the testsuite %global enable_tests 0 -%global DATE 20210728 -%global GITREV 134ab8155c937122663513b76afa8e64ad61fe99 -%global gcc_version 11.2.1 -%global gcc_major 11 +%global DATE 20220413 +%global GITREV 33917d2d6edc9112702294db6ab14b580a8d7a97 +%global gcc_version 12.0.1 +%global gcc_major 12 Name: mingw-gcc Version: %{gcc_version} -Release: 3%{?dist} +Release: 11%{?dist} Summary: MinGW Windows cross-compiler (GCC) for C License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions @@ -43,20 +38,24 @@ URL: http://gcc.gnu.org # git --git-dir=gcc-dir.tmp/.git archive --prefix=%%{name}-%%{version}-%%{DATE}/ %%{gitrev} | xz -9e > %%{name}-%%{version}-%%{DATE}.tar.xz # rm -rf gcc-dir.tmp %global srcdir gcc-%{version}-%{DATE} -Source0: %{srcdir}.tar.xz -Patch0: mingw-gcc-config.patch +Source0: %{srcdir}.tar.xz + +Patch0: mingw-gcc-config.patch # See https://sourceforge.net/p/mingw-w64/mailman/mingw-w64-public/thread/8fd2fb03-9b8a-07e1-e162-0bb48bcc3984%40gmail.com/#msg37200751 -Patch1: 0020-libgomp-Don-t-hard-code-MS-printf-attributes.patch +Patch1: 0020-libgomp-Don-t-hard-code-MS-printf-attributes.patch BuildRequires: gcc-c++ BuildRequires: make BuildRequires: texinfo -BuildRequires: mingw32-filesystem >= 95 -BuildRequires: mingw64-filesystem >= 95 +BuildRequires: mingw32-filesystem >= 133 +BuildRequires: mingw64-filesystem >= 133 +BuildRequires: ucrt64-filesystem >= 133 BuildRequires: mingw32-binutils BuildRequires: mingw64-binutils +BuildRequires: ucrt64-binutils BuildRequires: mingw32-headers BuildRequires: mingw64-headers +BuildRequires: ucrt64-headers BuildRequires: gmp-devel BuildRequires: mpfr-devel BuildRequires: libmpc-devel @@ -70,10 +69,10 @@ BuildRequires: isl-devel = %{isl_version} %if 0%{bootstrap} == 0 BuildRequires: mingw32-crt BuildRequires: mingw64-crt -%if 0%{enable_libgomp} +BuildRequires: ucrt64-crt BuildRequires: mingw32-winpthreads BuildRequires: mingw64-winpthreads -%endif +BuildRequires: ucrt64-winpthreads %if 0%{enable_tests} BuildRequires: wine BuildRequires: autogen @@ -96,16 +95,36 @@ Requires: mingw32-headers Requires: mingw32-cpp %if 0%{bootstrap} == 0 Requires: mingw32-crt +Requires: mingw32-libgcc +Requires: mingw32-winpthreads-static %endif %description -n mingw32-gcc MinGW Windows cross-compiler (GCC) for C for the win32 target. +%if 0%{bootstrap} == 0 +%package -n mingw32-libgcc +Summary: MinGW Windows GCC runtime libraries for C for the win32 target + +%description -n mingw32-libgcc +MinGW Windows GCC runtime libraries for C for the win32 target. + + +%package -n mingw32-libgomp +Summary: GCC OpenMP v3.0 shared support library for the win32 target +Requires: mingw32-gcc = %{version}-%{release} + +%description -n mingw32-libgomp +This package contains GCC shared support library which is +needed for OpenMP v3.0 support for the win32 target. +%endif + + %package -n mingw32-cpp Summary: MinGW Windows cross-C Preprocessor for the win32 target # NB: Explicit mingw32-filesystem dependency is REQUIRED here. -Requires: mingw32-filesystem >= 95 +Requires: mingw32-filesystem >= 133 %description -n mingw32-cpp MinGW Windows cross-C Preprocessor for the win32 target. @@ -144,16 +163,6 @@ Requires: mingw32-gcc = %{version}-%{release} MinGW Windows cross-compiler for FORTRAN for the win32 target. -%if 0%{enable_libgomp} -%package -n mingw32-libgomp -Summary: GCC OpenMP v3.0 shared support library for the win32 target -Requires: mingw32-gcc = %{version}-%{release} - -%description -n mingw32-libgomp -This package contains GCC shared support library which is -needed for OpenMP v3.0 support for the win32 target. -%endif - ############################################################################### # Mingw64 ############################################################################### @@ -164,16 +173,36 @@ Requires: mingw64-headers Requires: mingw64-cpp %if 0%{bootstrap} == 0 Requires: mingw64-crt +Requires: mingw64-libgcc +Requires: mingw64-winpthreads-static %endif %description -n mingw64-gcc MinGW Windows cross-compiler (GCC) for C for the win64 target. +%if 0%{bootstrap} == 0 +%package -n mingw64-libgcc +Summary: MinGW Windows GCC runtime libraries for C for the win64 target + +%description -n mingw64-libgcc +MinGW Windows GCC runtime libraries for C for the win64 target. + + +%package -n mingw64-libgomp +Summary: GCC OpenMP v3.0 shared support library for the win64 target +Requires: mingw64-gcc = %{version}-%{release} + +%description -n mingw64-libgomp +This package contains GCC shared support library which is +needed for OpenMP v3.0 support for the win32 target. +%endif + + %package -n mingw64-cpp Summary: MinGW Windows cross-C Preprocessor for the win64 target. # NB: Explicit mingw64-filesystem dependency is REQUIRED here. -Requires: mingw64-filesystem >= 95 +Requires: mingw64-filesystem >= 133 %description -n mingw64-cpp MinGW Windows cross-C Preprocessor for the win64 target @@ -212,17 +241,85 @@ Requires: mingw64-gcc = %{version}-%{release} MinGW Windows cross-compiler for FORTRAN for the win64 target. -%if 0%{enable_libgomp} -%package -n mingw64-libgomp -Summary: GCC OpenMP v3.0 shared support library for the win64 target -Requires: mingw64-gcc = %{version}-%{release} +############################################################################### +# UCRT64 +############################################################################### +%package -n ucrt64-gcc +Summary: MinGW Windows cross-compiler (GCC) for C for the win64 target +Requires: ucrt64-binutils +Requires: ucrt64-headers +Requires: ucrt64-cpp +%if 0%{bootstrap} == 0 +Requires: ucrt64-crt +Requires: ucrt64-libgcc +Requires: mingw64-winpthreads-static +%endif -%description -n mingw64-libgomp + +%description -n ucrt64-gcc +MinGW Windows cross-compiler (GCC) for C for the win64 target. + + +%if 0%{bootstrap} == 0 +%package -n ucrt64-libgcc +Summary: MinGW Windows GCC runtime libraries for C for the win64 target + +%description -n ucrt64-libgcc +MinGW Windows GCC runtime libraries for C for the win64 target. + + +%package -n ucrt64-libgomp +Summary: GCC OpenMP v3.0 shared support library for the win64 target +Requires: ucrt64-gcc = %{version}-%{release} + +%description -n ucrt64-libgomp This package contains GCC shared support library which is needed for OpenMP v3.0 support for the win32 target. %endif +%package -n ucrt64-cpp +Summary: MinGW Windows cross-C Preprocessor for the win64 target. +# NB: Explicit ucrt64-filesystem dependency is REQUIRED here. +Requires: ucrt64-filesystem >= 133 + +%description -n ucrt64-cpp +MinGW Windows cross-C Preprocessor for the win64 target + + +%package -n ucrt64-gcc-c++ +Summary: MinGW Windows cross-compiler for C++ for the win64 target +Requires: ucrt64-gcc = %{version}-%{release} + +%description -n ucrt64-gcc-c++ +MinGW Windows cross-compiler for C++ for the win64 target. + + +%package -n ucrt64-gcc-objc +Summary: MinGW Windows cross-compiler support for Objective C for the win64 target +Requires: ucrt64-gcc = %{version}-%{release} + +%description -n ucrt64-gcc-objc +MinGW Windows cross-compiler support for Objective C for the win64 target. + + +%package -n ucrt64-gcc-objc++ +Summary: MinGW Windows cross-compiler support for Objective C++ for the win64 target +Requires: ucrt64-gcc-c++ = %{version}-%{release} +Requires: ucrt64-gcc-objc = %{version}-%{release} + +%description -n ucrt64-gcc-objc++ +MinGW Windows cross-compiler support for Objective C++ for the win64 target. + + +%package -n ucrt64-gcc-gfortran +Summary: MinGW Windows cross-compiler for FORTRAN for the win64 target +Requires: ucrt64-gcc = %{version}-%{release} + +%description -n ucrt64-gcc-gfortran +MinGW Windows cross-compiler for FORTRAN for the win64 target. + + %prep %autosetup -p1 -n %{srcdir} echo 'Fedora MinGW %{version}-%{release}' > gcc/DEV-PHASE @@ -260,9 +357,7 @@ configure_args="$configure_args --without-isl" # i686-w64-mingw32-gcc: fatal error: -fuse-linker-plugin, but liblto_plugin.so not found %if 0%{bootstrap} configure_args="$configure_args --disable-lto" -%endif - -%if 0%{enable_libgomp} +%else configure_args="$configure_args --enable-libgomp" %endif @@ -283,6 +378,12 @@ pushd build_win64 ../configure $configure_args --target=%{mingw64_target} --with-sysroot=%{mingw64_sysroot} --with-gxx-include-dir=%{mingw64_includedir}/c++ popd +# ucrt64 +mkdir build_ucrt64 +pushd build_ucrt64 + ../configure $configure_args --target=%{ucrt64_target} --with-sysroot=%{ucrt64_sysroot} --with-gxx-include-dir=%{ucrt64_includedir}/c++ +popd + # If we're bootstrapping, only build the GCC core %if 0%{bootstrap} %mingw_make_build all-gcc @@ -315,7 +416,7 @@ cp build_win32/i686-w64-mingw32/libobjc/.libs/libobjc-4.dll $SYSTEM32_DIR cp build_win32/i686-w64-mingw32/libssp/.libs/libssp-0.dll $SYSTEM32_DIR cp build_win32/i686-w64-mingw32/libstdc++-v3/src/.libs/libstdc++-6.dll $SYSTEM32_DIR cp build_win32/i686-w64-mingw32/libgcc/shlib/libgcc_s_dw2-1.dll $SYSTEM32_DIR -%if 0%{enable_libgomp} +%if 0%{bootstrap} == 0 cp %{mingw32_bindir}/libwinpthread-1.dll $SYSTEM32_DIR cp build_win32/i686-w64-mingw32/libgomp/.libs/libgomp-1.dll $SYSTEM32_DIR %endif @@ -327,7 +428,7 @@ cp build_win64/x86_64-w64-mingw32/libobjc/.libs/libobjc-4.dll $SYSTEM64_DIR cp build_win64/x86_64-w64-mingw32/libssp/.libs/libssp-0.dll $SYSTEM64_DIR cp build_win64/x86_64-w64-mingw32/libstdc++-v3/src/.libs/libstdc++-6.dll $SYSTEM64_DIR cp build_win64/x86_64-w64-mingw32/libgcc/shlib/libgcc_s_seh-1.dll $SYSTEM64_DIR -%if 0%{enable_libgomp} +%if 0%{bootstrap} == 0 cp %{mingw64_bindir}/libwinpthread-1.dll $SYSTEM64_DIR cp build_win64/x86_64-w64-mingw32/libgomp/.libs/libgomp-1.dll $SYSTEM64_DIR %endif @@ -392,7 +493,7 @@ mv %{buildroot}%{_prefix}/%{mingw32_target}/lib/libatomic-1.dll \ %{buildroot}%{_prefix}/%{mingw32_target}/lib/libobjc-4.dll \ %{buildroot}%{_prefix}/%{mingw32_target}/lib/libgfortran-5.dll \ %{buildroot}%{_prefix}/%{mingw32_target}/lib/libquadmath-0.dll \ -%if 0%{enable_libgomp} +%if 0%{bootstrap} == 0 %{buildroot}%{_prefix}/%{mingw32_target}/lib/libgomp-1.dll \ %endif %{buildroot}%{mingw32_bindir} @@ -405,16 +506,32 @@ mv %{buildroot}%{_prefix}/%{mingw64_target}/lib/libatomic-1.dll \ %{buildroot}%{_prefix}/%{mingw64_target}/lib/libobjc-4.dll \ %{buildroot}%{_prefix}/%{mingw64_target}/lib/libgfortran-5.dll \ %{buildroot}%{_prefix}/%{mingw64_target}/lib/libquadmath-0.dll \ -%if 0%{enable_libgomp} +%if 0%{bootstrap} == 0 %{buildroot}%{_prefix}/%{mingw64_target}/lib/libgomp-1.dll \ %endif %{buildroot}%{mingw64_bindir} +mkdir -p %{buildroot}%{ucrt64_bindir} +mv %{buildroot}%{_prefix}/%{ucrt64_target}/lib/libatomic-1.dll \ + %{buildroot}%{_prefix}/%{ucrt64_target}/lib/libgcc_s_seh-1.dll \ + %{buildroot}%{_prefix}/%{ucrt64_target}/lib/libssp-0.dll \ + %{buildroot}%{_prefix}/%{ucrt64_target}/lib/libstdc++-6.dll \ + %{buildroot}%{_prefix}/%{ucrt64_target}/lib/libobjc-4.dll \ + %{buildroot}%{_prefix}/%{ucrt64_target}/lib/libgfortran-5.dll \ + %{buildroot}%{_prefix}/%{ucrt64_target}/lib/libquadmath-0.dll \ +%if 0%{bootstrap} == 0 + %{buildroot}%{_prefix}/%{ucrt64_target}/lib/libgomp-1.dll \ +%endif + %{buildroot}%{ucrt64_bindir} + + # Various import libraries are placed in the wrong folder mkdir -p %{buildroot}%{mingw32_libdir} mkdir -p %{buildroot}%{mingw64_libdir} +mkdir -p %{buildroot}%{ucrt64_libdir} mv %{buildroot}%{_prefix}/%{mingw32_target}/lib/* %{buildroot}%{mingw32_libdir} mv %{buildroot}%{_prefix}/%{mingw64_target}/lib/* %{buildroot}%{mingw64_libdir} +mv %{buildroot}%{_prefix}/%{ucrt64_target}/lib/* %{buildroot}%{ucrt64_libdir} # Don't want the *.la files. find %{buildroot} -name '*.la' -delete @@ -425,16 +542,19 @@ find %{buildroot} -name '*.la' -delete # Drop those files for now as this looks like a bug in GCC rm -f %{buildroot}%{_bindir}/%{mingw32_target}-%{mingw32_target}-* rm -f %{buildroot}%{_bindir}/%{mingw64_target}-%{mingw64_target}-* +rm -f %{buildroot}%{_bindir}/%{ucrt64_target}-%{ucrt64_target}-* %if 0%{bootstrap} == 0 # HACK symlink libssp dll over import lib, otherwise linking with -lssp failes for mysterious reasons # Needed to build gdb and everything which adds -D_FORTIFY_SOURCES=... and -fstack-protector ln -sf %{mingw32_bindir}/libssp-0.dll %{buildroot}%{mingw32_libdir}/libssp.dll.a ln -sf %{mingw64_bindir}/libssp-0.dll %{buildroot}%{mingw64_libdir}/libssp.dll.a +ln -sf %{ucrt64_bindir}/libssp-0.dll %{buildroot}%{ucrt64_libdir}/libssp.dll.a %endif %files -n mingw32-gcc +%license gcc/COPYING* COPYING.RUNTIME %{_bindir}/%{mingw32_target}-gcc %{_bindir}/%{mingw32_target}-gcc-%{version} %{_bindir}/%{mingw32_target}-gcc-ar @@ -462,9 +582,6 @@ ln -sf %{mingw64_bindir}/libssp-0.dll %{buildroot}%{mingw64_libdir}/libssp.dll.a # Non-bootstrap files %if 0%{bootstrap} == 0 %{_bindir}/%{mingw32_target}-lto-dump -%{mingw32_bindir}/libatomic-1.dll -%{mingw32_bindir}/libgcc_s_dw2-1.dll -%{mingw32_bindir}/libssp-0.dll %{mingw32_libdir}/libatomic.a %{mingw32_libdir}/libatomic.dll.a %{mingw32_libdir}/libgcc_s.a @@ -487,6 +604,7 @@ ln -sf %{mingw64_bindir}/libssp-0.dll %{buildroot}%{mingw64_libdir}/libssp.dll.a %endif %files -n mingw64-gcc +%license gcc/COPYING* COPYING.RUNTIME %{_bindir}/%{mingw64_target}-gcc %{_bindir}/%{mingw64_target}-gcc-%{version} %{_bindir}/%{mingw64_target}-gcc-ar @@ -514,9 +632,6 @@ ln -sf %{mingw64_bindir}/libssp-0.dll %{buildroot}%{mingw64_libdir}/libssp.dll.a # Non-bootstrap files %if 0%{bootstrap} == 0 %{_bindir}/%{mingw64_target}-lto-dump -%{mingw64_bindir}/libatomic-1.dll -%{mingw64_bindir}/libgcc_s_seh-1.dll -%{mingw64_bindir}/libssp-0.dll %{mingw64_libdir}/libatomic.a %{mingw64_libdir}/libatomic.dll.a %{mingw64_libdir}/libgcc_s.a @@ -538,6 +653,94 @@ ln -sf %{mingw64_bindir}/libssp-0.dll %{buildroot}%{mingw64_libdir}/libssp.dll.a %{_mandir}/man1/%{mingw64_target}-lto-dump.1* %endif +%files -n ucrt64-gcc +%license gcc/COPYING* COPYING.RUNTIME +%{_bindir}/%{ucrt64_target}-gcc +%{_bindir}/%{ucrt64_target}-gcc-%{version} +%{_bindir}/%{ucrt64_target}-gcc-ar +%{_bindir}/%{ucrt64_target}-gcc-nm +%{_bindir}/%{ucrt64_target}-gcc-ranlib +%{_bindir}/%{ucrt64_target}-gcov +%{_bindir}/%{ucrt64_target}-gcov-dump +%{_bindir}/%{ucrt64_target}-gcov-tool +%dir %{_prefix}/lib/gcc/%{ucrt64_target}/%{version} +%dir %{_prefix}/lib/gcc/%{ucrt64_target}/%{version}/include-fixed +%dir %{_prefix}/lib/gcc/%{ucrt64_target}/%{version}/include +%dir %{_prefix}/lib/gcc/%{ucrt64_target}/%{version}/install-tools +%{_prefix}/lib/gcc/%{ucrt64_target}/%{version}/include-fixed/README +%{_prefix}/lib/gcc/%{ucrt64_target}/%{version}/include-fixed/*.h +%{_prefix}/lib/gcc/%{ucrt64_target}/%{version}/include/*.h +%{_prefix}/lib/gcc/%{ucrt64_target}/%{version}/install-tools/* +%{_libexecdir}/gcc/%{ucrt64_target}/%{version}/collect2 +%{_libexecdir}/gcc/%{ucrt64_target}/%{version}/lto-wrapper +%{_libexecdir}/gcc/%{ucrt64_target}/%{version}/install-tools +%{_mandir}/man1/%{ucrt64_target}-gcc.1* +%{_mandir}/man1/%{ucrt64_target}-gcov.1* +%{_mandir}/man1/%{ucrt64_target}-gcov-dump.1* +%{_mandir}/man1/%{ucrt64_target}-gcov-tool.1* + +# Non-bootstrap files +%if 0%{bootstrap} == 0 +%{_bindir}/%{ucrt64_target}-lto-dump +%{ucrt64_libdir}/libatomic.a +%{ucrt64_libdir}/libatomic.dll.a +%{ucrt64_libdir}/libgcc_s.a +%{ucrt64_libdir}/libssp.a +%{ucrt64_libdir}/libssp.dll.a +%{ucrt64_libdir}/libssp_nonshared.a +%{ucrt64_libdir}/libstdc++fs.a +%{_prefix}/lib/gcc/%{ucrt64_target}/%{version}/crtbegin.o +%{_prefix}/lib/gcc/%{ucrt64_target}/%{version}/crtend.o +%{_prefix}/lib/gcc/%{ucrt64_target}/%{version}/crtfastmath.o +%{_prefix}/lib/gcc/%{ucrt64_target}/%{version}/libgcc.a +%{_prefix}/lib/gcc/%{ucrt64_target}/%{version}/libgcc_eh.a +%{_prefix}/lib/gcc/%{ucrt64_target}/%{version}/libgcov.a +%dir %{_prefix}/lib/gcc/%{ucrt64_target}/%{version}/include/ssp +%{_prefix}/lib/gcc/%{ucrt64_target}/%{version}/include/ssp/*.h +%{_libexecdir}/gcc/%{ucrt64_target}/%{version}/g++-mapper-server +%{_libexecdir}/gcc/%{ucrt64_target}/%{version}/lto1 +%{_libexecdir}/gcc/%{ucrt64_target}/%{version}/liblto_plugin.so* +%{_mandir}/man1/%{ucrt64_target}-lto-dump.1* +%endif + +%if 0%{bootstrap} == 0 +%files -n mingw32-libgcc +%license gcc/COPYING* COPYING.RUNTIME +%{mingw32_bindir}/libatomic-1.dll +%{mingw32_bindir}/libgcc_s_dw2-1.dll +%{mingw32_bindir}/libssp-0.dll + +%files -n mingw64-libgcc +%license gcc/COPYING* COPYING.RUNTIME +%{mingw64_bindir}/libatomic-1.dll +%{mingw64_bindir}/libgcc_s_seh-1.dll +%{mingw64_bindir}/libssp-0.dll + +%files -n ucrt64-libgcc +%license gcc/COPYING* COPYING.RUNTIME +%{ucrt64_bindir}/libatomic-1.dll +%{ucrt64_bindir}/libgcc_s_seh-1.dll +%{ucrt64_bindir}/libssp-0.dll + +%files -n mingw32-libgomp +%{mingw32_bindir}/libgomp-1.dll +%{mingw32_libdir}/libgomp.a +%{mingw32_libdir}/libgomp.dll.a +%{mingw32_libdir}/libgomp.spec + +%files -n mingw64-libgomp +%{mingw64_bindir}/libgomp-1.dll +%{mingw64_libdir}/libgomp.a +%{mingw64_libdir}/libgomp.dll.a +%{mingw64_libdir}/libgomp.spec + +%files -n ucrt64-libgomp +%{ucrt64_bindir}/libgomp-1.dll +%{ucrt64_libdir}/libgomp.a +%{ucrt64_libdir}/libgomp.dll.a +%{ucrt64_libdir}/libgomp.spec +%endif + %files -n mingw32-cpp %{_bindir}/%{mingw32_target}-cpp %{_mandir}/man1/%{mingw32_target}-cpp.1* @@ -556,6 +759,15 @@ ln -sf %{mingw64_bindir}/libssp-0.dll %{buildroot}%{mingw64_libdir}/libssp.dll.a %dir %{_libexecdir}/gcc/%{mingw64_target} %{_libexecdir}/gcc/%{mingw64_target}/%{version}/cc1 +%files -n ucrt64-cpp +%{_bindir}/%{ucrt64_target}-cpp +%{_mandir}/man1/%{ucrt64_target}-cpp.1* +%dir %{_prefix}/lib/gcc/%{ucrt64_target} +%dir %{_prefix}/lib/gcc/%{ucrt64_target}/%{version} +%dir %{_libexecdir}/gcc/%{ucrt64_target}/%{version} +%dir %{_libexecdir}/gcc/%{ucrt64_target} +%{_libexecdir}/gcc/%{ucrt64_target}/%{version}/cc1 + %files -n mingw32-gcc-c++ %{_bindir}/%{mingw32_target}-g++ %{_bindir}/%{mingw32_target}-c++ @@ -588,6 +800,22 @@ ln -sf %{mingw64_bindir}/libssp-0.dll %{buildroot}%{mingw64_libdir}/libssp.dll.a %{mingw64_libdir}/libsupc++.a %endif +%files -n ucrt64-gcc-c++ +%{_bindir}/%{ucrt64_target}-g++ +%{_bindir}/%{ucrt64_target}-c++ +%{_mandir}/man1/%{ucrt64_target}-g++.1* +%{_libexecdir}/gcc/%{ucrt64_target}/%{version}/cc1plus + +# Non-bootstrap files +%if 0%{bootstrap} == 0 +%{ucrt64_includedir}/c++/ +%{ucrt64_bindir}/libstdc++-6.dll +%{ucrt64_libdir}/libstdc++.a +%{ucrt64_libdir}/libstdc++.dll.a +%{ucrt64_libdir}/libstdc++.dll.a-gdb.py +%{ucrt64_libdir}/libsupc++.a +%endif + %files -n mingw32-gcc-objc %{_libexecdir}/gcc/%{mingw32_target}/%{version}/cc1obj %if 0%{bootstrap} == 0 @@ -606,12 +834,24 @@ ln -sf %{mingw64_bindir}/libssp-0.dll %{buildroot}%{mingw64_libdir}/libssp.dll.a %{mingw64_libdir}/libobjc.dll.a %endif +%files -n ucrt64-gcc-objc +%{_libexecdir}/gcc/%{ucrt64_target}/%{version}/cc1obj +%if 0%{bootstrap} == 0 +%{_prefix}/lib/gcc/%{ucrt64_target}/%{version}/include/objc/ +%{ucrt64_bindir}/libobjc-4.dll +%{ucrt64_libdir}/libobjc.a +%{ucrt64_libdir}/libobjc.dll.a +%endif + %files -n mingw32-gcc-objc++ %{_libexecdir}/gcc/%{mingw32_target}/%{version}/cc1objplus %files -n mingw64-gcc-objc++ %{_libexecdir}/gcc/%{mingw64_target}/%{version}/cc1objplus +%files -n ucrt64-gcc-objc++ +%{_libexecdir}/gcc/%{ucrt64_target}/%{version}/cc1objplus + %files -n mingw32-gcc-gfortran %{_bindir}/%{mingw32_target}-gfortran %{_mandir}/man1/%{mingw32_target}-gfortran.1* @@ -644,22 +884,28 @@ ln -sf %{mingw64_bindir}/libssp-0.dll %{buildroot}%{mingw64_libdir}/libssp.dll.a %{_prefix}/lib/gcc/%{mingw64_target}/%{version}/finclude %endif -%if 0%{enable_libgomp} -%files -n mingw32-libgomp -%{mingw32_bindir}/libgomp-1.dll -%{mingw32_libdir}/libgomp.a -%{mingw32_libdir}/libgomp.dll.a -%{mingw32_libdir}/libgomp.spec - -%files -n mingw64-libgomp -%{mingw64_bindir}/libgomp-1.dll -%{mingw64_libdir}/libgomp.a -%{mingw64_libdir}/libgomp.dll.a -%{mingw64_libdir}/libgomp.spec +%files -n ucrt64-gcc-gfortran +%{_bindir}/%{ucrt64_target}-gfortran +%{_mandir}/man1/%{ucrt64_target}-gfortran.1* +%{_libexecdir}/gcc/%{ucrt64_target}/%{version}/f951 +%if 0%{bootstrap} == 0 +%{ucrt64_bindir}/libgfortran-5.dll +%{ucrt64_bindir}/libquadmath-0.dll +%{ucrt64_libdir}/libgfortran.a +%{ucrt64_libdir}/libgfortran.dll.a +%{ucrt64_libdir}/libgfortran.spec +%{ucrt64_libdir}/libquadmath.a +%{ucrt64_libdir}/libquadmath.dll.a +%{_prefix}/lib/gcc/%{ucrt64_target}/%{version}/libcaf_single.a +%{_prefix}/lib/gcc/%{ucrt64_target}/%{version}/finclude %endif %changelog +* Fri May 06 2022 Richard W.M. Jones - 12.0.1-11 +- Rebase to Fedora Rawhide + resolves: rhbz#2080170 + * Thu Aug 12 2021 Richard W.M. Jones - 11.2.1-3 - Rebase to gcc 11.2.1, same as Fedora Rawhide resolves: rhbz#1953914 diff --git a/sources b/sources index c5a399a..3315288 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gcc-11.2.1-20210728.tar.xz) = 2234298652f882151aead486bb22481ba8181df69b9c7c5d73b8aa505ace58462fcd0b482680f466e2d21dc47e869651c7dbf224b65791ca47204dab01e89e7c +SHA512 (gcc-12.0.1-20220413.tar.xz) = 6500348f3f4e22f0ddc6ac332a1e6f64eb2684772c67401ddd98c96aabc1ce665cd088161c5878cfc24defa240f587af962ac38d9cbe94044261239be63dc47a