On 28/01/2012 21.28, Bernhard Reutner-Fischer wrote: > commit: > http://git.uclibc.org/uClibc/commit/?id=83ce0cc4d5e93549f0a9447a9bd6b051f5f1b62f > branch: http://git.uclibc.org/uClibc/commit/?id=refs/heads/master > > Signed-off-by: Bernhard Reutner-Fischer <rep.dot....@gmail.com>
Thanks Bernhard, I couldn't complete my patch last Friday. I was doing something similar. Few comments inlined: > --- > libc/signal/Makefile.in | 2 +- > libc/sysdeps/linux/arm/Makefile.arch | 6 +----- > libc/sysdeps/linux/i386/Makefile.arch | 6 +----- > libc/sysdeps/linux/mips/Makefile.arch | 3 +-- > libc/sysdeps/linux/sparc/Makefile.arch | 3 +-- > libc/sysdeps/linux/x86_64/Makefile.arch | 6 +----- > libpthread/nptl/.gitignore | 1 - > libpthread/nptl/sysdeps/pthread/Makefile.in | 10 ++-------- > .../pthread/{sigaction.c => pt-sigaction.c} | 15 +++------------ > 9 files changed, 11 insertions(+), 41 deletions(-) > > diff --git a/libc/signal/Makefile.in b/libc/signal/Makefile.in > index bb5ba8f..46c2af7 100644 > --- a/libc/signal/Makefile.in > +++ b/libc/signal/Makefile.in > @@ -17,7 +17,7 @@ CSRC-$(UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL) += sysv_signal.c > CSRC-$(UCLIBC_SUSV4_LEGACY) += sigintr.c > > ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y) > -CSRC-y:=$(filter-out raise.c sigaction.c,$(CSRC-y)) > +CSRC-y:=$(filter-out raise.c,$(CSRC-y)) > endif > > ifneq ($(strip $(ARCH_OBJS)),) > diff --git a/libc/sysdeps/linux/arm/Makefile.arch > b/libc/sysdeps/linux/arm/Makefile.arch > index ddd104d..cd1710a 100644 > --- a/libc/sysdeps/linux/arm/Makefile.arch > +++ b/libc/sysdeps/linux/arm/Makefile.arch > @@ -5,11 +5,7 @@ > # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. > # > > -CSRC := brk.c ioperm.c iopl.c mmap.c __syscall_error.c > - > -ifneq ($(UCLIBC_HAS_THREADS_NATIVE),y) > -CSRC += sigaction.c > -endif > +CSRC := brk.c ioperm.c iopl.c mmap.c __syscall_error.c sigaction.c > > SSRC := \ > __longjmp.S setjmp.S bsd-setjmp.S \ > diff --git a/libc/sysdeps/linux/i386/Makefile.arch > b/libc/sysdeps/linux/i386/Makefile.arch > index 668cca7..966f8b5 100644 > --- a/libc/sysdeps/linux/i386/Makefile.arch > +++ b/libc/sysdeps/linux/i386/Makefile.arch > @@ -5,11 +5,7 @@ > # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. > # > > -CSRC := brk.c __syscall_error.c > - > -ifneq ($(UCLIBC_HAS_THREADS_NATIVE),y) > -CSRC += sigaction.c > -endif > +CSRC := brk.c __syscall_error.c sigaction.c > > SSRC := \ > __longjmp.S setjmp.S bsd-setjmp.S bsd-_setjmp.S \ > diff --git a/libc/sysdeps/linux/mips/Makefile.arch > b/libc/sysdeps/linux/mips/Makefile.arch > index 8bbc0bc..738cdd0 100644 > --- a/libc/sysdeps/linux/mips/Makefile.arch > +++ b/libc/sysdeps/linux/mips/Makefile.arch > @@ -7,7 +7,7 @@ > > CSRC := \ > __longjmp.c brk.c setjmp_aux.c mmap.c \ > - cacheflush.c pread_write.c sysmips.c _test_and_set.c \ > + cacheflush.c pread_write.c sigaction.c sysmips.c _test_and_set.c \ > readahead.c > > SSRC := bsd-_setjmp.S bsd-setjmp.S setjmp.S syscall.S pipe.S syscall_error.S > @@ -17,7 +17,6 @@ CSRC += posix_fadvise.c posix_fadvise64.c > endif > > ifneq ($(UCLIBC_HAS_THREADS_NATIVE),y) > -CSRC += sigaction.c > SSRC += vfork.S clone.S > endif > > diff --git a/libc/sysdeps/linux/sparc/Makefile.arch > b/libc/sysdeps/linux/sparc/Makefile.arch > index 820b2fa..aa58756 100644 > --- a/libc/sysdeps/linux/sparc/Makefile.arch > +++ b/libc/sysdeps/linux/sparc/Makefile.arch > @@ -5,14 +5,13 @@ > # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. > # > > -CSRC := brk.c __syscall_error.c > +CSRC := brk.c __syscall_error.c sigaction.c > > SSRC := \ > __longjmp.S setjmp.S bsd-setjmp.S bsd-_setjmp.S \ > syscall.S urem.S udiv.S umul.S sdiv.S rem.S pipe.S > > ifneq ($(UCLIBC_HAS_THREADS_NATIVE),y) > -CSRC += sigaction.c > SSRC += fork.S vfork.S clone.S > endif > > diff --git a/libc/sysdeps/linux/x86_64/Makefile.arch > b/libc/sysdeps/linux/x86_64/Makefile.arch > index 0d14650..3243d86 100644 > --- a/libc/sysdeps/linux/x86_64/Makefile.arch > +++ b/libc/sysdeps/linux/x86_64/Makefile.arch > @@ -5,11 +5,7 @@ > # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. > # > > -CSRC := brk.c __syscall_error.c mmap.c > - > -ifneq ($(UCLIBC_HAS_THREADS_NATIVE),y) > -CSRC += sigaction.c > -endif > +CSRC := brk.c __syscall_error.c sigaction.c mmap.c > > SSRC := \ > __longjmp.S setjmp.S syscall.S bsd-setjmp.S bsd-_setjmp.S > diff --git a/libpthread/nptl/.gitignore b/libpthread/nptl/.gitignore > index 0a86898..6565dcd 100644 > --- a/libpthread/nptl/.gitignore > +++ b/libpthread/nptl/.gitignore > @@ -26,6 +26,5 @@ sysdeps/pthread/pt-crtn.S > # > # symlinks > # > -sysdeps/pthread/pt-sigaction.c > sysdeps/pthread/pt-sigfillset.c > sysdeps/pthread/pt-sigprocmask.c > diff --git a/libpthread/nptl/sysdeps/pthread/Makefile.in > b/libpthread/nptl/sysdeps/pthread/Makefile.in > index be5c022..79765e9 100644 > --- a/libpthread/nptl/sysdeps/pthread/Makefile.in > +++ b/libpthread/nptl/sysdeps/pthread/Makefile.in > @@ -42,8 +42,6 @@ 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-sigaction.c = -I$(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH) \ > - -I$(top_srcdir)libc/signal > 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 > @@ -58,10 +56,6 @@ CFLAGS-rt-unwind-resume.c = -DIS_IN_librt > \ > libpthread-so-y += $(patsubst %,$(libpthread_pthread_OUT)/%.oS, \ > pt-sigaction pt-sigprocmask unwind-forcedunwind) > > -CFLAGS-OMIT-sigaction.c = $(CFLAGS-pthread) > -CFLAGS-sigaction.c = -I$(top_srcdir)libc/signal > -libc-y += $(libpthread_pthread_OUT)/sigaction.o > - > librt-pt-routines-y = librt-cancellation.c > librt-pt-shared-only-routines-y = rt-unwind-resume.c > > @@ -114,7 +108,7 @@ endif > # 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 = sigaction sigfillset sigprocmask > +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 > @@ -131,5 +125,5 @@ 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-sigaction.c \ > + $(addprefix $(libpthread_pthread_DIR)/, \ > pt-sigfillset.c pt-sigprocmask.c) > diff --git a/libpthread/nptl/sysdeps/pthread/sigaction.c > b/libpthread/nptl/sysdeps/pthread/pt-sigaction.c > similarity index 84% > rename from libpthread/nptl/sysdeps/pthread/sigaction.c > rename to libpthread/nptl/sysdeps/pthread/pt-sigaction.c I wouldn't have renamed to pt-sigaction, as it seems to me that the pt- prefix is used for implementation within libpthread. > index e004a39..8b34cd9 100644 > --- a/libpthread/nptl/sysdeps/pthread/sigaction.c > +++ b/libpthread/nptl/sysdeps/pthread/pt-sigaction.c > @@ -17,20 +17,17 @@ > Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA > 02111-1307 USA. */ > > -#ifndef LIBC_SIGACTION > - > #include <pthreadP.h> > +#include <signal.h> > > /* We use the libc implementation but we tell it to not allow > SIGCANCEL or SIGTIMER to be handled. */ > -#define LIBC_SIGACTION 1 > -#include <sigaction.c> > > -extern __typeof(sigaction) __sigaction; > +extern __typeof(sigaction) __libc_sigaction; > int > __sigaction (int sig, const struct sigaction *act, struct sigaction *oact) > { > - if (__builtin_expect (sig == SIGCANCEL || sig == SIGSETXID, 0)) > + if (unlikely (sig == SIGCANCEL || sig == SIGSETXID)) > { > __set_errno (EINVAL); > return -1; > @@ -41,9 +38,3 @@ __sigaction (int sig, const struct sigaction *act, struct > sigaction *oact) > libc_hidden_proto(sigaction) > weak_alias (__sigaction, sigaction) > libc_hidden_weak(sigaction) > - > -#else > - > -# include_next <sigaction.c> > - > -#endif /* LIBC_SIGACTION */ what about removing the __sigaction symbol, and use a plain sigation ? further libc_hidden_proto could be removed as well as we are now including signal.h Cheers, Carmelo > _______________________________________________ > uClibc-cvs mailing list > uclibc-...@uclibc.org > http://lists.busybox.net/mailman/listinfo/uclibc-cvs > _______________________________________________ uClibc mailing list uClibc@uclibc.org http://lists.busybox.net/mailman/listinfo/uclibc