[packages/crossmingw64-gcc] - updated to 13.4.0
qboosh
qboosh at pld-linux.org
Sun Apr 12 17:17:18 CEST 2026
commit b71f25505f53b6399855cbef81b517cd72548d1c
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Sun Apr 12 17:17:42 2026 +0200
- updated to 13.4.0
crossmingw64-gcc.spec | 45 +++++++++++++++++++++++++++++++--------------
gcc-mingw64.patch | 8 ++++----
gcc-new-libgcc.patch | 15 +++++++++++++++
3 files changed, 50 insertions(+), 18 deletions(-)
---
diff --git a/crossmingw64-gcc.spec b/crossmingw64-gcc.spec
index ae19052..dbe44e5 100644
--- a/crossmingw64-gcc.spec
+++ b/crossmingw64-gcc.spec
@@ -16,23 +16,24 @@ Summary(pl.UTF-8): Skrośne narzędzia programistyczne GNU dla MinGW-W64 - gcc
Summary(pt_BR.UTF-8): Utilitários para desenvolvimento de binários da GNU - MinGW-W64 gcc
Summary(tr.UTF-8): GNU geliştirme araçları - MinGW-W64 gcc
Name: crossmingw64-gcc
-Version: 12.5.0
+Version: 13.4.0
Release: 1
Epoch: 1
License: GPL v3+
Group: Development/Languages
Source0: https://ftp.gnu.org/gnu/gcc/gcc-%{version}/gcc-%{version}.tar.xz
-# Source0-md5: 605d4923d9daabcd8c8c22d844af57e5
+# Source0-md5: 260096adee8b1cf3dde6e61c11cccca6
# svn co https://mingw-w64.svn.sourceforge.net/svnroot/mingw-w64/stable/v2.x/mingw-w64-crt mingw64-crt
%define _rev 5515
Source1: mingw64-crt.tar.xz
# Source1-md5: bf9051e7e4deb445e9e8877ca68211e1
-#Patch0: gcc-branch.diff
-## Patch0-md5: 57034537c40d4d70828540f9c0bc2cf3
+Patch0: gcc-branch.diff
+# Patch0-md5: 895a5bedb56e00ee3da9c7f619af0991
Patch1: gcc-mingw-dirs.patch
Patch2: gcc-mingw64.patch
+Patch3: gcc-new-libgcc.patch
URL: https://www.mingw-w64.org/
-BuildRequires: autoconf >= 2.64
+BuildRequires: autoconf >= 2.69
BuildRequires: automake >= 1:1.11.1
BuildRequires: bison
BuildRequires: crossmingw64-binutils >= 2.30
@@ -46,6 +47,7 @@ BuildRequires: gmp-devel >= 4.3.2
BuildRequires: isl-devel >= 0.15
BuildRequires: libmpc-devel >= 0.8.1
BuildRequires: libstdc++-devel
+BuildRequires: m4 >= 1.4.16
BuildRequires: mpfr-devel >= 3.1.0
BuildRequires: perl-tools-pod
BuildRequires: subversion >= 1.7
@@ -386,6 +388,7 @@ Biblioteka 64-bitowa DLL GCC do obsługi typu __float128 dla Windows.
#patch -P0 -p0
%patch -P1 -p1
%patch -P2 -p1
+%patch -P3 -p1
# override snapshot version.
echo %{version} > gcc/BASE-VER
@@ -396,7 +399,11 @@ if [ "`svnversion -n mingw64-crt`" != "%{_rev}" ]; then
exit 1
fi
+# file contains hacks for ac 2.69 only
+echo dnl > config/override.m4
+
%build
+%{__autoconf}
rm -rf BUILDDIR && install -d BUILDDIR/%{target} && cd BUILDDIR
# setup system headers for local build.
@@ -437,6 +444,7 @@ TEXCONFIG=false \
--enable-libquadmath%{?with_bootstrap:=no} \
--disable-libssp \
--enable-libstdcxx-allocator=new \
+ --enable-libstdcxx-threads \
--disable-libstdcxx-pch \
--enable-linker-build-id \
--enable-long-long \
@@ -483,7 +491,6 @@ install -d $RPM_BUILD_ROOT%{_bindir}
cp -p BUILDDIR/gcc/specs $RPM_BUILD_ROOT%{gcclibdir}
gccdir=$RPM_BUILD_ROOT%{gcclibdir}
-%{__mv} $gccdir/include-fixed/{limits,syslimits}.h $gccdir/include
%{__rm} -r $gccdir/include-fixed
%{__rm} -r $gccdir/install-tools
@@ -535,11 +542,11 @@ rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/%{target}-gcc
-%attr(755,root,root) %{_bindir}/%{target}-cpp
-%attr(755,root,root) %{_bindir}/%{target}-gcov
-%attr(755,root,root) %{_bindir}/%{target}-gcov-dump
-%attr(755,root,root) %{_bindir}/%{target}-gcov-tool
+%{_bindir}/%{target}-gcc
+%{_bindir}/%{target}-cpp
+%{_bindir}/%{target}-gcov
+%{_bindir}/%{target}-gcov-dump
+%{_bindir}/%{target}-gcov-tool
%attr(755,root,root) %{archbindir}/%{target}-cpp
%attr(755,root,root) %{archbindir}/%{target}-gcc
%attr(755,root,root) %{archbindir}/%{target}-gcc-%{version}
@@ -570,6 +577,8 @@ rm -rf $RPM_BUILD_ROOT
%{gcclibdir}/include/adxintrin.h
%{gcclibdir}/include/ammintrin.h
%{gcclibdir}/include/amxbf16intrin.h
+%{gcclibdir}/include/amxcomplexintrin.h
+%{gcclibdir}/include/amxfp16intrin.h
%{gcclibdir}/include/amxint8intrin.h
%{gcclibdir}/include/amxtileintrin.h
%{gcclibdir}/include/avx2intrin.h
@@ -601,7 +610,10 @@ rm -rf $RPM_BUILD_ROOT
%{gcclibdir}/include/avx512vp2intersectvlintrin.h
%{gcclibdir}/include/avx512vpopcntdqintrin.h
%{gcclibdir}/include/avx512vpopcntdqvlintrin.h
+%{gcclibdir}/include/avxifmaintrin.h
%{gcclibdir}/include/avxintrin.h
+%{gcclibdir}/include/avxneconvertintrin.h
+%{gcclibdir}/include/avxvnniint8intrin.h
%{gcclibdir}/include/avxvnniintrin.h
%{gcclibdir}/include/bmi2intrin.h
%{gcclibdir}/include/bmiintrin.h
@@ -612,6 +624,7 @@ rm -rf $RPM_BUILD_ROOT
%{gcclibdir}/include/clflushoptintrin.h
%{gcclibdir}/include/clwbintrin.h
%{gcclibdir}/include/clzerointrin.h
+%{gcclibdir}/include/cmpccxaddintrin.h
%{gcclibdir}/include/cpuid.h
%{gcclibdir}/include/cross-stdarg.h
%{gcclibdir}/include/emmintrin.h
@@ -642,7 +655,9 @@ rm -rf $RPM_BUILD_ROOT
%{gcclibdir}/include/pkuintrin.h
%{gcclibdir}/include/pmmintrin.h
%{gcclibdir}/include/popcntintrin.h
+%{gcclibdir}/include/prfchiintrin.h
%{gcclibdir}/include/prfchwintrin.h
+%{gcclibdir}/include/raointintrin.h
%{gcclibdir}/include/rdseedintrin.h
%{gcclibdir}/include/rtmintrin.h
%{gcclibdir}/include/serializeintrin.h
@@ -1806,13 +1821,15 @@ rm -rf $RPM_BUILD_ROOT
%if %{without bootstrap}
%files c++
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/%{target}-g++
+%{_bindir}/%{target}-g++
%attr(755,root,root) %{archbindir}/%{target}-c++
%attr(755,root,root) %{archbindir}/%{target}-g++
%attr(755,root,root) %{gcclibdir}/cc1plus
%attr(755,root,root) %{gcclibdir}/g++-mapper-server
%{archlibdir}/libstdc++.dll.a
%{archlibdir}/libstdc++.la
+%{archlibdir}/libstdc++exp.la
+%{archlibdir}/libstdc++exp.a
%{archlibdir}/libstdc++fs.la
%{archlibdir}/libstdc++fs.a
%{archlibdir}/libsupc++.la
@@ -1852,7 +1869,7 @@ rm -rf $RPM_BUILD_ROOT
%if %{with d}
%files d
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/%{target}-gdc
+%{_bindir}/%{target}-gdc
%attr(755,root,root) %{archbindir}/%{target}-gdc
%attr(755,root,root) %{gcclibdir}/d21
%{_mandir}/man1/%{target}-gdc.1*
@@ -1860,7 +1877,7 @@ rm -rf $RPM_BUILD_ROOT
%files fortran
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/%{target}-gfortran
+%{_bindir}/%{target}-gfortran
%attr(755,root,root) %{archbindir}/%{target}-gfortran
%attr(755,root,root) %{gcclibdir}/f951
%{archlibdir}/libgfortran.dll.a
diff --git a/gcc-mingw64.patch b/gcc-mingw64.patch
index c2570db..0b628d2 100644
--- a/gcc-mingw64.patch
+++ b/gcc-mingw64.patch
@@ -200,9 +200,9 @@
case EOWNERDEAD:
#endif
#ifdef EPERM
---- gcc-12.4.0/libstdc++-v3/src/c++17/fast_float/fast_float.h.orig 2024-06-20 10:08:10.000000000 +0200
-+++ gcc-12.4.0/libstdc++-v3/src/c++17/fast_float/fast_float.h 2025-04-27 19:42:34.869265894 +0200
-@@ -120,7 +120,7 @@ from_chars_result from_chars_advanced(co
+--- gcc-13.4.0/libstdc++-v3/src/c++17/fast_float/fast_float.h.orig 2025-06-05 18:03:03.000000000 +0200
++++ gcc-13.4.0/libstdc++-v3/src/c++17/fast_float/fast_float.h 2026-04-08 20:17:09.821619726 +0200
+@@ -119,7 +119,7 @@ from_chars_result from_chars_advanced(co
#endif
#endif
@@ -212,7 +212,7 @@
#endif
@@ -275,7 +275,7 @@ fastfloat_really_inline value128 full_mu
- // ARM64 has native support for 64-bit multiplications, no need to emulate
+ // But MinGW on ARM64 doesn't have native support for 64-bit multiplications
answer.high = __umulh(a, b);
answer.low = a * b;
-#elif defined(FASTFLOAT_32BIT) || (defined(_WIN64) && !defined(__clang__))
diff --git a/gcc-new-libgcc.patch b/gcc-new-libgcc.patch
new file mode 100644
index 0000000..790b878
--- /dev/null
+++ b/gcc-new-libgcc.patch
@@ -0,0 +1,15 @@
+--- gcc-13.4.0/configure.ac.orig 2026-04-12 08:56:32.983909269 +0200
++++ gcc-13.4.0/configure.ac 2026-04-12 08:57:46.463511196 +0200
+@@ -3658,10 +3658,10 @@ GCC_TARGET_TOOL(as, AS_FOR_TARGET, AS, [
+ GCC_TARGET_TOOL(cc, CC_FOR_TARGET, CC, [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/])
+ dnl see comments for CXX_FOR_TARGET_FLAG_TO_PASS
+ GCC_TARGET_TOOL(c++, CXX_FOR_TARGET, CXX,
+- [gcc/xg++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ `if test -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags; then $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes; else echo -funconfigured-libstdc++-v3 ; fi` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs],
++ [gcc/xg++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ `if test -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags; then $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes; else echo -funconfigured-libstdc++-v3 ; fi` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs -L$$r/$(TARGET_SUBDIR)/libgcc/shlib -L$$r/$(TARGET_SUBDIR)/libgcc],
+ c++)
+ GCC_TARGET_TOOL(c++ for libstdc++, RAW_CXX_FOR_TARGET, CXX,
+- [gcc/xgcc -shared-libgcc -B$$r/$(HOST_SUBDIR)/gcc -nostdinc++ -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs],
++ [gcc/xgcc -shared-libgcc -B$$r/$(HOST_SUBDIR)/gcc -nostdinc++ -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs -L$$r/$(TARGET_SUBDIR)/libgcc/shlib -L$$r/$(TARGET_SUBDIR)/libgcc],
+ c++)
+ GCC_TARGET_TOOL(dlltool, DLLTOOL_FOR_TARGET, DLLTOOL, [binutils/dlltool])
+ GCC_TARGET_TOOL(dsymutil, DSYMUTIL_FOR_TARGET, DSYMUTIL)
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/crossmingw64-gcc.git/commitdiff/b71f25505f53b6399855cbef81b517cd72548d1c
More information about the pld-cvs-commit
mailing list