aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-10-01 15:53:52 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-10-01 15:54:10 -0700
commitd6daff12617290d4dfb499ed8425d33a48d844ba (patch)
tree8cc815db5ac1558ecd139ec7c9cece391865b48c /sysdeps
parentb68f8620561d7658b475eb512978d3c33d8a4547 (diff)
downloadglibc-d6daff12617290d4dfb499ed8425d33a48d844ba.zip
glibc-d6daff12617290d4dfb499ed8425d33a48d844ba.tar.gz
glibc-d6daff12617290d4dfb499ed8425d33a48d844ba.tar.bz2
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.c1
-rw-r--r--sysdeps/posix/writev.c1
-rw-r--r--sysdeps/unix/sysv/linux/readv.c2
-rw-r--r--sysdeps/unix/sysv/linux/writev.c2
4 files changed, 6 insertions, 0 deletions
diff --git a/sysdeps/posix/readv.c b/sysdeps/posix/readv.c
index 5b0c124..2875c76 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 7ce1deb..89d4630 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 142a0a9..e471300 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 1b56cbb..2495fd9 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)