Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Combine text sections" gets confused by ARM constant pools #175

Open
LagoLunatic opened this issue Mar 23, 2025 · 0 comments
Open

"Combine text sections" gets confused by ARM constant pools #175

LagoLunatic opened this issue Mar 23, 2025 · 0 comments

Comments

@LagoLunatic
Copy link
Contributor

Commit: Seems to have been introduced on eaba239, still happens on latest commit

When "Combine text sections" is enabled, some objects have most of their functions interpreted as being data instead:
Image

This doesn't seem to happen to the first function in the object:
Image

It seems to think that the first function's constant pool continues and covers every other function in the TU.

Not all objects are affected by this issue. Some have the opposite issue, where it interprets both constant pools and code as being code:
Image

The difference between these two types of issue appears to be the first function in the TU - if it has a constant pool, all the functions after it will be interpreted as constant pools. If it doesn't have a constant pool, all the constant pools after it will be interpreted as code.

Here are both objects (enemy100 has the first issue, enemy300 has the second):
armcombine.zip

Neither issue happens when text sections aren't combined.

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

No branches or pull requests

1 participant