[PATCH] libc/sysdeps/linux/common/sendfile.c: fix sendfile64 visibility

Anthony G. Basile basile at opensource.dyc.edu
Wed Jul 3 21:59:32 UTC 2013


From: "Anthony G. Basile" <blueness at gentoo.org>

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 at gentoo.org>
---
 libc/sysdeps/linux/common/sendfile.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/libc/sysdeps/linux/common/sendfile.c b/libc/sysdeps/linux/common/sendfile.c
index 2bd7179..2f48871 100644
--- a/libc/sysdeps/linux/common/sendfile.c
+++ b/libc/sysdeps/linux/common/sendfile.c
@@ -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
 
-- 
1.8.1.5



More information about the uClibc mailing list