ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y)
CSRC := $(filter-out fork.c getpid.c raise.c open.c close.c read.c write.c, $(CSRC))
-ifneq ($(TARGET_ARCH),arm)
-CSRC := $(filter-out waitpid.c, $(CSRC))
-else
+ifeq ($(TARGET_ARCH),arm)
CSRC := $(filter-out vfork.c, $(CSRC))
+else ifeq ($(TARGET_ARCH),x86_64)
+#do nothing
+else
+CSRC := $(filter-out waitpid.c, $(CSRC))
endif
endif
raise.c sleep.c jmp-unwind.c
# These provide both a cancellable and a not cancellable implementation
-libc_SSRC = close.S open.S write.S read.S
-
-ifneq ($(TARGET_ARCH),arm)
-libc_SSRC += waitpid.S
-endif
+libc_SSRC = close.S open.S write.S read.S waitpid.S
librt_CSRC := mq_notify.c timer_create.c timer_delete.c \
timer_getoverr.c timer_gettime.c timer_routines.c \
librt_CSRC := mq_notify.c
endif
+ifeq ($(TARGET_ARCH),arm)
+libc_SSRC := $(filter-out waitpid.S,$(libc_SSRC))
+endif
+
ifeq ($(TARGET_ARCH),mips)
libpthread_CSRC += lowlevellock.c
libc_CSRC += libc-lowlevellock.c
endif
ifeq ($(TARGET_ARCH),x86_64)
+libc_SSRC := $(filter-out waitpid.S,$(libc_SSRC))
X86_PTHREAD_SPECIFIC := sem_post.c sem_wait.c sem_timedwait.c sem_trywait.c
libpthread_CSRC := $(filter-out $(X86_PTHREAD_SPECIFIC),$(libpthread_CSRC))
librt_CSRC := mq_notify.c