[packages/crossmingw64-gcc] - updated to 12.4.0
qboosh
qboosh at pld-linux.org
Mon Apr 28 20:13:19 CEST 2025
commit abc6e6d45fd873b10fdfea8d73113d72c5906e4c
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Mon Apr 28 19:58:52 2025 +0200
- updated to 12.4.0
crossmingw64-gcc.spec | 12 ++++++++---
gcc-mingw-dirs.patch | 8 +++----
gcc-mingw64.patch | 58 ++++++++++++++++++++++++++++++++++++++++++++++-----
3 files changed, 66 insertions(+), 12 deletions(-)
---
diff --git a/crossmingw64-gcc.spec b/crossmingw64-gcc.spec
index 357fc1b..9c86011 100644
--- a/crossmingw64-gcc.spec
+++ b/crossmingw64-gcc.spec
@@ -3,6 +3,7 @@
%bcond_with bootstrap # bootstrap build (only C compiler with static runtime)
%bcond_with ada # Ada language support (doesn't build for w64-mingw32)
%bcond_without d # D language support
+# go is not supported for mingw
#
%if %{with bootstrap}
%undefine with_ada
@@ -15,18 +16,19 @@ 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: 11.5.0
+Version: 12.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: 03473f26c87e05e789a32208f1fe4491
+# Source0-md5: fd7779aee878db67456575922281fa71
# 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: gcc-branch.diff
+# Patch0-md5: 57034537c40d4d70828540f9c0bc2cf3
Patch1: gcc-mingw-dirs.patch
Patch2: gcc-mingw64.patch
URL: https://www.mingw-w64.org/
@@ -37,6 +39,8 @@ BuildRequires: crossmingw64-binutils >= 2.30
%{!?with_bootstrap:BuildRequires: crossmingw64-gcc}
BuildRequires: crossmingw64-headers
BuildRequires: flex >= 2.5.4
+%{?with_ada:BuildRequires: gcc-ada}
+%{?with_d:BuildRequires: gcc-d >= 6:11}
BuildRequires: gettext-tools >= 0.14.5
BuildRequires: gmp-devel >= 4.3.2
BuildRequires: isl-devel >= 0.15
@@ -579,6 +583,8 @@ rm -rf $RPM_BUILD_ROOT
%{gcclibdir}/include/avx512dqintrin.h
%{gcclibdir}/include/avx512erintrin.h
%{gcclibdir}/include/avx512fintrin.h
+%{gcclibdir}/include/avx512fp16intrin.h
+%{gcclibdir}/include/avx512fp16vlintrin.h
%{gcclibdir}/include/avx512ifmaintrin.h
%{gcclibdir}/include/avx512ifmavlintrin.h
%{gcclibdir}/include/avx512pfintrin.h
diff --git a/gcc-mingw-dirs.patch b/gcc-mingw-dirs.patch
index 702c9bf..fe2e05b 100644
--- a/gcc-mingw-dirs.patch
+++ b/gcc-mingw-dirs.patch
@@ -18,14 +18,14 @@
/* Output STRING, a string representing a filename, to FILE.
We canonicalize it to be in Unix format (backslashes are replaced
---- gcc-10.4.0/gcc/config.gcc.orig 2023-06-28 06:17:39.251234129 +0200
-+++ gcc-10.4.0/gcc/config.gcc 2023-06-28 06:20:01.677654209 +0200
-@@ -2200,7 +2200,7 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
+--- gcc-12.4.0/gcc/config.gcc.orig 2024-06-20 10:08:06.000000000 +0200
++++ gcc-12.4.0/gcc/config.gcc 2025-04-28 06:17:40.483015627 +0200
+@@ -2212,7 +2212,7 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
tmake_file="${tmake_file} i386/t-mingw-w32"
;;
esac
- native_system_header_dir=/mingw/include
+ native_system_header_dir=/include
- target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.c"
+ target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.cc"
extra_options="${extra_options} i386/cygming.opt i386/mingw.opt"
case ${target} in
diff --git a/gcc-mingw64.patch b/gcc-mingw64.patch
index 424a9ae..c2570db 100644
--- a/gcc-mingw64.patch
+++ b/gcc-mingw64.patch
@@ -152,9 +152,33 @@
};
_GLIBCXX_END_NAMESPACE_VERSION
---- gcc-9.5.0/libstdc++-v3/src/c++11/system_error.cc.orig 2022-05-27 09:21:13.447391751 +0200
-+++ gcc-9.5.0/libstdc++-v3/src/c++11/system_error.cc 2023-04-16 20:09:05.676500055 +0200
-@@ -168,7 +168,7 @@ namespace
+--- gcc-12.4.0/libstdc++-v3/src/c++11/system_error.cc.orig 2024-06-20 10:08:10.000000000 +0200
++++ gcc-12.4.0/libstdc++-v3/src/c++11/system_error.cc 2025-04-27 19:31:06.902992927 +0200
+@@ -153,7 +153,11 @@ namespace
+ X (CANNOT_MAKE, EPERM);
+ X (CHILD_NOT_COMPLETE, EBUSY);
+ X (COMMITMENT_LIMIT, EAGAIN);
++#ifdef ECONNREFUSED
+ X (CONNECTION_REFUSED, ECONNREFUSED);
++#else
++ X (CONNECTION_REFUSED, WSAECONNREFUSED);
++#endif
+ X (CRC, EIO);
+ X (DEVICE_DOOR_OPEN, EIO);
+ X (DEVICE_IN_USE, EAGAIN);
+@@ -200,7 +204,11 @@ namespace
+ X (MAX_THRDS_REACHED, EAGAIN);
+ X (META_EXPANSION_TOO_LONG, EINVAL);
+ X (MOD_NOT_FOUND, ENOENT);
++#ifdef EMSGSIZE
+ X (MORE_DATA, EMSGSIZE);
++#else
++ X (MORE_DATA, WSAEMSGSIZE);
++#endif
+ X (NEGATIVE_SEEK, EINVAL);
+ X (NETNAME_DELETED, ENOENT);
+ X (NOACCESS, EFAULT);
+@@ -355,7 +363,7 @@ namespace
#ifdef EISDIR
case EISDIR:
#endif
@@ -163,7 +187,7 @@
case ELOOP:
#endif
#ifdef EMFILE
-@@ -265,7 +265,7 @@ namespace
+@@ -453,10 +461,10 @@ namespace
#if defined EOPNOTSUPP && (!defined ENOTSUP || EOPNOTSUPP != ENOTSUP)
case EOPNOTSUPP:
#endif
@@ -171,4 +195,28 @@
+#if defined(EOVERFLOW) && (EOVERFLOW != ERANGE)
case EOVERFLOW:
#endif
- #ifdef EOWNERDEAD
+-#ifdef EOWNERDEAD
++#if defined(EOWNERDEAD) && (!defined EILSEQ || EOWNERDEAD != EILSEQ)
+ 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
+ #endif
+ #endif
+
+-#if ((defined(_WIN32) || defined(_WIN64)) && !defined(__clang__))
++#if ((defined(_WIN32) || defined(_WIN64)) && defined(_MSC_VER) && !defined(__clang__))
+ #include <intrin.h>
+ #endif
+
+@@ -275,7 +275,7 @@ fastfloat_really_inline value128 full_mu
+ // ARM64 has native support for 64-bit multiplications, no need to emulate
+ answer.high = __umulh(a, b);
+ answer.low = a * b;
+-#elif defined(FASTFLOAT_32BIT) || (defined(_WIN64) && !defined(__clang__))
++#elif defined(FASTFLOAT_32BIT) || (defined(_WIN64) && defined(_MSC_VER) && !defined(__clang__))
+ answer.low = _umul128(a, b, &answer.high); // _umul128 not available on ARM64
+ #elif defined(FASTFLOAT_64BIT)
+ __uint128_t r = ((__uint128_t)a) * b;
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/crossmingw64-gcc.git/commitdiff/abc6e6d45fd873b10fdfea8d73113d72c5906e4c
More information about the pld-cvs-commit
mailing list