[CLASSES]: DW_TAG_inlined_subroutines doesn't have DW_AT_decl_{file,line}
It has DW_AT_call_{file,line}, fixed. Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
This commit is contained in:
parent
bcc85784fe
commit
78313d93e7
@ -1158,6 +1158,7 @@ static void cu__process_function(Dwarf *dwarf, Dwarf_Die *die,
|
|||||||
break;
|
break;
|
||||||
case DW_TAG_inlined_subroutine: {
|
case DW_TAG_inlined_subroutine: {
|
||||||
Dwarf_Addr high_pc, low_pc;
|
Dwarf_Addr high_pc, low_pc;
|
||||||
|
Dwarf_Attribute attr_call_file;
|
||||||
if (dwarf_highpc(die, &high_pc)) high_pc = 0;
|
if (dwarf_highpc(die, &high_pc)) high_pc = 0;
|
||||||
if (dwarf_lowpc(die, &low_pc)) low_pc = 0;
|
if (dwarf_lowpc(die, &low_pc)) low_pc = 0;
|
||||||
const uint64_t type = attr_numeric(die, DW_AT_abstract_origin);
|
const uint64_t type = attr_numeric(die, DW_AT_abstract_origin);
|
||||||
@ -1176,6 +1177,9 @@ static void cu__process_function(Dwarf *dwarf, Dwarf_Die *die,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
decl_file = attr_string(die, DW_AT_call_file, &attr_call_file);
|
||||||
|
decl_line = attr_numeric(die, DW_AT_call_line);
|
||||||
|
|
||||||
exp = inline_expansion__new(cu_offset, type,
|
exp = inline_expansion__new(cu_offset, type,
|
||||||
decl_file, decl_line, size);
|
decl_file, decl_line, size);
|
||||||
if (exp == NULL)
|
if (exp == NULL)
|
||||||
|
Loading…
Reference in New Issue
Block a user