import CS mingw-w64-tools-11.0.0-2.el9

This commit is contained in:
eabdullin 2023-09-21 19:33:28 +00:00
parent dcdeb63ad7
commit fe0d074e00
5 changed files with 143 additions and 20 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/mingw-w64-v10.0.0.tar.bz2
SOURCES/mingw-w64-v11.0.0.tar.bz2

View File

@ -1 +1 @@
56143558d81dae7628a232ca7582b947e65392b1 SOURCES/mingw-w64-v10.0.0.tar.bz2
a6902ac07d4704d76bb3890713bb1c3d46e4dc89 SOURCES/mingw-w64-v11.0.0.tar.bz2

View File

@ -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 "";

View File

@ -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",

View File

@ -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 <kkostiuk@redhat.com> - 11.0.0-2
- Update license to SPDX format
- Resolves: RHEL-1045
* Sun Apr 30 2023 Sandro Mani <manisandro@gmail.com> - 11.0.0-1
- Update to 11.0.0
* Sun Feb 05 2023 Nianqing Yao <imbearchild@outlook.com> - 10.0.0-4
- Fix build on riscv64.
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 10.0.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 10.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild