From 5c7ab961657c6bcfc58c84cf93f850bdb102a425 Mon Sep 17 00:00:00 2001 From: Josh Ferrell Date: Fri, 31 May 2024 16:17:01 -0400 Subject: Add debuginfod support to dwarf_import --- rust/examples/dwarf/shared/src/lib.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'rust/examples/dwarf/shared/src') diff --git a/rust/examples/dwarf/shared/src/lib.rs b/rust/examples/dwarf/shared/src/lib.rs index 7712ff3b..76c903e4 100644 --- a/rust/examples/dwarf/shared/src/lib.rs +++ b/rust/examples/dwarf/shared/src/lib.rs @@ -20,6 +20,7 @@ use binaryninja::{ binaryview::{BinaryView, BinaryViewBase, BinaryViewExt}, databuffer::DataBuffer, Endianness, + settings::Settings, }; use std::{ffi::CString, rc::Rc}; @@ -52,6 +53,15 @@ pub fn is_raw_dwo_dwarf(view: &BinaryView) -> bool { } } +pub fn can_use_debuginfod(view: &BinaryView) -> bool { + if let Ok(raw_view) = view.raw_view() { + if raw_view.section_by_name(".note.gnu.build-id").is_ok() { + return Settings::new("").get_bool("network.enableDebuginfod", Some(view), None); + } + } + false +} + pub fn is_valid(view: &BinaryView) -> bool { is_non_dwo_dwarf(view) || is_raw_non_dwo_dwarf(view) -- cgit v1.3.1