wine/ dlls/dbghelp/dbghelp.spec dlls/dbghelp/s ...
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Nov 29 05:09:21 CST 2005
ChangeSet ID: 21548
CVSROOT: /opt/cvs-commit
Module name: wine
Changes by: julliard at winehq.org 2005/11/29 05:09:21
Modified files:
dlls/dbghelp : dbghelp.spec stack.c
include : dbghelp.h
Log message:
Vitaliy Margolen <wine-patch at kievinfo.com>
Stub StackWalk64.
Patch: http://cvs.winehq.org/patch.py?id=21548
Old revision New revision Changes Path
1.17 1.18 +1 -1 wine/dlls/dbghelp/dbghelp.spec
1.11 1.12 +18 -0 wine/dlls/dbghelp/stack.c
1.23 1.24 +46 -0 wine/include/dbghelp.h
Index: wine/dlls/dbghelp/dbghelp.spec
diff -u -p wine/dlls/dbghelp/dbghelp.spec:1.17 wine/dlls/dbghelp/dbghelp.spec:1.18
--- wine/dlls/dbghelp/dbghelp.spec:1.17 29 Nov 2005 11: 9:21 -0000
+++ wine/dlls/dbghelp/dbghelp.spec 29 Nov 2005 11: 9:21 -0000
@@ -23,7 +23,7 @@
@ stdcall MiniDumpReadDumpStream(ptr long ptr ptr ptr)
@ stdcall MiniDumpWriteDump(ptr long ptr long long long long)
@ stdcall SearchTreeForFile(str str str)
-@ stub StackWalk64
+@ stdcall StackWalk64(long long long ptr ptr ptr ptr ptr ptr)
@ stdcall StackWalk(long long long ptr ptr ptr ptr ptr ptr)
@ stdcall SymCleanup(long)
@ stdcall SymEnumLines(ptr double str str ptr ptr)
Index: wine/dlls/dbghelp/stack.c
diff -u -p wine/dlls/dbghelp/stack.c:1.11 wine/dlls/dbghelp/stack.c:1.12
--- wine/dlls/dbghelp/stack.c:1.11 29 Nov 2005 11: 9:21 -0000
+++ wine/dlls/dbghelp/stack.c 29 Nov 2005 11: 9:21 -0000
@@ -401,6 +401,24 @@ done_err:
return FALSE;
}
+/***********************************************************************
+ * StackWalk64 (DBGHELP.@)
+ */
+BOOL WINAPI StackWalk64(DWORD MachineType, HANDLE hProcess, HANDLE hThread,
+ LPSTACKFRAME64 frame, LPVOID ctx,
+ PREAD_PROCESS_MEMORY_ROUTINE64 f_read_mem,
+ PFUNCTION_TABLE_ACCESS_ROUTINE64 FunctionTableAccessRoutine,
+ PGET_MODULE_BASE_ROUTINE64 GetModuleBaseRoutine,
+ PTRANSLATE_ADDRESS_ROUTINE64 f_xlat_adr)
+{
+ FIXME("(%ld, %p, %p, %p, %p, %p, %p, %p, %p) - stub!\n",
+ MachineType, hProcess, hThread, frame, ctx,
+ f_read_mem, FunctionTableAccessRoutine,
+ GetModuleBaseRoutine, f_xlat_adr);
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+ return FALSE;
+}
+
/******************************************************************
* SymRegisterFunctionEntryCallback (DBGHELP.@)
*
Index: wine/include/dbghelp.h
diff -u -p wine/include/dbghelp.h:1.23 wine/include/dbghelp.h:1.24
--- wine/include/dbghelp.h:1.23 29 Nov 2005 11: 9:21 -0000
+++ wine/include/dbghelp.h 29 Nov 2005 11: 9:21 -0000
@@ -60,6 +60,13 @@ typedef struct _tagADDRESS
ADDRESS_MODE Mode;
} ADDRESS, *LPADDRESS;
+typedef struct _tagADDRESS64
+{
+ DWORD64 Offset;
+ WORD Segment;
+ ADDRESS_MODE Mode;
+} ADDRESS64, *LPADDRESS64;
+
#define SYMF_OMAP_GENERATED 0x00000001
#define SYMF_OMAP_MODIFIED 0x00000002
#define SYMF_USER_GENERATED 0x00000004
@@ -864,6 +871,19 @@ typedef struct _KDHELP
DWORD SystemRangeStart;
} KDHELP, *PKDHELP;
+typedef struct _KDHELP64
+{
+ DWORD64 Thread;
+ DWORD ThCallbackStack;
+ DWORD ThCallbackBStore;
+ DWORD NextCallback;
+ DWORD FramePointer;
+ DWORD64 KiCallUserMode;
+ DWORD64 KeUserCallbackDispatcher;
+ DWORD64 SystemRangeStart;
+ DWORD64 Reserved[8];
+} KDHELP64, *PKDHELP64;
+
typedef struct _STACKFRAME
{
ADDRESS AddrPC;
@@ -879,6 +899,21 @@ typedef struct _STACKFRAME
ADDRESS AddrBStore;
} STACKFRAME, *LPSTACKFRAME;
+typedef struct _STACKFRAME64
+{
+ ADDRESS64 AddrPC;
+ ADDRESS64 AddrReturn;
+ ADDRESS64 AddrFrame;
+ ADDRESS64 AddrStack;
+ ADDRESS64 AddrBStore;
+ PVOID FuncTableEntry;
+ DWORD64 Params[4];
+ BOOL Far;
+ BOOL Virtual;
+ DWORD64 Reserved[3];
+ KDHELP64 KdHelp;
+} STACKFRAME64, *LPSTACKFRAME64;
+
typedef BOOL (CALLBACK *PREAD_PROCESS_MEMORY_ROUTINE)
(HANDLE, DWORD, PVOID, DWORD, PDWORD);
typedef PVOID (CALLBACK *PFUNCTION_TABLE_ACCESS_ROUTINE)(HANDLE, DWORD);
@@ -890,6 +925,17 @@ BOOL WINAPI StackWalk(DWORD, HANDLE, HAN
PGET_MODULE_BASE_ROUTINE,
PTRANSLATE_ADDRESS_ROUTINE);
+typedef BOOL (CALLBACK *PREAD_PROCESS_MEMORY_ROUTINE64)
+ (HANDLE, DWORD64, PVOID, DWORD, PDWORD);
+typedef PVOID (CALLBACK *PFUNCTION_TABLE_ACCESS_ROUTINE64)(HANDLE, DWORD64);
+typedef DWORD (CALLBACK *PGET_MODULE_BASE_ROUTINE64)(HANDLE, DWORD64);
+typedef DWORD (CALLBACK *PTRANSLATE_ADDRESS_ROUTINE64)(HANDLE, HANDLE, LPADDRESS64);
+BOOL WINAPI StackWalk64(DWORD, HANDLE, HANDLE, LPSTACKFRAME64, PVOID,
+ PREAD_PROCESS_MEMORY_ROUTINE64,
+ PFUNCTION_TABLE_ACCESS_ROUTINE64,
+ PGET_MODULE_BASE_ROUTINE64,
+ PTRANSLATE_ADDRESS_ROUTINE64);
+
PVOID WINAPI SymFunctionTableAccess(HANDLE, DWORD);
typedef PVOID (CALLBACK *PSYMBOL_FUNCENTRY_CALLBACK)(HANDLE, DWORD, PVOID);
More information about the wine-cvs
mailing list