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;
|
break;
|
||||||
|
|
||||||
case S_OBJNAME:
|
case S_OBJNAME:
|
||||||
TRACE("S-Compiland-V3 %s\n", sym->compiland_v3.name);
|
TRACE("S-ObjName-V3 %s\n", sym->objname_v3.name);
|
||||||
if (TRACE_ON(dbghelp_msc))
|
compiland = symt_new_compiland(msc_dbg->module, 0 /* FIXME */,
|
||||||
{
|
source_new(msc_dbg->module, NULL,
|
||||||
const char* ptr1 = sym->compiland_v3.name + strlen(sym->compiland_v3.name);
|
sym->objname_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;
|
|
||||||
|
|
||||||
case S_OBJNAME_ST:
|
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 */,
|
compiland = symt_new_compiland(msc_dbg->module, 0 /* FIXME */,
|
||||||
source_new(msc_dbg->module, NULL,
|
source_new(msc_dbg->module, NULL,
|
||||||
terminate_string(&sym->objname_v1.p_name)));
|
terminate_string(&sym->objname_v1.p_name)));
|
||||||
|
|
|
@ -1557,10 +1557,18 @@ union codeview_symbol
|
||||||
{
|
{
|
||||||
short int len;
|
short int len;
|
||||||
short int id;
|
short int id;
|
||||||
char signature[4];
|
unsigned signature;
|
||||||
struct p_string p_name;
|
struct p_string p_name;
|
||||||
} objname_v1;
|
} objname_v1;
|
||||||
|
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
short int len;
|
||||||
|
short int id;
|
||||||
|
unsigned signature;
|
||||||
|
char name[1];
|
||||||
|
} objname_v3;
|
||||||
|
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
short int len;
|
short int len;
|
||||||
|
|
|
@ -1352,12 +1352,12 @@ BOOL codeview_dump_symbols(const void* root, unsigned long size)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case S_OBJNAME:
|
case S_OBJNAME:
|
||||||
printf("\tS-Compiland V3 '%s' unknown:%x\n",
|
printf("\tS-ObjName V3 sig:%x '%s'\n",
|
||||||
sym->compiland_v3.name, sym->compiland_v3.unknown);
|
sym->objname_v3.signature, sym->objname_v3.name);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case S_OBJNAME_ST:
|
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));
|
sym->objname_v1.signature, p_string(&sym->objname_v1.p_name));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue