summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2012-01-28 20:53:19 +0100
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2012-01-28 21:28:27 +0100
commit83ce0cc4d5e93549f0a9447a9bd6b051f5f1b62f (patch)
treefc1e4e1efccce371cbbbb194e346d1bd55df8479
parent219aa9c2dd24ea8b8f5c418d85865a0b30ff3fc9 (diff)
buildsys: fixup sigaction handling
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
-rw-r--r--libc/signal/Makefile.in2
-rw-r--r--libc/sysdeps/linux/arm/Makefile.arch6
-rw-r--r--libc/sysdeps/linux/i386/Makefile.arch6
-rw-r--r--libc/sysdeps/linux/mips/Makefile.arch3
-rw-r--r--libc/sysdeps/linux/sparc/Makefile.arch3
-rw-r--r--libc/sysdeps/linux/x86_64/Makefile.arch6
-rw-r--r--libpthread/nptl/.gitignore1
-rw-r--r--libpthread/nptl/sysdeps/pthread/Makefile.in10
-rw-r--r--libpthread/nptl/sysdeps/pthread/pt-sigaction.c (renamed from libpthread/nptl/sysdeps/pthread/sigaction.c)15
9 files changed, 11 insertions, 41 deletions
diff --git a/libc/signal/Makefile.in b/libc/signal/Makefile.in
index bb5ba8fbf..46c2af79b 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 ddd104dd1..cd1710a55 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 668cca742..966f8b593 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 8bbc0bc19..738cdd0f5 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 820b2facf..aa587563e 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 0d14650ff..3243d8676 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 0a86898c1..6565dcd83 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 be5c022b1..79765e9e6 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
index e004a3903..8b34cd936 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 */