| author | |
| committer | |
| log | 9ca1d1e6b1e7eef01f59703f10d7d4dcb10dfcfa |
| tree | e4a95d5ffed98fb178a016f848ffaaa50d957d88 |
| parent | 1df99ba96a11fa8c16821018681683835cedb7cf |
| signature |
jsr used in this way is a macro for
ldq t12, <a>(gp)
jsr ra, (t12), <b>
with relocations on both instructions. br avoids this.1 files changed, 1 insertions(+), 1 deletions(-)
lib/std/start.zig+1-1| ... | ... | @@ -247,7 +247,7 @@ fn _start() callconv(.naked) noreturn { |
| 247 | 247 | \\ mov $30, $16 |
| 248 | 248 | \\ ldi $1, -16 |
| 249 | 249 | \\ and $30, $30, $1 |
| 250 | \\ jsr $26, %[posixCallMainAndExit] | |
| 250 | \\ br $31, %[posixCallMainAndExit] | |
| 251 | 251 | , |
| 252 | 252 | .arc, .arceb => |
| 253 | 253 | // ARC v1 and v2 had a very low stack alignment requirement of 4; v3 increased it to 16. |