#endif
-#if defined __USE_BSD && defined __UCLIBC_LINUX_SPECIFIC__
+#if defined __USE_BSD && (defined __UCLIBC_LINUX_SPECIFIC__ || defined __UCLIBC_HAS_THREADS_NATIVE__)
/* Advise the system about particular usage patterns the program follows
for the region starting at ADDR and extending LEN bytes. */
extern int madvise (void *__addr, size_t __len, int __advice) __THROW;
ifneq ($(UCLIBC_LINUX_SPECIFIC),y)
# we need these internally: fstatfs.c statfs.c
-CSRC := $(filter-out capget.c capset.c inotify.c ioperm.c iopl.c madvise.c \
+CSRC := $(filter-out capget.c capset.c inotify.c ioperm.c iopl.c \
modify_ldt.c personality.c ppoll.c prctl.c readahead.c reboot.c \
remap_file_pages.c sched_getaffinity.c sched_setaffinity.c \
sendfile64.c sendfile.c setfsgid.c setfsuid.c setresuid.c \
splice.c vmsplice.c tee.c signalfd.c swapoff.c swapon.c \
sync_file_range.c sysctl.c sysinfo.c timerfd.c uselib.c vhangup.c,$(CSRC))
+ifneq ($(UCLIBC_HAS_THREADS_NATIVE),y)
+# we need madvise.c in NPTL
+CSRC := $(filter-pout madvise.c,$(CSRC))
+endif
endif
ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y)
#define __NR___libc_statfs __NR_statfs
_syscall2(int, __libc_statfs, const char *, path, struct statfs *, buf)
-#if defined __UCLIBC_LINUX_SPECIFIC__
+#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)
#endif