OSDN Git Service

x86_64: no waitpid syscall exists, so use wait4
authorAustin Foxley <austinf@cetoncorp.com>
Wed, 16 Dec 2009 10:29:42 +0000 (02:29 -0800)
committerAustin Foxley <austinf@cetoncorp.com>
Wed, 16 Dec 2009 10:29:42 +0000 (02:29 -0800)
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
libc/sysdeps/linux/common/Makefile.in
libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.in

index 64c2432..45c70ba 100644 (file)
@@ -36,10 +36,12 @@ endif
 
 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
 
index 186fefb..770b94e 100644 (file)
@@ -20,11 +20,7 @@ libc_CSRC = libc_pthread_init.c libc_multiple_threads.c                      \
            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          \
@@ -37,6 +33,10 @@ libc_CSRC += libc-lowlevellock.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
@@ -64,6 +64,7 @@ libpthread_CSRC := $(filter-out $(X86_PTHREAD_SPECIFIC),$(libpthread_CSRC))
 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