[PATCH 08/14] tools/winedump: added support for dumping trampoline codeview records
Eric Pouech
eric.pouech at gmail.com
Tue Aug 24 04:12:08 CDT 2021
Signed-off-by: Eric Pouech <eric.pouech at gmail.com>
---
include/wine/mscvpdb.h | 12 ++++++++++++
tools/winedump/msc.c | 10 ++++++++++
2 files changed, 22 insertions(+)
diff --git a/include/wine/mscvpdb.h b/include/wine/mscvpdb.h
index 3c3ef487b63..42455cbd0fe 100644
--- a/include/wine/mscvpdb.h
+++ b/include/wine/mscvpdb.h
@@ -1497,6 +1497,18 @@ union codeview_symbol
char name[1];
} block_v3;
+ struct
+ {
+ unsigned short int len;
+ unsigned short int id;
+ unsigned short trampType; /* 0: incremental, 1: branchisland */
+ unsigned short cbThunk;
+ unsigned int offThunk;
+ unsigned int offTarget;
+ unsigned short sectThunk;
+ unsigned short sectTarget;
+ } trampoline_v3;
+
struct
{
unsigned short int len;
diff --git a/tools/winedump/msc.c b/tools/winedump/msc.c
index 0fa96205e20..f5d2d15774d 100644
--- a/tools/winedump/msc.c
+++ b/tools/winedump/msc.c
@@ -1566,6 +1566,16 @@ BOOL codeview_dump_symbols(const void* root, unsigned long size)
sym->objname_v1.signature, p_string(&sym->objname_v1.p_name));
break;
+ case S_TRAMPOLINE:
+ printf("Trampoline V3 kind:%u %04x:%08x#%x -> %04x:%08x\n",
+ sym->trampoline_v3.trampType,
+ sym->trampoline_v3.sectThunk,
+ sym->trampoline_v3.offThunk,
+ sym->trampoline_v3.cbThunk,
+ sym->trampoline_v3.sectTarget,
+ sym->trampoline_v3.offTarget);
+ break;
+
case S_LABEL32_ST:
printf("Label V1 '%s' in '%s' (%04x:%08x)\n",
p_string(&sym->label_v1.p_name),
More information about the wine-devel
mailing list