| ... | @@ -300,6 +300,15 @@ fn _start() callconv(.Naked) noreturn { | ... | @@ -300,6 +300,15 @@ fn _start() callconv(.Naked) noreturn { |
| 300 | \\ and sp, x0, #-16 | 300 | \\ and sp, x0, #-16 |
| 301 | \\ b %[posixCallMainAndExit] | 301 | \\ b %[posixCallMainAndExit] |
| 302 | , | 302 | , |
| | 303 | .arc => |
| | 304 | // The `arc` tag currently means ARCv2, which has an unusually low stack alignment |
| | 305 | // requirement. ARCv3 increases it from 4 to 16, but we don't support ARCv3 yet. |
| | 306 | \\ mov fp, 0 |
| | 307 | \\ mov blink, 0 |
| | 308 | \\ mov r0, sp |
| | 309 | \\ and sp, sp, -4 |
| | 310 | \\ b %[posixCallMainAndExit] |
| | 311 | , |
| 303 | .arm, .armeb, .thumb, .thumbeb => | 312 | .arm, .armeb, .thumb, .thumbeb => |
| 304 | \\ mov fp, #0 | 313 | \\ mov fp, #0 |
| 305 | \\ mov lr, #0 | 314 | \\ mov lr, #0 |