dbghelp:: Add proper support for S_OBJNAME records.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
fe9f0c7fcf
commit
9adf73be7e
|
@ -1844,23 +1844,15 @@ static BOOL codeview_snarf(const struct msc_debug_info* msc_dbg, const BYTE* roo
|
|||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case S_OBJNAME:
|
||||
TRACE("S-Compiland-V3 %s\n", sym->compiland_v3.name);
|
||||
if (TRACE_ON(dbghelp_msc))
|
||||
{
|
||||
const char* ptr1 = sym->compiland_v3.name + strlen(sym->compiland_v3.name);
|
||||
const char* ptr2;
|
||||
while (*ptr1)
|
||||
{
|
||||
ptr2 = ptr1 + strlen(ptr1) + 1;
|
||||
TRACE("\t%s => %s\n", ptr1, debugstr_a(ptr2));
|
||||
ptr1 = ptr2 + strlen(ptr2) + 1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
TRACE("S-ObjName-V3 %s\n", sym->objname_v3.name);
|
||||
compiland = symt_new_compiland(msc_dbg->module, 0 /* FIXME */,
|
||||
source_new(msc_dbg->module, NULL,
|
||||
sym->objname_v3.name));
|
||||
|
||||
case S_OBJNAME_ST:
|
||||
TRACE("S-ObjName %s\n", terminate_string(&sym->objname_v1.p_name));
|
||||
TRACE("S-ObjName-V1 %s\n", terminate_string(&sym->objname_v1.p_name));
|
||||
compiland = symt_new_compiland(msc_dbg->module, 0 /* FIXME */,
|
||||
source_new(msc_dbg->module, NULL,
|
||||
terminate_string(&sym->objname_v1.p_name)));
|
||||
|
|
|
@ -1557,10 +1557,18 @@ union codeview_symbol
|
|||
{
|
||||
short int len;
|
||||
short int id;
|
||||
char signature[4];
|
||||
unsigned signature;
|
||||
struct p_string p_name;
|
||||
} objname_v1;
|
||||
|
||||
struct
|
||||
{
|
||||
short int len;
|
||||
short int id;
|
||||
unsigned signature;
|
||||
char name[1];
|
||||
} objname_v3;
|
||||
|
||||
struct
|
||||
{
|
||||
short int len;
|
||||
|
|
|
@ -1352,12 +1352,12 @@ BOOL codeview_dump_symbols(const void* root, unsigned long size)
|
|||
break;
|
||||
|
||||
case S_OBJNAME:
|
||||
printf("\tS-Compiland V3 '%s' unknown:%x\n",
|
||||
sym->compiland_v3.name, sym->compiland_v3.unknown);
|
||||
printf("\tS-ObjName V3 sig:%x '%s'\n",
|
||||
sym->objname_v3.signature, sym->objname_v3.name);
|
||||
break;
|
||||
|
||||
case S_OBJNAME_ST:
|
||||
printf("\tS-ObjName V1 sig:%.4s '%s'\n",
|
||||
printf("\tS-ObjName V1 sig:%x '%s'\n",
|
||||
sym->objname_v1.signature, p_string(&sym->objname_v1.p_name));
|
||||
break;
|
||||
|
||||
|
|
Loading…
Reference in New Issue