winedump: Add support for derived types in codeview type info.
This commit is contained in:
parent
b8ae9dccbe
commit
9d10c66dc8
|
@ -403,6 +403,21 @@ union codeview_reftype
|
||||||
unsigned args[1];
|
unsigned args[1];
|
||||||
} arglist_v2;
|
} arglist_v2;
|
||||||
|
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
unsigned short int len;
|
||||||
|
short int id;
|
||||||
|
unsigned short num;
|
||||||
|
unsigned short drvdcls[1];
|
||||||
|
} derived_v1;
|
||||||
|
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
unsigned short int len;
|
||||||
|
short int id;
|
||||||
|
unsigned num;
|
||||||
|
unsigned drvdcls[1];
|
||||||
|
} derived_v2;
|
||||||
};
|
};
|
||||||
|
|
||||||
union codeview_fieldtype
|
union codeview_fieldtype
|
||||||
|
|
|
@ -775,6 +775,24 @@ static void codeview_dump_one_type(unsigned curr_type, const union codeview_type
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case LF_DERIVED_V1:
|
||||||
|
printf("\t%x => Derived V1(#%u):", curr_type, reftype->derived_v1.num);
|
||||||
|
for (i = 0; i < reftype->derived_v1.num; i++)
|
||||||
|
{
|
||||||
|
printf(" %x", reftype->derived_v1.drvdcls[i]);
|
||||||
|
}
|
||||||
|
printf("\n");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case LF_DERIVED_V2:
|
||||||
|
printf("\t%x => Derived V2(#%u):", curr_type, reftype->derived_v2.num);
|
||||||
|
for (i = 0; i < reftype->derived_v2.num; i++)
|
||||||
|
{
|
||||||
|
printf(" %x", reftype->derived_v2.drvdcls[i]);
|
||||||
|
}
|
||||||
|
printf("\n");
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
printf(">>> Unsupported type-id %x for %x\n", type->generic.id, curr_type);
|
printf(">>> Unsupported type-id %x for %x\n", type->generic.id, curr_type);
|
||||||
dump_data((const void*)type, type->generic.len + 2, "");
|
dump_data((const void*)type, type->generic.len + 2, "");
|
||||||
|
|
Loading…
Reference in New Issue