Преглед изворни кода

enable the common code for NPTL

the generic open, close, waitpid, read, write are good for NPTL too
no good reason to have the same sleep in both libc and libpthread (NPTL)
no good reason to add sigwaitinfo, sigtimedwait and sigwait to libpthread (NPTL)

Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Peter S. Mazinger пре 13 година
родитељ
комит
814b0901f4

+ 3 - 3
libc/sysdeps/linux/common/Makefile.in

@@ -64,17 +64,17 @@ CSRC-$(if $(findstring yy,$(UCLIBC_LINUX_SPECIFIC)$(UCLIBC_HAS_LFS)),y) += \
 # NPTL needs these internally: madvise.c
 CSRC-$(findstring y,$(UCLIBC_LINUX_SPECIFIC)$(UCLIBC_HAS_THREADS_NATIVE)) += madvise.c
 ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y)
-CSRC- += fork.c getpid.c raise.c open.c close.c read.c write.c
+CSRC- += fork.c getpid.c raise.c #open.c close.c read.c write.c
 CSRC- += $(if $(findstring =arm=,=$(TARGET_ARCH)=),vfork.c)
 CSRC- += $(if $(findstring =x86_64=,=$(TARGET_ARCH)=),vfork.c)
-CSRC- += $(if $(findstring =mips=y=,=$(TARGET_ARCH)=$(CONFIG_MIPS_O32_ABI)=),waitpid.c)
+#CSRC- += $(if $(findstring =mips=y=,=$(TARGET_ARCH)=$(CONFIG_MIPS_O32_ABI)=),waitpid.c)
 endif
 # stubbed out in mman.h
 CSRC-$(ARCH_USE_MMU) += msync.c
 # we need these internally: getdomainname.c
 CSRC-$(UCLIBC_BSD_SPECIFIC) += mincore.c setdomainname.c
 CSRC-$(UCLIBC_NTP_LEGACY) += ntp_gettime.c
-# aio_cancel|aio_error|aio_fsync|aio_read|aio_return|aio_suspend|aio_write|clock_getres|clock_gettime|clock_settime|clock_settime|fdatasync|lio_listio|mlockall|munlockall|mlock|munlock|mq_close|mq_getattr|mq_notify|mq_open|mq_receive|mq_timedreceive|mq_send|mq_timedsend|mq_setattr|mq_unlink|nanosleep|sched_getparam|sched_get_priority_max|sched_get_priority_min|sched_getscheduler|sched_rr_get_interval|sched_setparam|sched_setscheduler|sem_close|sem_destroy|sem_getvalue|sem_init|sem_open|sem_post|sem_trywait|sem_wait|sem_unlink|sem_wait|shm_open|shm_unlink|sigqueue|sigtimedwait|sigwaitinfo|sigwaitinfo|timer_create|timer_delete|timer_getoverrun|timer_gettime|timer_settime
+# aio_cancel|aio_error|aio_fsync|aio_read|aio_return|aio_suspend|aio_write|clock_getres|clock_gettime|clock_settime|clock_settime|fdatasync|lio_listio|mlockall|munlockall|mlock|munlock|mq_close|mq_getattr|mq_notify|mq_open|mq_receive|mq_timedreceive|mq_send|mq_timedsend|mq_setattr|mq_unlink|nanosleep|sched_getparam|sched_get_priority_max|sched_get_priority_min|sched_getscheduler|sched_rr_get_interval|sched_setparam|sched_setscheduler|sem_close|sem_destroy|sem_getvalue|sem_init|sem_open|sem_post|sem_trywait|sem_wait|sem_unlink|sem_wait|shm_open|shm_unlink|sigqueue|sigtimedwait|sigwaitinfo|timer_create|timer_delete|timer_getoverrun|timer_gettime|timer_settime
 CSRC-$(UCLIBC_HAS_REALTIME) += clock_getres.c clock_gettime.c clock_settime.c \
 	fdatasync.c mlockall.c mlock.c munlockall.c munlock.c \
 	nanosleep.c __rt_sigtimedwait.c __rt_sigwaitinfo.c sched_getparam.c \

+ 3 - 3
libc/unistd/Makefile.in

@@ -37,9 +37,9 @@ ifneq ($(UCLIBC_SUSV3_LEGACY),y)
 CSRC := $(filter-out ualarm.c usleep.c,$(CSRC))
 endif
 
-ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y)
-CSRC := $(filter-out sleep.c,$(CSRC))
-endif
+#ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y)
+#CSRC := $(filter-out sleep.c,$(CSRC))
+#endif
 
 UNISTD_SRC := $(patsubst %.c,$(UNISTD_DIR)/%.c,$(CSRC))
 UNISTD_OBJ := $(patsubst %.c,$(UNISTD_OUT)/%.o,$(CSRC))

+ 16 - 14
libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.commonarch

@@ -62,22 +62,24 @@ libpthread_linux_CSRC += pthread_attr_getaffinity.c pthread_attr_setaffinity.c \
 	pthread_getcpuclockid.c pthread_kill.c			\
 	pthread_mutex_cond_lock.c pthread_yield.c		\
 	sem_post.c sem_timedwait.c sem_trywait.c sem_wait.c	\
-	pt-fork.c pt-sleep.c pthread_sigqueue.c	pt-tempname.c	\
-	sigtimedwait.c sigwaitinfo.c sigwait.c			\
+	pt-tempname.c \
+	pthread_sigqueue.c \
 	lowlevellock.c lowlevelrobustlock.c
+#	pt-sleep.c pt-fork.c sigtimedwait.c sigwaitinfo.c sigwait.c
 
 libpthread_linux_SSRC := #ptw-close.S ptw-open.S ptw-waitid.S ptw-waidpid.S ptw-write.S
 
 libc_linux_CSRC += libc_pthread_init.c libc_multiple_threads.c		\
 	register-atfork.c unregister-atfork.c getpid.c		\
-	raise.c sleep.c jmp-unwind.c libc-lowlevellock.c
+	raise.c jmp-unwind.c libc-lowlevellock.c
+	#sleep.c
 
 librt_linux_CSRC += mq_notify.c timer_create.c timer_delete.c		\
 	timer_getoverr.c timer_gettime.c timer_routines.c		\
 	timer_settime.c
 
 # These provide both a cancellable and a not cancellable implementation
-libc_linux_SSRC = close.S open.S write.S read.S waitpid.S
+libc_linux_SSRC = #close.S open.S write.S read.S waitpid.S
 libc_linux_SSRC := $(filter-out $(libc_linux_arch_SSRC-OMIT),$(libc_linux_SSRC))
 
 libpthread_linux_CSRC := $(filter-out $(notdir $(libpthread_linux_arch_OBJS:.o=.c)),$(libpthread_linux_CSRC))
@@ -144,11 +146,11 @@ CFLAGS-OMIT-sleep.c = -DNOT_IN_libc -DIS_IN_libpthread
 CFLAGS-OMIT-jmp-unwind.c = -DNOT_IN_libc -DIS_IN_libpthread
 CFLAGS-OMIT-libc-lowlevellock.c = -DNOT_IN_libc -DIS_IN_libpthread
 
-CFLAGS-OMIT-close.S = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-OMIT-open.S = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-OMIT-read.S = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-OMIT-write.S = -DNOT_IN_libc -DIS_IN_libpthread
-CFLAGS-OMIT-waitpid.S = -DNOT_IN_libc -DIS_IN_libpthread
+#CFLAGS-OMIT-close.S = -DNOT_IN_libc -DIS_IN_libpthread
+#CFLAGS-OMIT-open.S = -DNOT_IN_libc -DIS_IN_libpthread
+#CFLAGS-OMIT-read.S = -DNOT_IN_libc -DIS_IN_libpthread
+#CFLAGS-OMIT-write.S = -DNOT_IN_libc -DIS_IN_libpthread
+#CFLAGS-OMIT-waitpid.S = -DNOT_IN_libc -DIS_IN_libpthread
 
 CFLAGS-OMIT-mq_notify.c = -DIS_IN_libpthread
 CFLAGS-OMIT-timer_create.c = -DIS_IN_libpthread
@@ -158,11 +160,11 @@ CFLAGS-OMIT-timer_gettime.c = -DIS_IN_libpthread
 CFLAGS-OMIT-timer_routines.c = -DIS_IN_libpthread
 CFLAGS-OMIT-timer_settime.c = -DIS_IN_libpthread
 
-ASFLAGS-open.S = -D_LIBC_REENTRANT
-ASFLAGS-close.S = -D_LIBC_REENTRANT
-ASFLAGS-read.S = -D_LIBC_REENTRANT
-ASFLAGS-write.S = -D_LIBC_REENTRANT
-ASFLAGS-waitpid.S = -D_LIBC_REENTRANT
+#ASFLAGS-open.S = -D_LIBC_REENTRANT
+#ASFLAGS-close.S = -D_LIBC_REENTRANT
+#ASFLAGS-read.S = -D_LIBC_REENTRANT
+#ASFLAGS-write.S = -D_LIBC_REENTRANT
+#ASFLAGS-waitpid.S = -D_LIBC_REENTRANT
 
 #
 # Create header files.