[git commit branch/0.9.33] Revert "nptl: remove sigaction, sigprocmask, and sigfillset from libpthread"

Bernhard Reutner-Fischer rep.dot.nop at gmail.com
Mon Mar 26 10:39:59 UTC 2012


commit: http://git.uclibc.org/uClibc/commit/?id=f4abd0d3e944af48c9bd6988816e26e8bfbe80ed
branch: http://git.uclibc.org/uClibc/commit/?id=refs/heads/0.9.33

This reverts commit 34b59601212249559bf3e99934ea878ebe20dcff.
---
 libpthread/nptl/sysdeps/pthread/Makefile.in |   27 +++++++++++++++++++++++++--
 1 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/libpthread/nptl/sysdeps/pthread/Makefile.in b/libpthread/nptl/sysdeps/pthread/Makefile.in
index add3a8e..79765e9 100644
--- a/libpthread/nptl/sysdeps/pthread/Makefile.in
+++ b/libpthread/nptl/sysdeps/pthread/Makefile.in
@@ -33,12 +33,17 @@ libpthread_pthread_CSRC = \
 	pthread_spin_init.c \
 	pthread_spin_unlock.c \
 	pt-longjmp.c \
+	pt-sigaction.c \
+	pt-sigfillset.c \
+	pt-sigprocmask.c \
 	tpp.c
 CFLAGS-pthread = $(SSP_ALL_CFLAGS) -DNOT_IN_libc -DIS_IN_libpthread
 CFLAGS-pthread_barrier_wait.c = -D_GNU_SOURCE
 CFLAGS-pthread_spin_destroy.c = -D_GNU_SOURCE
 CFLAGS-pthread_spin_init.c = -D_GNU_SOURCE
 CFLAGS-pthread_spin_unlock.c = -D_GNU_SOURCE
+CFLAGS-pt-sigfillset.c = -I$(top_srcdir)libc/signal
+CFLAGS-pt-sigprocmask.c = -I$(top_srcdir)libc/sysdeps/linux/common
 CFLAGS-unwind-forcedunwind.c = -fexceptions -fasynchronous-unwind-tables
 
 CFLAGS-OMIT-librt-cancellation.c = -DIS_IN_libpthread
@@ -48,7 +53,8 @@ CFLAGS-librt-cancellation.c = -DIS_IN_librt				\
 CFLAGS-rt-unwind-resume.c = -DIS_IN_librt				\
 			    -fexceptions -fasynchronous-unwind-tables
 
-libpthread-so-y += $(patsubst %,$(libpthread_pthread_OUT)/%.oS, unwind-forcedunwind)
+libpthread-so-y += $(patsubst %,$(libpthread_pthread_OUT)/%.oS, \
+	pt-sigaction pt-sigprocmask unwind-forcedunwind)
 
 librt-pt-routines-y = librt-cancellation.c
 librt-pt-shared-only-routines-y = rt-unwind-resume.c
@@ -98,9 +104,26 @@ $(libpthread_pthread_OUT)/pt-crtn.S: $(libpthread_pthread_OUT)/pt-initfini.s $(l
 		-e '/@TRAILER_BEGINS/,$$p' $< > $@.tmp
 	$(Q)mv $@.tmp $@
 endif
+# It would have been easier to just add dummy files that include the real
+# impl, but ok.
+# Special rules needed since we do objdir->objdir compilation for these 3.
+# First symlink them, then build them. Rob would freak out on these. Sheesh! ;)
+pthread-lc-fwd = sigfillset sigprocmask
+$(patsubst %,$(libpthread_pthread_OUT)/pt-%.c,$(pthread-lc-fwd)): | $(libpthread_pthread_OUT)
+	$(do_ln) $(call rel_srcdir)$(patsubst pt-%,$(libpthread_pthread_DIR)/%,$(@F)) $@
+$(patsubst %,$(libpthread_pthread_OUT)/pt-%.oS,$(pthread-lc-fwd)): $(libpthread_pthread_OUT)/pt-%.oS: $(libpthread_pthread_OUT)/pt-%.c
+	$(compile.c)
+$(patsubst %,$(libpthread_pthread_OUT)/pt-%.o,$(pthread-lc-fwd)): $(libpthread_pthread_OUT)/pt-%.o: $(libpthread_pthread_OUT)/pt-%.c
+	$(compile.c)
+ifeq ($(DOPIC),y)
+$(patsubst %,$(libpthread_pthread_OUT)/pt-%.os,$(pthread-lc-fwd)): $(libpthread_pthread_OUT)/pt-%.os: $(libpthread_pthread_OUT)/pt-%.c
+	$(compile.c)
+endif
 
 objclean-y += CLEAN_libpthread/nptl/sysdeps/pthread
 
 CLEAN_libpthread/nptl/sysdeps/pthread:
 	$(do_rm) $(addprefix $(libpthread_pthread_OUT)/*., o os oS s S) \
-		$(libpthread_pthread_OUT)/defs.h
+		$(libpthread_pthread_OUT)/defs.h \
+		$(addprefix $(libpthread_pthread_DIR)/, \
+			pt-sigfillset.c pt-sigprocmask.c)


More information about the uClibc-cvs mailing list