| ... | @@ -276,14 +276,16 @@ fn _start() callconv(.naked) noreturn { | ... | @@ -276,14 +276,16 @@ fn _start() callconv(.naked) noreturn { |
| 276 | // `_DYNAMIC` as well. | 276 | // `_DYNAMIC` as well. |
| 277 | // r8 = FP | 277 | // r8 = FP |
| 278 | \\ grs t0, 1f | 278 | \\ grs t0, 1f |
| 279 | \\ 1: | 279 | \\1: |
| 280 | \\ lrw gb, 1b@GOTPC | 280 | \\ lrw gb, 1b@GOTPC |
| 281 | \\ addu gb, t0 | 281 | \\ addu gb, t0 |
| 282 | \\ movi r8, 0 | 282 | \\ movi r8, 0 |
| 283 | \\ movi lr, 0 | 283 | \\ movi lr, 0 |
| 284 | \\ mov a0, sp | 284 | \\ mov a0, sp |
| 285 | \\ andi sp, sp, -8 | 285 | \\ andi sp, sp, -8 |
| 286 | \\ jmpi %[posixCallMainAndExit] | 286 | \\ lrw t1, %[posixCallMainAndExit]@GOTOFF |
| | 287 | \\ addu t1, gb |
| | 288 | \\ jmp t1 |
| 287 | , | 289 | , |
| 288 | .hexagon => | 290 | .hexagon => |
| 289 | // r29 = SP, r30 = FP, r31 = LR | 291 | // r29 = SP, r30 = FP, r31 = LR |