[PATCH 9/9] include/wine/mscvpdb.h: move parsing definitions to dbghelp (where they belong)

Eric Pouech eric.pouech at gmail.com
Tue Nov 2 09:33:04 CDT 2021


Signed-off-by: Eric Pouech <eric.pouech at gmail.com>

---
 dlls/dbghelp/dbghelp_private.h |   15 +++++++++++++++
 dlls/dbghelp/msc.c             |   10 +++++-----
 include/wine/mscvpdb.h         |   23 -----------------------
 3 files changed, 20 insertions(+), 28 deletions(-)

diff --git a/dlls/dbghelp/dbghelp_private.h b/dlls/dbghelp/dbghelp_private.h
index 5682acadf65..61173b34b5a 100644
--- a/dlls/dbghelp/dbghelp_private.h
+++ b/dlls/dbghelp/dbghelp_private.h
@@ -663,6 +663,21 @@ struct cpu
 
 extern struct cpu*      dbghelp_current_cpu DECLSPEC_HIDDEN;
 
+/* PDB and Codeview */
+
+struct msc_debug_info
+{
+    struct module*              module;
+    int                         nsect;
+    const IMAGE_SECTION_HEADER* sectp;
+    int                         nomap;
+    const OMAP*                 omapp;
+    const BYTE*                 root;
+};
+
+/* coff.c */
+extern BOOL coff_process_info(const struct msc_debug_info* msc_dbg) DECLSPEC_HIDDEN;
+
 /* dbghelp.c */
 extern struct process* process_find_by_handle(HANDLE hProcess) DECLSPEC_HIDDEN;
 extern BOOL         validate_addr64(DWORD64 addr) DECLSPEC_HIDDEN;
diff --git a/dlls/dbghelp/msc.c b/dlls/dbghelp/msc.c
index b4487d583cb..97991be057f 100644
--- a/dlls/dbghelp/msc.c
+++ b/dlls/dbghelp/msc.c
@@ -1551,15 +1551,15 @@ static unsigned int codeview_map_offset(const struct msc_debug_info* msc_dbg,
                                         unsigned int offset)
 {
     int                 nomap = msc_dbg->nomap;
-    const OMAP_DATA*    omapp = msc_dbg->omapp;
+    const OMAP*         omapp = msc_dbg->omapp;
     int                 i;
 
     if (!nomap || !omapp) return offset;
 
     /* FIXME: use binary search */
     for (i = 0; i < nomap - 1; i++)
-        if (omapp[i].from <= offset && omapp[i+1].from > offset)
-            return !omapp[i].to ? 0 : omapp[i].to + (offset - omapp[i].from);
+        if (omapp[i].rva <= offset && omapp[i+1].rva > offset)
+            return !omapp[i].rvaTo ? 0 : omapp[i].rvaTo + (offset - omapp[i].rva);
 
     return 0;
 }
@@ -3414,8 +3414,8 @@ BOOL pe_load_debug_directory(const struct process* pcs, struct module* module,
         {
             if (dbg[i].Type == IMAGE_DEBUG_TYPE_OMAP_FROM_SRC)
             {
-                msc_dbg.nomap = dbg[i].SizeOfData / sizeof(OMAP_DATA);
-                msc_dbg.omapp = (const OMAP_DATA*)(mapping + dbg[i].PointerToRawData);
+                msc_dbg.nomap = dbg[i].SizeOfData / sizeof(OMAP);
+                msc_dbg.omapp = (const OMAP*)(mapping + dbg[i].PointerToRawData);
                 break;
             }
         }
diff --git a/include/wine/mscvpdb.h b/include/wine/mscvpdb.h
index dcd0e4db303..e199aff785f 100644
--- a/include/wine/mscvpdb.h
+++ b/include/wine/mscvpdb.h
@@ -2520,29 +2520,6 @@ typedef struct _PDB_FPO_DATA
 
 #include "poppack.h"
 
-/* ----------------------------------------------
- * Information used for parsing
- * ---------------------------------------------- */
-
-typedef struct
-{
-    DWORD  from;
-    DWORD  to;
-} OMAP_DATA;
-
-struct msc_debug_info
-{
-    struct module*              module;
-    int			        nsect;
-    const IMAGE_SECTION_HEADER* sectp;
-    int			        nomap;
-    const OMAP_DATA*            omapp;
-    const BYTE*                 root;
-};
-
-/* coff.c */
-extern BOOL coff_process_info(const struct msc_debug_info* msc_dbg);
-
 /* ===================================================
  * The old CodeView stuff (for NB09 and NB11)
  * =================================================== */




More information about the wine-devel mailing list