create_config: Avoid emitting relocations for addresses paired by using ori for N64
#516
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.
#515 introduced the ability to detect
orisymbol pairs in the N64 entrypoint, but this introduced a bug that made create_config to emit incorrect relocations in the generatedreloc_addrs.txt.The bug was that it was emitting
%lorelocations for thoseoriinstructions, which produces non matching builds because%loproduces a signed operation butoriexpects an unsigned argument.With the fix now we keep track of
oripairs and only emit the reloc information if the pair was not created by using anori.I updated the entrypoint tests to account for this. I also fixed the arguments of the entrypoint instructions so it uses negative values for instructions that expect a signed value.
Finally I changed the CI to explicitly check all the python files, because mypy was barking at me about the entrypoints file but we weren't covering it in CI.