summaryrefslogtreecommitdiff
path: root/plugins/warp/src/plugin/workflow.rs
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/warp/src/plugin/workflow.rs')
-rw-r--r--plugins/warp/src/plugin/workflow.rs17
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();