From 53a0b06bc231135b2ca687981b88ea907dcae281 Mon Sep 17 00:00:00 2001 From: Alexander Taylor Date: Thu, 22 Aug 2024 19:32:12 -0400 Subject: Make MSP430 correctly load after ELF view. --- arch/msp430/src/lib.rs | 17 +++++++++-------- platform/linux/platform_linux.cpp | 1 + 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 -- cgit v1.3.1