summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libc/misc/statfs/Makefile4
-rw-r--r--libc/sysdeps/linux/common/getdirname.c9
2 files changed, 13 insertions, 0 deletions
diff --git a/libc/misc/statfs/Makefile b/libc/misc/statfs/Makefile
index fea23d741..4da855b28 100644
--- a/libc/misc/statfs/Makefile
+++ b/libc/misc/statfs/Makefile
@@ -22,7 +22,11 @@
TOPDIR=../../../
include $(TOPDIR)Rules.mak
+ifeq ($(strip $(__UCLIBC_HAVE_LFS__)),true)
CSRC = fstatfs64.c statfs64.c statvfs.c statvfs64.c fstatvfs.c fstatvfs64.c
+else
+CSRC = statvfs.c fstatvfs.c
+endif
COBJS=$(patsubst %.c,%.o, $(CSRC))
OBJS=$(COBJS)
diff --git a/libc/sysdeps/linux/common/getdirname.c b/libc/sysdeps/linux/common/getdirname.c
index a9ce43f30..0d1dd8301 100644
--- a/libc/sysdeps/linux/common/getdirname.c
+++ b/libc/sysdeps/linux/common/getdirname.c
@@ -30,12 +30,21 @@ char *
get_current_dir_name (void)
{
char *pwd;
+#ifdef __USE_LARGEFILE64
struct stat64 dotstat, pwdstat;
+#else
+ struct stat dotstat, pwdstat;
+#endif
pwd = getenv ("PWD");
if (pwd != NULL
+#ifdef __USE_LARGEFILE64
&& stat64 (".", &dotstat) == 0
&& stat64 (pwd, &pwdstat) == 0
+#else
+ && stat (".", &dotstat) == 0
+ && stat (pwd, &pwdstat) == 0
+#endif
&& pwdstat.st_dev == dotstat.st_dev
&& pwdstat.st_ino == dotstat.st_ino)
/* The PWD value is correct. Use it. */