From 7d0528e18add6a19b69ed82eeb28c2f721e6f420 Mon Sep 17 00:00:00 2001 From: Darxoon Date: Sat, 13 Jun 2026 00:05:44 +0200 Subject: [PATCH] Fix armcc symbols always being hidden --- 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 6046070d..d9aa26e8 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; }