From 877436a87570d49bd4c694f2a8b45d9a1f9be989 Mon Sep 17 00:00:00 2001 From: KyleMiles Date: Mon, 31 Jul 2023 23:07:52 -0400 Subject: Dwarf import : Handle default address size for pointers better when the dwarf info doesn't specify it --- rust/examples/dwarf/dwarf_import/src/dwarfdebuginfo.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'rust/examples/dwarf/dwarf_import/src/dwarfdebuginfo.rs') diff --git a/rust/examples/dwarf/dwarf_import/src/dwarfdebuginfo.rs b/rust/examples/dwarf/dwarf_import/src/dwarfdebuginfo.rs index f82174aa..aa359232 100644 --- a/rust/examples/dwarf/dwarf_import/src/dwarfdebuginfo.rs +++ b/rust/examples/dwarf/dwarf_import/src/dwarfdebuginfo.rs @@ -15,6 +15,7 @@ use crate::helpers::{get_uid, resolve_specification}; use binaryninja::{ + binaryview::{BinaryView, BinaryViewBase}, debuginfo::{DebugFunctionInfo, DebugInfo}, rc::*, templatesimplifier::simplify_str_to_str, @@ -100,18 +101,24 @@ pub struct DebugInfoBuilder { types: HashMap, data_variables: HashMap, TypeUID)>, names: HashMap, + default_address_size: usize, } impl DebugInfoBuilder { - pub fn new() -> Self { + pub fn new(view: &BinaryView) -> Self { DebugInfoBuilder { functions: vec![], types: HashMap::new(), data_variables: HashMap::new(), names: HashMap::new(), + default_address_size: view.address_size(), } } + pub fn default_address_size(&self) -> usize { + self.default_address_size + } + #[allow(clippy::too_many_arguments)] pub fn insert_function( &mut self, -- cgit v1.3.1