[PATCH] statfs: fix compile error when UCLIBC_LINUX_SPECIFIC is not set

basile at opensource.dyc.edu basile at opensource.dyc.edu
Sat Sep 6 23:45:34 UTC 2014


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

statfs() is a Linux-specific function.  When building without
UCLIBC_LINUX_SPECIFIC set, libc_hidden_proto(statfs) in
include/sys/statfs.h is unmatched with libc_hidden_def(statfs)
in libc/sysdeps/linux/common/statfs.c, leading to a compile
error.  This patch fixes this, as well as adds statfs() to the
list of Linux-specific functions in extra/Configs/Config.in.

Signed-off-by: Anthony G. Basile <blueness at gentoo.org>
---
 extra/Configs/Config.in            | 6 +++---
 libc/sysdeps/linux/common/statfs.c | 3 ++-
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in
index 7789002..cdb2cb1 100644
--- a/extra/Configs/Config.in
+++ b/extra/Configs/Config.in
@@ -1021,9 +1021,9 @@ config UCLIBC_LINUX_SPECIFIC
 	  ppoll(), readahead(), reboot(), remap_file_pages(),
 	  sched_getaffinity(), sched_setaffinity(), sendfile(),
 	  setfsgid(), setfsuid(), setresgid(), setresuid(),
-	  splice(), vmsplice(), tee(), signalfd(), swapoff(), swapon(),
-	  sync_file_range(), _sysctl(), sysinfo(), timerfd_*(), vhangup(),
-	  umount(), umount2()
+	  splice(), vmsplice(), tee(), signalfd(), statfs(),
+	  swapoff(), swapon(), sync_file_range(), _sysctl(),
+	  sysinfo(), timerfd_*(), vhangup(), umount(), umount2()
 
 config UCLIBC_HAS_GNU_ERROR
 	bool "Support GNU extensions for error-reporting"
diff --git a/libc/sysdeps/linux/common/statfs.c b/libc/sysdeps/linux/common/statfs.c
index aae4738..3dfeb0b 100644
--- a/libc/sysdeps/linux/common/statfs.c
+++ b/libc/sysdeps/linux/common/statfs.c
@@ -34,6 +34,7 @@ int __libc_statfs(const char *path, struct statfs *buf)
 # if defined __UCLIBC_LINUX_SPECIFIC__ || defined __UCLIBC_HAS_THREADS_NATIVE__
 /* statfs is used by NPTL, so it must exported in case */
 weak_alias(__libc_statfs, statfs)
+libc_hidden_def(statfs)
 # endif
 
 /* For systems which have both, prefer the old one */
@@ -45,7 +46,7 @@ _syscall2(int, __libc_statfs, const char *, path, struct statfs *, buf)
 # if defined __UCLIBC_LINUX_SPECIFIC__ || defined __UCLIBC_HAS_THREADS_NATIVE__
 /* statfs is used by NPTL, so it must exported in case */
 weak_alias(__libc_statfs, statfs)
+libc_hidden_def(statfs)
 # endif
 
 #endif
-libc_hidden_def(statfs)
-- 
1.8.5.5



More information about the uClibc mailing list