diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2017-10-01 15:53:52 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2017-10-01 15:54:10 -0700 |
commit | d6daff12617290d4dfb499ed8425d33a48d844ba (patch) | |
tree | 8cc815db5ac1558ecd139ec7c9cece391865b48c /sysdeps | |
parent | b68f8620561d7658b475eb512978d3c33d8a4547 (diff) | |
download | glibc-d6daff12617290d4dfb499ed8425d33a48d844ba.tar.gz glibc-d6daff12617290d4dfb499ed8425d33a48d844ba.tar.xz glibc-d6daff12617290d4dfb499ed8425d33a48d844ba.zip |
Hide __readv and __writev [BZ #18822]
Hide internal __readv and __writev functions to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * include/sys/uio.h (__readv): Add libc_hidden_proto. (__writev): Likewise. * misc/readv.c (__readv): Add libc_hidden_def. * misc/writev.c (__writev): Likewise. * sysdeps/posix/readv.c (__readv): Likewise. * sysdeps/posix/writev.c (__writev): Likewise. * sysdeps/unix/sysv/linux/readv.c: Include <sys/uio.h>. (__readv): Likewise. * sysdeps/unix/sysv/linux/writev.c: Include <sys/uio.h>. (__writev): Likewise.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/posix/readv.c | 1 | ||||
-rw-r--r-- | sysdeps/posix/writev.c | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/readv.c | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/writev.c | 2 |
4 files changed, 6 insertions, 0 deletions
diff --git a/sysdeps/posix/readv.c b/sysdeps/posix/readv.c index 5b0c124e89..2875c76daf 100644 --- a/sysdeps/posix/readv.c +++ b/sysdeps/posix/readv.c @@ -88,4 +88,5 @@ __readv (int fd, const struct iovec *vector, int count) return bytes_read; } +libc_hidden_def (__readv) weak_alias (__readv, readv) diff --git a/sysdeps/posix/writev.c b/sysdeps/posix/writev.c index 7ce1deb80f..89d463033a 100644 --- a/sysdeps/posix/writev.c +++ b/sysdeps/posix/writev.c @@ -88,4 +88,5 @@ __writev (int fd, const struct iovec *vector, int count) return bytes_written; } +libc_hidden_def (__writev) weak_alias (__writev, writev) diff --git a/sysdeps/unix/sysv/linux/readv.c b/sysdeps/unix/sysv/linux/readv.c index 142a0a92a7..e4713008f1 100644 --- a/sysdeps/unix/sysv/linux/readv.c +++ b/sysdeps/unix/sysv/linux/readv.c @@ -17,6 +17,7 @@ <http://www.gnu.org/licenses/>. */ #include <unistd.h> +#include <sys/uio.h> #include <sysdep-cancel.h> ssize_t @@ -24,4 +25,5 @@ __readv (int fd, const struct iovec *iov, int iovcnt) { return SYSCALL_CANCEL (readv, fd, iov, iovcnt); } +libc_hidden_def (__readv) weak_alias (__readv, readv) diff --git a/sysdeps/unix/sysv/linux/writev.c b/sysdeps/unix/sysv/linux/writev.c index 1b56cbb709..2495fd938a 100644 --- a/sysdeps/unix/sysv/linux/writev.c +++ b/sysdeps/unix/sysv/linux/writev.c @@ -17,6 +17,7 @@ <http://www.gnu.org/licenses/>. */ #include <unistd.h> +#include <sys/uio.h> #include <sysdep-cancel.h> ssize_t @@ -24,4 +25,5 @@ __writev (int fd, const struct iovec *iov, int iovcnt) { return SYSCALL_CANCEL (writev, fd, iov, iovcnt); } +libc_hidden_def (__writev) weak_alias (__writev, writev) |