llvm: build IOP modules as IRX1 #12

Merged
techwritescode merged 1 commit from llvm-irx1 into master 2026-10-12 04:53:38 +00:00

Passes --irx1 to iopfixup for the llvm toolchain, like gcc. Without it, code LLVM compiled with a shared lui silently became a 0xFF81 module that the boot ROM rejects (error -201). With --irx1 such a module fails at build time with R_MIPS_LO16 without R_MIPS_HI16.

Needs a toolchain built with ps2/llvm#4 and ps2/llvm-toolchain's -mips-split-hi16 IOP flag; older llvm toolchains will now fail IOP builds that use shared lui. Goldens regenerated.

🤖 Generated with Claude Code

Passes `--irx1` to iopfixup for the llvm toolchain, like gcc. Without it, code LLVM compiled with a shared `lui` silently became a 0xFF81 module that the boot ROM rejects (error -201). With `--irx1` such a module fails at build time with `R_MIPS_LO16 without R_MIPS_HI16`. Needs a toolchain built with ps2/llvm#4 and ps2/llvm-toolchain's `-mips-split-hi16` IOP flag; older llvm toolchains will now fail IOP builds that use shared `lui`. Goldens regenerated. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
llvm: build IOP modules as IRX1, as gcc does
All checks were successful
Build / build (push) Successful in 1m1s
Build / smoke-test-real-toolchain (push) Successful in 1m4s
8fbb3ed670
The LLVM toolchain now emits one HI16 per LO16, so --irx1 works and a module
the console cannot load fails at build time instead of with error -201.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
techwritescode deleted branch llvm-irx1 2026-10-12 04:53:38 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
ps2/ps2build!12
No description provided.