Question: This adds a condition for arm64 ad `#ifdef _ARM64_. It
matches with the WinSDK. Should it be replaced with __aarch64__ or
_M_ARM64_ etc.? As far as I can remember, there was a discussion like
that but forgot the end result of it.
From 02fe066f2699d57707de906b7be6d2024ef60ff8 Mon Sep 17 00:00:00 2001
From: Biswapriyo Nath <[email protected]>
Date: Thu, 15 Jul 2021 12:57:12 +0530
Subject: [PATCH] headers: Add some missing names in psdk_inc/_dbg_common.h

Signed-off-by: Biswapriyo Nath <[email protected]>
---
 .../include/psdk_inc/_dbg_common.h            | 89 ++++++++++++++++++-
 1 file changed, 87 insertions(+), 2 deletions(-)

diff --git a/mingw-w64-headers/include/psdk_inc/_dbg_common.h 
b/mingw-w64-headers/include/psdk_inc/_dbg_common.h
index c42da02..1eefc7f 100644
--- a/mingw-w64-headers/include/psdk_inc/_dbg_common.h
+++ b/mingw-w64-headers/include/psdk_inc/_dbg_common.h
@@ -192,7 +192,12 @@ extern "C" {
     DWORD64 KiUserExceptionDispatcher;
     DWORD64 StackBase;
     DWORD64 StackLimit;
-    DWORD64 Reserved[5];
+    DWORD BuildVersion;
+    DWORD RetpolineStubFunctionTableSize;
+    DWORD64 RetpolineStubFunctionTable;
+    DWORD RetpolineStubOffset;
+    DWORD RetpolineStubSize;
+    DWORD64 Reserved0[2];
   } KDHELP64,*PKDHELP64;
 
 #ifdef _IMAGEHLP64
@@ -242,6 +247,25 @@ extern "C" {
     KDHELP64 KdHelp;
   } STACKFRAME64,*LPSTACKFRAME64;
 
+#define INLINE_FRAME_CONTEXT_INIT   0
+#define INLINE_FRAME_CONTEXT_IGNORE 0xFFFFFFFF
+
+  typedef struct _tagSTACKFRAME_EX {
+    ADDRESS64 AddrPC;
+    ADDRESS64 AddrReturn;
+    ADDRESS64 AddrFrame;
+    ADDRESS64 AddrStack;
+    ADDRESS64 AddrBStore;
+    PVOID FuncTableEntry;
+    DWORD64 Params[4];
+    WINBOOL Far;
+    WINBOOL Virtual;
+    DWORD64 Reserved[3];
+    KDHELP64 KdHelp;
+    DWORD StackFrameSize;
+    DWORD InlineFrameContext;
+  } STACKFRAME_EX,*LPSTACKFRAME_EX;
+
 #ifdef _IMAGEHLP64
 #define STACKFRAME STACKFRAME64
 #define LPSTACKFRAME LPSTACKFRAME64
@@ -336,6 +360,18 @@ GetModuleBaseRoutine,PTRANSLATE_ADDRESS_ROUTINE 
TranslateAddress);
 #define SYMFLAG_VIRTUAL 0x00001000
 #define SYMFLAG_THUNK 0x00002000
 #define SYMFLAG_TLSREL 0x00004000
+#define SYMFLAG_SLOT 0x00008000
+#define SYMFLAG_ILREL 0x00010000
+#define SYMFLAG_METADATA 0x00020000
+#define SYMFLAG_CLR_TOKEN 0x00040000
+#define SYMFLAG_NULL 0x00080000
+#define SYMFLAG_FUNC_NO_RETURN 0x00100000
+#define SYMFLAG_SYNTHETIC_ZEROBASE 0x00200000
+#define SYMFLAG_PUBLIC_CODE 0x00400000
+#define SYMFLAG_REGREL_ALIASINDIR 0x00800000
+#define SYMFLAG_FIXUP_ARM64X 0x01000000
+#define SYMFLAG_GLOBAL 0x02000000
+#define SYMFLAG_RESET 0x80000000
 
   typedef enum {
     SymNone = 0,
@@ -411,8 +447,15 @@ GetModuleBaseRoutine,PTRANSLATE_ADDRESS_ROUTINE 
TranslateAddress);
     WINBOOL TypeInfo;
     WINBOOL SourceIndexed;
     WINBOOL Publics;
+    DWORD MachineType;
+    DWORD Reserved;
   } IMAGEHLP_MODULE64,*PIMAGEHLP_MODULE64;
 
+  typedef struct _IMAGEHLP_MODULE64_EX {
+    IMAGEHLP_MODULE64 Module;
+    DWORD RegionFlags;
+  } IMAGEHLP_MODULE64_EX,*PIMAGEHLP_MODULE64_EX;
+
   typedef struct _IMAGEHLP_MODULE64W {
     DWORD SizeOfStruct;
     DWORD64 BaseOfImage;
@@ -437,8 +480,15 @@ GetModuleBaseRoutine,PTRANSLATE_ADDRESS_ROUTINE 
TranslateAddress);
     WINBOOL TypeInfo;
     WINBOOL SourceIndexed;
     WINBOOL Publics;
+    DWORD MachineType;
+    DWORD Reserved;
   } IMAGEHLP_MODULEW64,*PIMAGEHLP_MODULEW64;
 
+  typedef struct _IMAGEHLP_MODULEW64_EX {
+    IMAGEHLP_MODULEW64 Module;
+    DWORD RegionFlags;
+  } IMAGEHLP_MODULEW64_EX,*PIMAGEHLP_MODULEW64_EX;
+
 #ifdef _IMAGEHLP64
 #define IMAGEHLP_MODULE IMAGEHLP_MODULE64
 #define PIMAGEHLP_MODULE PIMAGEHLP_MODULE64
@@ -1137,6 +1187,11 @@ typedef struct _SYMSRV_INDEX_INFOW {
     ThreadInfoListStream = 17,
     HandleOperationListStream = 18,
     TokenStream = 19,
+    JavaScriptDataStream = 20,
+    SystemMemoryInfoStream = 21,
+    ProcessVmCountersStream = 22,
+    IptTraceStream = 23,
+    ThreadNamesStream = 24,
     ceStreamNull = 0x8000,
     ceStreamSystemInfo = 0x8001,
     ceStreamException = 0x8002,
@@ -1283,6 +1338,25 @@ typedef struct _SYMSRV_INDEX_INFOW {
     WINBOOL ClientPointers;
   } MINIDUMP_EXCEPTION_INFORMATION64,*PMINIDUMP_EXCEPTION_INFORMATION64;
 
+  typedef enum _MINIDUMP_HANDLE_OBJECT_INFORMATION_TYPE {
+    MiniHandleObjectInformationNone,
+    MiniThreadInformation1,
+    MiniMutantInformation1,
+    MiniMutantInformation2,
+    MiniProcessInformation1,
+    MiniProcessInformation2,
+    MiniEventInformation1,
+    MiniSectionInformation1,
+    MiniSemaphoreInformation1,
+    MiniHandleObjectInformationTypeMax
+  } MINIDUMP_HANDLE_OBJECT_INFORMATION_TYPE;
+
+  typedef struct _MINIDUMP_HANDLE_OBJECT_INFORMATION {
+    RVA NextInfoRva;
+    ULONG32 InfoType;
+    ULONG32 SizeOfInfo;
+  } MINIDUMP_HANDLE_OBJECT_INFORMATION;
+
   typedef struct _MINIDUMP_HANDLE_DESCRIPTOR {
     ULONG64 Handle;
     RVA TypeNameRva;
@@ -1376,12 +1450,20 @@ typedef struct _SYMSRV_INDEX_INFOW {
     IoWriteAllCallback,
     IoFinishCallback,
     ReadMemoryFailureCallback,
-    SecondaryFlagsCallback
+    SecondaryFlagsCallback,
+    IsProcessSnapshotCallback,
+    VmStartCallback,
+    VmQueryCallback,
+    VmPreReadCallback,
+    VmPostReadCallback
   } MINIDUMP_CALLBACK_TYPE;
 
   typedef struct _MINIDUMP_THREAD_CALLBACK {
     ULONG ThreadId;
     HANDLE ThreadHandle;
+#if defined(_ARM64_)
+    ULONG Pad;
+#endif
     CONTEXT Context;
     ULONG SizeOfContext;
     ULONG64 StackBase;
@@ -1391,6 +1473,9 @@ typedef struct _SYMSRV_INDEX_INFOW {
   typedef struct _MINIDUMP_THREAD_EX_CALLBACK {
     ULONG ThreadId;
     HANDLE ThreadHandle;
+#if defined(_ARM64_)
+    ULONG Pad;
+#endif
     CONTEXT Context;
     ULONG SizeOfContext;
     ULONG64 StackBase;
-- 
2.32.0

_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to