Eric Pouech : dbghelp: MapDebugInformation and UnmapDebugInformation are not available on 64 bit architectures.

Alexandre Julliard julliard at winehq.org
Wed Oct 6 15:51:37 CDT 2021


Module: wine
Branch: master
Commit: e1132a6e5aeb5d0f15ebe96c6e898adfc0f1528e
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=e1132a6e5aeb5d0f15ebe96c6e898adfc0f1528e

Author: Eric Pouech <eric.pouech at gmail.com>
Date:   Wed Oct  6 10:02:18 2021 +0200

dbghelp: MapDebugInformation and UnmapDebugInformation are not available on 64 bit architectures.

Signed-off-by: Eric Pouech <eric.pouech at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/dbghelp/dbghelp.spec |  4 ++--
 dlls/dbghelp/image.c      |  6 ++++--
 include/dbghelp.h         |  9 +++++----
 include/imagehlp.h        | 17 ++++++++++-------
 4 files changed, 21 insertions(+), 15 deletions(-)

diff --git a/dlls/dbghelp/dbghelp.spec b/dlls/dbghelp/dbghelp.spec
index 39820a98566..9f719bd6a6e 100644
--- a/dlls/dbghelp/dbghelp.spec
+++ b/dlls/dbghelp/dbghelp.spec
@@ -25,7 +25,7 @@
 @ stdcall ImagehlpApiVersion()
 @ stdcall ImagehlpApiVersionEx(ptr)
 @ stdcall MakeSureDirectoryPathExists(str)
-@ stdcall MapDebugInformation(long str str long)
+@ stdcall -arch=win32 MapDebugInformation(long str str long)
 @ stdcall MiniDumpReadDumpStream(ptr long ptr ptr ptr)
 @ stdcall MiniDumpWriteDump(ptr long ptr long ptr ptr ptr)
 @ stdcall SearchTreeForFile(str str ptr)
@@ -187,7 +187,7 @@
 @ stdcall SymUnloadModule64(long int64)
 @ stdcall UnDecorateSymbolName(str ptr long long)
 @ stdcall UnDecorateSymbolNameW(wstr ptr long long)
-@ stdcall UnmapDebugInformation(ptr)
+@ stdcall -arch=win32 UnmapDebugInformation(ptr)
 @ stdcall WinDbgExtensionDllInit(ptr long long)
 #@ stub block
 #@ stub chksym
diff --git a/dlls/dbghelp/image.c b/dlls/dbghelp/image.c
index 59622180dc7..7de0a6e23c8 100644
--- a/dlls/dbghelp/image.c
+++ b/dlls/dbghelp/image.c
@@ -26,8 +26,6 @@
 #include "winternl.h"
 #include "wine/debug.h"
 
-WINE_DEFAULT_DEBUG_CHANNEL(dbghelp);
-
 /***********************************************************************
  *		GetTimestampForLoadedLibrary (DBGHELP.@)
  */
@@ -37,6 +35,9 @@ DWORD WINAPI GetTimestampForLoadedLibrary(HMODULE Module)
     return (nth) ? nth->FileHeader.TimeDateStamp : 0;
 }
 
+#ifndef _WIN64
+WINE_DEFAULT_DEBUG_CHANNEL(dbghelp);
+
 /***********************************************************************
  *		MapDebugInformation (DBGHELP.@)
  */
@@ -57,3 +58,4 @@ BOOL WINAPI UnmapDebugInformation(PIMAGE_DEBUG_INFORMATION DebugInfo)
     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     return FALSE;
 }
+#endif
diff --git a/include/dbghelp.h b/include/dbghelp.h
index 75dfd76b327..c4770553809 100644
--- a/include/dbghelp.h
+++ b/include/dbghelp.h
@@ -1408,6 +1408,7 @@ typedef struct API_VERSION
 LPAPI_VERSION WINAPI ImagehlpApiVersion(void);
 LPAPI_VERSION WINAPI ImagehlpApiVersionEx(LPAPI_VERSION);
 
+#ifndef _WIN64
 typedef struct _IMAGE_DEBUG_INFORMATION
 {
     LIST_ENTRY                  List;
@@ -1443,6 +1444,10 @@ typedef struct _IMAGE_DEBUG_INFORMATION
     DWORD                       Reserved[ 2 ];
 } IMAGE_DEBUG_INFORMATION, *PIMAGE_DEBUG_INFORMATION;
 
+PIMAGE_DEBUG_INFORMATION WINAPI MapDebugInformation(HANDLE, PCSTR, PCSTR, ULONG);
+BOOL WINAPI UnmapDebugInformation(PIMAGE_DEBUG_INFORMATION);
+#endif
+
 typedef enum
 {
     SYMOPT_EX_DISABLEACCESSTIMEUPDATE,
@@ -1453,10 +1458,6 @@ typedef enum
 #endif
 } IMAGEHLP_EXTENDED_OPTIONS;
 
-PIMAGE_DEBUG_INFORMATION WINAPI MapDebugInformation(HANDLE, PCSTR, PCSTR, ULONG);
-
-BOOL WINAPI UnmapDebugInformation(PIMAGE_DEBUG_INFORMATION);
-
 DWORD   WINAPI  SymGetOptions(void);
 DWORD   WINAPI  SymSetOptions(DWORD);
 
diff --git a/include/imagehlp.h b/include/imagehlp.h
index 5ee978a3d4c..72936e4353e 100644
--- a/include/imagehlp.h
+++ b/include/imagehlp.h
@@ -239,6 +239,7 @@ typedef struct _API_VERSION {
   USHORT  Reserved;
 } API_VERSION, *LPAPI_VERSION;
 
+#ifndef _WIN64
 typedef struct _IMAGE_DEBUG_INFORMATION {
   LIST_ENTRY List;
   DWORD        Size;
@@ -282,6 +283,15 @@ typedef struct _IMAGE_DEBUG_INFORMATION {
   DWORD Reserved[3];
 } IMAGE_DEBUG_INFORMATION, *PIMAGE_DEBUG_INFORMATION;
 
+PIMAGE_DEBUG_INFORMATION WINAPI MapDebugInformation(
+  HANDLE FileHandle, PCSTR FileName,
+  PCSTR SymbolPath, ULONG ImageBase
+);
+BOOL WINAPI UnmapDebugInformation(
+  PIMAGE_DEBUG_INFORMATION DebugInfo
+);
+#endif
+
 typedef struct _ADDRESS {
     DWORD          Offset;
     WORD           Segment;
@@ -958,10 +968,6 @@ BOOL WINAPI MapAndLoad(
   PCSTR ImageName, PCSTR DllPath, PLOADED_IMAGE LoadedImage,
   BOOL DotDll, BOOL ReadOnly
 );
-PIMAGE_DEBUG_INFORMATION WINAPI MapDebugInformation(
-  HANDLE FileHandle, PCSTR FileName,
-  PCSTR SymbolPath, ULONG ImageBase
-);
 DWORD WINAPI MapFileAndCheckSumA(
   PCSTR Filename, PDWORD HeaderSum, PDWORD CheckSum
 );
@@ -1385,9 +1391,6 @@ DWORD WINAPI UnDecorateSymbolNameW(
 BOOL WINAPI UnMapAndLoad(
   PLOADED_IMAGE LoadedImage
 );
-BOOL WINAPI UnmapDebugInformation(
-  PIMAGE_DEBUG_INFORMATION DebugInfo
-);
 BOOL WINAPI UpdateDebugInfoFile(
   PCSTR ImageFileName, PCSTR SymbolPath,
   PSTR DebugFilePath, PIMAGE_NT_HEADERS32 NtHeaders




More information about the wine-cvs mailing list