Skip to content

Fix armcc symbols always being hidden#364

Open
Darxoon wants to merge 1 commit into
encounter:mainfrom
Darxoon:main
Open

Fix armcc symbols always being hidden#364
Darxoon wants to merge 1 commit into
encounter:mainfrom
Darxoon:main

Conversation

@Darxoon

@Darxoon Darxoon commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

For some reason armcc always marks global symbols as hidden (referred to as Linkage by the object library) which makes objdiff never display any non-static functions unless the "Show hidden symbols" option is enabled, which is an undesirable workaround because that always adds a lot of noise symbols.

This fixes it by never hiding any global symbols in ARM ELF objects. I don't know if this causes any collateral damage in non-armcc ecosystems but armcc only ever marks actual function symbols as global so it works.

@HaydnTrigg

HaydnTrigg commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

This “fix” feels fairly hacky. The issue doesn’t occur when compiling with Clang or GCC, so it seems specific to this configuration. In my view, this behavior should be gated behind an explicit flag on the units in objdiff.json, allowing projects that need to target Armcc to opt in, while leaving the default behavior unchanged for other architectures.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants