summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Taylor <alex@vector35.com>2024-08-22 19:32:12 -0400
committerAlexander Taylor <alex@vector35.com>2024-08-22 19:35:30 -0400
commit53a0b06bc231135b2ca687981b88ea907dcae281 (patch)
tree7c37ed03d9cc5a9390837a4facb1e7ac25b0100d
parentef3a2af2485e7d61cda8f5a4af7ecfdf6ae6297f (diff)
Make MSP430 correctly load after ELF view.
-rw-r--r--arch/msp430/src/lib.rs17
-rw-r--r--platform/linux/platform_linux.cpp1
2 files changed, 10 insertions, 8 deletions
diff --git a/arch/msp430/src/lib.rs b/arch/msp430/src/lib.rs
index ffa89bad..2e16d5d2 100644
--- a/arch/msp430/src/lib.rs
+++ b/arch/msp430/src/lib.rs
@@ -2,12 +2,7 @@ extern crate binaryninja;
extern crate log;
extern crate msp430_asm;
-use binaryninja::{
- architecture::ArchitectureExt,
- callingconvention,
- custombinaryview::{BinaryViewType, BinaryViewTypeExt},
- Endianness,
-};
+use binaryninja::{add_optional_plugin_dependency, architecture::ArchitectureExt, callingconvention, custombinaryview::{BinaryViewType, BinaryViewTypeExt}, Endianness};
mod architecture;
mod flag;
@@ -47,9 +42,15 @@ pub extern "C" fn CorePluginInit() -> bool {
arch.set_default_calling_convention(&default);
- if let Ok(bv) = BinaryViewType::by_name("ELF") {
- bv.register_arch(105, Endianness::LittleEndian, arch);
+ if let Ok(bvt) = BinaryViewType::by_name("ELF") {
+ bvt.register_arch(105, Endianness::LittleEndian, arch);
}
true
}
+
+#[no_mangle]
+#[allow(non_snake_case)]
+pub extern "C" fn CorePluginDependencies() {
+ add_optional_plugin_dependency("view_elf");
+} \ No newline at end of file
diff --git a/platform/linux/platform_linux.cpp b/platform/linux/platform_linux.cpp
index 8377aad9..683912d5 100644
--- a/platform/linux/platform_linux.cpp
+++ b/platform/linux/platform_linux.cpp
@@ -240,6 +240,7 @@ extern "C"
AddOptionalPluginDependency("arch_mips");
AddOptionalPluginDependency("arch_ppc");
AddOptionalPluginDependency("arch_riscv");
+ AddOptionalPluginDependency("arch_msp430");
AddOptionalPluginDependency("view_elf");
}
#endif