diff options
Diffstat (limited to 'rtemstoolkit/elftoolchain/libdwarf/dwarf_die.c')
-rw-r--r-- | rtemstoolkit/elftoolchain/libdwarf/dwarf_die.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/rtemstoolkit/elftoolchain/libdwarf/dwarf_die.c b/rtemstoolkit/elftoolchain/libdwarf/dwarf_die.c index de6351a..4b46d85 100644 --- a/rtemstoolkit/elftoolchain/libdwarf/dwarf_die.c +++ b/rtemstoolkit/elftoolchain/libdwarf/dwarf_die.c @@ -78,7 +78,10 @@ dwarf_siblingof_b(Dwarf_Debug dbg, Dwarf_Die die, Dwarf_Die *ret_die, } ds = is_info ? dbg->dbg_info_sec : dbg->dbg_types_sec; - cu = is_info ? dbg->dbg_cu_current : dbg->dbg_tu_current; + if (die != NULL && die->die_cu != NULL) + cu = die->die_cu; + else + cu = is_info ? dbg->dbg_cu_current : dbg->dbg_tu_current; if (cu == NULL) { DWARF_SET_ERROR(dbg, error, DW_DLE_DIE_NO_CU_CONTEXT); |