diff options
Diffstat (limited to 'libc')
-rw-r--r-- | libc/sysdeps/linux/common/openat.c | 7 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/openat64.c | 7 |
2 files changed, 14 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/common/openat.c b/libc/sysdeps/linux/common/openat.c index 33bd606a1..8380ec687 100644 --- a/libc/sysdeps/linux/common/openat.c +++ b/libc/sysdeps/linux/common/openat.c @@ -12,7 +12,14 @@ #undef openat #ifdef __NR_openat +/* The openat() prototype is varargs based, but we don't care about that + * here, so need to provide our own dedicated signature. + */ +extern int openat(int fd, const char *file, int oflag, mode_t mode); +libc_hidden_proto(openat) + _syscall4(int, openat, int, fd, const char *, file, int, oflag, mode_t, mode) +libc_hidden_def(openat) #else /* should add emulation with open() and /proc/self/fd/ ... */ #endif diff --git a/libc/sysdeps/linux/common/openat64.c b/libc/sysdeps/linux/common/openat64.c index 75711aad6..06a5819d7 100644 --- a/libc/sysdeps/linux/common/openat64.c +++ b/libc/sysdeps/linux/common/openat64.c @@ -14,10 +14,17 @@ #ifdef __UCLIBC_HAS_LFS__ #ifdef __NR_openat +/* The openat() prototype is varargs based, but we don't care about that + * here, so need to provide our own dedicated signature. + */ +extern int openat64(int fd, const char *file, int oflag, mode_t mode); +libc_hidden_proto(openat64) + int openat64(int fd, const char *file, int oflag, mode_t mode) { return openat(fd, file, oflag | O_LARGEFILE, mode); } +libc_hidden_def(openat64) #else /* should add emulation with open() and /proc/self/fd/ ... */ #endif |