[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