diff options
Diffstat (limited to 'libpthread/nptl')
47 files changed, 19 insertions, 1040 deletions
diff --git a/libpthread/nptl/Makefile.in b/libpthread/nptl/Makefile.in index f0d5ad611..0fc83e20e 100644 --- a/libpthread/nptl/Makefile.in +++ b/libpthread/nptl/Makefile.in @@ -12,14 +12,13 @@ libpthread_OUT = $(top_builddir)libpthread/nptl include $(libpthread_DIR)/sysdeps/Makefile.in -libc-shared-routines-y = forward.c libc-cancellation.c +libc-shared-routines-y = libc-cancellation.c libc-static-routines-y = alloca_cutoff.c libc-cancellation.c libpthread-shared-only-routines-y = version.c libpthread-static-only-routines-y = pthread_atfork.c libpthread-routines- += $(notdir $(wildcard $(libpthread_DIR)/gen_*.c)) # dummy generated files libpthread-routines- += allocatestack.c # dummy included by pthread_create.c libpthread-routines- += pthread_mutex_getprioceiling.c pthread_mutex_setprioceiling.c # XXX: delete those or use them! -libpthread-routines-$(UCLIBC_HAS_RESOLVER_SUPPORT) += res.c libpthread-routines-$(UCLIBC_SUSV4_LEGACY) += pthread_getconcurrency.c \ pthread_setconcurrency.c libpthread_CSRC = $(filter-out $(libpthread-routines-) \ @@ -42,6 +41,8 @@ else libpthread-a-y := $(libpthread-static-y) endif +libpthread-a-y += $(top_builddir)lib/libpthread_nonshared.a + libc-shared-routines-y := $(filter-out $(notdir $(libpthread_libc_OBJS:.o=.c)), $(libc-shared-routines-y)) libc-static-routines-y := $(filter-out $(notdir $(libpthread_libc_OBJS:.o=.c)), $(libc-static-routines-y)) libc-shared-routines-y := $(addprefix $(libpthread_OUT)/,$(libc-shared-routines-y:.c=.oS)) @@ -63,37 +64,6 @@ librt-a-y += $(librt_OBJS) endif librt-so-y += $(librt_OBJS:.o=.oS) $(librt-pt-shared-only-routines-y:.o=.oS) -ifeq ($(UCLIBC_CTOR_DTOR),y) -START_FILE-libpthread.so := $(top_builddir)libpthread/nptl/sysdeps/pthread/pt-crti.o -END_FILE-libpthread.so := $(top_builddir)libpthread/nptl/sysdeps/pthread/pt-crtn.o -LDFLAGS-libpthread.so += -nostartfiles -$(top_builddir)lib/libpthread.so: | $(START_FILE-libpthread.so) $(END_FILE-libpthread.so) -endif - -libpthread_FULL_NAME := libpthread-$(VERSION).so -lib-a-$(UCLIBC_HAS_THREADS) += $(top_builddir)lib/libpthread.a -lib-so-$(UCLIBC_HAS_THREADS) += $(top_builddir)lib/libpthread.so - -$(top_builddir)lib/libpthread.so: $(libpthread_OUT)/libpthread_so.a $(libc.depend) $(libdl.depend) $(top_builddir)lib/libpthread_nonshared.a - $(call link.so,$(libpthread_FULL_NAME),$(ABI_VERSION)) - # link for backward compatibility - $(call link.so,$(libpthread_FULL_NAME),0) - $(Q)cat $(top_srcdir)extra/scripts/format.lds > $@.tmp - $(Q)echo "GROUP ( $(notdir $@).$(ABI_VERSION) libpthread_nonshared.a )" >> $@.tmp - $(Q)mv $@.tmp $@ - -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) - -$(top_builddir)lib/libpthread.a: $(libpthread-a-y) - $(Q)$(INSTALL) -d $(dir $@) - $(Q)$(RM) $@ - $(do_ar) - $(libpthread_OUT)/pthread-errnos.h: $(top_srcdir)extra/scripts/gen-as-const.awk $(libpthread_OUT)/pthread-errnos.h: $(libpthread_DIR)/pthread-errnos.sym @$(disp_gen) @@ -132,17 +102,6 @@ HEADERCLEAN_libpthread/nptl: CLEAN_libpthread/nptl: $(do_rm) $(addprefix $(libpthread_OUT)/*., o os oS a) -ifeq ($(PTHREADS_DEBUG_SUPPORT),y) -LDFLAGS-libpthread.so += $(LDFLAGS_NOSTRIP) -Wl,-z,defs -else -LDFLAGS-libpthread.so += $(LDFLAGS) -endif - -LDFLAGS-libpthread.so += $(top_builddir)lib/$(UCLIBC_LDSO_NAME)-$(VERSION).so $(top_builddir)lib/libdl-$(VERSION).so \ - -Wl,-z,nodelete,-z,initfirst,-init=$(SYMBOL_PREFIX)__pthread_initialize_minimal_internal - -LIBS-libpthread.so := $(LIBS) - CFLAGS-dir_nptl := -DNOT_IN_libc -DIS_IN_libpthread CFLAGS-libpthread/nptl := $(CFLAGS-dir_nptl) $(SSP_ALL_CFLAGS) @@ -171,10 +130,6 @@ CFLAGS-libc-cancellation.c = -fasynchronous-unwind-tables # function. CFLAGS-pthread_exit.c = -fexceptions -# Among others, __pthread_unwind is forwarded. This function must handle -# exceptions. -CFLAGS-forward.c = -fexceptions - # The following are cancellation points. Some of the functions can # block and therefore temporarily enable asynchronous cancellation. # Those must be compiled asynchronous unwind tables. @@ -235,8 +190,6 @@ CFLAGS-waitpid.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-write.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-writev.c = -fexceptions -fasynchronous-unwind-tables -CFLAGS-pt-system.c = -fexceptions -I$(top_srcdir)libc/stdlib - # # The rest of this file is uClibc specific. # @@ -249,6 +202,5 @@ CFLAGS-pthread_barrierattr_setpshared.c = -D_GNU_SOURCE CFLAGS-sem_open.c = -D_GNU_SOURCE CFLAGS-OMIT-alloca_cutoff.c = $(CFLAGS-dir_nptl) -CFLAGS-OMIT-forward.c = $(CFLAGS-dir_nptl) CFLAGS-OMIT-libc-lowlevelock.c = $(CFLAGS-dir_nptl) CFLAGS-OMIT-libc-cancellation.c = $(CFLAGS-dir_nptl) diff --git a/libpthread/nptl/forward.c b/libpthread/nptl/forward.c deleted file mode 100644 index 076d43711..000000000 --- a/libpthread/nptl/forward.c +++ /dev/null @@ -1,169 +0,0 @@ -/* Copyright (C) 2002, 2003, 2004, 2007 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 <dlfcn.h> -#include <pthreadP.h> -#include <signal.h> -#include <stdlib.h> - -#include <atomic.h> -#include <sysdep.h> - - -/* Pointers to the libc functions. */ -struct pthread_functions __libc_pthread_functions attribute_hidden; -int __libc_pthread_functions_init attribute_hidden; - - -#define FORWARD2(name, rettype, decl, params, defaction) \ -rettype \ -name decl \ -{ \ - if (!__libc_pthread_functions_init) { \ - defaction; \ - } else { \ - return PTHFCT_CALL (ptr_##name, params); \ - } \ -} - -#define FORWARD(name, decl, params, defretval) \ - FORWARD2 (name, int, decl, params, return defretval) - - -FORWARD (pthread_attr_destroy, (pthread_attr_t *attr), (attr), 0) - -FORWARD (__pthread_attr_init_2_1, (pthread_attr_t *attr), (attr), 0) -weak_alias(__pthread_attr_init_2_1, pthread_attr_init) - -FORWARD (pthread_attr_getdetachstate, - (const pthread_attr_t *attr, int *detachstate), (attr, detachstate), - 0) -FORWARD (pthread_attr_setdetachstate, (pthread_attr_t *attr, int detachstate), - (attr, detachstate), 0) - -FORWARD (pthread_attr_getinheritsched, - (const pthread_attr_t *attr, int *inherit), (attr, inherit), 0) -FORWARD (pthread_attr_setinheritsched, (pthread_attr_t *attr, int inherit), - (attr, inherit), 0) - -FORWARD (pthread_attr_getschedparam, - (const pthread_attr_t *attr, struct sched_param *param), - (attr, param), 0) -FORWARD (pthread_attr_setschedparam, - (pthread_attr_t *attr, const struct sched_param *param), - (attr, param), 0) - -FORWARD (pthread_attr_getschedpolicy, - (const pthread_attr_t *attr, int *policy), (attr, policy), 0) -FORWARD (pthread_attr_setschedpolicy, (pthread_attr_t *attr, int policy), - (attr, policy), 0) - -FORWARD (pthread_attr_getscope, - (const pthread_attr_t *attr, int *scope), (attr, scope), 0) -FORWARD (pthread_attr_setscope, (pthread_attr_t *attr, int scope), - (attr, scope), 0) - - -FORWARD (pthread_condattr_destroy, (pthread_condattr_t *attr), (attr), 0) -FORWARD (pthread_condattr_init, (pthread_condattr_t *attr), (attr), 0) - -FORWARD (__pthread_cond_broadcast, (pthread_cond_t *cond), (cond), 0) -weak_alias(__pthread_cond_broadcast, pthread_cond_broadcast) - -FORWARD (__pthread_cond_destroy, (pthread_cond_t *cond), (cond), 0) -weak_alias(__pthread_cond_destroy, pthread_cond_destroy) - -FORWARD (__pthread_cond_init, - (pthread_cond_t *cond, const pthread_condattr_t *cond_attr), - (cond, cond_attr), 0) -weak_alias(__pthread_cond_init, pthread_cond_init) - -FORWARD (__pthread_cond_signal, (pthread_cond_t *cond), (cond), 0) -weak_alias(__pthread_cond_signal, pthread_cond_signal) - -FORWARD (__pthread_cond_wait, (pthread_cond_t *cond, pthread_mutex_t *mutex), - (cond, mutex), 0) -weak_alias(__pthread_cond_wait, pthread_cond_wait) - -FORWARD (__pthread_cond_timedwait, - (pthread_cond_t *cond, pthread_mutex_t *mutex, - const struct timespec *abstime), (cond, mutex, abstime), 0) -weak_alias(__pthread_cond_timedwait, pthread_cond_timedwait) - - -FORWARD (pthread_equal, (pthread_t thread1, pthread_t thread2), - (thread1, thread2), 1) - - -/* Use an alias to avoid warning, as pthread_exit is declared noreturn. */ -FORWARD2 (__pthread_exit, void, (void *retval), (retval), exit (EXIT_SUCCESS)) -strong_alias (__pthread_exit, pthread_exit); - - -FORWARD (pthread_getschedparam, - (pthread_t target_thread, int *policy, struct sched_param *param), - (target_thread, policy, param), 0) -FORWARD (pthread_setschedparam, - (pthread_t target_thread, int policy, - const struct sched_param *param), (target_thread, policy, param), 0) - - -FORWARD (pthread_mutex_destroy, (pthread_mutex_t *mutex), (mutex), 0) - -FORWARD (pthread_mutex_init, - (pthread_mutex_t *mutex, const pthread_mutexattr_t *mutexattr), - (mutex, mutexattr), 0) - -FORWARD (pthread_mutex_lock, (pthread_mutex_t *mutex), (mutex), 0) -weak_alias (pthread_mutex_lock, __pthread_mutex_lock) - -FORWARD (pthread_mutex_unlock, (pthread_mutex_t *mutex), (mutex), 0) -weak_alias (pthread_mutex_unlock, __pthread_mutex_unlock) - -FORWARD2 (pthread_self, pthread_t, (void), (), return 0) - - -FORWARD (pthread_setcancelstate, (int state, int *oldstate), (state, oldstate), - 0) - -FORWARD (pthread_setcanceltype, (int type, int *oldtype), (type, oldtype), 0) - -#define return /* value is void */ -FORWARD2(_pthread_cleanup_push_defer, - void, (struct _pthread_cleanup_buffer *buffer, void (*routine)(void *), void *arg), - (buffer, routine, arg), - { buffer->__routine = routine; buffer->__arg = arg; }); - -FORWARD2(_pthread_cleanup_pop_restore, - void, (struct _pthread_cleanup_buffer *buffer, int execute), - (buffer, execute), - if (execute) { buffer->__routine(buffer->__arg); }); - -FORWARD2(__pthread_unwind, - void attribute_hidden __attribute ((noreturn)) __cleanup_fct_attribute, - (__pthread_unwind_buf_t *buf), (buf), { - /* We cannot call abort() here. */ - INTERNAL_SYSCALL_DECL (err); - INTERNAL_SYSCALL (kill, err, 1, SIGKILL); -#if __GNUC_PREREQ(4, 5) - __builtin_unreachable(); -#else - while(1); -#endif - }) -#undef return diff --git a/libpthread/nptl/init.c b/libpthread/nptl/init.c index eb84d6edd..0e1c60cda 100644 --- a/libpthread/nptl/init.c +++ b/libpthread/nptl/init.c @@ -60,77 +60,6 @@ int __have_futex_clock_realtime; /* Version of the library, used in libthread_db to detect mismatches. */ static const char nptl_version[] __attribute_used__ = VERSION; -#ifdef SHARED -static void nptl_freeres (void); - -static const struct pthread_functions pthread_functions = - { - .ptr_pthread_attr_destroy = __pthread_attr_destroy, - .ptr___pthread_attr_init_2_1 = __pthread_attr_init_2_1, - .ptr_pthread_attr_getdetachstate = __pthread_attr_getdetachstate, - .ptr_pthread_attr_setdetachstate = __pthread_attr_setdetachstate, - .ptr_pthread_attr_getinheritsched = __pthread_attr_getinheritsched, - .ptr_pthread_attr_setinheritsched = __pthread_attr_setinheritsched, - .ptr_pthread_attr_getschedparam = __pthread_attr_getschedparam, - .ptr_pthread_attr_setschedparam = __pthread_attr_setschedparam, - .ptr_pthread_attr_getschedpolicy = __pthread_attr_getschedpolicy, - .ptr_pthread_attr_setschedpolicy = __pthread_attr_setschedpolicy, - .ptr_pthread_attr_getscope = __pthread_attr_getscope, - .ptr_pthread_attr_setscope = __pthread_attr_setscope, - .ptr_pthread_condattr_destroy = __pthread_condattr_destroy, - .ptr_pthread_condattr_init = __pthread_condattr_init, - .ptr___pthread_cond_broadcast = __pthread_cond_broadcast, - .ptr___pthread_cond_destroy = __pthread_cond_destroy, - .ptr___pthread_cond_init = __pthread_cond_init, - .ptr___pthread_cond_signal = __pthread_cond_signal, - .ptr___pthread_cond_wait = __pthread_cond_wait, - .ptr___pthread_cond_timedwait = __pthread_cond_timedwait, - .ptr_pthread_equal = __pthread_equal, - .ptr___pthread_exit = __pthread_exit, - .ptr_pthread_getschedparam = __pthread_getschedparam, - .ptr_pthread_setschedparam = __pthread_setschedparam, - .ptr_pthread_mutex_destroy = INTUSE(__pthread_mutex_destroy), - .ptr_pthread_mutex_init = INTUSE(__pthread_mutex_init), - .ptr_pthread_mutex_lock = INTUSE(__pthread_mutex_lock), - .ptr_pthread_mutex_unlock = INTUSE(__pthread_mutex_unlock), - .ptr_pthread_self = __pthread_self, - .ptr_pthread_setcancelstate = __pthread_setcancelstate, - .ptr_pthread_setcanceltype = __pthread_setcanceltype, - .ptr___pthread_cleanup_upto = __pthread_cleanup_upto, - .ptr___pthread_once = __pthread_once_internal, - .ptr___pthread_rwlock_rdlock = __pthread_rwlock_rdlock_internal, - .ptr___pthread_rwlock_wrlock = __pthread_rwlock_wrlock_internal, - .ptr___pthread_rwlock_unlock = __pthread_rwlock_unlock_internal, - .ptr___pthread_key_create = __pthread_key_create_internal, - .ptr___pthread_getspecific = __pthread_getspecific_internal, - .ptr___pthread_setspecific = __pthread_setspecific_internal, - .ptr__pthread_cleanup_push_defer = __pthread_cleanup_push_defer, - .ptr__pthread_cleanup_pop_restore = __pthread_cleanup_pop_restore, - .ptr_nthreads = &__nptl_nthreads, - .ptr___pthread_unwind = &__pthread_unwind, - .ptr__nptl_deallocate_tsd = __nptl_deallocate_tsd, - .ptr__nptl_setxid = __nptl_setxid, - /* For now only the stack cache needs to be freed. */ - .ptr_freeres = nptl_freeres - }; -# define ptr_pthread_functions &pthread_functions -#else -# define ptr_pthread_functions NULL -#endif - - -#ifdef SHARED -/* This function is called indirectly from the freeres code in libc. */ -static void -__libc_freeres_fn_section -nptl_freeres (void) -{ - __unwind_freeres (); - __free_stacks (0); -} -#endif - - /* For asynchronous cancellation we use a signal. This is the handler. */ static void sigcancel_handler (int sig, siginfo_t *si, void *ctx) @@ -410,8 +339,7 @@ __pthread_initialize_minimal_internal (void) #ifndef TLS_MULTIPLE_THREADS_IN_TCB __libc_multiple_threads_ptr = #endif - __libc_pthread_init (&__fork_generation, __reclaim_stacks, - ptr_pthread_functions); + __libc_pthread_init (&__fork_generation, __reclaim_stacks); /* Determine whether the machine is SMP or not. */ __is_smp = is_smp_system (); diff --git a/libpthread/nptl/pt-system.c b/libpthread/nptl/pt-system.c deleted file mode 100644 index 31567f064..000000000 --- a/libpthread/nptl/pt-system.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright (C) 2002, 2003 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 <errno.h> -#include <stdlib.h> -#include <sysdep.h> -#include "pthreadP.h" - -extern __typeof(system) __libc_system; -#include <system.c> - - -int -system (const char *line) -{ - return __libc_system (line); -} - -/* __libc_system in libc.so handles cancellation. */ -LIBC_CANCEL_HANDLED (); diff --git a/libpthread/nptl/pthreadP.h b/libpthread/nptl/pthreadP.h index f46dd40d5..a2aa5a089 100644 --- a/libpthread/nptl/pthreadP.h +++ b/libpthread/nptl/pthreadP.h @@ -28,7 +28,6 @@ #include <lowlevellock.h> #include <bits/stackinfo.h> #include <internaltypes.h> -#include <pthread-functions.h> #include <atomic.h> #include <bits/kernel-features.h> @@ -377,12 +376,10 @@ hidden_proto (__nptl_death_event) /* Register the generation counter in the libpthread with the libc. */ #ifdef TLS_MULTIPLE_THREADS_IN_TCB extern void __libc_pthread_init (unsigned long int *ptr, - void (*reclaim) (void), - const struct pthread_functions *functions); + void (*reclaim) (void)); #else extern int *__libc_pthread_init (unsigned long int *ptr, - void (*reclaim) (void), - const struct pthread_functions *functions); + void (*reclaim) (void)); /* Variable set to a nonzero value if more than one thread runs or ran. */ extern int __pthread_multiple_threads attribute_hidden; diff --git a/libpthread/nptl/pthread_setgid.c b/libpthread/nptl/pthread_setgid.c deleted file mode 100644 index b06bffbf3..000000000 --- a/libpthread/nptl/pthread_setgid.c +++ /dev/null @@ -1,3 +0,0 @@ -#define SINGLE_THREAD -#define __setgid pthread_setgid_np -#include <setgid.c> diff --git a/libpthread/nptl/pthread_setuid.c b/libpthread/nptl/pthread_setuid.c deleted file mode 100644 index ff949c850..000000000 --- a/libpthread/nptl/pthread_setuid.c +++ /dev/null @@ -1,3 +0,0 @@ -#define SINGLE_THREAD -#define __setuid pthread_setuid_np -#include <setuid.c> diff --git a/libpthread/nptl/res.c b/libpthread/nptl/res.c deleted file mode 100644 index 3ce84ea81..000000000 --- a/libpthread/nptl/res.c +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 2002, 2003 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 <features.h> -#include <tls.h> -#include <resolv.h> - -struct __res_state * -__res_state (void) -{ - return __resp; -} diff --git a/libpthread/nptl/sysdeps/arm/Makefile.arch b/libpthread/nptl/sysdeps/arm/Makefile.arch index 62a2822df..c190b9aec 100644 --- a/libpthread/nptl/sysdeps/arm/Makefile.arch +++ b/libpthread/nptl/sysdeps/arm/Makefile.arch @@ -6,5 +6,4 @@ # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. # -librt_arch_SSRC = aeabi_read_tp.S thumb_atomics.S libc_arch_a_CSRC = libc-tls.c diff --git a/libpthread/nptl/sysdeps/arm/aeabi_read_tp.S b/libpthread/nptl/sysdeps/arm/aeabi_read_tp.S deleted file mode 100644 index af640d625..000000000 --- a/libpthread/nptl/sysdeps/arm/aeabi_read_tp.S +++ /dev/null @@ -1 +0,0 @@ -#include <../../../../ldso/ldso/arm/aeabi_read_tp.S> diff --git a/libpthread/nptl/sysdeps/arm/thumb_atomics.S b/libpthread/nptl/sysdeps/arm/thumb_atomics.S deleted file mode 100644 index aaa7a3d8f..000000000 --- a/libpthread/nptl/sysdeps/arm/thumb_atomics.S +++ /dev/null @@ -1 +0,0 @@ -#include <../../../../ldso/ldso/arm/thumb_atomics.S> diff --git a/libpthread/nptl/sysdeps/metag/metag_load_tp.S b/libpthread/nptl/sysdeps/metag/metag_load_tp.S deleted file mode 100644 index f17f7decd..000000000 --- a/libpthread/nptl/sysdeps/metag/metag_load_tp.S +++ /dev/null @@ -1,7 +0,0 @@ -/* - * Copyright (C) 2013 Imagination Technologies Ltd. - * - * Licensed under the LGPL v2.1 or later, see the file COPYING.LIB in this tarball. - */ - -#include <../../../../ldso/ldso/metag/metag_load_tp.S> diff --git a/libpthread/nptl/sysdeps/mips/nptl-sysdep.S b/libpthread/nptl/sysdeps/mips/nptl-sysdep.S deleted file mode 100644 index 7a4a8d311..000000000 --- a/libpthread/nptl/sysdeps/mips/nptl-sysdep.S +++ /dev/null @@ -1,2 +0,0 @@ -/* Pull in __syscall_error. */ -#include <syscall_error.S> diff --git a/libpthread/nptl/sysdeps/pthread/Makefile.in b/libpthread/nptl/sysdeps/pthread/Makefile.in index 9d99f3158..a501b6403 100644 --- a/libpthread/nptl/sysdeps/pthread/Makefile.in +++ b/libpthread/nptl/sysdeps/pthread/Makefile.in @@ -43,62 +43,11 @@ CFLAGS-pthread_spin_unlock.c = -D_GNU_SOURCE CFLAGS-unwind-forcedunwind.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-OMIT-librt-cancellation.c = -DIS_IN_libpthread -CFLAGS-OMIT-rt-unwind-resume.c = -DIS_IN_libpthread CFLAGS-librt-cancellation.c = -DIS_IN_librt \ -fexceptions -fasynchronous-unwind-tables -CFLAGS-rt-unwind-resume.c = -DIS_IN_librt \ - -fexceptions -fasynchronous-unwind-tables - 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 - -ifeq ($(UCLIBC_CTOR_DTOR),y) -CFLAGS-OMIT-pt-initfini.c = $(CFLAGS-y-libpthread/nptl/sysdeps/pthread) -CFLAGS-pt-initfini.c = -S -g0 $(PICFLAG) -fno-inline-functions \ - $(call check_gcc,-fno-unit-at-a-time,) \ - $(SSP_DISABLE_FLAGS) \ - -finhibit-size-directive \ - -fno-asynchronous-unwind-tables -fno-unwind-tables \ - $(patsubst -f%,-fno-%,$(call check_gcc,-fexceptions,)) - -#ASFLAGS += $(PICFLAG) -I$(top_srcdir)include -I$(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH) -ifneq ($(wildcard $(libpthread_pthread_DIR)/../unix/sysv/linux/$(TARGET_ARCH)/pt-initfini.c),) -PTHREAD_INITFINI := $(libpthread_pthread_DIR)/../unix/sysv/linux/$(TARGET_ARCH)/pt-initfini.c -else -PTHREAD_INITFINI := $(libpthread_pthread_DIR)/pt-initfini.c -endif - -ASFLAGS-pt-crti.S = $(PICFLAG) -ASFLAGS-pt-crtn.S = $(PICFLAG) - -$(libpthread_pthread_OUT)/pt-crti.o: $(libpthread_pthread_OUT)/pt-crti.S - $(compile.S) - -$(libpthread_pthread_OUT)/pt-crtn.o: $(libpthread_pthread_OUT)/pt-crtn.S - $(compile.S) - -$(libpthread_pthread_OUT)/pt-initfini.s: $(PTHREAD_INITFINI) | $(headers_dep) - $(compile.c) -$(libpthread_pthread_OUT)/defs.h: $(PTHREAD_INITFINI) - $(do_sed) -n -e '/@TESTS_BEGIN/,/@TESTS_END/p' $< | \ - $(AWK) -f $(top_srcdir)extra/scripts/defs.awk > $@.tmp - $(Q)mv $@.tmp $@ - -$(libpthread_pthread_OUT)/pt-crti.S: $(libpthread_pthread_OUT)/pt-initfini.s $(libpthread_pthread_OUT)/defs.h - $(do_sed) -n -e '/[ ]*\.file/d' \ - -e '1,/@HEADER_ENDS/p' \ - -e '/@_.*_PROLOG_BEGINS/,/@_.*_PROLOG_ENDS/p' \ - -e '/@TRAILER_BEGINS/,$$p' $< > $@.tmp - $(Q)mv $@.tmp $@ -$(libpthread_pthread_OUT)/pt-crtn.S: $(libpthread_pthread_OUT)/pt-initfini.s $(libpthread_pthread_OUT)/defs.h - $(do_sed) -n -e '/[ ]*\.file/d' \ - -e '1,/@HEADER_ENDS/p' \ |