Skip to content

Hide certain symbols for X360 COFFs#248

Merged
encounter merged 6 commits into
encounter:mainfrom
rjkiv:coff_tweaks
Aug 31, 2025
Merged

Hide certain symbols for X360 COFFs#248
encounter merged 6 commits into
encounter:mainfrom
rjkiv:coff_tweaks

Conversation

@rjkiv

@rjkiv rjkiv commented Aug 24, 2025

Copy link
Copy Markdown
Contributor

This hides any symbol starting with except_data_ automatically if you're working on X360.
In addition, __unwinds are now hidden by default, with the option to show them again added in Arch Settings.

fixes #232

@rjkiv

rjkiv commented Aug 24, 2025

Copy link
Copy Markdown
Contributor Author

update: have spotted __catch symbols as well and have hidden those alongside the __unwinds

@tomsons26

tomsons26 commented Aug 25, 2025

Copy link
Copy Markdown
Contributor

Wouldnt it be better to handle this via config? #238
Also this would apply to msvc x86 as well not just ppc

@rjkiv

rjkiv commented Aug 25, 2025

Copy link
Copy Markdown
Contributor Author

I'd have to disagree - except_datas aren't actual functions, they're 8 byte structs containing pointers to exception data. Since our decomped code doesn't automatically spawn the same except data structs, I'd argue it's not worth keeping them in the function list window.

As for unwinds and catches....I still think those would be better off automatically hidden - your only real use of matching these 100% would be if you're trying to link, which X360 isn't currently doing. But that said, I'm open to further discussion about this.

@tomsons26

Copy link
Copy Markdown
Contributor

I'm not arguing against hiding these things, I understood that it's data, I mean i think the ignore lists should be adjustable via the project not hardcoded into objdiff

@encounter encounter left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we sure there's no automatic way to detect these? e.g. certain symbol type/metadata

Comment thread objdiff-core/config-schema.json Outdated
"description": "Display pooled data references in functions as fake relocations."
},
{
"id": "ppc.showUnwinds",

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this functionally different than clicking "Show hidden symbols" in Diff Options?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Functionally, no it is not - I suppose instead of this option we can just bundle in the except_datas and the __unwinds/__catches under the "hidden symbols" umbrella?

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, and in fact that's what you're doing with SymbolFlag::Hidden, so it should work already!

@encounter encounter merged commit 0b95613 into encounter:main Aug 31, 2025
24 checks passed
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.

Add an option to filter out specific symbols

3 participants