Browse Source

statfs: fix compile error when UCLIBC_LINUX_SPECIFIC is not set

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@gentoo.org>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Anthony G. Basile 9 years ago
parent
commit
8c57a5d9c2
2 changed files with 5 additions and 4 deletions
  1. 3 3
      extra/Configs/Config.in
  2. 2 1
      libc/sysdeps/linux/common/statfs.c

+ 3 - 3
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"

+ 2 - 1
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)