parent
d4b1972139
commit
8b310b8b6d
@ -1 +1 @@
|
||||
SOURCES/mingw-w64-v10.0.0.tar.bz2
|
||||
SOURCES/mingw-w64-v11.0.0.tar.bz2
|
||||
|
@ -1 +1 @@
|
||||
56143558d81dae7628a232ca7582b947e65392b1 SOURCES/mingw-w64-v10.0.0.tar.bz2
|
||||
a6902ac07d4704d76bb3890713bb1c3d46e4dc89 SOURCES/mingw-w64-v11.0.0.tar.bz2
|
||||
|
@ -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 "";
|
Loading…
Reference in new issue