summaryrefslogtreecommitdiff
path: root/rust
diff options
context:
space:
mode:
authorKyleMiles <krm504@nyu.edu>2023-08-22 14:03:18 -0400
committerKyleMiles <krm504@nyu.edu>2023-08-22 14:43:02 -0400
commit0d5fe9ec8963a26361b8bf1af17e029afc87f952 (patch)
treec77a8fde1aec20f972c7c4840b02e58328a673ea /rust
parent5b73fb82d272aa32ff124a69e96579679e7d3580 (diff)
Change how DWARF Import initializes to enable unit tests
Diffstat (limited to 'rust')
-rw-r--r--rust/examples/dwarf/dwarf_import/src/lib.rs14
1 files changed, 10 insertions, 4 deletions
diff --git a/rust/examples/dwarf/dwarf_import/src/lib.rs b/rust/examples/dwarf/dwarf_import/src/lib.rs
index 4a0d5a97..c1f3206d 100644
--- a/rust/examples/dwarf/dwarf_import/src/lib.rs
+++ b/rust/examples/dwarf/dwarf_import/src/lib.rs
@@ -27,6 +27,7 @@ use binaryninja::{
binaryview::{BinaryView, BinaryViewExt},
debuginfo::{CustomDebugInfoParser, DebugInfo, DebugInfoParser},
logger,
+ settings::Settings,
templatesimplifier::simplify_str_to_str,
};
use dwarfreader::{
@@ -252,7 +253,8 @@ struct DWARFParser;
impl CustomDebugInfoParser for DWARFParser {
fn is_valid(&self, view: &BinaryView) -> bool {
- dwarfreader::is_valid(view)
+ Settings::new("").get_bool("corePlugins.dwarfImport", None, None)
+ && dwarfreader::is_valid(view)
}
fn parse_info(
@@ -262,9 +264,13 @@ impl CustomDebugInfoParser for DWARFParser {
debug_file: &BinaryView,
progress: Box<dyn Fn(usize, usize) -> Result<(), ()>>,
) -> bool {
- // Parse dwarf info in raw view or from a separate file
- parse_dwarf(debug_file, progress).commit_info(debug_info);
- true
+ if Settings::new("").get_bool("corePlugins.dwarfImport", None, None) {
+ // Parse dwarf info in raw view or from a separate file
+ parse_dwarf(debug_file, progress).commit_info(debug_info);
+ true
+ } else {
+ false
+ }
}
}