[DBGHELP] use correct record in codeview_snarf_public.

Use public_vx iststead of data_vx for public symbols.
This commit is contained in:
Andreas Maier 2018-11-22 21:27:48 +01:00 committed by Mark Jansen
parent 183294a12e
commit e3447d02c1
No known key found for this signature in database
GPG key ID: B39240EE84BEAE8B
2 changed files with 18 additions and 8 deletions

View file

@ -2067,20 +2067,20 @@ static BOOL codeview_snarf_public(const struct msc_debug_info* msc_dbg, const BY
switch (sym->generic.id)
{
case S_PUB_V1: /* FIXME is this really a 'data_v1' structure ?? */
case S_PUB_V1:
if (!(dbghelp_options & SYMOPT_NO_PUBLICS))
{
symt_new_public(msc_dbg->module, compiland,
terminate_string(&sym->data_v1.p_name),
codeview_get_address(msc_dbg, sym->data_v1.segment, sym->data_v1.offset), 1);
terminate_string(&sym->public_v1.p_name),
codeview_get_address(msc_dbg, sym->public_v1.segment, sym->public_v1.offset), 1);
}
break;
case S_PUB_V2: /* FIXME is this really a 'data_v2' structure ?? */
case S_PUB_V2:
if (!(dbghelp_options & SYMOPT_NO_PUBLICS))
{
symt_new_public(msc_dbg->module, compiland,
terminate_string(&sym->data_v2.p_name),
codeview_get_address(msc_dbg, sym->data_v2.segment, sym->data_v2.offset), 1);
terminate_string(&sym->public_v2.p_name),
codeview_get_address(msc_dbg, sym->public_v2.segment, sym->public_v2.offset), 1);
}
break;
@ -2088,8 +2088,8 @@ static BOOL codeview_snarf_public(const struct msc_debug_info* msc_dbg, const BY
if (!(dbghelp_options & SYMOPT_NO_PUBLICS))
{
symt_new_public(msc_dbg->module, compiland,
sym->data_v3.name,
codeview_get_address(msc_dbg, sym->data_v3.segment, sym->data_v3.offset), 1);
sym->public_v3.name,
codeview_get_address(msc_dbg, sym->public_v3.segment, sym->public_v3.offset), 1);
}
break;
case S_PUB_FUNC1_V3:

View file

@ -1350,6 +1350,16 @@ union codeview_symbol
char name[1];
} proc_v3;
struct
{
short int len;
short int id;
unsigned int offset;
unsigned short segment;
unsigned short symtype;
struct p_string p_name;
} public_v1;
struct
{
short int len;