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

Carmelo AMOROSO carmelo.amoroso at st.com
Sat Feb 25 14:43:58 UTC 2012


On 23/02/2012 20.47, Bernhard Reutner-Fischer wrote:
> commit: http://git.uclibc.org/uClibc/commit/?id=34b59601212249559bf3e99934ea878ebe20dcff
> branch: http://git.uclibc.org/uClibc/commit/?id=refs/heads/0.9.33
> 
> Having them defined in both places was causing errors with static linking
> 
> Signed-off-by: Austin Foxley <austinf at cetoncorp.com>
> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop at gmail.com>

Hi,
IIRC the issue due to duplicated sigaction was already addressed
(Bernard and myself worked on this).

It's not correct to remove pt-sigaction for nptl, as the implementation
has to properly manage SIGCANCEL and SIGSETXID.

See commit 83ce0cc4d5e93549f0a9447a9bd6b051f5f1b62f

Cheers,
Carmelo

> ---
>  libpthread/nptl/sysdeps/pthread/Makefile.in |   27 ++-------------------------
>  1 files changed, 2 insertions(+), 25 deletions(-)
> 
> diff --git a/libpthread/nptl/sysdeps/pthread/Makefile.in b/libpthread/nptl/sysdeps/pthread/Makefile.in
> index 79765e9..add3a8e 100644
> --- a/libpthread/nptl/sysdeps/pthread/Makefile.in
> +++ b/libpthread/nptl/sysdeps/pthread/Makefile.in
> @@ -33,17 +33,12 @@ 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
> @@ -53,8 +48,7 @@ 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, \
> -	pt-sigaction pt-sigprocmask unwind-forcedunwind)
> +libpthread-so-y += $(patsubst %,$(libpthread_pthread_OUT)/%.oS, unwind-forcedunwind)
>  
>  librt-pt-routines-y = librt-cancellation.c
>  librt-pt-shared-only-routines-y = rt-unwind-resume.c
> @@ -104,26 +98,9 @@ $(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 \
> -		$(addprefix $(libpthread_pthread_DIR)/, \
> -			pt-sigfillset.c pt-sigprocmask.c)
> +		$(libpthread_pthread_OUT)/defs.h
> _______________________________________________
> uClibc-cvs mailing list
> uClibc-cvs at uclibc.org
> http://lists.busybox.net/mailman/listinfo/uclibc-cvs
> 



More information about the uClibc-cvs mailing list