diff options
Diffstat (limited to 'plugins/warp/src/plugin/workflow.rs')
| -rw-r--r-- | plugins/warp/src/plugin/workflow.rs | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/plugins/warp/src/plugin/workflow.rs b/plugins/warp/src/plugin/workflow.rs index 2d76222c..c2f82bd9 100644 --- a/plugins/warp/src/plugin/workflow.rs +++ b/plugins/warp/src/plugin/workflow.rs @@ -60,6 +60,15 @@ impl Command for RunMatcher { fn action(&self, view: &BinaryView) { let view = view.to_owned(); std::thread::spawn(move || { + // For embedded targets the user may not have set the sections up. + // Alert the user if we have no actual regions (+1 comes from the synthetic section). + let regions = relocatable_regions(&view); + if regions.len() <= 1 && view.memory_map().is_activated() { + log::warn!( + "No relocatable regions found, for best results please define sections for the binary!" + ); + } + run_matcher(&view); }); } @@ -75,14 +84,6 @@ pub fn run_matcher(view: &BinaryView) { let _ = get_warp_tag_type(view); view.file().forget_undo_actions(&undo_id); - // Alert the user if we have no actual regions (one comes from the synthetic section). - let regions = relocatable_regions(view); - if regions.len() <= 1 && view.memory_map().is_activated() { - log::warn!( - "No relocatable regions found, for best results please define sections for the binary!" - ); - } - // Then we want to actually find matching functions. let background_task = BackgroundTask::new("Matching on WARP functions...", true); let start = Instant::now(); |
