diff --git a/.gitignore b/.gitignore index c8839a3..c7af41f 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/mingw-w64-v10.0.0.tar.bz2 +SOURCES/mingw-w64-v11.0.0.tar.bz2 diff --git a/.mingw-w64-tools.metadata b/.mingw-w64-tools.metadata index 90d2c48..14f7f4c 100644 --- a/.mingw-w64-tools.metadata +++ b/.mingw-w64-tools.metadata @@ -1 +1 @@ -56143558d81dae7628a232ca7582b947e65392b1 SOURCES/mingw-w64-v10.0.0.tar.bz2 +a6902ac07d4704d76bb3890713bb1c3d46e4dc89 SOURCES/mingw-w64-v11.0.0.tar.bz2 diff --git a/SOURCES/mingw-w64-tools-riscv64-on-s390x-ppc66le.patch b/SOURCES/mingw-w64-tools-riscv64-on-s390x-ppc66le.patch new file mode 100644 index 0000000..8537e95 --- /dev/null +++ b/SOURCES/mingw-w64-tools-riscv64-on-s390x-ppc66le.patch @@ -0,0 +1,108 @@ +diff -rupN --no-dereference mingw-w64-v11.0.0/mingw-w64-tools/widl/include/basetsd.h mingw-w64-v11.0.0-new/mingw-w64-tools/widl/include/basetsd.h +--- mingw-w64-v11.0.0/mingw-w64-tools/widl/include/basetsd.h 2023-04-30 18:49:11.973859774 +0200 ++++ mingw-w64-v11.0.0-new/mingw-w64-tools/widl/include/basetsd.h 2023-04-30 18:49:11.979859770 +0200 +@@ -36,7 +36,7 @@ extern "C" { + * 64-bit. + */ + +-#if (defined(__x86_64__) || defined(__powerpc64__) || defined(__aarch64__) || defined(__s390x__)) && !defined(_WIN64) ++#if (defined(__x86_64__) || defined(__powerpc64__) || defined(__aarch64__) || defined(__s390x__) || (defined(__riscv) && (__riscv_xlen == 64))) && !defined(_WIN64) + #define _WIN64 + #endif + +@@ -327,6 +327,8 @@ typedef ULONG_PTR KAFFINITY, *PKAFFINITY + # undef WORDS_BIGENDIAN + #elif defined(__s390__) + # define WORDS_BIGENDIAN ++#elif defined(__riscv) && (__riscv_xlen == 64) ++# undef WORDS_BIGENDIAN + #elif !defined(RC_INVOKED) && !defined(__WIDL__) && !defined(__midl) + # error Unknown CPU architecture! + #endif +diff -rupN --no-dereference mingw-w64-v11.0.0/mingw-w64-tools/widl/include/winnt.h mingw-w64-v11.0.0-new/mingw-w64-tools/widl/include/winnt.h +--- mingw-w64-v11.0.0/mingw-w64-tools/widl/include/winnt.h 2023-04-30 18:49:11.974859773 +0200 ++++ mingw-w64-v11.0.0-new/mingw-w64-tools/widl/include/winnt.h 2023-04-30 18:49:11.981859769 +0200 +@@ -1809,6 +1809,36 @@ typedef struct _CONTEXT + + #endif /* __PPC64__ */ + ++#if (defined(__riscv) && (__riscv_xlen == 64)) ++ ++/* ++ * FIXME: ++ * ++ * There is no official CONTEXT structure defined for the riscv64 ++ * architecture, so I just made one up, too. ++ * ++ * This structure is completely dummy, made just to build widl. ++ * ++ */ ++ ++#define CONTEXT_RISCV64 0x10000000 ++ ++#define CONTEXT_CONTROL (CONTEXT_RISCV64 | 0x00000001) ++#define CONTEXT_FLOATING_POINT (CONTEXT_RISCV64 | 0x00000002) ++#define CONTEXT_INTEGER (CONTEXT_RISCV64 | 0x00000004) ++ ++#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER) ++ ++#define EXCEPTION_READ_FAULT 0 ++#define EXCEPTION_WRITE_FAULT 1 ++#define EXCEPTION_EXECUTE_FAULT 8 ++ ++typedef struct _CONTEXT ++{ ++} CONTEXT, *PCONTEXT; ++ ++#endif /* __riscv64 */ ++ + #if !defined(CONTEXT_FULL) && !defined(RC_INVOKED) + #error You need to define a CONTEXT for your CPU + #endif +diff -rupN --no-dereference mingw-w64-v11.0.0/mingw-w64-tools/widl/tools.h mingw-w64-v11.0.0-new/mingw-w64-tools/widl/tools.h +--- mingw-w64-v11.0.0/mingw-w64-tools/widl/tools.h 2023-04-30 18:49:11.975859773 +0200 ++++ mingw-w64-v11.0.0-new/mingw-w64-tools/widl/tools.h 2023-04-30 18:49:11.981859769 +0200 +@@ -88,7 +88,7 @@ + + struct target + { +- enum { CPU_i386, CPU_x86_64, CPU_ARM, CPU_ARM64, CPU_S390X, CPU_PPC64 } cpu; ++ enum { CPU_i386, CPU_x86_64, CPU_ARM, CPU_ARM64, CPU_S390X, CPU_PPC64, CPU_RISCV64 } cpu; + + enum + { +@@ -453,6 +453,8 @@ static inline struct target get_default_ + target.cpu = CPU_S390X; + #elif defined(__PPC64__) + target.cpu = CPU_PPC64; ++#elif (defined(__riscv) && (__riscv_xlen == 64)) ++ target.cpu = CPU_RISCV64; + #else + #error Unsupported CPU + #endif +@@ -489,6 +491,7 @@ static inline unsigned int get_target_pt + [CPU_ARM64] = 8, + [CPU_S390X] = 8, + [CPU_PPC64] = 8, ++ [CPU_RISCV64] = 8, + }; + return sizes[target.cpu]; + } +@@ -533,7 +536,8 @@ static inline int get_cpu_from_name( con + { "arm64", CPU_ARM64 }, + { "arm", CPU_ARM }, + { "s390x", CPU_S390X }, +- { "ppc64", CPU_PPC64 } ++ { "ppc64", CPU_PPC64 }, ++ { "riscv64", CPU_RISCV64 } + }; + unsigned int i; + +@@ -582,6 +586,7 @@ static inline const char *get_arch_dir( + [CPU_ARM64] = "aarch64", + [CPU_S390X] = "s390x", + [CPU_PPC64] = "ppc64", ++ [CPU_RISCV64]= "riscv64" + }; + + if (!cpu_names[target.cpu]) return ""; diff --git a/SOURCES/mingw-w64-tools-s390x-ppc66le.patch b/SOURCES/mingw-w64-tools-s390x-ppc66le.patch index c97c38f..715bac7 100644 --- a/SOURCES/mingw-w64-tools-s390x-ppc66le.patch +++ b/SOURCES/mingw-w64-tools-s390x-ppc66le.patch @@ -1,6 +1,6 @@ -diff -rupN mingw-w64-v10.0.0/mingw-w64-tools/widl/include/basetsd.h mingw-w64-v10.0.0-new/mingw-w64-tools/widl/include/basetsd.h ---- mingw-w64-v10.0.0/mingw-w64-tools/widl/include/basetsd.h 2022-04-03 17:08:58.000000000 +0200 -+++ mingw-w64-v10.0.0-new/mingw-w64-tools/widl/include/basetsd.h 2022-04-27 15:04:23.665492767 +0200 +diff -rupN --no-dereference mingw-w64-v11.0.0/mingw-w64-tools/widl/include/basetsd.h mingw-w64-v11.0.0-new/mingw-w64-tools/widl/include/basetsd.h +--- mingw-w64-v11.0.0/mingw-w64-tools/widl/include/basetsd.h 2023-04-27 17:12:39.000000000 +0200 ++++ mingw-w64-v11.0.0-new/mingw-w64-tools/widl/include/basetsd.h 2023-04-30 18:49:11.600860037 +0200 @@ -36,7 +36,7 @@ extern "C" { * 64-bit. */ @@ -10,7 +10,7 @@ diff -rupN mingw-w64-v10.0.0/mingw-w64-tools/widl/include/basetsd.h mingw-w64-v1 #define _WIN64 #endif -@@ -295,6 +295,8 @@ typedef ULONG_PTR KAFFINITY, *PKAFFINITY +@@ -325,6 +325,8 @@ typedef ULONG_PTR KAFFINITY, *PKAFFINITY # define WORDS_BIGENDIAN #elif defined(__MIPSEL__) # undef WORDS_BIGENDIAN @@ -19,10 +19,10 @@ diff -rupN mingw-w64-v10.0.0/mingw-w64-tools/widl/include/basetsd.h mingw-w64-v1 #elif !defined(RC_INVOKED) && !defined(__WIDL__) && !defined(__midl) # error Unknown CPU architecture! #endif -diff -rupN mingw-w64-v10.0.0/mingw-w64-tools/widl/include/winnt.h mingw-w64-v10.0.0-new/mingw-w64-tools/widl/include/winnt.h ---- mingw-w64-v10.0.0/mingw-w64-tools/widl/include/winnt.h 2022-04-03 17:08:58.000000000 +0200 -+++ mingw-w64-v10.0.0-new/mingw-w64-tools/widl/include/winnt.h 2022-04-27 17:04:51.719200013 +0200 -@@ -1651,6 +1651,66 @@ typedef struct _KNONVOLATILE_CONTEXT_POI +diff -rupN --no-dereference mingw-w64-v11.0.0/mingw-w64-tools/widl/include/winnt.h mingw-w64-v11.0.0-new/mingw-w64-tools/widl/include/winnt.h +--- mingw-w64-v11.0.0/mingw-w64-tools/widl/include/winnt.h 2023-04-27 17:12:39.000000000 +0200 ++++ mingw-w64-v11.0.0-new/mingw-w64-tools/widl/include/winnt.h 2023-04-30 18:49:11.601860036 +0200 +@@ -1749,6 +1749,66 @@ typedef struct _KNONVOLATILE_CONTEXT_POI #endif /* __aarch64__ */ @@ -89,10 +89,10 @@ diff -rupN mingw-w64-v10.0.0/mingw-w64-tools/widl/include/winnt.h mingw-w64-v10. #if !defined(CONTEXT_FULL) && !defined(RC_INVOKED) #error You need to define a CONTEXT for your CPU #endif -diff -rupN mingw-w64-v10.0.0/mingw-w64-tools/widl/tools.h mingw-w64-v10.0.0-new/mingw-w64-tools/widl/tools.h ---- mingw-w64-v10.0.0/mingw-w64-tools/widl/tools.h 2022-04-03 17:08:58.000000000 +0200 -+++ mingw-w64-v10.0.0-new/mingw-w64-tools/widl/tools.h 2022-04-27 16:55:48.675315988 +0200 -@@ -79,7 +79,7 @@ +diff -rupN --no-dereference mingw-w64-v11.0.0/mingw-w64-tools/widl/tools.h mingw-w64-v11.0.0-new/mingw-w64-tools/widl/tools.h +--- mingw-w64-v11.0.0/mingw-w64-tools/widl/tools.h 2023-04-27 17:12:39.000000000 +0200 ++++ mingw-w64-v11.0.0-new/mingw-w64-tools/widl/tools.h 2023-04-30 18:49:11.601860036 +0200 +@@ -88,7 +88,7 @@ struct target { @@ -101,7 +101,7 @@ diff -rupN mingw-w64-v10.0.0/mingw-w64-tools/widl/tools.h mingw-w64-v10.0.0-new/ enum { -@@ -383,6 +383,10 @@ static inline struct target get_default_ +@@ -449,6 +449,10 @@ static inline struct target get_default_ target.cpu = CPU_ARM; #elif defined(__aarch64__) target.cpu = CPU_ARM64; @@ -112,7 +112,7 @@ diff -rupN mingw-w64-v10.0.0/mingw-w64-tools/widl/tools.h mingw-w64-v10.0.0-new/ #else #error Unsupported CPU #endif -@@ -417,6 +421,8 @@ static inline unsigned int get_target_pt +@@ -483,6 +487,8 @@ static inline unsigned int get_target_pt [CPU_x86_64] = 8, [CPU_ARM] = 4, [CPU_ARM64] = 8, @@ -121,7 +121,7 @@ diff -rupN mingw-w64-v10.0.0/mingw-w64-tools/widl/tools.h mingw-w64-v10.0.0-new/ }; return sizes[target.cpu]; } -@@ -460,6 +466,8 @@ static inline int get_cpu_from_name( con +@@ -526,6 +532,8 @@ static inline int get_cpu_from_name( con { "aarch64", CPU_ARM64 }, { "arm64", CPU_ARM64 }, { "arm", CPU_ARM }, @@ -130,7 +130,7 @@ diff -rupN mingw-w64-v10.0.0/mingw-w64-tools/widl/tools.h mingw-w64-v10.0.0-new/ }; unsigned int i; -@@ -505,7 +513,9 @@ static inline const char *get_arch_dir( +@@ -571,7 +579,9 @@ static inline const char *get_arch_dir( [CPU_i386] = "i386", [CPU_x86_64] = "x86_64", [CPU_ARM] = "arm", diff --git a/SPECS/mingw-w64-tools.spec b/SPECS/mingw-w64-tools.spec index aadd681..db44945 100644 --- a/SPECS/mingw-w64-tools.spec +++ b/SPECS/mingw-w64-tools.spec @@ -4,15 +4,17 @@ #%%global branch trunk Name: mingw-w64-tools -Version: 10.0.0 +Version: 11.0.0 Release: 2%{?dist} Summary: Supplementary tools which are part of the mingw-w64 toolchain # Fix build on s390x and ppc64le Patch0: mingw-w64-tools-s390x-ppc66le.patch +# Fix build on riscv64, this patch can only be applied after mingw-w64-tools-s390x-ppc66le.patch +Patch1: mingw-w64-tools-riscv64-on-s390x-ppc66le.patch # http://sourceforge.net/mailarchive/forum.php?thread_name=5157C0FC.1010309%40users.sourceforge.net&forum_name=mingw-w64-public # The tools gendef and genidl are GPLv3+, widl is LGPLv2+ -License: GPLv3+ and LGPLv2+ +License: GPL-3.0-or-later AND LGPL-2.0-or-later URL: http://mingw-w64.sourceforge.net/ %if 0%{?snapshot_date} @@ -106,6 +108,19 @@ popd %changelog +* Mon Aug 7 2023 Konstantin Kostiuk - 11.0.0-2 +- Update license to SPDX format +- Resolves: RHEL-1045 + +* Sun Apr 30 2023 Sandro Mani - 11.0.0-1 +- Update to 11.0.0 + +* Sun Feb 05 2023 Nianqing Yao - 10.0.0-4 +- Fix build on riscv64. + +* Thu Jan 19 2023 Fedora Release Engineering - 10.0.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Thu Jul 21 2022 Fedora Release Engineering - 10.0.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild