diff --git a/lib/std/os/linux/x86.zig b/lib/std/os/linux/x86.zig index 3770607f55..a68a4af317 100644 --- a/lib/std/os/linux/x86.zig +++ b/lib/std/os/linux/x86.zig @@ -159,12 +159,14 @@ pub fn clone() callconv(.naked) u32 { pub fn restore() callconv(.naked) noreturn { switch (builtin.zig_backend) { .stage2_c => asm volatile ( + \\ addl $4, %%esp \\ movl %[number], %%eax \\ int $0x80 : : [number] "i" (@intFromEnum(SYS.sigreturn)), ), else => asm volatile ( + \\ addl $4, %%esp \\ int $0x80 : : [number] "{eax}" (@intFromEnum(SYS.sigreturn)),