OSDN Git Service

libc/sysdeps/linux/common/sendfile.c: fix sendfile64 visibility
authorAnthony G. Basile <blueness@gentoo.org>
Wed, 3 Jul 2013 21:59:32 +0000 (17:59 -0400)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Thu, 4 Jul 2013 09:25:17 +0000 (11:25 +0200)
Commit a83ea57a50 introduces code for falling back on sendfile64
when the sendfile syscall is not available.  However, as written,
that code leads to sendfile64 being globally hidden in situations
where __NR_sendfile and __USE_LARGEFILE64 are defined.  In this case,
the flow executes strong_alias_untyped(sendfile,sendfile64) in
libc/sysdeps/linux/common/sendfile.c and libc_hidden_proto(sendfile64)
in include/sys/sendfile.h, but nowhere does it do libc_hidden_def(sendfile64).
This patch adds the needed libc_hidden_def(sendfile64).

This breaks, for example, xfsprogs on x86_64.  Reported by mardok4
in IRC.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
libc/sysdeps/linux/common/sendfile.c

index 2bd7179..2f48871 100644 (file)
@@ -16,6 +16,7 @@
 _syscall4(ssize_t, sendfile, int, out_fd, int, in_fd, __off_t *, offset,
          size_t, count)
 # if defined __UCLIBC_HAS_LFS__ && (!defined __NR_sendfile64 || __WORDSIZE == 64)
+libc_hidden_def(sendfile64)
 strong_alias_untyped(sendfile,sendfile64)
 # endif