From c4ba6d79ae3b96d56cc6b3744e7c64e004ecd161 Mon Sep 17 00:00:00 2001 From: Mason Reed Date: Tue, 21 Apr 2026 18:10:51 -0700 Subject: [Rust] Refactor `binary_view` module - Remove the "viral" `BinaryViewExt` trait and its blanket impl - Split up the binary view type from the custom trait impl - Simplify and fix bugs regarding custom binary view initialization - Rewrite Minidump binary view example, parses the PE headers to create proper sections now - Add some extra documentation - Add unit test for custom binary view --- arch/riscv/src/lib.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'arch/riscv/src') diff --git a/arch/riscv/src/lib.rs b/arch/riscv/src/lib.rs index 2bc0427c..3537a082 100644 --- a/arch/riscv/src/lib.rs +++ b/arch/riscv/src/lib.rs @@ -13,9 +13,8 @@ use binaryninja::{ ImplicitRegisterExtend, InstructionInfo, Register as Reg, RegisterInfo, UnusedFlag, UnusedRegisterStack, }, - binary_view::{BinaryView, BinaryViewExt}, + binary_view::{BinaryView, BinaryViewType}, calling_convention::{register_calling_convention, CallingConvention, ConventionBuilder}, - custom_binary_view::{BinaryViewType, BinaryViewTypeExt}, disassembly::{InstructionTextToken, InstructionTextTokenKind}, function::Function, function_recognizer::FunctionRecognizer, @@ -3101,7 +3100,7 @@ pub extern "C" fn CorePluginInit() -> bool { ); arch64.set_default_calling_convention(&cc64); - if let Ok(bvt) = BinaryViewType::by_name("ELF") { + if let Some(bvt) = BinaryViewType::by_name("ELF") { bvt.register_arch( (1 << 16) | 243, binaryninja::Endianness::LittleEndian, -- cgit v1.3.1