From 62fa773b27e5ce9800108d0b5e8fa671fc0739fb Mon Sep 17 00:00:00 2001 From: apio Date: Fri, 21 Oct 2022 18:33:06 +0200 Subject: [PATCH] libc: Add dummy argv --- libs/libc/crt0.asm | 4 +++- libs/libc/src/init.cpp | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/libs/libc/crt0.asm b/libs/libc/crt0.asm index 24dfab0b..958d08b3 100644 --- a/libs/libc/crt0.asm +++ b/libs/libc/crt0.asm @@ -6,6 +6,8 @@ extern _fini extern initialize_libc extern exit +extern __argv + global _start _start: ; Set up end of the stack frame linked list. @@ -19,7 +21,7 @@ _start: call _init mov rdi, 0 ; argc = 0 - mov rsi, 0 ; argv = 0 + mov rsi, __argv ; Dummy argv which is equal to {NULL} call main diff --git a/libs/libc/src/init.cpp b/libs/libc/src/init.cpp index 330ca048..93f0f37c 100644 --- a/libs/libc/src/init.cpp +++ b/libs/libc/src/init.cpp @@ -4,6 +4,8 @@ #include #include +__attribute__((used)) const char* __argv[] = {NULL}; // For now. + static void terminate_libc() { fclose(stdout);