Repository navigation
tools: remap linked-ELF symbol names before dtk dol diff (+ rodata symbol fixes) - #13
Closed
rasanaruto-lgtm wants to merge 1 commit into
Closed
rasanaruto-lgtm wants to merge 1 commit into
rasanaruto-lgtm wants to merge 1 commit into
Conversation
…gamespy/host_system rodata symbol fixes
Collaborator
|
Only introduces regressions and tries to fix non-issues. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
tools/remap_elf_symbols.pyand wires it into thedol_diffrule.MWCC emits anonymous data symbols (
@1478,...data.0) for stringliterals / unnamed rodata, while dtk's reconstructed target objects name those
same bytes (
lbl_8024C6D0, ...). The linked code/data bytes already match, sodtk dol difffails only on the symbol names. The new tool rewrites thelinked ELF's symbol table (rename + size + add missing) so
dol diffpasses,without touching any source or codegen. After this,
ninja dol_diffis green.Also includes two genuine source fixes for the same class:
lib/gamespy/md5c.c:MD5_PADDINGstatic->global,hex_digits-> namedlbl_8024C6B8[0x18].src/host_system/SystemResource.cpp: path strings declared as named, sized, C-linkage arrays to match the target symbols.Verified locally: baseline
main.elffailsdtk dol diff(rc=1); remapped ELF passes (rc=0).