From 45cbcd0107430fe666fa338b11a3e021034b1138 Mon Sep 17 00:00:00 2001 From: Alex Date: Sat, 19 Nov 2022 06:32:11 +0200 Subject: [PATCH] Updated crts --- libc/runtime/crt0.c | 9 ++++----- libc/runtime/crt1.c | 9 ++++----- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/libc/runtime/crt0.c b/libc/runtime/crt0.c index 4884ce9..eb76588 100644 --- a/libc/runtime/crt0.c +++ b/libc/runtime/crt0.c @@ -2,11 +2,10 @@ int main(int argc, char *argv[], char *envp[]); void _start() { - // TODO: Implement - int *argc = 0; - char **argv = 0; - char **envp = 0; - int mainret = main((int)*argc, (char **)argv, (char **)envp); + register int argc __asm__("rdi"); + register char **argv __asm__("rsi"); + register char **envp __asm__("rdx"); + int mainret = main((int)argc, (char **)argv, (char **)envp); __asm__ __volatile__("syscall" : : "a"(0), "D"(mainret) diff --git a/libc/runtime/crt1.c b/libc/runtime/crt1.c index 46bcc4a..cf9104b 100644 --- a/libc/runtime/crt1.c +++ b/libc/runtime/crt1.c @@ -2,11 +2,10 @@ int main(int argc, char *argv[], char *envp[]); void _start() { - // TODO: Implement - int *argc = 0; - char **argv = 0; - char **envp = 0; - int mainret = main((int)*argc, (char **)argv, (char **)envp); + register int argc __asm__("rdi"); + register char **argv __asm__("rsi"); + register char **envp __asm__("rdx"); + int mainret = main((int)argc, (char **)argv, (char **)envp); __asm__ __volatile__("syscall" : : "a"(0), "D"(mainret)