Rebase to Fedora Rawhide (bootstrap=1)

resolves: rhbz#2080170
side-tag: c9s-build-side-467-stack-gate
This commit is contained in:
Richard W.M. Jones 2022-05-06 14:21:20 +01:00
parent d0c3401795
commit 5fa334b482
5 changed files with 325 additions and 88 deletions

3
.gitignore vendored
View File

@ -43,3 +43,6 @@ gcc-4.5.1.tar.bz2
/gcc-11.1.1-20210428.tar.xz /gcc-11.1.1-20210428.tar.xz
/gcc-11.1.1-20210623.tar.xz /gcc-11.1.1-20210623.tar.xz
/gcc-11.2.1-20210728.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

View File

@ -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 diff -rupN --no-dereference gcc-12.0.1-20220308/libgomp/libgomp.h gcc-12.0.1-20220308-new/libgomp/libgomp.h
--- gcc-11.2.1-20210728/libgomp/libgomp.h 2021-07-28 11:09:49.000000000 +0200 --- gcc-12.0.1-20220308/libgomp/libgomp.h 2022-03-08 12:23:45.000000000 +0100
+++ gcc-11.2.1-20210728-new/libgomp/libgomp.h 2021-07-30 11:20:02.737945857 +0200 +++ gcc-12.0.1-20220308-new/libgomp/libgomp.h 2022-03-11 16:00:28.480133277 +0100
@@ -69,6 +69,13 @@ @@ -69,6 +69,13 @@
# endif # endif
#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 #ifdef HAVE_ATTRIBUTE_VISIBILITY
# pragma GCC visibility push(hidden) # pragma GCC visibility push(hidden)
#endif #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_vdebug (int, const char *, va_list);
extern void gomp_debug (int, const char *, ...) 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) \ #define gomp_vdebug(KIND, FMT, VALIST) \
do { \ do { \
if (__builtin_expect (gomp_debug_var, 0)) \ 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) } while (0)
extern void gomp_verror (const char *, va_list); extern void gomp_verror (const char *, va_list);
extern void gomp_error (const char *, ...) extern void gomp_error (const char *, ...)

View File

@ -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 diff -rupN --no-dereference gcc-12.0.1-20220308/config/intdiv0.m4 gcc-12.0.1-20220308-new/config/intdiv0.m4
--- gcc-11.2.1-20210728/config/intdiv0.m4 2021-07-28 11:09:49.000000000 +0200 --- gcc-12.0.1-20220308/config/intdiv0.m4 2022-03-08 12:23:45.000000000 +0100
+++ gcc-11.2.1-20210728-new/config/intdiv0.m4 2021-07-30 11:19:58.858765997 +0200 +++ 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; @@ -31,10 +31,10 @@ sigfpe_handler (sig) int sig;
exit (sig != SIGFPE); 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 () int main ()
{ {
diff -rupN --no-dereference gcc-11.2.1-20210728/libiberty/acinclude.m4 gcc-11.2.1-20210728-new/libiberty/acinclude.m4 diff -rupN --no-dereference gcc-12.0.1-20220308/libiberty/acinclude.m4 gcc-12.0.1-20220308-new/libiberty/acinclude.m4
--- gcc-11.2.1-20210728/libiberty/acinclude.m4 2021-07-28 11:09:49.000000000 +0200 --- gcc-12.0.1-20220308/libiberty/acinclude.m4 2022-03-08 12:23:45.000000000 +0100
+++ gcc-11.2.1-20210728-new/libiberty/acinclude.m4 2021-07-30 11:19:58.859766044 +0200 +++ 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 @@ -157,7 +157,7 @@ if test $ac_cv_os_cray = yes; then
fi fi
@ -28,15 +28,3 @@ diff -rupN --no-dereference gcc-11.2.1-20210728/libiberty/acinclude.m4 gcc-11.2.
{ {
static char *addr = 0; static char *addr = 0;
auto char dummy; 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

View File

@ -1,16 +1,11 @@
%global mingw_build_ucrt64 1
%global __os_install_post /usr/lib/rpm/brp-compress %{nil} %global __os_install_post /usr/lib/rpm/brp-compress %{nil}
# Steps: # Causes build failures
# 1. Build mingw-gcc with bootstrap=1, enable_libgomp=0 %undefine _auto_set_build_flags
# 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
# Set this to one when mingw-crt isn't built yet # NOTE See mingw-filesystem/README.md for the build steps!
%global bootstrap 0 %global bootstrap 1
# Set this one to zero when mingw-winpthreads isn't built yet
%global enable_libgomp 1
%if 0%{?rhel} > 8 %if 0%{?rhel} > 8
%global build_isl 0 %global build_isl 0
@ -23,14 +18,14 @@
# Run the testsuite # Run the testsuite
%global enable_tests 0 %global enable_tests 0
%global DATE 20210728 %global DATE 20220413
%global GITREV 134ab8155c937122663513b76afa8e64ad61fe99 %global GITREV 33917d2d6edc9112702294db6ab14b580a8d7a97
%global gcc_version 11.2.1 %global gcc_version 12.0.1
%global gcc_major 11 %global gcc_major 12
Name: mingw-gcc Name: mingw-gcc
Version: %{gcc_version} Version: %{gcc_version}
Release: 3%{?dist} Release: 11%{?dist}
Summary: MinGW Windows cross-compiler (GCC) for C Summary: MinGW Windows cross-compiler (GCC) for C
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions 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 # 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 # rm -rf gcc-dir.tmp
%global srcdir gcc-%{version}-%{DATE} %global srcdir gcc-%{version}-%{DATE}
Source0: %{srcdir}.tar.xz Source0: %{srcdir}.tar.xz
Patch0: mingw-gcc-config.patch
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 # 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: gcc-c++
BuildRequires: make BuildRequires: make
BuildRequires: texinfo BuildRequires: texinfo
BuildRequires: mingw32-filesystem >= 95 BuildRequires: mingw32-filesystem >= 133
BuildRequires: mingw64-filesystem >= 95 BuildRequires: mingw64-filesystem >= 133
BuildRequires: ucrt64-filesystem >= 133
BuildRequires: mingw32-binutils BuildRequires: mingw32-binutils
BuildRequires: mingw64-binutils BuildRequires: mingw64-binutils
BuildRequires: ucrt64-binutils
BuildRequires: mingw32-headers BuildRequires: mingw32-headers
BuildRequires: mingw64-headers BuildRequires: mingw64-headers
BuildRequires: ucrt64-headers
BuildRequires: gmp-devel BuildRequires: gmp-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: libmpc-devel BuildRequires: libmpc-devel
@ -70,10 +69,10 @@ BuildRequires: isl-devel = %{isl_version}
%if 0%{bootstrap} == 0 %if 0%{bootstrap} == 0
BuildRequires: mingw32-crt BuildRequires: mingw32-crt
BuildRequires: mingw64-crt BuildRequires: mingw64-crt
%if 0%{enable_libgomp} BuildRequires: ucrt64-crt
BuildRequires: mingw32-winpthreads BuildRequires: mingw32-winpthreads
BuildRequires: mingw64-winpthreads BuildRequires: mingw64-winpthreads
%endif BuildRequires: ucrt64-winpthreads
%if 0%{enable_tests} %if 0%{enable_tests}
BuildRequires: wine BuildRequires: wine
BuildRequires: autogen BuildRequires: autogen
@ -96,16 +95,36 @@ Requires: mingw32-headers
Requires: mingw32-cpp Requires: mingw32-cpp
%if 0%{bootstrap} == 0 %if 0%{bootstrap} == 0
Requires: mingw32-crt Requires: mingw32-crt
Requires: mingw32-libgcc
Requires: mingw32-winpthreads-static
%endif %endif
%description -n mingw32-gcc %description -n mingw32-gcc
MinGW Windows cross-compiler (GCC) for C for the win32 target. 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 %package -n mingw32-cpp
Summary: MinGW Windows cross-C Preprocessor for the win32 target Summary: MinGW Windows cross-C Preprocessor for the win32 target
# NB: Explicit mingw32-filesystem dependency is REQUIRED here. # NB: Explicit mingw32-filesystem dependency is REQUIRED here.
Requires: mingw32-filesystem >= 95 Requires: mingw32-filesystem >= 133
%description -n mingw32-cpp %description -n mingw32-cpp
MinGW Windows cross-C Preprocessor for the win32 target. 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. 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 # Mingw64
############################################################################### ###############################################################################
@ -164,16 +173,36 @@ Requires: mingw64-headers
Requires: mingw64-cpp Requires: mingw64-cpp
%if 0%{bootstrap} == 0 %if 0%{bootstrap} == 0
Requires: mingw64-crt Requires: mingw64-crt
Requires: mingw64-libgcc
Requires: mingw64-winpthreads-static
%endif %endif
%description -n mingw64-gcc %description -n mingw64-gcc
MinGW Windows cross-compiler (GCC) for C for the win64 target. 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 %package -n mingw64-cpp
Summary: MinGW Windows cross-C Preprocessor for the win64 target. Summary: MinGW Windows cross-C Preprocessor for the win64 target.
# NB: Explicit mingw64-filesystem dependency is REQUIRED here. # NB: Explicit mingw64-filesystem dependency is REQUIRED here.
Requires: mingw64-filesystem >= 95 Requires: mingw64-filesystem >= 133
%description -n mingw64-cpp %description -n mingw64-cpp
MinGW Windows cross-C Preprocessor for the win64 target 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. MinGW Windows cross-compiler for FORTRAN for the win64 target.
%if 0%{enable_libgomp} ###############################################################################
%package -n mingw64-libgomp # UCRT64
Summary: GCC OpenMP v3.0 shared support library for the win64 target ###############################################################################
Requires: mingw64-gcc = %{version}-%{release} %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 This package contains GCC shared support library which is
needed for OpenMP v3.0 support for the win32 target. needed for OpenMP v3.0 support for the win32 target.
%endif %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 %prep
%autosetup -p1 -n %{srcdir} %autosetup -p1 -n %{srcdir}
echo 'Fedora MinGW %{version}-%{release}' > gcc/DEV-PHASE 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 # i686-w64-mingw32-gcc: fatal error: -fuse-linker-plugin, but liblto_plugin.so not found
%if 0%{bootstrap} %if 0%{bootstrap}
configure_args="$configure_args --disable-lto" configure_args="$configure_args --disable-lto"
%endif %else
%if 0%{enable_libgomp}
configure_args="$configure_args --enable-libgomp" configure_args="$configure_args --enable-libgomp"
%endif %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++ ../configure $configure_args --target=%{mingw64_target} --with-sysroot=%{mingw64_sysroot} --with-gxx-include-dir=%{mingw64_includedir}/c++
popd 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 we're bootstrapping, only build the GCC core
%if 0%{bootstrap} %if 0%{bootstrap}
%mingw_make_build all-gcc %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/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/libstdc++-v3/src/.libs/libstdc++-6.dll $SYSTEM32_DIR
cp build_win32/i686-w64-mingw32/libgcc/shlib/libgcc_s_dw2-1.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 %{mingw32_bindir}/libwinpthread-1.dll $SYSTEM32_DIR
cp build_win32/i686-w64-mingw32/libgomp/.libs/libgomp-1.dll $SYSTEM32_DIR cp build_win32/i686-w64-mingw32/libgomp/.libs/libgomp-1.dll $SYSTEM32_DIR
%endif %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/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/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 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 %{mingw64_bindir}/libwinpthread-1.dll $SYSTEM64_DIR
cp build_win64/x86_64-w64-mingw32/libgomp/.libs/libgomp-1.dll $SYSTEM64_DIR cp build_win64/x86_64-w64-mingw32/libgomp/.libs/libgomp-1.dll $SYSTEM64_DIR
%endif %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/libobjc-4.dll \
%{buildroot}%{_prefix}/%{mingw32_target}/lib/libgfortran-5.dll \ %{buildroot}%{_prefix}/%{mingw32_target}/lib/libgfortran-5.dll \
%{buildroot}%{_prefix}/%{mingw32_target}/lib/libquadmath-0.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 \ %{buildroot}%{_prefix}/%{mingw32_target}/lib/libgomp-1.dll \
%endif %endif
%{buildroot}%{mingw32_bindir} %{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/libobjc-4.dll \
%{buildroot}%{_prefix}/%{mingw64_target}/lib/libgfortran-5.dll \ %{buildroot}%{_prefix}/%{mingw64_target}/lib/libgfortran-5.dll \
%{buildroot}%{_prefix}/%{mingw64_target}/lib/libquadmath-0.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 \ %{buildroot}%{_prefix}/%{mingw64_target}/lib/libgomp-1.dll \
%endif %endif
%{buildroot}%{mingw64_bindir} %{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 # Various import libraries are placed in the wrong folder
mkdir -p %{buildroot}%{mingw32_libdir} mkdir -p %{buildroot}%{mingw32_libdir}
mkdir -p %{buildroot}%{mingw64_libdir} mkdir -p %{buildroot}%{mingw64_libdir}
mkdir -p %{buildroot}%{ucrt64_libdir}
mv %{buildroot}%{_prefix}/%{mingw32_target}/lib/* %{buildroot}%{mingw32_libdir} mv %{buildroot}%{_prefix}/%{mingw32_target}/lib/* %{buildroot}%{mingw32_libdir}
mv %{buildroot}%{_prefix}/%{mingw64_target}/lib/* %{buildroot}%{mingw64_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. # Don't want the *.la files.
find %{buildroot} -name '*.la' -delete 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 # 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}/%{mingw32_target}-%{mingw32_target}-*
rm -f %{buildroot}%{_bindir}/%{mingw64_target}-%{mingw64_target}-* rm -f %{buildroot}%{_bindir}/%{mingw64_target}-%{mingw64_target}-*
rm -f %{buildroot}%{_bindir}/%{ucrt64_target}-%{ucrt64_target}-*
%if 0%{bootstrap} == 0 %if 0%{bootstrap} == 0
# HACK symlink libssp dll over import lib, otherwise linking with -lssp failes for mysterious reasons # 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 # 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 %{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 %{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 %endif
%files -n mingw32-gcc %files -n mingw32-gcc
%license gcc/COPYING* COPYING.RUNTIME
%{_bindir}/%{mingw32_target}-gcc %{_bindir}/%{mingw32_target}-gcc
%{_bindir}/%{mingw32_target}-gcc-%{version} %{_bindir}/%{mingw32_target}-gcc-%{version}
%{_bindir}/%{mingw32_target}-gcc-ar %{_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 # Non-bootstrap files
%if 0%{bootstrap} == 0 %if 0%{bootstrap} == 0
%{_bindir}/%{mingw32_target}-lto-dump %{_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.a
%{mingw32_libdir}/libatomic.dll.a %{mingw32_libdir}/libatomic.dll.a
%{mingw32_libdir}/libgcc_s.a %{mingw32_libdir}/libgcc_s.a
@ -487,6 +604,7 @@ ln -sf %{mingw64_bindir}/libssp-0.dll %{buildroot}%{mingw64_libdir}/libssp.dll.a
%endif %endif
%files -n mingw64-gcc %files -n mingw64-gcc
%license gcc/COPYING* COPYING.RUNTIME
%{_bindir}/%{mingw64_target}-gcc %{_bindir}/%{mingw64_target}-gcc
%{_bindir}/%{mingw64_target}-gcc-%{version} %{_bindir}/%{mingw64_target}-gcc-%{version}
%{_bindir}/%{mingw64_target}-gcc-ar %{_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 # Non-bootstrap files
%if 0%{bootstrap} == 0 %if 0%{bootstrap} == 0
%{_bindir}/%{mingw64_target}-lto-dump %{_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.a
%{mingw64_libdir}/libatomic.dll.a %{mingw64_libdir}/libatomic.dll.a
%{mingw64_libdir}/libgcc_s.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* %{_mandir}/man1/%{mingw64_target}-lto-dump.1*
%endif %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 %files -n mingw32-cpp
%{_bindir}/%{mingw32_target}-cpp %{_bindir}/%{mingw32_target}-cpp
%{_mandir}/man1/%{mingw32_target}-cpp.1* %{_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} %dir %{_libexecdir}/gcc/%{mingw64_target}
%{_libexecdir}/gcc/%{mingw64_target}/%{version}/cc1 %{_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++ %files -n mingw32-gcc-c++
%{_bindir}/%{mingw32_target}-g++ %{_bindir}/%{mingw32_target}-g++
%{_bindir}/%{mingw32_target}-c++ %{_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 %{mingw64_libdir}/libsupc++.a
%endif %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 %files -n mingw32-gcc-objc
%{_libexecdir}/gcc/%{mingw32_target}/%{version}/cc1obj %{_libexecdir}/gcc/%{mingw32_target}/%{version}/cc1obj
%if 0%{bootstrap} == 0 %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 %{mingw64_libdir}/libobjc.dll.a
%endif %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++ %files -n mingw32-gcc-objc++
%{_libexecdir}/gcc/%{mingw32_target}/%{version}/cc1objplus %{_libexecdir}/gcc/%{mingw32_target}/%{version}/cc1objplus
%files -n mingw64-gcc-objc++ %files -n mingw64-gcc-objc++
%{_libexecdir}/gcc/%{mingw64_target}/%{version}/cc1objplus %{_libexecdir}/gcc/%{mingw64_target}/%{version}/cc1objplus
%files -n ucrt64-gcc-objc++
%{_libexecdir}/gcc/%{ucrt64_target}/%{version}/cc1objplus
%files -n mingw32-gcc-gfortran %files -n mingw32-gcc-gfortran
%{_bindir}/%{mingw32_target}-gfortran %{_bindir}/%{mingw32_target}-gfortran
%{_mandir}/man1/%{mingw32_target}-gfortran.1* %{_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 %{_prefix}/lib/gcc/%{mingw64_target}/%{version}/finclude
%endif %endif
%if 0%{enable_libgomp} %files -n ucrt64-gcc-gfortran
%files -n mingw32-libgomp %{_bindir}/%{ucrt64_target}-gfortran
%{mingw32_bindir}/libgomp-1.dll %{_mandir}/man1/%{ucrt64_target}-gfortran.1*
%{mingw32_libdir}/libgomp.a %{_libexecdir}/gcc/%{ucrt64_target}/%{version}/f951
%{mingw32_libdir}/libgomp.dll.a %if 0%{bootstrap} == 0
%{mingw32_libdir}/libgomp.spec %{ucrt64_bindir}/libgfortran-5.dll
%{ucrt64_bindir}/libquadmath-0.dll
%files -n mingw64-libgomp %{ucrt64_libdir}/libgfortran.a
%{mingw64_bindir}/libgomp-1.dll %{ucrt64_libdir}/libgfortran.dll.a
%{mingw64_libdir}/libgomp.a %{ucrt64_libdir}/libgfortran.spec
%{mingw64_libdir}/libgomp.dll.a %{ucrt64_libdir}/libquadmath.a
%{mingw64_libdir}/libgomp.spec %{ucrt64_libdir}/libquadmath.dll.a
%{_prefix}/lib/gcc/%{ucrt64_target}/%{version}/libcaf_single.a
%{_prefix}/lib/gcc/%{ucrt64_target}/%{version}/finclude
%endif %endif
%changelog %changelog
* Fri May 06 2022 Richard W.M. Jones <rjones@redhat.com> - 12.0.1-11
- Rebase to Fedora Rawhide
resolves: rhbz#2080170
* Thu Aug 12 2021 Richard W.M. Jones <rjones@redhat.com> - 11.2.1-3 * Thu Aug 12 2021 Richard W.M. Jones <rjones@redhat.com> - 11.2.1-3
- Rebase to gcc 11.2.1, same as Fedora Rawhide - Rebase to gcc 11.2.1, same as Fedora Rawhide
resolves: rhbz#1953914 resolves: rhbz#1953914

View File

@ -1 +1 @@
SHA512 (gcc-11.2.1-20210728.tar.xz) = 2234298652f882151aead486bb22481ba8181df69b9c7c5d73b8aa505ace58462fcd0b482680f466e2d21dc47e869651c7dbf224b65791ca47204dab01e89e7c SHA512 (gcc-12.0.1-20220413.tar.xz) = 6500348f3f4e22f0ddc6ac332a1e6f64eb2684772c67401ddd98c96aabc1ce665cd088161c5878cfc24defa240f587af962ac38d9cbe94044261239be63dc47a