-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
PPCSymbolDB: Refactor SymbolMap Save/Load #13247
base: master
Are you sure you want to change the base?
Conversation
Update parse_entry_of in accordance to the sscanf change
f9054ac
to
bbf835b
Compare
I'll verify this, before the mitaclaw requested change it still did not work. Test pending |
Test completed; No longer hangs with the Flatpak 🥳 Looking at the actual diff now with before and after symbols |
Well that sucks my network failed and I lost my message. Windows load/save works as expected, with 2.2MB output I don't see why the platform would change my .map file in this PR only. |
Update on the above. Not related to this PR, but would be nice to be fixed. I also tested with a map file on 2412 (before the 2412-23 symbol format adjustment) and the loss still happens on Linux only. |
This PR is an attempt to debug #13195 issues.I'm migrating the change here since it seems to fix the flatpak issue.This PR refactors parts of the loading/saving process of symbol map. This PR fixes issues I had where some symbols weren't loaded properly (which might get saved later). Here are some examples on how they can alter existing symbol maps.
The alignment wasn't properly detected and
0
was detected asname
bysscanf
.This issue was also caused by the
namepos
/strstr
logic which is flawed when the name is small and equals to part of the symbol address, size or vaddress. Moreover, checking for a space doesn't work when alignment is 16. I've seen this alignment value on some*fill*
symbols.savegpr / loadgpr entry wasn't properly detected
This issue also trimmed the object names after the "entry of" part.
This PR is ready to be reviewed and tested. I also advise people testing this PR to backup their symbol maps just in case or test this PR in a dedicated portable build.