| ... | @@ -363,6 +363,15 @@ fn _start() callconv(.Naked) noreturn { | ... | @@ -363,6 +363,15 @@ fn _start() callconv(.Naked) noreturn { |
| 363 | \\ mtlr 0 | 363 | \\ mtlr 0 |
| 364 | \\ b %[posixCallMainAndExit] | 364 | \\ b %[posixCallMainAndExit] |
| 365 | , | 365 | , |
| | 366 | .s390x => |
| | 367 | // Set up the stack frame (register save area and cleared back-chain slot). |
| | 368 | // Note: Stack pointer is guaranteed by ABI to be 8-byte aligned as required. |
| | 369 | \\ lgr %r2, %r15 |
| | 370 | \\ aghi %r15, -160 |
| | 371 | \\ lghi %r0, 0 |
| | 372 | \\ stg %r0, 0(%r15) |
| | 373 | \\ jg %[posixCallMainAndExit] |
| | 374 | , |
| 366 | .sparc64 => | 375 | .sparc64 => |
| 367 | // argc is stored after a register window (16 registers) plus stack bias | 376 | // argc is stored after a register window (16 registers) plus stack bias |
| 368 | \\ mov %%g0, %%i6 | 377 | \\ mov %%g0, %%i6 |