diff options
Diffstat (limited to 'system.old/libraries/sys/start.zig')
| -rw-r--r-- | system.old/libraries/sys/start.zig | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/system.old/libraries/sys/start.zig b/system.old/libraries/sys/start.zig new file mode 100644 index 0000000..a65eec8 --- /dev/null +++ b/system.old/libraries/sys/start.zig @@ -0,0 +1,16 @@ +//! Entry point + +extern fn main(pc: u32, pv: [*]const [*:0]const u8) u8; + +export fn _start() callconv(.naked) noreturn { + asm volatile ( + \\mov (%%rsp), %%edi + \\mov 8(%%rsp), %%rsi + \\and $-16, %%rsp + \\call main + \\movzbl %%al, %%edi + \\mov $0x01, %%eax + \\syscall + \\ud2 + ); +} |
