[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