-
Notifications
You must be signed in to change notification settings - Fork 123
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
Integrated kmc gcc for matching libgultra #224
Conversation
Don't merge this PR yet, I swapped to a different version of mips ld to fix an issue with modern mips ld not behaving well with KMC gcc compiled object files. I will look into a better fix tomorrow. |
I have resolved the ld issue by stripping the problematic symbols from the kmc gcc output files. |
Any source files in the src/ultra directory will be compiled using it Moved epiread and sptaskyield as examples
@@ -107,7 +107,7 @@ segments: | |||
- [0x3BD40, hasm, os/osSetIntMask] | |||
- [0x3bde0, c, os/osCreatePiManager] | |||
- [0x3C160, c, os/osEPiWriteIo] # MOVE_ADDU | |||
- [0x3c1c0, c, os/osEPiReadIo] # MOVE_ADDU | |||
- [0x3c1c0, c, ultra/epiread] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would say we might wanna keep my # MOVE_ADDU
comment, but I guess everything in the ultra/ dir will eventually all implicitly have the addu for move anyway...
I was using those comments to track which files had the difference, but I guess we can just move them into ultra/ and the new compiler will generate the correct code? This will also get rid of the need for the different asm macro right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, there's no need for the macros in those files anymore. Anything compiled with kmc gcc will use addu for moves, and in fact the macros probably wouldn't even work with kmc gcc as it seems to not have as robust support for inline asm (for example, INCLUDE_ASM doesn't work with it).
thanks so much! Excited to match libultra after this |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are a couple correctness issues I forsee with the new ninja stuff but nothing that needs to be fixed right now. Thanks for the PR!!
Going to revert this for now since we're not actively working on libultra so much and the wine dependency is heavy and seems to be acting up weirdly sometimes. But we will definitely revisit this in the near future. :) |
Any source files in the src/ultra directory will be compiled using it.
Moved epiread and sptaskyield as examples.