From 19cfec6e8f3c7fd2eae976b6069e02e6957d88f1 Mon Sep 17 00:00:00 2001 From: Yury Delendik Date: Wed, 15 May 2019 09:35:43 -0500 Subject: [PATCH] Ignore non-existent refs in the transformed DWARF --- wasmtime-debug/src/transform.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/wasmtime-debug/src/transform.rs b/wasmtime-debug/src/transform.rs index 114dac3b1d..8a404287f4 100644 --- a/wasmtime-debug/src/transform.rs +++ b/wasmtime-debug/src/transform.rs @@ -568,8 +568,11 @@ where } for (die_id, attr_name, offset) in pending_die_refs { let die = comp_unit.get_mut(die_id); - let unit_id = die_ref_map[&offset]; - die.set(attr_name, write::AttributeValue::ThisUnitEntryRef(unit_id)); + // TODO we probably loosing DW_AT_abstract_origin and DW_AT_type references + // here, find out if we drop stuff we don't need to. + if let Some(unit_id) = die_ref_map.get(&offset) { + die.set(attr_name, write::AttributeValue::ThisUnitEntryRef(*unit_id)); + } } Ok(()) }