dbghelp/dwarf: Add support for DW_TAG_imported_unit.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
e5a1b8b334
commit
c2d1d76531
|
@ -2305,6 +2305,24 @@ static void dwarf2_parse_namespace(dwarf2_debug_info_t* di)
|
|||
}
|
||||
}
|
||||
|
||||
static void dwarf2_parse_imported_unit(dwarf2_debug_info_t* di)
|
||||
{
|
||||
struct attribute imp;
|
||||
|
||||
if (di->symt) return;
|
||||
|
||||
TRACE("%s\n", dwarf2_debug_di(di));
|
||||
|
||||
if (dwarf2_find_attribute(di, DW_AT_import, &imp))
|
||||
{
|
||||
dwarf2_debug_info_t* jmp = dwarf2_jump_to_debug_info(&imp);
|
||||
if (jmp) di->symt = jmp->symt;
|
||||
else FIXME("Couldn't load imported CU\n");
|
||||
}
|
||||
else
|
||||
FIXME("Couldn't find import attribute\n");
|
||||
}
|
||||
|
||||
static void dwarf2_load_one_entry(dwarf2_debug_info_t* di)
|
||||
{
|
||||
switch (di->abbrev->tag)
|
||||
|
@ -2373,6 +2391,9 @@ static void dwarf2_load_one_entry(dwarf2_debug_info_t* di)
|
|||
case DW_TAG_subrange_type:
|
||||
dwarf2_parse_subrange_type(di);
|
||||
break;
|
||||
case DW_TAG_imported_unit:
|
||||
dwarf2_parse_imported_unit(di);
|
||||
break;
|
||||
/* silence a couple of C++ defines */
|
||||
case DW_TAG_imported_module:
|
||||
case DW_TAG_imported_declaration:
|
||||
|
|
Loading…
Reference in New Issue