Commit 3fa3704
committed
srxfixup: handle R_MIPS_NONE relocation; use --relative-branch in IOP builds
R_MIPS_NONE is a valid no-op relocation type that newer toolchains emit
(e.g. as padding between real relocations). srxfixup's fixlocation_an_rel()
had no case for it and would fall through to the default unhandled-relocation
path, causing srxfixup to abort when building any IRX that contained one.
Enable --relative-branch (--rb) in iop/Rules.make so that all IOP IRX
binaries have their R_MIPS_26 absolute-jump relocations converted to
position-independent relative branches. Without this, a module loaded at a
different address than it was linked for will execute the wrong jal target.1 parent 2bac3a6 commit 3fa3704
2 files changed
Lines changed: 3 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
146 | 146 | | |
147 | 147 | | |
148 | 148 | | |
149 | | - | |
| 149 | + | |
150 | 150 | | |
151 | 151 | | |
152 | 152 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
412 | 412 | | |
413 | 413 | | |
414 | 414 | | |
| 415 | + | |
| 416 | + | |
415 | 417 | | |
416 | 418 | | |
417 | 419 | | |
| |||
0 commit comments