Mostly adding a couple of missing bits. Regarding the 32-bit KDHELP structure definition:
- I checked against some SDK:s back to 2000, and the overall size of this structure hasn't changed ever since (some fields have been added with decreasing Reserved array size) - so it's really Wine's header which were missing these fields not the callers
From: Eric Pouech epouech@codeweavers.com
Signed-off-by: Eric Pouech epouech@codeweavers.com --- include/cvconst.h | 7 ++++ include/dbghelp.h | 89 +++++++++++++++++++++++++++++++++++------------ 2 files changed, 73 insertions(+), 23 deletions(-)
diff --git a/include/cvconst.h b/include/cvconst.h index 9536ee8202d..26bc90c5838 100644 --- a/include/cvconst.h +++ b/include/cvconst.h @@ -67,6 +67,7 @@ enum SymTagEnum SymTagHeapAllocationSite, SymTagCoffGroup, SymTagInlinee, + SymTagTaggedUnionCase, SymTagMax };
@@ -759,6 +760,12 @@ typedef enum CV_CFL_LANG CV_CFL_JSCRIPT, CV_CFL_MSIL, CV_CFL_HLSL, + CV_CFL_OBJC, + CV_CFL_OBJCXX, + CV_CFL_SWIFT, + CV_CFL_ALIASOBJ, + CV_CFL_RUST, + CV_CFL_GO, } CV_CFL_LANG;
typedef enum CV_CPU_TYPE_e diff --git a/include/dbghelp.h b/include/dbghelp.h index 919efb27be0..e46f82446e1 100644 --- a/include/dbghelp.h +++ b/include/dbghelp.h @@ -59,6 +59,10 @@ typedef struct _LOADED_IMAGE ULONG SizeOfImage; } LOADED_IMAGE, *PLOADED_IMAGE;
+#define ERROR_IMAGE_NOT_STRIPPED 0x8800 +#define ERROR_NO_DBG_POINTER 0x8801 +#define ERROR_NO_PDB_POINTER 0x8802 + /************************* * IMAGEHLP equiv * *************************/ @@ -328,6 +332,12 @@ typedef struct _SOURCEFILEW #define CBA_DEBUG_INFO 0x10000000 #define CBA_SRCSRV_INFO 0x20000000 #define CBA_SRCSRV_EVENT 0x40000000 +#define CBA_UPDATE_STATUS_BAR 0x50000000 +#define CBA_ENGINE_PRESENT 0x60000000 +#define CBA_CHECK_ENGOPT_DISALLOW_NETWORK_PATHS 0x70000000 +#define CBA_CHECK_ARM_MACHINE_THUMB_TYPE_OVERRIDE 0x80000000 +#define CBA_XML_LOG 0x90000000 +#define CBA_MAP_JIT_SYMBOL 0xA0000000
typedef struct _IMAGEHLP_CBA_READ_MEMORY { @@ -496,6 +506,7 @@ typedef struct _DBGHELP_MODLOAD_DATA
/* flags for SymLoadModuleEx */ #define SLMFLAG_VIRTUAL 0x1 +#define SLMFLAG_ALT_INDEX 0x2 #define SLMFLAG_NO_SYMBOLS 0x4
typedef BOOL (CALLBACK *PENUMLOADED_MODULES_CALLBACK64)(PCSTR, DWORD64, ULONG, PVOID); @@ -530,27 +541,32 @@ BOOL IMAGEAPI SymRefreshModuleList(HANDLE); #define IMAGEHLP_SYMBOL_INFO_CONSTANT SYMF_CONSTANT /* 0x100 */ #define IMAGEHLP_SYMBOL_FUNCTION SYMF_FUNCTION /* 0x800 */
-#define SYMFLAG_VALUEPRESENT 0x00000001 -#define SYMFLAG_REGISTER 0x00000008 -#define SYMFLAG_REGREL 0x00000010 -#define SYMFLAG_FRAMEREL 0x00000020 -#define SYMFLAG_PARAMETER 0x00000040 -#define SYMFLAG_LOCAL 0x00000080 -#define SYMFLAG_CONSTANT 0x00000100 -#define SYMFLAG_EXPORT 0x00000200 -#define SYMFLAG_FORWARDER 0x00000400 -#define SYMFLAG_FUNCTION 0x00000800 -#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_VALUEPRESENT 0x00000001 +#define SYMFLAG_REGISTER 0x00000008 +#define SYMFLAG_REGREL 0x00000010 +#define SYMFLAG_FRAMEREL 0x00000020 +#define SYMFLAG_PARAMETER 0x00000040 +#define SYMFLAG_LOCAL 0x00000080 +#define SYMFLAG_CONSTANT 0x00000100 +#define SYMFLAG_EXPORT 0x00000200 +#define SYMFLAG_FORWARDER 0x00000400 +#define SYMFLAG_FUNCTION 0x00000800 +#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_PUBLIC_CODE 0x00400000 +#define SYMFLAG_REGREL_ALIASINDIR 0x00800000 +#define SYMFLAG_FIXUP_ARM64X 0x01000000 +#define SYMFLAG_GLOBAL 0x02000000 + +#define SYMFLAG_RESET 0x80000000
#define MAX_SYM_NAME 2000
@@ -724,6 +740,7 @@ typedef struct _TI_FINDCHILDREN_PARAMS #define SYMSEARCH_MASKOBJS 0x01 #define SYMSEARCH_RECURSE 0x02 #define SYMSEARCH_GLOBALSONLY 0x04 +#define SYMSEARCH_ALLITEMS 0X08
BOOL IMAGEAPI SymGetTypeInfo(HANDLE, DWORD64, ULONG, IMAGEHLP_SYMBOL_TYPE_INFO, PVOID); BOOL IMAGEAPI SymGetTypeInfoEx(HANDLE, DWORD64, PIMAGEHLP_GET_TYPE_INFO_PARAMS); @@ -752,6 +769,8 @@ BOOL IMAGEAPI SymGetSymPrevW64(HANDLE, PIMAGEHLP_SYMBOLW64); BOOL IMAGEAPI SymEnumSym(HANDLE,ULONG64,PSYM_ENUMERATESYMBOLS_CALLBACK,PVOID); BOOL IMAGEAPI SymEnumSymbols(HANDLE, ULONG64, PCSTR, PSYM_ENUMERATESYMBOLS_CALLBACK, PVOID); BOOL IMAGEAPI SymEnumSymbolsW(HANDLE, ULONG64, PCWSTR, PSYM_ENUMERATESYMBOLS_CALLBACKW, PVOID); +BOOL IMAGEAPI SymEnumSymbolsEx(HANDLE, ULONG64, PCSTR, PSYM_ENUMERATESYMBOLS_CALLBACK, PVOID, DWORD); +BOOL IMAGEAPI SymEnumSymbolsExW(HANDLE, ULONG64, PCWSTR, PSYM_ENUMERATESYMBOLS_CALLBACKW, PVOID, DWORD); typedef BOOL (CALLBACK *PSYM_ENUMSYMBOLS_CALLBACK64)(PCSTR, DWORD64, ULONG, PVOID); typedef BOOL (CALLBACK *PSYM_ENUMSYMBOLS_CALLBACK64W)(PCWSTR, DWORD64, ULONG, PVOID); BOOL IMAGEAPI SymEnumerateSymbols64(HANDLE, ULONG64, PSYM_ENUMSYMBOLS_CALLBACK64, PVOID); @@ -792,6 +811,12 @@ BOOL IMAGEAPI SymGetOmaps(HANDLE, DWORD64, POMAP*, PDWORD64, POMAP*, PDWORD64); typedef BOOL (CALLBACK *PSYM_ENUMSOURCEFILES_CALLBACK)(PSOURCEFILE, PVOID); typedef BOOL (CALLBACK *PSYM_ENUMSOURCEFILES_CALLBACKW)(PSOURCEFILEW, PVOID);
+#define ESLFLAG_FULLPATH 0x00000001 +#define ESLFLAG_NEAREST 0x00000002 +#define ESLFLAG_PREV 0x00000004 +#define ESLFLAG_NEXT 0x00000008 +#define ESLFLAG_INLINE_SITE 0x00000010 + BOOL IMAGEAPI SymEnumSourceFiles(HANDLE, ULONG64, PCSTR, PSYM_ENUMSOURCEFILES_CALLBACK, PVOID); BOOL IMAGEAPI SymEnumSourceFilesW(HANDLE, ULONG64, PCWSTR, PSYM_ENUMSOURCEFILES_CALLBACKW, PVOID); BOOL IMAGEAPI SymGetLineFromAddr64(HANDLE, DWORD64, PDWORD, PIMAGEHLP_LINE64); @@ -922,6 +947,11 @@ typedef struct _KDHELP DWORD KiCallUserMode; DWORD KeUserCallbackDispatcher; DWORD SystemRangeStart; + DWORD ThCallbackBStore; + DWORD KiUserExceptionDispatcher; + DWORD StackBase; + DWORD StackLimit; + DWORD Reserved[5]; } KDHELP, *PKDHELP; #endif
@@ -935,7 +965,15 @@ typedef struct _KDHELP64 DWORD64 KiCallUserMode; DWORD64 KeUserCallbackDispatcher; DWORD64 SystemRangeStart; - DWORD64 Reserved[8]; + DWORD64 KiUserExceptionDispatcher; + DWORD64 StackBase; + DWORD64 StackLimit; + DWORD BuildVersion; + DWORD RetpolineStubFunctionTableSize; + DWORD64 RetpolineStubFunctionTable; + DWORD RetpolineStubOffset; + DWORD RetpolineStubSize; + DWORD64 Reserved[2]; } KDHELP64, *PKDHELP64;
#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64) @@ -1005,8 +1043,10 @@ BOOL IMAGEAPI StackWalk64(DWORD, HANDLE, HANDLE, LPSTACKFRAME64, PVOID, PFUNCTION_TABLE_ACCESS_ROUTINE64, PGET_MODULE_BASE_ROUTINE64, PTRANSLATE_ADDRESS_ROUTINE64); -#define SYM_STKWALK_DEFAULT 0x00000000 -#define SYM_STKWALK_FORCE_FRAMEPTR 0x00000001 +#define SYM_STKWALK_DEFAULT 0x00000000 +#define SYM_STKWALK_FORCE_FRAMEPTR 0x00000001 +#define SYM_STKWALK_ZEROEXTEND_PTRS 0x00000002 + BOOL IMAGEAPI StackWalkEx(DWORD, HANDLE, HANDLE, LPSTACKFRAME_EX, PVOID, PREAD_PROCESS_MEMORY_ROUTINE64, PFUNCTION_TABLE_ACCESS_ROUTINE64, @@ -1093,6 +1133,9 @@ BOOL IMAGEAPI UnmapDebugInformation(PIMAGE_DEBUG_INFORMATION); typedef enum { SYMOPT_EX_DISABLEACCESSTIMEUPDATE, + SYMOPT_EX_LASTVALIDDEBUGDIRECTORY, + SYMOPT_EX_NOIMPLICITPATTERNSEARCH, + SYMOPT_EX_NEVERLOADSYMBOLS, SYMOPT_EX_MAX,
#ifdef __WINESRC__
From: Eric Pouech epouech@codeweavers.com
Signed-off-by: Eric Pouech epouech@codeweavers.com --- include/wine/mscvpdb.h | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+)
diff --git a/include/wine/mscvpdb.h b/include/wine/mscvpdb.h index d389d5d22d0..a190d1cd4da 100644 --- a/include/wine/mscvpdb.h +++ b/include/wine/mscvpdb.h @@ -935,10 +935,12 @@ union codeview_fieldtype #define T_SHORT 0x0011 /* short */ #define T_LONG 0x0012 /* long */ #define T_QUAD 0x0013 /* long long */ +#define T_OCT 0x0014 /* 128bit int */ #define T_UCHAR 0x0020 /* unsigned char */ #define T_USHORT 0x0021 /* unsigned short */ #define T_ULONG 0x0022 /* unsigned long */ #define T_UQUAD 0x0023 /* unsigned long long */ +#define T_UOCT 0x0024 /* 128bit unsigned int */ #define T_BOOL08 0x0030 /* 8-bit boolean */ #define T_BOOL16 0x0031 /* 16-bit boolean */ #define T_BOOL32 0x0032 /* 32-bit boolean */ @@ -948,6 +950,7 @@ union codeview_fieldtype #define T_REAL80 0x0042 /* 80-bit real */ #define T_REAL128 0x0043 /* 128-bit real */ #define T_REAL48 0x0044 /* 48-bit real */ +#define T_REAL16 0x0046 /* 16-bit real */ #define T_CPLX32 0x0050 /* 32-bit complex number */ #define T_CPLX64 0x0051 /* 64-bit complex number */ #define T_CPLX80 0x0052 /* 80-bit complex number */ @@ -968,14 +971,17 @@ union codeview_fieldtype
/* near pointers to basic types */ #define T_PVOID 0x0103 /* near pointer to void */ +#define T_PCURRENCY 0x0104 /* near pointer to currency */ #define T_PCHAR 0x0110 /* Near pointer to 8-bit signed */ #define T_PSHORT 0x0111 /* Near pointer to 16-bit signed */ #define T_PLONG 0x0112 /* Near pointer to 32-bit signed */ #define T_PQUAD 0x0113 /* Near pointer to 64-bit signed */ +#define T_POCT 0x0114 /* Near pointer to 128-bit signed */ #define T_PUCHAR 0x0120 /* Near pointer to 8-bit unsigned */ #define T_PUSHORT 0x0121 /* Near pointer to 16-bit unsigned */ #define T_PULONG 0x0122 /* Near pointer to 32-bit unsigned */ #define T_PUQUAD 0x0123 /* Near pointer to 64-bit unsigned */ +#define T_PUOCT 0x0124 /* Near pointer to 128-bit unsigned */ #define T_PBOOL08 0x0130 /* Near pointer to 8-bit Boolean */ #define T_PBOOL16 0x0131 /* Near pointer to 16-bit Boolean */ #define T_PBOOL32 0x0132 /* Near pointer to 32-bit Boolean */ @@ -985,6 +991,7 @@ union codeview_fieldtype #define T_PREAL80 0x0142 /* Near pointer to 80-bit real */ #define T_PREAL128 0x0143 /* Near pointer to 128-bit real */ #define T_PREAL48 0x0144 /* Near pointer to 48-bit real */ +#define T_PREAL16 0x0146 /* Near pointer to 16-bit real */ #define T_PCPLX32 0x0150 /* Near pointer to 32-bit complex */ #define T_PCPLX64 0x0151 /* Near pointer to 64-bit complex */ #define T_PCPLX80 0x0152 /* Near pointer to 80-bit complex */ @@ -1003,14 +1010,17 @@ union codeview_fieldtype
/* far pointers to basic types */ #define T_PFVOID 0x0203 /* Far pointer to void */ +#define T_PFCURRENCT 0x0204 /* Far pointer to currency */ #define T_PFCHAR 0x0210 /* Far pointer to 8-bit signed */ #define T_PFSHORT 0x0211 /* Far pointer to 16-bit signed */ #define T_PFLONG 0x0212 /* Far pointer to 32-bit signed */ #define T_PFQUAD 0x0213 /* Far pointer to 64-bit signed */ +#define T_PFOCT 0x0214 /* Far pointer to 128-bit signed */ #define T_PFUCHAR 0x0220 /* Far pointer to 8-bit unsigned */ #define T_PFUSHORT 0x0221 /* Far pointer to 16-bit unsigned */ #define T_PFULONG 0x0222 /* Far pointer to 32-bit unsigned */ #define T_PFUQUAD 0x0223 /* Far pointer to 64-bit unsigned */ +#define T_PFUOCT 0x0224 /* Far pointer to 128-bit unsigned */ #define T_PFBOOL08 0x0230 /* Far pointer to 8-bit Boolean */ #define T_PFBOOL16 0x0231 /* Far pointer to 16-bit Boolean */ #define T_PFBOOL32 0x0232 /* Far pointer to 32-bit Boolean */ @@ -1020,6 +1030,7 @@ union codeview_fieldtype #define T_PFREAL80 0x0242 /* Far pointer to 80-bit real */ #define T_PFREAL128 0x0243 /* Far pointer to 128-bit real */ #define T_PFREAL48 0x0244 /* Far pointer to 48-bit real */ +#define T_PFREAL16 0x0246 /* Far pointer to 16-bit real */ #define T_PFCPLX32 0x0250 /* Far pointer to 32-bit complex */ #define T_PFCPLX64 0x0251 /* Far pointer to 64-bit complex */ #define T_PFCPLX80 0x0252 /* Far pointer to 80-bit complex */ @@ -1038,14 +1049,17 @@ union codeview_fieldtype
/* huge pointers to basic types */ #define T_PHVOID 0x0303 /* Huge pointer to void */ +#define T_PHCURRENCY 0x0304 /* Huge pointer to currency */ #define T_PHCHAR 0x0310 /* Huge pointer to 8-bit signed */ #define T_PHSHORT 0x0311 /* Huge pointer to 16-bit signed */ #define T_PHLONG 0x0312 /* Huge pointer to 32-bit signed */ #define T_PHQUAD 0x0313 /* Huge pointer to 64-bit signed */ +#define T_PHOCT 0x0314 /* Huge pointer to 128-bit signed */ #define T_PHUCHAR 0x0320 /* Huge pointer to 8-bit unsigned */ #define T_PHUSHORT 0x0321 /* Huge pointer to 16-bit unsigned */ #define T_PHULONG 0x0322 /* Huge pointer to 32-bit unsigned */ #define T_PHUQUAD 0x0323 /* Huge pointer to 64-bit unsigned */ +#define T_PHUOCT 0x0324 /* Huge pointer to 128-bit unsigned */ #define T_PHBOOL08 0x0330 /* Huge pointer to 8-bit Boolean */ #define T_PHBOOL16 0x0331 /* Huge pointer to 16-bit Boolean */ #define T_PHBOOL32 0x0332 /* Huge pointer to 32-bit Boolean */ @@ -1055,6 +1069,7 @@ union codeview_fieldtype #define T_PHREAL80 0x0342 /* Huge pointer to 80-bit real */ #define T_PHREAL128 0x0343 /* Huge pointer to 128-bit real */ #define T_PHREAL48 0x0344 /* Huge pointer to 48-bit real */ +#define T_PHREAL16 0x0346 /* Far pointer to 16-bit real */ #define T_PHCPLX32 0x0350 /* Huge pointer to 32-bit complex */ #define T_PHCPLX64 0x0351 /* Huge pointer to 64-bit complex */ #define T_PHCPLX80 0x0352 /* Huge pointer to 80-bit complex */ @@ -1073,15 +1088,18 @@ union codeview_fieldtype
/* 32-bit near pointers to basic types */ #define T_32PVOID 0x0403 /* 32-bit near pointer to void */ +#define T_32PCURRENCY 0x0404 /* 32-bit near pointer to currency */ #define T_32PHRESULT 0x0408 /* 16:32 near pointer to HRESULT - or error code ??? */ #define T_32PCHAR 0x0410 /* 16:32 near pointer to 8-bit signed */ #define T_32PSHORT 0x0411 /* 16:32 near pointer to 16-bit signed */ #define T_32PLONG 0x0412 /* 16:32 near pointer to 32-bit signed */ #define T_32PQUAD 0x0413 /* 16:32 near pointer to 64-bit signed */ +#define T_32POCT 0x0414 /* 16:32 near pointer to 128-bit signed */ #define T_32PUCHAR 0x0420 /* 16:32 near pointer to 8-bit unsigned */ #define T_32PUSHORT 0x0421 /* 16:32 near pointer to 16-bit unsigned */ #define T_32PULONG 0x0422 /* 16:32 near pointer to 32-bit unsigned */ #define T_32PUQUAD 0x0423 /* 16:32 near pointer to 64-bit unsigned */ +#define T_32PUOCT 0x0424 /* 16:32 near pointer to 128-bit unsigned */ #define T_32PBOOL08 0x0430 /* 16:32 near pointer to 8-bit Boolean */ #define T_32PBOOL16 0x0431 /* 16:32 near pointer to 16-bit Boolean */ #define T_32PBOOL32 0x0432 /* 16:32 near pointer to 32-bit Boolean */ @@ -1091,6 +1109,7 @@ union codeview_fieldtype #define T_32PREAL80 0x0442 /* 16:32 near pointer to 80-bit real */ #define T_32PREAL128 0x0443 /* 16:32 near pointer to 128-bit real */ #define T_32PREAL48 0x0444 /* 16:32 near pointer to 48-bit real */ +#define T_32PREAL16 0x0446 /* 16:32 near pointer to 16-bit real */ #define T_32PCPLX32 0x0450 /* 16:32 near pointer to 32-bit complex */ #define T_32PCPLX64 0x0451 /* 16:32 near pointer to 64-bit complex */ #define T_32PCPLX80 0x0452 /* 16:32 near pointer to 80-bit complex */ @@ -1109,15 +1128,18 @@ union codeview_fieldtype
/* 32-bit far pointers to basic types */ #define T_32PFVOID 0x0503 /* 32-bit far pointer to void */ +#define T_32PFCURRENCY 0x0504 /* 32-bit far pointer to void */ #define T_32PFHRESULT 0x0508 /* 16:32 far pointer to HRESULT - or error code ??? */ #define T_32PFCHAR 0x0510 /* 16:32 far pointer to 8-bit signed */ #define T_32PFSHORT 0x0511 /* 16:32 far pointer to 16-bit signed */ #define T_32PFLONG 0x0512 /* 16:32 far pointer to 32-bit signed */ #define T_32PFQUAD 0x0513 /* 16:32 far pointer to 64-bit signed */ +#define T_32PFOCT 0x0514 /* 16:32 far pointer to 128-bit signed */ #define T_32PFUCHAR 0x0520 /* 16:32 far pointer to 8-bit unsigned */ #define T_32PFUSHORT 0x0521 /* 16:32 far pointer to 16-bit unsigned */ #define T_32PFULONG 0x0522 /* 16:32 far pointer to 32-bit unsigned */ #define T_32PFUQUAD 0x0523 /* 16:32 far pointer to 64-bit unsigned */ +#define T_32PFUOCT 0x0524 /* 16:32 far pointer to 128-bit unsigned */ #define T_32PFBOOL08 0x0530 /* 16:32 far pointer to 8-bit Boolean */ #define T_32PFBOOL16 0x0531 /* 16:32 far pointer to 16-bit Boolean */ #define T_32PFBOOL32 0x0532 /* 16:32 far pointer to 32-bit Boolean */ @@ -1127,6 +1149,7 @@ union codeview_fieldtype #define T_32PFREAL80 0x0542 /* 16:32 far pointer to 80-bit real */ #define T_32PFREAL128 0x0543 /* 16:32 far pointer to 128-bit real */ #define T_32PFREAL48 0x0544 /* 16:32 far pointer to 48-bit real */ +#define T_32PFREAL16 0x0546 /* 16:32 far pointer to 16-bit real */ #define T_32PFCPLX32 0x0550 /* 16:32 far pointer to 32-bit complex */ #define T_32PFCPLX64 0x0551 /* 16:32 far pointer to 64-bit complex */ #define T_32PFCPLX80 0x0552 /* 16:32 far pointer to 80-bit complex */ @@ -1145,15 +1168,18 @@ union codeview_fieldtype
/* 64-bit near pointers to basic types */ #define T_64PVOID 0x0603 /* 64-bit near pointer to void */ +#define T_64PCURRENCY 0x0604 /* 64-bit near pointer to void */ #define T_64PHRESULT 0x0608 /* 64 near pointer to HRESULT - or error code ??? */ #define T_64PCHAR 0x0610 /* 64 near pointer to 8-bit signed */ #define T_64PSHORT 0x0611 /* 64 near pointer to 16-bit signed */ #define T_64PLONG 0x0612 /* 64 near pointer to 32-bit signed */ #define T_64PQUAD 0x0613 /* 64 near pointer to 64-bit signed */ +#define T_64POCT 0x0614 /* 64 near pointer to 128-bit signed */ #define T_64PUCHAR 0x0620 /* 64 near pointer to 8-bit unsigned */ #define T_64PUSHORT 0x0621 /* 64 near pointer to 16-bit unsigned */ #define T_64PULONG 0x0622 /* 64 near pointer to 32-bit unsigned */ #define T_64PUQUAD 0x0623 /* 64 near pointer to 64-bit unsigned */ +#define T_64PUOCT 0x0624 /* 64 near pointer to 128-bit unsigned */ #define T_64PBOOL08 0x0630 /* 64 near pointer to 8-bit Boolean */ #define T_64PBOOL16 0x0631 /* 64 near pointer to 16-bit Boolean */ #define T_64PBOOL32 0x0632 /* 64 near pointer to 32-bit Boolean */ @@ -1163,6 +1189,7 @@ union codeview_fieldtype #define T_64PREAL80 0x0642 /* 64 near pointer to 80-bit real */ #define T_64PREAL128 0x0643 /* 64 near pointer to 128-bit real */ #define T_64PREAL48 0x0644 /* 64 near pointer to 48-bit real */ +#define T_64PREAL16 0x0646 /* 64 near pointer to 16-bit real */ #define T_64PCPLX32 0x0650 /* 64 near pointer to 32-bit complex */ #define T_64PCPLX64 0x0651 /* 64 near pointer to 64-bit complex */ #define T_64PCPLX80 0x0652 /* 64 near pointer to 80-bit complex */ @@ -1338,6 +1365,12 @@ union codeview_fieldtype #define LF_COMPLEX80 0x800e #define LF_COMPLEX128 0x800f #define LF_VARSTRING 0x8010 +#define LF_OCTWORD 0x8017 +#define LF_UOCTWORD 0x8018 +#define LF_DECIMAL 0x8019 +#define LF_DATE 0x801a +#define LF_UTF8STRING 0x801b +#define LF_REAL16 0x801c
/* symtype e.g. for public_vx.symtype */ #define SYMTYPE_NONE 0x0000
From: Eric Pouech epouech@codeweavers.com
Signed-off-by: Eric Pouech epouech@codeweavers.com --- include/wine/mscvpdb.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/include/wine/mscvpdb.h b/include/wine/mscvpdb.h index a190d1cd4da..9bb0fd8928e 100644 --- a/include/wine/mscvpdb.h +++ b/include/wine/mscvpdb.h @@ -1969,7 +1969,7 @@ union codeview_symbol unsigned int offParent : 12; unsigned int padding : 20; struct cv_addr_range range; - struct cv_addr_gap gaps[0]; + struct cv_addr_gap gaps[]; } defrange_subfield_register_v3;
struct @@ -1982,7 +1982,7 @@ union codeview_symbol unsigned short offsetParent : 12; int offBasePointer; struct cv_addr_range range; - struct cv_addr_gap gaps[0]; + struct cv_addr_gap gaps[]; } defrange_registerrel_v3;
struct @@ -1999,7 +1999,7 @@ union codeview_symbol unsigned int pParent; unsigned int pEnd; cv_itemid_t inlinee; - unsigned char binaryAnnotations[0]; + unsigned char binaryAnnotations[]; } inline_site_v3;
struct @@ -2020,7 +2020,7 @@ union codeview_symbol unsigned int pEnd; cv_itemid_t inlinee; unsigned int invocations; - unsigned char binaryAnnotations[0]; + unsigned char binaryAnnotations[]; } inline_site2_v3;
struct @@ -2340,7 +2340,7 @@ struct CV_Checksum_t /* this one is not defined in microsoft pdb information */ unsigned strOffset; /* offset in string table for filename */ unsigned char size; /* size of checksum */ unsigned char method; /* method used to compute check sum */ - unsigned char checksum[0]; /* (size) bytes */ + unsigned char checksum[]; /* (size) bytes */ /* result is padded on 4-byte boundary */ };
@@ -2360,7 +2360,7 @@ typedef struct CV_InlineeSourceLineEx_t unsigned fileId; /* offset in DEBUG_S_FILECHKSMS */ unsigned sourceLineNum; /* first line number */ unsigned int countOfExtraFiles; - unsigned extraFileId[0]; + unsigned extraFileId[]; } InlineeSourceLineEx;
#ifdef __WINESRC__
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details:
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=151074
Your paranoid android.
=== debian11b (64 bit WoW report) ===
user32: input.c:4306: Test succeeded inside todo block: button_down_hwnd_todo 1: got MSG_TEST_WIN hwnd 0000000004F000F8, msg WM_LBUTTONDOWN, wparam 0x1, lparam 0x320032