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.
This commit is contained in:
Samuel Thibault 2018-06-16 00:44:17 +02:00
parent b12c1e7991
commit 298a8b59d4
4 changed files with 18 additions and 3 deletions

View File

@ -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]

View File

@ -1 +1,7 @@
#include <io/sys/sendfile.h>
#ifndef _ISOMAC
extern __typeof (sendfile64) __sendfile64 attribute_hidden;
#endif

View File

@ -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;
}

View File

@ -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)