From 0fe4fadbc3f23f2ad7a57fdfb7f0e7a8f26ca9a5 Mon Sep 17 00:00:00 2001 From: Darxoon Date: Fri, 10 Jul 2026 07:27:40 +0200 Subject: [PATCH] Fix armcc symbols always being hidden (#364) --- objdiff-core/src/obj/read.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/objdiff-core/src/obj/read.rs b/objdiff-core/src/obj/read.rs index f6c8c09..1b2589a 100644 --- a/objdiff-core/src/obj/read.rs +++ b/objdiff-core/src/obj/read.rs @@ -9,7 +9,7 @@ use alloc::{ use core::{cmp::Ordering, num::NonZeroU64}; use anyhow::{Context, Result, anyhow, bail, ensure}; -use object::{Object as _, ObjectSection as _, ObjectSymbol as _}; +use object::{Architecture, Object as _, ObjectSection as _, ObjectSymbol as _}; use crate::{ arch::{Arch, RelocationOverride, RelocationOverrideTarget, new_arch}, @@ -133,7 +133,9 @@ fn map_symbol( if symbol.is_weak() { flags |= SymbolFlag::Weak; } - if file.format() == object::BinaryFormat::Elf && symbol.scope() == object::SymbolScope::Linkage + if file.format() == object::BinaryFormat::Elf + && symbol.scope() == object::SymbolScope::Linkage + && (file.architecture() != Architecture::Arm || !symbol.is_global()) { flags |= SymbolFlag::Hidden; }