summaryrefslogtreecommitdiff
path: root/rtemstoolkit/elftoolchain/libdwarf/dwarf_die.c
diff options
context:
space:
mode:
Diffstat (limited to 'rtemstoolkit/elftoolchain/libdwarf/dwarf_die.c')
-rw-r--r--rtemstoolkit/elftoolchain/libdwarf/dwarf_die.c5
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);