From 365238e835e0203345cc86d429302bdb1a3d0fb2 Mon Sep 17 00:00:00 2001 From: Matheus Date: Tue, 27 Jun 2023 20:22:38 -0300 Subject: [PATCH] mlibc port: sys_openat --- patches/mlibc/jinx-working-patch.patch | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/patches/mlibc/jinx-working-patch.patch b/patches/mlibc/jinx-working-patch.patch index 417ff16b..a9ef1cae 100644 --- a/patches/mlibc/jinx-working-patch.patch +++ b/patches/mlibc/jinx-working-patch.patch @@ -133,10 +133,10 @@ index 0000000..e5b087a + diff --git mlibc-workdir/sysdeps/astral/generic/generic.cpp mlibc-workdir/sysdeps/astral/generic/generic.cpp new file mode 100644 -index 0000000..ce76c73 +index 0000000..e00428e --- /dev/null +++ mlibc-workdir/sysdeps/astral/generic/generic.cpp -@@ -0,0 +1,231 @@ +@@ -0,0 +1,235 @@ +#include +#include +#include @@ -305,13 +305,17 @@ index 0000000..ce76c73 + return sys_vm_unmap(pointer, size); + } + -+ int sys_open(const char *pathname, int flags, mode_t mode, int *fd) { ++ int sys_openat(int dirfd, const char *path, int flags, mode_t mode, int *fd) { + long ret; -+ long err = syscall(SYSCALL_OPENAT, &ret, AT_FDCWD, (uint64_t)pathname, flags, mode); ++ long err = syscall(SYSCALL_OPENAT, &ret, dirfd, (uint64_t)path, flags, mode); + if (err) + return err; + *fd = ret; + return 0; ++ } ++ ++ int sys_open(const char *pathname, int flags, mode_t mode, int *fd) { ++ return sys_openat(AT_FDCWD, pathname, flags, mode, fd); + }; + + int sys_open_dir(const char *path, int *handle) {