diff options
author | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2016-05-18 18:41:24 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2016-05-18 18:41:24 +0200 |
commit | 6a8ccc95528f5e86a8770ed15ce89609b5b3dee9 (patch) | |
tree | bbd4df35b4d4a6a8b00d7a5e61fb2668b850ad62 /libpthread/linuxthreads.old | |
parent | 398a27a5b323956344b4f831d892fed3bd9813c7 (diff) |
remove linuxthreads.new, rename linuxthreads.old
Linuxthreads.new isn't really useful with the existence
of NPTL/TLS for well supported architectures. There is no
reason to use LT.new for ARM/MIPS or other architectures
supporting NPTL/TLS. It is not available for noMMU architectures
like Blackfin or FR-V. To simplify the live of the few uClibc-ng
developers, LT.new is removed and LT.old is renamed to LT.
LINUXTHREADS_OLD -> UCLIBC_HAS_LINUXTHREADS
Diffstat (limited to 'libpthread/linuxthreads.old')
68 files changed, 0 insertions, 13663 deletions
diff --git a/libpthread/linuxthreads.old/Makefile b/libpthread/linuxthreads.old/Makefile deleted file mode 100644 index f9100219a..000000000 --- a/libpthread/linuxthreads.old/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -# Makefile for uClibc -# -# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org> -# -# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. -# - -top_srcdir=../../ -top_builddir=../../ -include $(top_builddir)Rules.mak -all: libs -include Makefile.in -include $(top_srcdir)Makerules diff --git a/libpthread/linuxthreads.old/Makefile.in b/libpthread/linuxthreads.old/Makefile.in deleted file mode 100644 index 6be2099d2..000000000 --- a/libpthread/linuxthreads.old/Makefile.in +++ /dev/null @@ -1,119 +0,0 @@ -# Makefile for uClibc -# -# Copyright (C) 2003 Paul Mundt <lethal@linux-sh.org> -# Copyright (C) 2000-2008 Erik Andersen <andersen@uclibc.org> -# -# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. -# - -subdirs += libpthread/linuxthreads.old - -CFLAGS-dir_linuxthreads.old := -DNOT_IN_libc -DIS_IN_libpthread -CFLAGS-libpthread/linuxthreads.old := $(CFLAGS-dir_linuxthreads.old) $(SSP_ALL_CFLAGS) - -ifeq ($(PTHREADS_DEBUG_SUPPORT),y) -LDFLAGS-libpthread.so := $(LDFLAGS_NOSTRIP) -Wl,-z,defs -else -LDFLAGS-libpthread.so := $(LDFLAGS) -endif -LDFLAGS-$(UCLIBC_FORMAT_DSBT_ELF)-libpthread.so := -Wl,--dsbt-index=10 - -LIBS-libpthread.so := $(LIBS) $(ldso) - -START_FILE-libpthread.so := $(SHARED_START_FILES) -END_FILE-libpthread.so := $(SHARED_END_FILES) - -libpthread_FULL_NAME := libpthread-$(VERSION).so - -libpthread_DIR := $(top_srcdir)libpthread/linuxthreads.old -libpthread_OUT := $(top_builddir)libpthread/linuxthreads.old - --include $(libpthread_DIR)/sysdeps/$(TARGET_ARCH)/Makefile.arch - -libpthread_SRC := \ - attr.c cancel.c condvar.c errno.c events.c join.c lockfile.c manager.c \ - mutex.c pt-machine.c ptfork.c pthread.c ptlongjmp.c \ - rwlock.c semaphore.c signals.c specific.c spinlock.c wrapsyscall.c -ifeq ($(UCLIBC_HAS_XLOCALE),y) -libpthread_SRC += locale.c -endif - -# remove generic sources, if arch specific version is present -ifneq ($(strip $(libpthread_ARCH_SRC)),) -libpthread_SRC := $(filter-out $(patsubst %.c,$(libpthread_DIR)/%.c,$(notdir $(libpthread_ARCH_SRC))),$(libpthread_SRC)) -endif - -libpthread_SRC := $(patsubst %,$(libpthread_DIR)/%,$(libpthread_SRC)) - -libpthread_OBJ := $(patsubst $(libpthread_DIR)/%.c,$(libpthread_OUT)/%.o,$(libpthread_SRC)) - -# -# Stuff that goes into libc.so, not libpthread.so -# -CFLAGS-OMIT-forward.c := $(CFLAGS-dir_linuxthreads.old) -CFLAGS-OMIT-libc_pthread_init.c := $(CFLAGS-dir_linuxthreads.old) -libpthread_libc_CSRC := forward.c libc_pthread_init.c -libpthread_libc_OBJ := $(patsubst %.c, $(libpthread_OUT)/%.o,$(libpthread_libc_CSRC)) -libc-static-y += $(libpthread_OUT)/libc_pthread_init.o -libc-shared-y += $(libpthread_libc_OBJ:.o=.oS) - -ifeq ($(DOPIC),y) -libpthread-a-y += $(libpthread_OBJ:.o=.os) -else -libpthread-a-y += $(libpthread_OBJ) -endif -libpthread-so-y += $(libpthread_OBJ:.o=.oS) - -lib-a-$(UCLIBC_HAS_THREADS) += $(top_builddir)lib/libpthread.a -lib-so-$(UCLIBC_HAS_THREADS) += $(top_builddir)lib/libpthread.so - -#ifeq ($(DOMULTI),n) -$(top_builddir)lib/libpthread.so: $(libpthread_OUT)/libpthread_so.a $(libc.depend) - $(call link.so,$(libpthread_FULL_NAME),$(ABI_VERSION)) -#else -#$(top_builddir)lib/libpthread.so: $(libpthread_OUT)/libpthread.oS | $(libc.depend) -# $(call linkm.so,$(libpthread_FULL_NAME),$(ABI_VERSION)) -#endif - -ifeq ($(PTHREADS_DEBUG_SUPPORT),y) -$(libpthread_OUT)/libpthread_so.a: STRIP_FLAGS:=$(STRIP_FLAGS:-x=-X --strip-debug) -endif -$(libpthread_OUT)/libpthread_so.a: $(libpthread-so-y) - $(Q)$(RM) $@ - $(do_ar) - -ifeq ($(PTHREADS_DEBUG_SUPPORT),y) -$(libpthread_OUT)/libpthread.oS: STRIP_FLAGS:=$(STRIP_FLAGS:-x=-X --strip-debug) -endif -$(libpthread_OUT)/libpthread.oS: $(libpthread_SRC) - $(Q)$(RM) $@ - $(compile-m) - -ifeq ($(PTHREADS_DEBUG_SUPPORT),y) -$(top_builddir)lib/libpthread.a: STRIP_FLAGS:=$(STRIP_FLAGS:-x=-X --strip-debug) -endif -$(top_builddir)lib/libpthread.a: $(libpthread-a-y) - $(Q)$(INSTALL) -d $(dir $@) - $(Q)$(RM) $@ - $(do_ar) - -$(top_builddir)include/pthread.h: - $(do_ln) $(call rel_srcdir)$(PTDIR)/sysdeps/pthread/$(@F) $@ -$(top_builddir)include/semaphore.h: - $(do_ln) $(call rel_srcdir)$(PTDIR)/$(@F) $@ -$(top_builddir)include/bits/pthreadtypes.h: | $(top_builddir)include/bits - $(do_ln) $(call rel_srcdir)$(PTDIR)/sysdeps/pthread/bits/$(@F) $@ - -linuxthreads_headers := $(top_builddir)include/pthread.h \ - $(top_builddir)include/semaphore.h \ - $(top_builddir)include/bits/pthreadtypes.h -$(linuxthreads_headers): $(wildcard $(addprefix $(top_builddir)include/config/linuxthreads/,old.h new.h)) -headers-$(UCLIBC_HAS_THREADS) += $(linuxthreads_headers) - -objclean-y += CLEAN_libpthread/linuxthreads.old -headers_clean-y += HEADERCLEAN_libpthread/linuxthreads.old -HEADERCLEAN_libpthread/linuxthreads.old: - $(do_rm) $(linuxthreads_headers) - -CLEAN_libpthread/linuxthreads.old: - $(do_rm) $(addprefix $(libpthread_OUT)/*., o os oS a) diff --git a/libpthread/linuxthreads.old/attr.c b/libpthread/linuxthreads.old/attr.c deleted file mode 100644 index 8465c234c..000000000 --- a/libpthread/linuxthreads.old/attr.c +++ /dev/null @@ -1,240 +0,0 @@ -/* Linuxthreads - a simple clone()-based implementation of Posix */ -/* threads for Linux. */ -/* Copyright (C) 1996 Xavier Leroy (Xavier.Leroy@inria.fr) */ -/* */ -/* This program is free software; you can redistribute it and/or */ -/* modify it under the terms of the GNU Library General Public License */ -/* as published by the Free Software Foundation; either version 2 */ -/* of the License, or (at your option) any later version. */ -/* */ -/* This program 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 Library General Public License for more details. */ - -/* changed for uClibc */ -#define __sched_get_priority_min sched_get_priority_min -#define __sched_get_priority_max sched_get_priority_max - -/* Handling of thread attributes */ - -#include <errno.h> -#include <string.h> -#include <unistd.h> -#include <sys/param.h> -#include "pthread.h" -#include "internals.h" - -libpthread_hidden_proto(pthread_attr_destroy) -libpthread_hidden_proto(pthread_attr_init) -libpthread_hidden_proto(pthread_attr_getdetachstate) -libpthread_hidden_proto(pthread_attr_setdetachstate) -libpthread_hidden_proto(pthread_attr_getinheritsched) -libpthread_hidden_proto(pthread_attr_setinheritsched) -libpthread_hidden_proto(pthread_attr_setschedparam) -libpthread_hidden_proto(pthread_attr_getschedparam) -libpthread_hidden_proto(pthread_attr_getschedpolicy) -libpthread_hidden_proto(pthread_attr_setschedpolicy) -libpthread_hidden_proto(pthread_attr_getscope) -libpthread_hidden_proto(pthread_attr_setscope) - -/* NOTE: With uClibc I don't think we need this versioning stuff. - * Therefore, define the function pthread_attr_init() here using - * a strong symbol. */ - -/*int __pthread_attr_init_2_1(pthread_attr_t *attr)*/ -int pthread_attr_init(pthread_attr_t *attr) -{ - size_t ps = getpagesize (); - - attr->__detachstate = PTHREAD_CREATE_JOINABLE; - attr->__schedpolicy = SCHED_OTHER; - attr->__schedparam.sched_priority = 0; - attr->__inheritsched = PTHREAD_EXPLICIT_SCHED; - attr->__scope = PTHREAD_SCOPE_SYSTEM; - attr->__guardsize = ps; - attr->__stackaddr = NULL; - attr->__stackaddr_set = 0; - attr->__stacksize = STACK_SIZE - ps; - return 0; -} -libpthread_hidden_def(pthread_attr_init) - -/* uClibc: leave out this for now. */ -#if defined DO_PTHREAD_VERSIONING_WITH_UCLIBC -#if defined __PIC__ && defined DO_VERSIONING -default_symbol_version (__pthread_attr_init_2_1, pthread_attr_init, GLIBC_2.1); - -int __pthread_attr_init_2_0(pthread_attr_t *attr) -{ - attr->__detachstate = PTHREAD_CREATE_JOINABLE; - attr->__schedpolicy = SCHED_OTHER; - attr->__schedparam.sched_priority = 0; - attr->__inheritsched = PTHREAD_EXPLICIT_SCHED; - attr->__scope = PTHREAD_SCOPE_SYSTEM; - return 0; -} -symbol_version (__pthread_attr_init_2_0, pthread_attr_init, GLIBC_2.0); -#else -strong_alias (__pthread_attr_init_2_1, pthread_attr_init) -#endif -#endif /* DO_PTHREAD_VERSIONING_WITH_UCLIBC */ - -int pthread_attr_destroy(pthread_attr_t *attr attribute_unused) -{ - return 0; -} -libpthread_hidden_def(pthread_attr_destroy) - - -int pthread_attr_setdetachstate(pthread_attr_t *attr, int detachstate) -{ - if (detachstate < PTHREAD_CREATE_JOINABLE || - detachstate > PTHREAD_CREATE_DETACHED) - return EINVAL; - attr->__detachstate = detachstate; - return 0; -} -libpthread_hidden_def(pthread_attr_setdetachstate) - -int pthread_attr_getdetachstate(const pthread_attr_t *attr, int *detachstate) -{ - *detachstate = attr->__detachstate; - return 0; -} -libpthread_hidden_def(pthread_attr_getdetachstate) - -int pthread_attr_setschedparam(pthread_attr_t *attr, - const struct sched_param *param) -{ - int max_prio = __sched_get_priority_max(attr->__schedpolicy); - int min_prio = __sched_get_priority_min(attr->__schedpolicy); - - if (param->sched_priority < min_prio || param->sched_priority > max_prio) - return EINVAL; - memcpy (&attr->__schedparam, param, sizeof (struct sched_param)); - return 0; -} -libpthread_hidden_def(pthread_attr_setschedparam) - -int pthread_attr_getschedparam(const pthread_attr_t *attr, - struct sched_param *param) -{ - memcpy (param, &attr->__schedparam, sizeof (struct sched_param)); - return 0; -} -libpthread_hidden_def(pthread_attr_getschedparam) - -int pthread_attr_setschedpolicy(pthread_attr_t *attr, int policy) -{ - if (policy != SCHED_OTHER && policy != SCHED_FIFO && policy != SCHED_RR) - return EINVAL; - attr->__schedpolicy = policy; - return 0; -} -libpthread_hidden_def(pthread_attr_setschedpolicy) - -int pthread_attr_getschedpolicy(const pthread_attr_t *attr, int *policy) -{ - *policy = attr->__schedpolicy; - return 0; -} -libpthread_hidden_def(pthread_attr_getschedpolicy) - -int pthread_attr_setinheritsched(pthread_attr_t *attr, int inherit) -{ - if (inherit != PTHREAD_INHERIT_SCHED && inherit != PTHREAD_EXPLICIT_SCHED) - return EINVAL; - attr->__inheritsched = inherit; - return 0; -} -libpthread_hidden_def(pthread_attr_setinheritsched) - -int pthread_attr_getinheritsched(const pthread_attr_t *attr, int *inherit) -{ - *inherit = attr->__inheritsched; - return 0; -} -libpthread_hidden_def(pthread_attr_getinheritsched) - -int pthread_attr_setscope(pthread_attr_t *attr, int scope) -{ - switch (scope) { - case PTHREAD_SCOPE_SYSTEM: - attr->__scope = scope; - return 0; - case PTHREAD_SCOPE_PROCESS: - return ENOTSUP; - default: - return EINVAL; - } -} -libpthread_hidden_def(pthread_attr_setscope) - -int pthread_attr_getscope(const pthread_attr_t *attr, int *scope) -{ - *scope = attr->__scope; - return 0; -} -libpthread_hidden_def(pthread_attr_getscope) - -int __pthread_attr_setguardsize(pthread_attr_t *attr, size_t guardsize) -{ - size_t ps = getpagesize (); - - /* First round up the guard size. */ - guardsize = roundup (guardsize, ps); - - /* The guard size must not be larger than the stack itself */ - if (guardsize >= attr->__stacksize) return EINVAL; - - attr->__guardsize = guardsize; - - return 0; -} -weak_alias (__pthread_attr_setguardsize, pthread_attr_setguardsize) - -int __pthread_attr_getguardsize(const pthread_attr_t *attr, size_t *guardsize) -{ - *guardsize = attr->__guardsize; - return 0; -} -weak_alias (__pthread_attr_getguardsize, pthread_attr_getguardsize) - -#if 0 /* uClibc: deprecated stuff disabled */ -int __pthread_attr_setstackaddr(pthread_attr_t *attr, void *stackaddr) -{ - attr->__stackaddr = stackaddr; - attr->__stackaddr_set = 1; - return 0; -} -weak_alias (__pthread_attr_setstackaddr, pthread_attr_setstackaddr) - -int __pthread_attr_getstackaddr(const pthread_attr_t *attr, void **stackaddr) -{ - /* XXX This function has a stupid definition. The standard specifies - no error value but what is if no stack address was set? We simply - return the value we have in the member. */ - *stackaddr = attr->__stackaddr; - return 0; -} -weak_alias (__pthread_attr_getstackaddr, pthread_attr_getstackaddr) -#endif - -int __pthread_attr_setstacksize(pthread_attr_t *attr, size_t stacksize) -{ - /* We don't accept value smaller than PTHREAD_STACK_MIN. */ - if (stacksize < PTHREAD_STACK_MIN) - return EINVAL; - - attr->__stacksize = stacksize; - return 0; -} -weak_alias (__pthread_attr_setstacksize, pthread_attr_setstacksize) - -int __pthread_attr_getstacksize(const pthread_attr_t *attr, size_t *stacksize) -{ - *stacksize = attr->__stacksize; - return 0; -} -weak_alias (__pthread_attr_getstacksize, pthread_attr_getstacksize) diff --git a/libpthread/linuxthreads.old/cancel.c b/libpthread/linuxthreads.old/cancel.c deleted file mode 100644 index 392d1d586..000000000 --- a/libpthread/linuxthreads.old/cancel.c +++ /dev/null @@ -1,219 +0,0 @@ -/* Linuxthreads - a simple clone()-based implementation of Posix */ -/* threads for Linux. */ -/* Copyright (C) 1996 Xavier Leroy (Xavier.Leroy@inria.fr) */ -/* */ -/* This program is free software; you can redistribute it and/or */ -/* modify it under the terms of the GNU Library General Public License */ -/* as published by the Free Software Foundation; either version 2 */ -/* of the License, or (at your option) any later version. */ -/* */ -/* This program 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 Library General Public License for more details. */ - -/* Thread cancellation */ - -#include <errno.h> -#include "pthread.h" -#include "internals.h" -#include "spinlock.h" -#include "restart.h" -#ifdef __UCLIBC_HAS_RPC__ -#include <rpc/rpc.h> -extern void __rpc_thread_destroy(void); -#endif -#include <bits/stackinfo.h> - -#include <stdio.h> - -#ifdef _STACK_GROWS_DOWN -# define FRAME_LEFT(frame, other) ((char *) frame >= (char *) other) -#elif defined _STACK_GROWS_UP -# define FRAME_LEFT(frame, other) ((char *) frame <= (char *) other) -#else -# error "Define either _STACK_GROWS_DOWN or _STACK_GROWS_UP" -#endif - -libpthread_hidden_proto(pthread_setcancelstate) -libpthread_hidden_proto(pthread_setcanceltype) - -int pthread_setcancelstate(int state, int * oldstate) -{ - pthread_descr self = thread_self(); - if (state < PTHREAD_CANCEL_ENABLE || state > PTHREAD_CANCEL_DISABLE) - return EINVAL; - if (oldstate != NULL) *oldstate = THREAD_GETMEM(self, p_cancelstate); - THREAD_SETMEM(self, p_cancelstate, state); - if (THREAD_GETMEM(self, p_canceled) && - THREAD_GETMEM(self, p_cancelstate) == PTHREAD_CANCEL_ENABL |