On Mon, 6 Jan 2025, Jacek Caban wrote:
This is necessary to accommodate ARM64EC, under which CONTEXT refers to the
X86_64 context structure but the regular ARM64 context structure is still
exposed as ARM64_NT_CONTEXT.
Based on patch by Billy Laws.
Signed-off-by: Jacek Caban <ja...@codeweavers.com>
---
mingw-w64-headers/include/winnt.h | 98 +++++++++++++++++++++----------
1 file changed, 68 insertions(+), 30 deletions(-)
In addititon to exposing the existing things, this also adds a few new
things:
+#define CONTEXT_ARM64_X18 (CONTEXT_ARM64 | 0x00000010)
+#define CONTEXT_ARM64_UNWOUND_TO_CALL 0x20000000
+#define CONTEXT_UNWOUND_TO_CALL CONTEXT_ARM64_UNWOUND_TO_CALL
+#define CONTEXT_EXCEPTION_ACTIVE 0x08000000
+#define CONTEXT_SERVICE_ACTIVE 0x10000000
+#define CONTEXT_EXCEPTION_REQUEST 0x40000000
+#define CONTEXT_EXCEPTION_REPORTING 0x80000000
These obviously are fine, but it would be nice to call it out in the
commit message.
And it seems like it removes duplicate definitions of
EXCEPTION_READ_FAULT/EXCEPTION_WRITE_FAULT/EXCEPTION_EXECUTE_FAULT (can
you verify that this is the case)?
At the end of the diff, I see this:
-#define OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK_EXPORT_NAME
"OutOfProcessFunctionTableCallback"
-
-#endif /* _ARM64_ */
+#ifdef _ARM64_
+ typedef KNONVOLATILE_CONTEXT_POINTERS_ARM64 KNONVOLATILE_CONTEXT_POINTERS,
*PKNONVOLATILE_CONTEXT_POINTERS;
+#endif // _ARM64_
+#define OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK_EXPORT_NAME
"OutOfProcessFunctionTableCallback"
Is there some stray whitespace change here, or I wonder why git didn't
keep the OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK_EXPORT_NAME line untouched
in the diff output? Or is it just that lines are moved around, and the
diff algorithm needs to add/remove some lines somewhere, and picked this
one?
Other than that, this looks ok.
// Martin
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public