aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2018-06-16 00:44:17 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2018-06-16 00:44:57 +0200
commit298a8b59d43cf9a75c44e9b2836e07282a6d34ed (patch)
treed2c0da58786e6417209c2f1f5ed963314999f4c2
parentb12c1e7991cbde3d6fc70abfdf72abecce8b318c (diff)
downloadglibc-298a8b59d43cf9a75c44e9b2836e07282a6d34ed.zip
glibc-298a8b59d43cf9a75c44e9b2836e07282a6d34ed.tar.gz
glibc-298a8b59d43cf9a75c44e9b2836e07282a6d34ed.tar.bz2
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.
-rw-r--r--ChangeLog8
-rw-r--r--include/sys/sendfile.h6
-rw-r--r--sysdeps/mach/hurd/sendfile.c4
-rw-r--r--sysdeps/mach/hurd/sendfile64.c3
4 files changed, 18 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index a8f711f..74c14d4 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 abe0976..b88cca2 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 6a3de0f..4df66b5 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 f69ccd4..ea4e96d 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)