winedump: Add support for dumping trampoline codeview records.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Eric Pouech 2021-08-24 11:12:08 +02:00 committed by Alexandre Julliard
parent 45d4021ff5
commit 872c61ff97
2 changed files with 22 additions and 0 deletions

View File

@ -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;

View File

@ -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),