diff options
Diffstat (limited to 'libpthread')
-rw-r--r-- | libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.commonarch | 7 | ||||
-rw-r--r-- | libpthread/nptl/sysdeps/unix/sysv/linux/close.S | 21 | ||||
-rw-r--r-- | libpthread/nptl/sysdeps/unix/sysv/linux/open.S | 21 | ||||
-rw-r--r-- | libpthread/nptl/sysdeps/unix/sysv/linux/pt-fork.c | 28 | ||||
-rw-r--r-- | libpthread/nptl/sysdeps/unix/sysv/linux/pt-sleep.c | 2 | ||||
-rw-r--r-- | libpthread/nptl/sysdeps/unix/sysv/linux/read.S | 19 | ||||
-rw-r--r-- | libpthread/nptl/sysdeps/unix/sysv/linux/sigtimedwait.c | 87 | ||||
-rw-r--r-- | libpthread/nptl/sysdeps/unix/sysv/linux/sigwait.c | 2 | ||||
-rw-r--r-- | libpthread/nptl/sysdeps/unix/sysv/linux/sigwaitinfo.c | 87 | ||||
-rw-r--r-- | libpthread/nptl/sysdeps/unix/sysv/linux/sleep.c | 2 | ||||
-rw-r--r-- | libpthread/nptl/sysdeps/unix/sysv/linux/waitpid.S | 23 | ||||
-rw-r--r-- | libpthread/nptl/sysdeps/unix/sysv/linux/write.S | 19 |
12 files changed, 1 insertions, 317 deletions
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.commonarch b/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.commonarch index 4e147734c..81ce813a9 100644 --- a/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.commonarch +++ b/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.commonarch @@ -65,21 +65,18 @@ libpthread_linux_CSRC += pthread_attr_getaffinity.c pthread_attr_setaffinity.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 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 = 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)) @@ -99,7 +96,6 @@ endif libpthread-a-y += $(if $(DOPIC),$(libpthread_linux_OBJS:.o=.os),$(libpthread_linux_OBJS)) libpthread-so-y += $(libpthread_linux_OBJS:.o=.oS) libpthread-so-y += $(libpthread_linux_OUT)/pt-raise.oS -#libpthread-nomulti-y += $(libpthread_linux_OBJS) libc_linux_OBJS := $(libc_linux_arch_OBJS) libc_linux_OBJS += $(patsubst %.c,$(libpthread_linux_OUT)/%.o,$(libc_linux_CSRC)) @@ -110,7 +106,6 @@ endif libc-static-y += $(libc_linux_OBJS) libc-shared-y += $(libc_linux_OBJS:.o=.oS) -#libc-nomulti-y += $(libc_linux_OBJS) librt_linux_OBJS := $(librt_linux_arch_OBJS) librt_linux_OBJS += $(patsubst %.c,$(libpthread_linux_OUT)/%.o,$(librt_linux_CSRC)) diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/close.S b/libpthread/nptl/sysdeps/unix/sysv/linux/close.S deleted file mode 100644 index cf50a1eae..000000000 --- a/libpthread/nptl/sysdeps/unix/sysv/linux/close.S +++ /dev/null @@ -1,21 +0,0 @@ -#include <sysdep-cancel.h> - -/* -extern int __close_nocancel (int) attribute_hidden; -*/ -#if !defined NOT_IN_libc || defined IS_IN_libpthread || defined IS_IN_librt - - -PSEUDO (__libc_close, close, 1) -ret -PSEUDO_END(__libc_close) - -libc_hidden_def (__close_nocancel) -libc_hidden_def (__libc_close) -weak_alias (__libc_close, __close) -libc_hidden_weak (__close) -weak_alias (__libc_close, close) -libc_hidden_weak (close) - - -#endif diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/open.S b/libpthread/nptl/sysdeps/unix/sysv/linux/open.S deleted file mode 100644 index 486686a22..000000000 --- a/libpthread/nptl/sysdeps/unix/sysv/linux/open.S +++ /dev/null @@ -1,21 +0,0 @@ -#include <sysdep-cancel.h> - -/* -extern int __open_nocancel (const char *, int, ...) attribute_hidden; -*/ -#if !defined NOT_IN_libc || defined IS_IN_libpthread || defined IS_IN_librt - -PSEUDO (__libc_open, open, 3) -ret -PSEUDO_END(__libc_open) - -libc_hidden_def (__open_nocancel) -libc_hidden_def (__libc_open) -weak_alias (__libc_open, __open) -libc_hidden_weak (__open) -weak_alias (__libc_open, open) -libc_hidden_weak (open) - - - -#endif diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-fork.c b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-fork.c deleted file mode 100644 index 69839cb5f..000000000 --- a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-fork.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include <unistd.h> - -#if 0 -static pid_t -__fork (void) -{ - return __libc_fork (); -} -strong_alias (__fork, fork) -#endif diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-sleep.c b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-sleep.c deleted file mode 100644 index 9e948adce..000000000 --- a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-sleep.c +++ /dev/null @@ -1,2 +0,0 @@ -#include <pthreadP.h> -#include <../../../../../../libc/unistd/sleep.c> diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/read.S b/libpthread/nptl/sysdeps/unix/sysv/linux/read.S deleted file mode 100644 index d3adfa84c..000000000 --- a/libpthread/nptl/sysdeps/unix/sysv/linux/read.S +++ /dev/null @@ -1,19 +0,0 @@ -#include <sysdep-cancel.h> - -/* -extern int __read_nocancel (int, void *, size_t) attribute_hidden; -*/ -#if !defined NOT_IN_libc || defined IS_IN_libpthread || defined IS_IN_librt - -PSEUDO (__libc_read, read, 3) -ret -PSEUDO_END(__libc_read) - -libc_hidden_def (__read_nocancel) -libc_hidden_def (__libc_read) -weak_alias (__libc_read, __read) -libc_hidden_weak (__read) -weak_alias (__libc_read, read) -libc_hidden_weak (read) - -#endif diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sigtimedwait.c b/libpthread/nptl/sysdeps/unix/sysv/linux/sigtimedwait.c deleted file mode 100644 index 4cd5f5498..000000000 --- a/libpthread/nptl/sysdeps/unix/sysv/linux/sigtimedwait.c +++ /dev/null @@ -1,87 +0,0 @@ -/* Copyright (C) 1997,1998,2000,2002,2003,2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include <pthreadP.h> -#include <errno.h> -#include <signal.h> -#include <string.h> - -#include <sysdep-cancel.h> -#include <sys/syscall.h> - -#ifdef __NR_rt_sigtimedwait - -static int -do_sigtimedwait (const sigset_t *set, siginfo_t *info, - const struct timespec *timeout) -{ -#ifdef SIGCANCEL - sigset_t tmpset; - if (set != NULL - && (__builtin_expect (__sigismember (set, SIGCANCEL), 0) -# ifdef SIGSETXID - || __builtin_expect (__sigismember (set, SIGSETXID), 0) -# endif - )) - { - /* Create a temporary mask without the bit for SIGCANCEL set. */ - // We are not copying more than we have to. - memcpy (&tmpset, set, _NSIG / 8); - __sigdelset (&tmpset, SIGCANCEL); -# ifdef SIGSETXID - __sigdelset (&tmpset, SIGSETXID); -# endif - set = &tmpset; - } -#endif - - /* XXX The size argument hopefully will have to be changed to the - real size of the user-level sigset_t. */ - int result = INLINE_SYSCALL (rt_sigtimedwait, 4, set, - info, timeout, _NSIG / 8); - - /* The kernel generates a SI_TKILL code in si_code in case tkill is - used. tkill is transparently used in raise(). Since having - SI_TKILL as a code is useful in general we fold the results - here. */ - if (result != -1 && info != NULL && info->si_code == SI_TKILL) - info->si_code = SI_USER; - - return result; -} - - -/* Return any pending signal or wait for one for the given time. */ -int -__sigtimedwait (const sigset_t *set, siginfo_t *info, - const struct timespec *timeout) -{ - if (SINGLE_THREAD_P) - return do_sigtimedwait (set, info, timeout); - - int oldtype = LIBC_CANCEL_ASYNC (); - - /* XXX The size argument hopefully will have to be changed to the - real size of the user-level sigset_t. */ - int result = do_sigtimedwait (set, info, timeout); - - LIBC_CANCEL_RESET (oldtype); - - return result; -} -weak_alias (__sigtimedwait, sigtimedwait) -#endif diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sigwait.c b/libpthread/nptl/sysdeps/unix/sysv/linux/sigwait.c deleted file mode 100644 index bde0a9292..000000000 --- a/libpthread/nptl/sysdeps/unix/sysv/linux/sigwait.c +++ /dev/null @@ -1,2 +0,0 @@ -#include <pthreadP.h> -#include "../../../../../../libc/signal/sigwait.c" diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sigwaitinfo.c b/libpthread/nptl/sysdeps/unix/sysv/linux/sigwaitinfo.c deleted file mode 100644 index 3ad330d21..000000000 --- a/libpthread/nptl/sysdeps/unix/sysv/linux/sigwaitinfo.c +++ /dev/null @@ -1,87 +0,0 @@ -/* Copyright (C) 1997,1998,2000,2002,2003,2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include <pthreadP.h> -#include <errno.h> -#include <signal.h> -#define __need_NULL -#include <stddef.h> -#include <string.h> - -#include <sysdep-cancel.h> -#include <sys/syscall.h> - -#ifdef __NR_rt_sigtimedwait - -static int -do_sigwaitinfo (const sigset_t *set, siginfo_t *info) -{ -#ifdef SIGCANCEL - sigset_t tmpset; - if (set != NULL - && (__builtin_expect (__sigismember (set, SIGCANCEL), 0) -# ifdef SIGSETXID - || __builtin_expect (__sigismember (set, SIGSETXID), 0) -# endif - )) - { - /* Create a temporary mask without the bit for SIGCANCEL set. */ - // We are not copying more than we have to. - memcpy (&tmpset, set, _NSIG / 8); - __sigdelset (&tmpset, SIGCANCEL); -# ifdef SIGSETXID - __sigdelset (&tmpset, SIGSETXID); -# endif - set = &tmpset; - } -#endif - - /* XXX The size argument hopefully will have to be changed to the - real size of the user-level sigset_t. */ - int result = INLINE_SYSCALL (rt_sigtimedwait, 4, set, - info, NULL, _NSIG / 8); - - /* The kernel generates a SI_TKILL code in si_code in case tkill is - used. tkill is transparently used in raise(). Since having - SI_TKILL as a code is useful in general we fold the results - here. */ - if (result != -1 && info != NULL && info->si_code == SI_TKILL) - info->si_code = SI_USER; - - return result; -} - - -/* Return any pending signal or wait for one for the given time. */ -int -__sigwaitinfo (const sigset_t *set, siginfo_t *info) -{ - if (SINGLE_THREAD_P) - return do_sigwaitinfo (set, info); - - int oldtype = LIBC_CANCEL_ASYNC (); - - /* XXX The size argument hopefully will have to be changed to the - real size of the user-level sigset_t. */ - int result = do_sigwaitinfo (set, info); - - LIBC_CANCEL_RESET (oldtype); - - return result; -} -weak_alias (__sigwaitinfo, sigwaitinfo) -#endif diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sleep.c b/libpthread/nptl/sysdeps/unix/sysv/linux/sleep.c deleted file mode 100644 index 9e948adce..000000000 --- a/libpthread/nptl/sysdeps/unix/sysv/linux/sleep.c +++ /dev/null @@ -1,2 +0,0 @@ -#include <pthreadP.h> -#include <../../../../../../libc/unistd/sleep.c> diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/waitpid.S b/libpthread/nptl/sysdeps/unix/sysv/linux/waitpid.S deleted file mode 100644 index 52abb27f0..000000000 --- a/libpthread/nptl/sysdeps/unix/sysv/linux/waitpid.S +++ /dev/null @@ -1,23 +0,0 @@ -#include <sysdep-cancel.h> - -#ifndef __NR_waitpid -#error Makefile error: No NR_waitpid on this arch -#endif - -/* -extern pid_t __waitpid_nocancel (pid_t, int *, int) attribute_hidden; -*/ -#if !defined NOT_IN_libc || defined IS_IN_libpthread || defined IS_IN_librt - - -PSEUDO (__waitpid, waitpid, 3) -ret -PSEUDO_END(__waitpid) - -libc_hidden_def (__waitpid) -weak_alias (__waitpid, waitpid) -libc_hidden_weak (waitpid) -weak_alias (__waitpid, __libc_waitpid) -libc_hidden_weak (__libc_waitpid) - -#endif diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/write.S b/libpthread/nptl/sysdeps/unix/sysv/linux/write.S deleted file mode 100644 index 43de3320d..000000000 --- a/libpthread/nptl/sysdeps/unix/sysv/linux/write.S +++ /dev/null @@ -1,19 +0,0 @@ -#include <sysdep-cancel.h> - -/* -extern int __write_nocancel (int, const void *, size_t) attribute_hidden; -*/ -#if !defined NOT_IN_libc || defined IS_IN_libpthread || defined IS_IN_librt - -PSEUDO (__libc_write, write, 3) -ret -PSEUDO_END(__libc_write) - -libc_hidden_def (__write_nocancel) -libc_hidden_def (__libc_write) -weak_alias (__libc_write, __write) -libc_hidden_weak (__write) -weak_alias (__libc_write, write) -libc_hidden_weak (write) - -#endif |