| ... | @@ -203,6 +203,7 @@ fn _start() callconv(.naked) noreturn { | ... | @@ -203,6 +203,7 @@ fn _start() callconv(.naked) noreturn { |
| 203 | .hexagon => ".cfi_undefined r31", | 203 | .hexagon => ".cfi_undefined r31", |
| 204 | .loongarch32, .loongarch64 => ".cfi_undefined 1", | 204 | .loongarch32, .loongarch64 => ".cfi_undefined 1", |
| 205 | .m68k => ".cfi_undefined %%pc", | 205 | .m68k => ".cfi_undefined %%pc", |
| | 206 | .microblaze, .microblazeel => ".cfi_undefined r15", |
| 206 | .mips, .mipsel, .mips64, .mips64el => ".cfi_undefined $ra", | 207 | .mips, .mipsel, .mips64, .mips64el => ".cfi_undefined $ra", |
| 207 | .or1k => ".cfi_undefined r9", | 208 | .or1k => ".cfi_undefined r9", |
| 208 | .powerpc, .powerpcle, .powerpc64, .powerpc64le => ".cfi_undefined lr", | 209 | .powerpc, .powerpcle, .powerpc64, .powerpc64le => ".cfi_undefined lr", |
| ... | @@ -346,6 +347,16 @@ fn _start() callconv(.naked) noreturn { | ... | @@ -346,6 +347,16 @@ fn _start() callconv(.naked) noreturn { |
| 346 | \\ lea %[posixCallMainAndExit] - . - 8, %%a0 | 347 | \\ lea %[posixCallMainAndExit] - . - 8, %%a0 |
| 347 | \\ jsr (%%pc, %%a0) | 348 | \\ jsr (%%pc, %%a0) |
| 348 | , | 349 | , |
| | 350 | .microblaze, .microblazeel => |
| | 351 | // r1 = SP, r15 = LR, r19 = FP, r20 = GP |
| | 352 | \\ ori r15, r0, r0 |
| | 353 | \\ ori r19, r0, r0 |
| | 354 | \\ mfs r20, rpc |
| | 355 | \\ addik r20, r20, _GLOBAL_OFFSET_TABLE_ + 8 |
| | 356 | \\ ori r5, r1, r0 |
| | 357 | \\ andi r1, r1, -4 |
| | 358 | \\ brlid r15, %[posixCallMainAndExit] |
| | 359 | , |
| 349 | .mips, .mipsel => | 360 | .mips, .mipsel => |
| 350 | \\ move $fp, $zero | 361 | \\ move $fp, $zero |
| 351 | \\ bal 1f | 362 | \\ bal 1f |