From 5088febc53fb9f0d6496a410baf8b393befb845d Mon Sep 17 00:00:00 2001 From: Brandon Miller Date: Wed, 15 May 2024 09:44:37 -0400 Subject: Removed loader.architecture override from views Architecture is derived from platform object and can be overriden using loader.platform --- view/md1rom/md1rom.cpp | 35 ++++++++++++----------------------- 1 file changed, 12 insertions(+), 23 deletions(-) (limited to 'view/md1rom') diff --git a/view/md1rom/md1rom.cpp b/view/md1rom/md1rom.cpp index d9354468..d7169eb3 100644 --- a/view/md1rom/md1rom.cpp +++ b/view/md1rom/md1rom.cpp @@ -125,40 +125,29 @@ bool Md1romView::Init() AddAutoSection(m_mainRom.name, mainRomBase + m_mainRom.addr, m_mainRom.length, ReadOnlyCodeSectionSemantics); m_entryPoint = mainRomBase + m_mainRom.addr; - if (settings && settings->Contains("loader.architecture")) - { - auto arch = Architecture::GetByName(settings->Get("loader.architecture", this)); - if (!m_arch || (arch && (arch->GetName() != m_arch->GetName()))) - m_arch = arch; - } - else - { - m_arch = Architecture::GetByName("nanomips"); - } - - if (m_arch) - { - SetDefaultArchitecture(m_arch); - } - else - { - LogWarn("nanoMIPS architecture not found. Code cannot be disassembled. If you are interested in purchasing " - "the nanoMIPS architecture plugin, please contact us via https://binary.ninja/support/"); - } - if (settings && settings->Contains("loader.platform")) // handle overrides { Ref platformOverride = Platform::GetByName(settings->Get("loader.platform", this)); if (platformOverride) + { m_plat = platformOverride; + m_arch = m_plat->GetArchitecture(); + } } else { m_plat = Platform::GetByName("nanomips"); + m_arch = Architecture::GetByName("nanomips"); + if (!m_arch) + { + LogWarn("nanoMIPS architecture not found. Code cannot be disassembled. If you are interested in purchasing " + "the nanoMIPS architecture plugin, please contact us via https://binary.ninja/support/"); + } } - if (m_plat) + if (m_arch && m_plat) { + SetDefaultArchitecture(m_arch); SetDefaultPlatform(m_plat); } } @@ -441,7 +430,7 @@ Ref Md1romViewType::GetLoadSettingsForData(BinaryNinja::BinaryView* da Ref settings = GetDefaultLoadSettingsForData(viewRef); // specify default load settings that can be overridden - vector overrides = {"loader.architecture", "loader.imageBase", "loader.platform"}; + vector overrides = {"loader.imageBase", "loader.platform"}; for (const auto& override : overrides) { if (settings->Contains(override)) -- cgit v1.3.1