summaryrefslogtreecommitdiffstats
path: root/main/uclibc/0002-add-hidden-aliases-for-openat-funcs.patch
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2009-07-24 13:55:16 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2009-07-24 13:55:16 +0000
commit2e8f32e3f58353a25678f972217337174eb6376f (patch)
treef398c3f2bf38c6e42b4e2bd7f6c1e82a70b78c50 /main/uclibc/0002-add-hidden-aliases-for-openat-funcs.patch
parent7f9c2406a3a9f7c4059328bc358d78689d618ea7 (diff)
downloadaports-2e8f32e3f58353a25678f972217337174eb6376f.tar.bz2
aports-2e8f32e3f58353a25678f972217337174eb6376f.tar.xz
main/uclibc: backport openat functions
Diffstat (limited to 'main/uclibc/0002-add-hidden-aliases-for-openat-funcs.patch')
-rw-r--r--main/uclibc/0002-add-hidden-aliases-for-openat-funcs.patch78
1 files changed, 78 insertions, 0 deletions
diff --git a/main/uclibc/0002-add-hidden-aliases-for-openat-funcs.patch b/main/uclibc/0002-add-hidden-aliases-for-openat-funcs.patch
new file mode 100644
index 000000000..03fddbf98
--- /dev/null
+++ b/main/uclibc/0002-add-hidden-aliases-for-openat-funcs.patch
@@ -0,0 +1,78 @@
+From 3f2b14f91f253d8e71b3f089b6864be9fcfbb09a Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Wed, 22 Jul 2009 01:48:08 -0400
+Subject: [PATCH 2/2] add hidden aliases for openat funcs
+
+openat64() uses openat(), so we need hidden aliases for it.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ include/fcntl.h | 2 ++
+ libc/sysdeps/linux/common/openat.c | 7 +++++++
+ libc/sysdeps/linux/common/openat64.c | 7 +++++++
+ 3 files changed, 16 insertions(+), 0 deletions(-)
+
+diff --git a/include/fcntl.h b/include/fcntl.h
+index 084ee8c..7ce3150 100644
+--- a/include/fcntl.h
++++ b/include/fcntl.h
+@@ -119,6 +119,7 @@ extern int open64 (__const char *__file, int __oflag, ...) __nonnull ((1));
+ # ifndef __USE_FILE_OFFSET64
+ extern int openat (int __fd, __const char *__file, int __oflag, ...)
+ __nonnull ((2));
++libc_hidden_proto(openat)
+ # else
+ # ifdef __REDIRECT
+ extern int __REDIRECT (openat, (int __fd, __const char *__file, int __oflag,
+@@ -130,6 +131,7 @@ extern int __REDIRECT (openat, (int __fd, __const char *__file, int __oflag,
+
+ extern int openat64 (int __fd, __const char *__file, int __oflag, ...)
+ __nonnull ((2));
++libc_hidden_proto(openat64)
+ #endif
+
+ /* Create and open FILE, with mode MODE. This takes an `int' MODE
+diff --git a/libc/sysdeps/linux/common/openat.c b/libc/sysdeps/linux/common/openat.c
+index 33bd606..8380ec6 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 75711aa..06a5819 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
+--
+1.6.3.3
+