Rebase to Fedora Rawhide (For RHEL 9.6)

Update to 12.0.0

last_sync: e95da6432c264f13ebbdd9ded0fbe506f5f612b8
resolves: RHEL-73327
side-tag: c9s-build-side-3708-stack-gate
This commit is contained in:
Miroslav Rezanina 2025-01-13 09:00:09 +01:00
parent 01202e8a4c
commit 06c27fd380
8 changed files with 586 additions and 258 deletions

1
.gitignore vendored
View File

@ -16,3 +16,4 @@
/mingw-w64-v10.0.0.tar.bz2
/mingw-w64-v11.0.0.tar.bz2
/mingw-w64-v11.0.1.tar.bz2
/mingw-w64-v12.0.0.tar.bz2

View File

@ -1,108 +0,0 @@
diff -rupN --no-dereference mingw-w64-v11.0.1/mingw-w64-tools/widl/include/basetsd.h mingw-w64-v11.0.1-new/mingw-w64-tools/widl/include/basetsd.h
--- mingw-w64-v11.0.1/mingw-w64-tools/widl/include/basetsd.h 2023-08-17 12:36:09.565149909 +0200
+++ mingw-w64-v11.0.1-new/mingw-w64-tools/widl/include/basetsd.h 2023-08-17 12:36:09.572149926 +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.1/mingw-w64-tools/widl/include/winnt.h mingw-w64-v11.0.1-new/mingw-w64-tools/widl/include/winnt.h
--- mingw-w64-v11.0.1/mingw-w64-tools/widl/include/winnt.h 2023-08-17 12:36:09.567149914 +0200
+++ mingw-w64-v11.0.1-new/mingw-w64-tools/widl/include/winnt.h 2023-08-17 12:36:09.574149930 +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.1/mingw-w64-tools/widl/tools.h mingw-w64-v11.0.1-new/mingw-w64-tools/widl/tools.h
--- mingw-w64-v11.0.1/mingw-w64-tools/widl/tools.h 2023-08-17 12:36:09.568149916 +0200
+++ mingw-w64-v11.0.1-new/mingw-w64-tools/widl/tools.h 2023-08-17 12:36:09.574149930 +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,143 +0,0 @@
diff -rupN --no-dereference mingw-w64-v11.0.1/mingw-w64-tools/widl/include/basetsd.h mingw-w64-v11.0.1-new/mingw-w64-tools/widl/include/basetsd.h
--- mingw-w64-v11.0.1/mingw-w64-tools/widl/include/basetsd.h 2023-04-29 11:15:30.000000000 +0200
+++ mingw-w64-v11.0.1-new/mingw-w64-tools/widl/include/basetsd.h 2023-08-17 12:36:09.203149051 +0200
@@ -36,7 +36,7 @@ extern "C" {
* 64-bit.
*/
-#if (defined(__x86_64__) || defined(__powerpc64__) || defined(__aarch64__)) && !defined(_WIN64)
+#if (defined(__x86_64__) || defined(__powerpc64__) || defined(__aarch64__) || defined(__s390x__)) && !defined(_WIN64)
#define _WIN64
#endif
@@ -325,6 +325,8 @@ typedef ULONG_PTR KAFFINITY, *PKAFFINITY
# define WORDS_BIGENDIAN
#elif defined(__MIPSEL__)
# undef WORDS_BIGENDIAN
+#elif defined(__s390__)
+# define WORDS_BIGENDIAN
#elif !defined(RC_INVOKED) && !defined(__WIDL__) && !defined(__midl)
# error Unknown CPU architecture!
#endif
diff -rupN --no-dereference mingw-w64-v11.0.1/mingw-w64-tools/widl/include/winnt.h mingw-w64-v11.0.1-new/mingw-w64-tools/widl/include/winnt.h
--- mingw-w64-v11.0.1/mingw-w64-tools/widl/include/winnt.h 2023-04-29 11:15:30.000000000 +0200
+++ mingw-w64-v11.0.1-new/mingw-w64-tools/widl/include/winnt.h 2023-08-17 12:36:09.204149054 +0200
@@ -1749,6 +1749,66 @@ typedef struct _KNONVOLATILE_CONTEXT_POI
#endif /* __aarch64__ */
+#ifdef __s390x__
+
+/*
+ * FIXME:
+ *
+ * There is no official CONTEXT structure defined for the S/390
+ * architecture, so I just made one up.
+ *
+ * This structure is completely dummy, made just to build widl.
+ *
+ */
+
+#define CONTEXT_S390X 0x10000000
+
+#define CONTEXT_CONTROL (CONTEXT_S390X | 0x00000001)
+#define CONTEXT_FLOATING_POINT (CONTEXT_S390X | 0x00000002)
+#define CONTEXT_INTEGER (CONTEXT_S390X | 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 /* __s390x__ */
+
+#ifdef __PPC64__
+
+/*
+ * FIXME:
+ *
+ * There is no official CONTEXT structure defined for the PPC64
+ * architecture, so I just made one up.
+ *
+ * This structure is completely dummy, made just to build widl.
+ *
+ */
+
+#define CONTEXT_PPC64 0x10000000
+
+#define CONTEXT_CONTROL (CONTEXT_PPC64 | 0x00000001)
+#define CONTEXT_FLOATING_POINT (CONTEXT_PPC64 | 0x00000002)
+#define CONTEXT_INTEGER (CONTEXT_PPC64 | 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 /* __PPC64__ */
+
#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.1/mingw-w64-tools/widl/tools.h mingw-w64-v11.0.1-new/mingw-w64-tools/widl/tools.h
--- mingw-w64-v11.0.1/mingw-w64-tools/widl/tools.h 2023-04-29 11:15:30.000000000 +0200
+++ mingw-w64-v11.0.1-new/mingw-w64-tools/widl/tools.h 2023-08-17 12:36:09.204149054 +0200
@@ -88,7 +88,7 @@
struct target
{
- enum { CPU_i386, CPU_x86_64, CPU_ARM, CPU_ARM64 } cpu;
+ enum { CPU_i386, CPU_x86_64, CPU_ARM, CPU_ARM64, CPU_S390X, CPU_PPC64 } cpu;
enum
{
@@ -449,6 +449,10 @@ static inline struct target get_default_
target.cpu = CPU_ARM;
#elif defined(__aarch64__)
target.cpu = CPU_ARM64;
+#elif defined(__s390x__)
+ target.cpu = CPU_S390X;
+#elif defined(__PPC64__)
+ target.cpu = CPU_PPC64;
#else
#error Unsupported CPU
#endif
@@ -483,6 +487,8 @@ static inline unsigned int get_target_pt
[CPU_x86_64] = 8,
[CPU_ARM] = 4,
[CPU_ARM64] = 8,
+ [CPU_S390X] = 8,
+ [CPU_PPC64] = 8,
};
return sizes[target.cpu];
}
@@ -526,6 +532,8 @@ static inline int get_cpu_from_name( con
{ "aarch64", CPU_ARM64 },
{ "arm64", CPU_ARM64 },
{ "arm", CPU_ARM },
+ { "s390x", CPU_S390X },
+ { "ppc64", CPU_PPC64 }
};
unsigned int i;
@@ -571,7 +579,9 @@ static inline const char *get_arch_dir(
[CPU_i386] = "i386",
[CPU_x86_64] = "x86_64",
[CPU_ARM] = "arm",
- [CPU_ARM64] = "aarch64"
+ [CPU_ARM64] = "aarch64",
+ [CPU_S390X] = "s390x",
+ [CPU_PPC64] = "ppc64",
};
if (!cpu_names[target.cpu]) return "";

View File

@ -4,13 +4,16 @@
#%%global branch trunk
Name: mingw-w64-tools
Version: 11.0.1
Release: 3%{?dist}
Version: 12.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
# From Debian: Add missing CPU information (ia64, s390, s390x)
Patch0: widl-missing-cpu-info.patch
# From Debian: Drop unused platform-specific context definitions
Patch1: widl-no-context.patch
# From Debian: Don't error out on non-Windows CPUs
Patch2: widl-cpu.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+
@ -108,6 +111,12 @@ popd
%changelog
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 12.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Tue Jul 16 2024 Sandro Mani <manisandro@gmail.com> - 12.0.0-1
- Update to 12.0.0
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 11.0.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

View File

@ -1 +1 @@
SHA512 (mingw-w64-v11.0.1.tar.bz2) = 568702100bbbb11f7f9c9596dd70df3fb2577492459cf55da38691af1504b91127cb5f3eff268850dcbaa461fdc72e4e2379f7a576fd4a0e537ee1fe42531c01
SHA512 (mingw-w64-v12.0.0.tar.bz2) = 949b2bfab8763ab10ec4e9fdfdaf5361517a4ab787fb98ab419b38d02694061c2e821ebbf6e2e4b39d92bdf17419d116daa8e63afd9e01d11592f39df4da69d7

21
widl-cpu.patch Normal file
View File

@ -0,0 +1,21 @@
diff -rupN --no-dereference mingw-w64-v12.0.0/mingw-w64-tools/widl/tools.h mingw-w64-v12.0.0-new/mingw-w64-tools/widl/tools.h
--- mingw-w64-v12.0.0/mingw-w64-tools/widl/tools.h 2024-05-22 09:07:14.000000000 +0200
+++ mingw-w64-v12.0.0-new/mingw-w64-tools/widl/tools.h 2024-07-16 14:12:13.330779850 +0200
@@ -90,7 +90,7 @@ extern char **environ;
struct target
{
- enum { CPU_i386, CPU_x86_64, CPU_ARM, CPU_ARM64, CPU_ARM64EC } cpu;
+ enum { CPU_i386, CPU_x86_64, CPU_ARM, CPU_ARM64, CPU_ARM64EC, CPU_UNSPECIFIED } cpu;
enum
{
@@ -448,7 +448,7 @@ static inline struct target get_default_
#elif defined(__aarch64__)
target.cpu = CPU_ARM64;
#else
-#error Unsupported CPU
+ target.cpu = CPU_UNSPECIFIED;
#endif
#ifdef __APPLE__

View File

@ -0,0 +1,12 @@
diff -rupN --no-dereference mingw-w64-v12.0.0/mingw-w64-tools/widl/include/basetsd.h mingw-w64-v12.0.0-new/mingw-w64-tools/widl/include/basetsd.h
--- mingw-w64-v12.0.0/mingw-w64-tools/widl/include/basetsd.h 2024-05-22 09:07:14.000000000 +0200
+++ mingw-w64-v12.0.0-new/mingw-w64-tools/widl/include/basetsd.h 2024-07-16 14:12:12.551825573 +0200
@@ -36,7 +36,7 @@ extern "C" {
* 64-bit.
*/
-#if (defined(__x86_64__) || defined(__powerpc64__) || defined(__aarch64__)) && !defined(_WIN64)
+#if (defined(__x86_64__) || defined(__powerpc64__) || defined(__aarch64__) || defined(__sparc64__) || defined(__ia64__) || defined(__s390x__)) && !defined(_WIN64)
#define _WIN64
#endif

536
widl-no-context.patch Normal file
View File

@ -0,0 +1,536 @@
diff -rupN --no-dereference mingw-w64-v12.0.0/mingw-w64-tools/widl/include/winbase.h mingw-w64-v12.0.0-new/mingw-w64-tools/widl/include/winbase.h
--- mingw-w64-v12.0.0/mingw-w64-tools/widl/include/winbase.h 2024-05-22 09:07:14.000000000 +0200
+++ mingw-w64-v12.0.0-new/mingw-w64-tools/widl/include/winbase.h 2024-07-16 14:12:12.934803070 +0200
@@ -163,13 +163,6 @@ typedef struct _DEBUG_EVENT {
} u;
} DEBUG_EVENT, *LPDEBUG_EVENT;
-typedef PCONTEXT LPCONTEXT;
-typedef PEXCEPTION_RECORD LPEXCEPTION_RECORD;
-typedef PEXCEPTION_POINTERS LPEXCEPTION_POINTERS;
-
-typedef LONG (CALLBACK *PTOP_LEVEL_EXCEPTION_FILTER)(PEXCEPTION_POINTERS);
-typedef PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER;
-
#define OFS_MAXPATHNAME 128
typedef struct _OFSTRUCT
{
@@ -1813,7 +1806,6 @@ WINADVAPI BOOL WINAPI AddAuditAc
WINADVAPI BOOL WINAPI AddAuditAccessAceEx(PACL,DWORD,DWORD,DWORD,PSID,BOOL,BOOL);
WINADVAPI BOOL WINAPI AddMandatoryAce(PACL,DWORD,DWORD,DWORD,PSID);
WINBASEAPI VOID WINAPI AddRefActCtx(HANDLE);
-WINBASEAPI PVOID WINAPI AddVectoredExceptionHandler(ULONG,PVECTORED_EXCEPTION_HANDLER);
WINADVAPI BOOL WINAPI AdjustTokenGroups(HANDLE,BOOL,PTOKEN_GROUPS,DWORD,PTOKEN_GROUPS,PDWORD);
WINADVAPI BOOL WINAPI AccessCheck(PSECURITY_DESCRIPTOR,HANDLE,DWORD,PGENERIC_MAPPING,PPRIVILEGE_SET,LPDWORD,LPDWORD,LPBOOL);
WINADVAPI BOOL WINAPI AccessCheckAndAuditAlarmA(LPCSTR,LPVOID,LPSTR,LPSTR,PSECURITY_DESCRIPTOR,DWORD,PGENERIC_MAPPING,BOOL,LPDWORD,LPBOOL,LPBOOL);
@@ -1873,7 +1865,6 @@ WINBASEAPI BOOL WINAPI CommConfig
WINBASEAPI BOOL WINAPI ConnectNamedPipe(HANDLE,LPOVERLAPPED);
WINBASEAPI BOOL WINAPI ContinueDebugEvent(DWORD,DWORD,DWORD);
WINBASEAPI HANDLE WINAPI ConvertToGlobalHandle(HANDLE hSrc);
-WINBASEAPI BOOL WINAPI CopyContext(CONTEXT*, DWORD, CONTEXT*);
WINBASEAPI BOOL WINAPI CopyFileA(LPCSTR,LPCSTR,BOOL);
WINBASEAPI BOOL WINAPI CopyFileW(LPCWSTR,LPCWSTR,BOOL);
#define CopyFile WINELIB_NAME_AW(CopyFile)
@@ -2355,7 +2346,6 @@ WINBASEAPI UINT WINAPI GetTempFil
WINBASEAPI DWORD WINAPI GetTempPathA(DWORD,LPSTR);
WINBASEAPI DWORD WINAPI GetTempPathW(DWORD,LPWSTR);
#define GetTempPath WINELIB_NAME_AW(GetTempPath)
-WINBASEAPI BOOL WINAPI GetThreadContext(HANDLE,CONTEXT *);
WINBASEAPI DWORD WINAPI GetThreadErrorMode(void);
WINBASEAPI DWORD WINAPI GetThreadId(HANDLE);
WINBASEAPI BOOL WINAPI GetThreadIOPendingFlag(HANDLE,PBOOL);
@@ -2392,7 +2382,6 @@ WINBASEAPI UINT WINAPI GetWindows
WINBASEAPI UINT WINAPI GetWindowsDirectoryW(LPWSTR,UINT);
#define GetWindowsDirectory WINELIB_NAME_AW(GetWindowsDirectory)
WINBASEAPI UINT WINAPI GetWriteWatch(DWORD,LPVOID,SIZE_T,LPVOID*,ULONG_PTR*,ULONG*);
-WINBASEAPI BOOL WINAPI GetXStateFeaturesMask(CONTEXT*,DWORD64*);
WINBASEAPI ATOM WINAPI GlobalAddAtomA(LPCSTR);
WINBASEAPI ATOM WINAPI GlobalAddAtomW(LPCWSTR);
#define GlobalAddAtom WINELIB_NAME_AW(GlobalAddAtom)
@@ -2435,8 +2424,6 @@ WINBASEAPI BOOL WINAPI HeapWalk(H
WINBASEAPI BOOL WINAPI InitAtomTable(DWORD);
WINADVAPI BOOL WINAPI InitializeAcl(PACL,DWORD,DWORD);
WINBASEAPI VOID WINAPI InitializeConditionVariable(PCONDITION_VARIABLE);
-WINBASEAPI BOOL WINAPI InitializeContext(void *,DWORD,CONTEXT **,DWORD *);
-WINBASEAPI BOOL WINAPI InitializeContext2(void *,DWORD,CONTEXT **,DWORD *,ULONG64);
WINBASEAPI void WINAPI InitializeCriticalSection(CRITICAL_SECTION *lpCrit);
WINBASEAPI BOOL WINAPI InitializeCriticalSectionAndSpinCount(CRITICAL_SECTION *,DWORD);
WINBASEAPI BOOL WINAPI InitializeCriticalSectionEx(CRITICAL_SECTION *,DWORD,DWORD);
@@ -2496,7 +2483,6 @@ WINBASEAPI HLOCAL WINAPI LocalReAll
WINBASEAPI SIZE_T WINAPI LocalShrink(HGLOBAL,UINT);
WINBASEAPI SIZE_T WINAPI LocalSize(HLOCAL);
WINBASEAPI BOOL WINAPI LocalUnlock(HLOCAL);
-WINBASEAPI void * WINAPI LocateXStateFeature(CONTEXT *,DWORD,DWORD *);
WINBASEAPI LPVOID WINAPI LockResource(HGLOBAL);
#define LockSegment(handle) GlobalFix((HANDLE)(handle))
WINADVAPI BOOL WINAPI LookupAccountNameA(LPCSTR,LPCSTR,PSID,LPDWORD,LPSTR,LPDWORD,PSID_NAME_USE);
@@ -2741,7 +2727,6 @@ WINBASEAPI BOOL WINAPI SetSystemT
WINBASEAPI DWORD WINAPI SetTapeParameters(HANDLE,DWORD,LPVOID);
WINBASEAPI DWORD WINAPI SetTapePosition(HANDLE,DWORD,DWORD,DWORD,DWORD,BOOL);
WINBASEAPI DWORD_PTR WINAPI SetThreadAffinityMask(HANDLE,DWORD_PTR);
-WINBASEAPI BOOL WINAPI SetThreadContext(HANDLE,const CONTEXT *);
WINBASEAPI BOOL WINAPI SetThreadErrorMode(DWORD,LPDWORD);
WINBASEAPI DWORD WINAPI SetThreadExecutionState(EXECUTION_STATE);
WINBASEAPI DWORD WINAPI SetThreadIdealProcessor(HANDLE,DWORD);
@@ -2750,7 +2735,6 @@ WINBASEAPI BOOL WINAPI SetThreadP
WINADVAPI BOOL WINAPI SetThreadToken(PHANDLE,HANDLE);
WINBASEAPI HANDLE WINAPI SetTimerQueueTimer(HANDLE,WAITORTIMERCALLBACK,PVOID,DWORD,DWORD,BOOL);
WINADVAPI BOOL WINAPI SetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,LPVOID,DWORD);
-WINBASEAPI LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilter(LPTOP_LEVEL_EXCEPTION_FILTER);
WINBASEAPI BOOL WINAPI SetVolumeLabelA(LPCSTR,LPCSTR);
WINBASEAPI BOOL WINAPI SetVolumeLabelW(LPCWSTR,LPCWSTR);
#define SetVolumeLabel WINELIB_NAME_AW(SetVolumeLabel)
@@ -2760,7 +2744,6 @@ WINBASEAPI BOOL WINAPI SetVolumeM
WINBASEAPI BOOL WINAPI SetWaitableTimer(HANDLE,const LARGE_INTEGER*,LONG,PTIMERAPCROUTINE,LPVOID,BOOL);
WINBASEAPI BOOL WINAPI SetWaitableTimerEx(HANDLE,const LARGE_INTEGER*,LONG,PTIMERAPCROUTINE,LPVOID,REASON_CONTEXT*,ULONG);
WINBASEAPI BOOL WINAPI SetUmsThreadInformation(PUMS_CONTEXT,UMS_THREAD_INFO_CLASS,void *,ULONG);
-WINBASEAPI BOOL WINAPI SetXStateFeaturesMask(CONTEXT*, DWORD64);
WINBASEAPI BOOL WINAPI SetupComm(HANDLE,DWORD,DWORD);
WINBASEAPI DWORD WINAPI SignalObjectAndWait(HANDLE,HANDLE,DWORD,BOOL);
WINBASEAPI DWORD WINAPI SizeofResource(HMODULE,HRSRC);
@@ -2784,7 +2767,6 @@ WINBASEAPI BOOL WINAPI TransmitCo
WINBASEAPI BOOLEAN WINAPI TryAcquireSRWLockExclusive(PSRWLOCK);
WINBASEAPI BOOLEAN WINAPI TryAcquireSRWLockShared(PSRWLOCK);
WINBASEAPI BOOL WINAPI TryEnterCriticalSection(CRITICAL_SECTION *lpCrit);
-WINBASEAPI LONG WINAPI UnhandledExceptionFilter(PEXCEPTION_POINTERS);
WINBASEAPI BOOL WINAPI UnlockFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
WINBASEAPI BOOL WINAPI UnlockFileEx(HANDLE,DWORD,DWORD,DWORD,LPOVERLAPPED);
#define UnlockResource(handle) ((handle), 0)
diff -rupN --no-dereference mingw-w64-v12.0.0/mingw-w64-tools/widl/include/winnt.h mingw-w64-v12.0.0-new/mingw-w64-tools/widl/include/winnt.h
--- mingw-w64-v12.0.0/mingw-w64-tools/widl/include/winnt.h 2024-05-22 09:07:14.000000000 +0200
+++ mingw-w64-v12.0.0-new/mingw-w64-tools/widl/include/winnt.h 2024-07-16 14:12:12.935803011 +0200
@@ -1185,25 +1185,6 @@ typedef struct _I386_CONTEXT
#define CONTEXT_I386_FULL (CONTEXT_I386_CONTROL | CONTEXT_I386_INTEGER | CONTEXT_I386_SEGMENTS)
#define CONTEXT_I386_ALL (CONTEXT_I386_FULL | CONTEXT_I386_FLOATING_POINT | CONTEXT_I386_DEBUG_REGISTERS | CONTEXT_I386_EXTENDED_REGISTERS)
-#ifdef __i386__
-
-#define CONTEXT_CONTROL CONTEXT_I386_CONTROL
-#define CONTEXT_INTEGER CONTEXT_I386_INTEGER
-#define CONTEXT_SEGMENTS CONTEXT_I386_SEGMENTS
-#define CONTEXT_FLOATING_POINT CONTEXT_I386_FLOATING_POINT
-#define CONTEXT_DEBUG_REGISTERS CONTEXT_I386_DEBUG_REGISTERS
-#define CONTEXT_EXTENDED_REGISTERS CONTEXT_I386_EXTENDED_REGISTERS
-#define CONTEXT_XSTATE CONTEXT_I386_XSTATE
-#define CONTEXT_FULL CONTEXT_I386_FULL
-#define CONTEXT_ALL CONTEXT_I386_ALL
-#define SIZE_OF_80387_REGISTERS I386_SIZE_OF_80387_REGISTERS
-#define MAXIMUM_SUPPORTED_EXTENSION I386_MAXIMUM_SUPPORTED_EXTENSION
-
-typedef I386_FLOATING_SAVE_AREA FLOATING_SAVE_AREA, *PFLOATING_SAVE_AREA;
-typedef I386_CONTEXT CONTEXT, *PCONTEXT;
-
-#endif /* __i386__ */
-
typedef struct _LDT_ENTRY {
WORD LimitLow;
WORD BaseLow;
@@ -1374,74 +1355,6 @@ typedef struct DECLSPEC_ALIGN(16) _AMD64
DWORD64 LastExceptionFromRip; /* 4c8 */
} AMD64_CONTEXT;
-#ifdef __x86_64__
-
-#define CONTEXT_CONTROL CONTEXT_AMD64_CONTROL
-#define CONTEXT_INTEGER CONTEXT_AMD64_INTEGER
-#define CONTEXT_SEGMENTS CONTEXT_AMD64_SEGMENTS
-#define CONTEXT_FLOATING_POINT CONTEXT_AMD64_FLOATING_POINT
-#define CONTEXT_DEBUG_REGISTERS CONTEXT_AMD64_DEBUG_REGISTERS
-#define CONTEXT_XSTATE CONTEXT_AMD64_XSTATE
-#define CONTEXT_FULL CONTEXT_AMD64_FULL
-#define CONTEXT_ALL CONTEXT_AMD64_ALL
-
-typedef AMD64_CONTEXT CONTEXT, *PCONTEXT;
-typedef IMAGE_AMD64_RUNTIME_FUNCTION_ENTRY RUNTIME_FUNCTION, *PRUNTIME_FUNCTION;
-typedef SCOPE_TABLE_AMD64 SCOPE_TABLE, *PSCOPE_TABLE;
-
-typedef struct _KNONVOLATILE_CONTEXT_POINTERS
-{
- union
- {
- PM128A FloatingContext[16];
- struct
- {
- PM128A Xmm0;
- PM128A Xmm1;
- PM128A Xmm2;
- PM128A Xmm3;
- PM128A Xmm4;
- PM128A Xmm5;
- PM128A Xmm6;
- PM128A Xmm7;
- PM128A Xmm8;
- PM128A Xmm9;
- PM128A Xmm10;
- PM128A Xmm11;
- PM128A Xmm12;
- PM128A Xmm13;
- PM128A Xmm14;
- PM128A Xmm15;
- } DUMMYSTRUCTNAME;
- } DUMMYUNIONNAME;
-
- union
- {
- PULONG64 IntegerContext[16];
- struct
- {
- PULONG64 Rax;
- PULONG64 Rcx;
- PULONG64 Rdx;
- PULONG64 Rbx;
- PULONG64 Rsp;
- PULONG64 Rbp;
- PULONG64 Rsi;
- PULONG64 Rdi;
- PULONG64 R8;
- PULONG64 R9;
- PULONG64 R10;
- PULONG64 R11;
- PULONG64 R12;
- PULONG64 R13;
- PULONG64 R14;
- PULONG64 R15;
- } DUMMYSTRUCTNAME;
- } DUMMYUNIONNAME2;
-} KNONVOLATILE_CONTEXT_POINTERS, *PKNONVOLATILE_CONTEXT_POINTERS;
-
-#endif /* __x86_64__ */
-
#define XSTATE_LEGACY_FLOATING_POINT 0
#define XSTATE_LEGACY_SSE 1
#define XSTATE_GSSE 2
@@ -1628,43 +1541,6 @@ typedef struct _ARM_CONTEXT
ULONG Padding2[2]; /* 198 */
} ARM_CONTEXT;
-#ifdef __arm__
-
-#define CONTEXT_CONTROL CONTEXT_ARM_CONTROL
-#define CONTEXT_INTEGER CONTEXT_ARM_INTEGER
-#define CONTEXT_FLOATING_POINT CONTEXT_ARM_FLOATING_POINT
-#define CONTEXT_DEBUG_REGISTERS CONTEXT_ARM_DEBUG_REGISTERS
-#define CONTEXT_FULL CONTEXT_ARM_FULL
-#define CONTEXT_ALL CONTEXT_ARM_ALL
-
-typedef IMAGE_ARM_RUNTIME_FUNCTION_ENTRY RUNTIME_FUNCTION, *PRUNTIME_FUNCTION;
-typedef SCOPE_TABLE_ARM SCOPE_TABLE, *PSCOPE_TABLE;
-typedef ARM_NEON128 NEON128, *PNEON128;
-typedef ARM_CONTEXT CONTEXT, *PCONTEXT;
-
-typedef struct _KNONVOLATILE_CONTEXT_POINTERS
-{
- PDWORD R4;
- PDWORD R5;
- PDWORD R6;
- PDWORD R7;
- PDWORD R8;
- PDWORD R9;
- PDWORD R10;
- PDWORD R11;
- PDWORD Lr;
- PULONGLONG D8;
- PULONGLONG D9;
- PULONGLONG D10;
- PULONGLONG D11;
- PULONGLONG D12;
- PULONGLONG D13;
- PULONGLONG D14;
- PULONGLONG D15;
-} KNONVOLATILE_CONTEXT_POINTERS, *PKNONVOLATILE_CONTEXT_POINTERS;
-
-#endif /* __arm__ */
-
#define CONTEXT_ARM64 0x400000
#define CONTEXT_ARM64_CONTROL (CONTEXT_ARM64 | 0x00000001)
#define CONTEXT_ARM64_INTEGER (CONTEXT_ARM64 | 0x00000002)
@@ -1944,30 +1820,6 @@ typedef struct DECLSPEC_ALIGN(16) _ARM64
} DUMMYUNIONNAME;
} ARM64EC_NT_CONTEXT, *PARM64EC_NT_CONTEXT;
-#ifdef __aarch64__
-
-#define CONTEXT_CONTROL CONTEXT_ARM64_CONTROL
-#define CONTEXT_INTEGER CONTEXT_ARM64_INTEGER
-#define CONTEXT_FLOATING_POINT CONTEXT_ARM64_FLOATING_POINT
-#define CONTEXT_DEBUG_REGISTERS CONTEXT_ARM64_DEBUG_REGISTERS
-#define CONTEXT_FULL CONTEXT_ARM64_FULL
-#define CONTEXT_ALL CONTEXT_ARM64_ALL
-#define CONTEXT_RET_TO_GUEST CONTEXT_ARM64_RET_TO_GUEST
-
-typedef IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY RUNTIME_FUNCTION, *PRUNTIME_FUNCTION;
-typedef SCOPE_TABLE_ARM64 SCOPE_TABLE, *PSCOPE_TABLE;
-typedef KNONVOLATILE_CONTEXT_POINTERS_ARM64 KNONVOLATILE_CONTEXT_POINTERS, *PKNONVOLATILE_CONTEXT_POINTERS;
-typedef ARM64_NT_NEON128 NEON128, *PNEON128;
-typedef ARM64_NT_CONTEXT CONTEXT, *PCONTEXT;
-
-#define _DISPATCHER_CONTEXT_ARM64 _DISPATCHER_CONTEXT
-
-#endif /* __aarch64__ */
-
-#if !defined(CONTEXT_FULL) && !defined(RC_INVOKED)
-#error You need to define a CONTEXT for your CPU
-#endif
-
#define WOW64_CONTEXT_i386 0x00010000
#define WOW64_CONTEXT_i486 0x00010000
#define WOW64_CONTEXT_CONTROL (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000001))
@@ -1999,130 +1851,6 @@ typedef ARM64_NT_CONTEXT CONTEXT, *PCONT
struct _EXCEPTION_POINTERS;
struct _EXCEPTION_RECORD;
-typedef EXCEPTION_DISPOSITION WINAPI EXCEPTION_ROUTINE(struct _EXCEPTION_RECORD*,PVOID,CONTEXT*,PVOID);
-typedef EXCEPTION_ROUTINE *PEXCEPTION_ROUTINE;
-
-typedef struct _DISPATCHER_CONTEXT_ARM64
-{
- ULONG_PTR ControlPc;
- ULONG_PTR ImageBase;
- PARM64_RUNTIME_FUNCTION FunctionEntry;
- ULONG_PTR EstablisherFrame;
- ULONG_PTR TargetPc;
- PARM64_NT_CONTEXT ContextRecord;
- PEXCEPTION_ROUTINE LanguageHandler;
- PVOID HandlerData;
- struct _UNWIND_HISTORY_TABLE *HistoryTable;
- DWORD ScopeIndex;
- BOOLEAN ControlPcIsUnwound;
- PBYTE NonVolatileRegisters;
-} DISPATCHER_CONTEXT_ARM64, *PDISPATCHER_CONTEXT_ARM64;
-
-#define NONVOL_INT_NUMREG_ARM64 11
-#define NONVOL_FP_NUMREG_ARM64 8
-
-#define NONVOL_INT_SIZE_ARM64 (NONVOL_INT_NUMREG_ARM64 * sizeof(DWORD64))
-#define NONVOL_FP_SIZE_ARM64 (NONVOL_FP_NUMREG_ARM64 * sizeof(double))
-
-typedef union _DISPATCHER_CONTEXT_NONVOLREG_ARM64
-{
- BYTE Buffer[NONVOL_INT_SIZE_ARM64 + NONVOL_FP_SIZE_ARM64];
- struct
- {
- DWORD64 GpNvRegs[NONVOL_INT_NUMREG_ARM64];
- double FpNvRegs[NONVOL_FP_NUMREG_ARM64];
- } DUMMYSTRUCTNAME;
-} DISPATCHER_CONTEXT_NONVOLREG_ARM64;
-
-#ifdef __x86_64__
-
-typedef struct _DISPATCHER_CONTEXT
-{
- ULONG64 ControlPc;
- ULONG64 ImageBase;
- PRUNTIME_FUNCTION FunctionEntry;
- ULONG64 EstablisherFrame;
- ULONG64 TargetIp;
- PCONTEXT ContextRecord;
- PEXCEPTION_ROUTINE LanguageHandler;
- PVOID HandlerData;
- struct _UNWIND_HISTORY_TABLE *HistoryTable;
- DWORD ScopeIndex;
- DWORD Fill0;
-} DISPATCHER_CONTEXT, *PDISPATCHER_CONTEXT;
-
-#ifdef __arm64ec__
-
-typedef struct _DISPATCHER_CONTEXT_ARM64EC
-{
- ULONG64 ControlPc;
- ULONG64 ImageBase;
- PRUNTIME_FUNCTION FunctionEntry;
- ULONG64 EstablisherFrame;
- union
- {
- ULONG64 TargetIp;
- ULONG64 TargetPc;
- } DUMMYUNIONNAME;
- PCONTEXT ContextRecord;
- PEXCEPTION_ROUTINE LanguageHandler;
- PVOID HandlerData;
- struct _UNWIND_HISTORY_TABLE *HistoryTable;
- DWORD ScopeIndex;
- BOOLEAN ControlPcIsUnwound;
- PBYTE NonVolatileRegisters;
-} DISPATCHER_CONTEXT_ARM64EC, *PDISPATCHER_CONTEXT_ARM64EC;
-
-#endif
-
-typedef LONG (CALLBACK *PEXCEPTION_FILTER)(struct _EXCEPTION_POINTERS*,PVOID);
-typedef void (CALLBACK *PTERMINATION_HANDLER)(BOOLEAN,PVOID);
-
-#define UNW_FLAG_NHANDLER 0
-#define UNW_FLAG_EHANDLER 1
-#define UNW_FLAG_UHANDLER 2
-#define UNW_FLAG_CHAININFO 4
-
-#elif defined(__arm__)
-
-typedef struct _DISPATCHER_CONTEXT
-{
- DWORD ControlPc;
- DWORD ImageBase;
- PRUNTIME_FUNCTION FunctionEntry;
- DWORD EstablisherFrame;
- DWORD TargetPc;
- PCONTEXT ContextRecord;
- PEXCEPTION_ROUTINE LanguageHandler;
- PVOID HandlerData;
- struct _UNWIND_HISTORY_TABLE *HistoryTable;
- DWORD ScopeIndex;
- BOOLEAN ControlPcIsUnwound;
- PBYTE NonVolatileRegisters;
- DWORD Reserved;
-} DISPATCHER_CONTEXT, *PDISPATCHER_CONTEXT;
-
-typedef LONG (CALLBACK *PEXCEPTION_FILTER)(struct _EXCEPTION_POINTERS*,DWORD);
-typedef void (CALLBACK *PTERMINATION_HANDLER)(BOOLEAN,DWORD);
-
-#define UNW_FLAG_NHANDLER 0
-#define UNW_FLAG_EHANDLER 1
-#define UNW_FLAG_UHANDLER 2
-
-#elif defined(__aarch64__)
-
-#undef _DISPATCHER_CONTEXT_ARM64
-typedef DISPATCHER_CONTEXT_ARM64 DISPATCHER_CONTEXT, *PDISPATCHER_CONTEXT;
-
-typedef LONG (CALLBACK *PEXCEPTION_FILTER)(struct _EXCEPTION_POINTERS*,DWORD64);
-typedef void (CALLBACK *PTERMINATION_HANDLER)(BOOLEAN,DWORD64);
-
-#define UNW_FLAG_NHANDLER 0
-#define UNW_FLAG_EHANDLER 1
-#define UNW_FLAG_UHANDLER 2
-
-#endif /* __aarch64__ */
-
/*
* Product types
*/
@@ -2371,127 +2099,6 @@ typedef struct _EXCEPTION_RECORD64
DWORD64 ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];
} EXCEPTION_RECORD64, *PEXCEPTION_RECORD64;
-/*
- * The exception pointers structure passed to exception filters
- * in except() and the UnhandledExceptionFilter().
- */
-
-typedef struct _EXCEPTION_POINTERS
-{
- PEXCEPTION_RECORD ExceptionRecord;
- PCONTEXT ContextRecord;
-} EXCEPTION_POINTERS, *PEXCEPTION_POINTERS;
-
-
-/*
- * The exception frame, used for registering exception handlers
- * Win32 cares only about this, but compilers generally emit
- * larger exception frames for their own use.
- */
-
-struct _EXCEPTION_REGISTRATION_RECORD;
-
-typedef DWORD (CDECL *PEXCEPTION_HANDLER)(PEXCEPTION_RECORD,struct _EXCEPTION_REGISTRATION_RECORD*,
- PCONTEXT,struct _EXCEPTION_REGISTRATION_RECORD **);
-
-typedef struct _EXCEPTION_REGISTRATION_RECORD
-{
- struct _EXCEPTION_REGISTRATION_RECORD *Prev;
- PEXCEPTION_HANDLER Handler;
-} EXCEPTION_REGISTRATION_RECORD;
-
-/*
- * function pointer to an exception filter
- */
-
-typedef LONG (CALLBACK *PVECTORED_EXCEPTION_HANDLER)(PEXCEPTION_POINTERS ExceptionInfo);
-
-typedef struct _NT_TIB
-{
- struct _EXCEPTION_REGISTRATION_RECORD *ExceptionList;
- PVOID StackBase;
- PVOID StackLimit;
- PVOID SubSystemTib;
- union {
- PVOID FiberData;
- DWORD Version;
- } DUMMYUNIONNAME;
- PVOID ArbitraryUserPointer;
- struct _NT_TIB *Self;
-} NT_TIB, *PNT_TIB;
-
-struct _TEB;
-
-#ifdef WINE_UNIX_LIB
-# ifdef __GNUC__
-NTSYSAPI struct _TEB * WINAPI NtCurrentTeb(void) __attribute__((pure));
-# else
-NTSYSAPI struct _TEB * WINAPI NtCurrentTeb(void);
-# endif
-#elif defined(__i386__) && defined(__GNUC__)
-static FORCEINLINE struct _TEB * WINAPI NtCurrentTeb(void)
-{
- struct _TEB *teb;
- __asm__(".byte 0x64\n\tmovl (0x18),%0" : "=r" (teb));
- return teb;
-}
-#elif defined(__i386__) && defined(_MSC_VER)
-static FORCEINLINE struct _TEB * WINAPI NtCurrentTeb(void)
-{
- struct _TEB *teb;
- __asm mov eax, fs:[0x18];
- __asm mov teb, eax;
- return teb;
-}
-#elif (defined(__aarch64__) || defined(__arm64ec__)) && defined(__GNUC__)
-register struct _TEB *__wine_current_teb __asm__("x18");
-static FORCEINLINE struct _TEB * WINAPI NtCurrentTeb(void)
-{
- return __wine_current_teb;
-}
-#elif (defined(__aarch64__) || defined(__arm64ec__)) && defined(_MSC_VER)
-static FORCEINLINE struct _TEB * WINAPI NtCurrentTeb(void)
-{
- return (struct _TEB *)__getReg(18);
-}
-#elif defined(__x86_64__) && defined(__GNUC__)
-static FORCEINLINE struct _TEB * WINAPI NtCurrentTeb(void)
-{
- struct _TEB *teb;
- __asm__(".byte 0x65\n\tmovq (0x30),%0" : "=r" (teb));
- return teb;
-}
-#elif defined(__x86_64__) && defined(_MSC_VER)
-unsigned __int64 __readgsqword(unsigned long);
-#pragma intrinsic(__readgsqword)
-static FORCEINLINE struct _TEB * WINAPI NtCurrentTeb(void)
-{
- return (struct _TEB *)__readgsqword(FIELD_OFFSET(NT_TIB, Self));
-}
-#elif defined(__arm__) && defined(__GNUC__)
-static FORCEINLINE struct _TEB * WINAPI NtCurrentTeb(void)
-{
- struct _TEB *teb;
- __asm__("mrc p15, 0, %0, c13, c0, 2" : "=r" (teb));
- return teb;
-}
-#elif defined(__arm__) && defined(_MSC_VER)
-#pragma intrinsic(_MoveFromCoprocessor)
-static FORCEINLINE struct _TEB * WINAPI NtCurrentTeb(void)
-{
- return (struct _TEB *)(ULONG_PTR)_MoveFromCoprocessor(15, 0, 13, 0, 2);
-}
-#elif !defined(RC_INVOKED)
-# error You must define NtCurrentTeb() for your architecture
-#endif
-
-#ifdef NONAMELESSUNION
-#define GetCurrentFiber() (((NT_TIB *)NtCurrentTeb())->u.FiberData)
-#else
-#define GetCurrentFiber() (((NT_TIB *)NtCurrentTeb())->FiberData)
-#endif
-#define GetFiberData() (*(void **)GetCurrentFiber())
-
#define TLS_MINIMUM_AVAILABLE 64
#define MAXIMUM_REPARSE_DATA_BUFFER_SIZE (16 * 1024)