diff options
| author | Alex Rønne Petersen <alex@alexrp.com> | 2025-10-18 15:01:15 +0200 |
|---|---|---|
| committer | Alex Rønne Petersen <alex@alexrp.com> | 2025-10-18 22:26:52 +0200 |
| commit | 2d5cdfcfc2f073111c42940475d5126c3ea50e5c (patch) | |
| tree | e2e32490e5907d3d4c03010c0ce8aadf7ea01450 /lib/std/start.zig | |
| parent | 0d2d51dd8c00af71e19626aeb50dd7d9ff63ccf7 (diff) | |
| download | zig-2d5cdfcfc2f073111c42940475d5126c3ea50e5c.tar.gz zig-2d5cdfcfc2f073111c42940475d5126c3ea50e5c.zip | |
std.start: align stack pointer according to ARC v3 ABI
Diffstat (limited to 'lib/std/start.zig')
| -rw-r--r-- | lib/std/start.zig | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/std/start.zig b/lib/std/start.zig index 5836594468..0a6bcafc34 100644 --- a/lib/std/start.zig +++ b/lib/std/start.zig @@ -253,12 +253,11 @@ fn _start() callconv(.naked) noreturn { \\ b %[posixCallMainAndExit] , .arc => - // The `arc` tag currently means ARC v1 and v2, which have an unusually low stack - // alignment requirement. ARC v3 increases it from 4 to 16, but we don't support v3 yet. + // ARC v1 and v2 had a very low stack alignment requirement of 4; v3 increased it to 16. \\ mov fp, 0 \\ mov blink, 0 \\ mov r0, sp - \\ and sp, sp, -4 + \\ and sp, sp, -16 \\ b %[posixCallMainAndExit] , .arm, .armeb, .thumb, .thumbeb => |
