summaryrefslogtreecommitdiff
path: root/lib/libc/arch/x86_64
diff options
context:
space:
mode:
authorKacper <kacper@mail.openlinux.dev>2025-12-15 02:01:33 +0100
committerKacper <kacper@mail.openlinux.dev>2025-12-15 02:01:59 +0100
commit3b3325f761b09ebbfef04c44eed546cc4fdeb329 (patch)
treeaa19ea259bcda2410c2b3dd4512f19fb85aeaf8f /lib/libc/arch/x86_64
parent15d2df7811ef3cb79cc3e501d0d5f9b993d42bea (diff)
Added aio and eventfd support, along with sleep and yes utilities
Diffstat (limited to 'lib/libc/arch/x86_64')
-rw-r--r--lib/libc/arch/x86_64/crt0.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/lib/libc/arch/x86_64/crt0.c b/lib/libc/arch/x86_64/crt0.c
index a278c525..c60239d3 100644
--- a/lib/libc/arch/x86_64/crt0.c
+++ b/lib/libc/arch/x86_64/crt0.c
@@ -1,9 +1,9 @@
+#include "asm/auxvec.h" // for AT_SYSINFO_EHDR
+#include <io_uring.h>
#include <linux/auxvec.h> // for AT_NULL
#include <linux/elf.h> // for Elf64_Ehdr
-#include "asm/auxvec.h" // for AT_SYSINFO_EHDR
-
-#include <stdint.h> // for uintptr_t
-#include <stdlib.h> // for exit
+#include <stdint.h> // for uintptr_t
+#include <stdlib.h> // for exit
#define weak_reference(old, new) \
extern __typeof(old) new __attribute__((__weak__, __alias__(#old)))
@@ -23,6 +23,11 @@ static void __vdso_setup(Elf64_Ehdr *vdso_addr __attribute__((unused)))
weak_reference(__vdso_setup, vdso_setup);
+static void __io_uring_setup_(void)
+{
+}
+weak_reference(__io_uring_setup_, __io_uring_setup);
+
__attribute__((used)) void __libc_start(uintptr_t *sp)
{
char **argv;
@@ -46,6 +51,8 @@ __attribute__((used)) void __libc_start(uintptr_t *sp)
__auxv++;
}
+ __io_uring_setup_();
+
exit(main(argc, argv));
}