dbghelp: Recognize DW_FORM_flag_present.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Nikolay Sivov 2016-07-26 03:08:17 +03:00 committed by Alexandre Julliard
parent 066330d493
commit 99f56bf78d
1 changed files with 6 additions and 0 deletions

View File

@ -462,6 +462,7 @@ static void dwarf2_swallow_attribute(dwarf2_traverse_context_t* ctx,
switch (abbrev_attr->form) switch (abbrev_attr->form)
{ {
case DW_FORM_flag_present: step = 0; break;
case DW_FORM_ref_addr: case DW_FORM_ref_addr:
case DW_FORM_addr: step = ctx->word_size; break; case DW_FORM_addr: step = ctx->word_size; break;
case DW_FORM_flag: case DW_FORM_flag:
@ -509,6 +510,11 @@ static void dwarf2_fill_attr(const dwarf2_parse_context_t* ctx,
TRACE("flag<0x%lx>\n", attr->u.uvalue); TRACE("flag<0x%lx>\n", attr->u.uvalue);
break; break;
case DW_FORM_flag_present:
attr->u.uvalue = 1;
TRACE("flag_present\n");
break;
case DW_FORM_data1: case DW_FORM_data1:
attr->u.uvalue = dwarf2_get_byte(data); attr->u.uvalue = dwarf2_get_byte(data);
TRACE("data1<%lu>\n", attr->u.uvalue); TRACE("data1<%lu>\n", attr->u.uvalue);