This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[hurd,commited 1/8] hurd: avoid PLT ref between sendfile and sendfile64
- From: Samuel Thibault <samuel dot thibault at ens-lyon dot org>
- To: libc-alpha at sourceware dot org
- Cc: Samuel Thibault <samuel dot thibault at ens-lyon dot org>
- Date: Sat, 16 Jun 2018 03:06:20 +0200
- Subject: [hurd,commited 1/8] hurd: avoid PLT ref between sendfile and sendfile64
* include/sys/sendfile.h (__sendfile64): Declare hidden prototype.
* sysdeps/mach/hurd/sendfile.c (sendfile): Call __sendfile64 instead
of sendfile.
* sysdeps/mach/hurd/sendfile64.c (sendfile64): Rename to __sendfile64.
(sendfile64): New strong alias.
---
ChangeLog | 8 ++++++++
include/sys/sendfile.h | 6 ++++++
sysdeps/mach/hurd/sendfile.c | 4 ++--
sysdeps/mach/hurd/sendfile64.c | 3 ++-
4 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index a8f711fcd7..74c14d4f84 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2018-06-15 Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+ * include/sys/sendfile.h (__sendfile64): Declare hidden prototype.
+ * sysdeps/mach/hurd/sendfile.c (sendfile): Call __sendfile64 instead
+ of sendfile.
+ * sysdeps/mach/hurd/sendfile64.c (sendfile64): Rename to __sendfile64.
+ (sendfile64): New strong alias.
+
2018-06-15 Joseph Myers <joseph@codesourcery.com>
[BZ #23007]
diff --git a/include/sys/sendfile.h b/include/sys/sendfile.h
index abe09769cc..b88cca27b8 100644
--- a/include/sys/sendfile.h
+++ b/include/sys/sendfile.h
@@ -1 +1,7 @@
#include <io/sys/sendfile.h>
+
+#ifndef _ISOMAC
+
+extern __typeof (sendfile64) __sendfile64 attribute_hidden;
+
+#endif
diff --git a/sysdeps/mach/hurd/sendfile.c b/sysdeps/mach/hurd/sendfile.c
index 6a3de0fcc1..4df66b56d7 100644
--- a/sysdeps/mach/hurd/sendfile.c
+++ b/sysdeps/mach/hurd/sendfile.c
@@ -25,11 +25,11 @@ ssize_t
sendfile (int out_fd, int in_fd, off_t *offset, size_t count)
{
if (offset == NULL || sizeof (off_t) == sizeof (off64_t))
- return sendfile64 (out_fd, in_fd, (off64_t *) offset, count);
+ return __sendfile64 (out_fd, in_fd, (off64_t *) offset, count);
else
{
off64_t ofs = *offset;
- ssize_t ret = sendfile64 (out_fd, in_fd, &ofs, count);
+ ssize_t ret = __sendfile64 (out_fd, in_fd, &ofs, count);
*offset = ofs;
return ret;
}
diff --git a/sysdeps/mach/hurd/sendfile64.c b/sysdeps/mach/hurd/sendfile64.c
index f69ccd4a79..ea4e96da90 100644
--- a/sysdeps/mach/hurd/sendfile64.c
+++ b/sysdeps/mach/hurd/sendfile64.c
@@ -24,7 +24,7 @@
/* Send COUNT bytes from file associated with IN_FD starting at OFFSET to
descriptor OUT_FD. */
ssize_t
-sendfile64 (int out_fd, int in_fd, off64_t *offset, size_t count)
+__sendfile64 (int out_fd, int in_fd, off64_t *offset, size_t count)
{
/* We just do a vanilla io_read followed by a vanilla io_write here.
In theory the IN_FD filesystem can return us out-of-line data that
@@ -57,3 +57,4 @@ sendfile64 (int out_fd, int in_fd, off64_t *offset, size_t count)
}
return __hurd_fail (err);
}
+strong_alias (__sendfile64, sendfile64)
--
2.17.1