From a1a8064169aeda79e3266a2db9cce25e361a86dc Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Mon, 20 Mar 2017 18:10:36 +0100 Subject: remove RPC implementation The included RPC implementation is ipv4 only. Other C library projects have either deprecated the internal RPC implementation (GNU C Library) or never implemented such functionality (musl C Library). The latest rpcbind release (0.2.4) checks for libtirpc and does not allow to be build with uClibc-ng RPC without patching. The common use case for RPC nowadays is to use rpcbind together with nfs-utils to provide NFS server or client support to a system. The included RPC implementation does create issues with duplicate symbol failures when statically compiling with RPC enabled. --- libpthread/linuxthreads/cancel.c | 10 ---------- libpthread/linuxthreads/specific.c | 30 ------------------------------ 2 files changed, 40 deletions(-) (limited to 'libpthread') diff --git a/libpthread/linuxthreads/cancel.c b/libpthread/linuxthreads/cancel.c index 392d1d586..ed0543866 100644 --- a/libpthread/linuxthreads/cancel.c +++ b/libpthread/linuxthreads/cancel.c @@ -19,10 +19,6 @@ #include "internals.h" #include "spinlock.h" #include "restart.h" -#ifdef __UCLIBC_HAS_RPC__ -#include -extern void __rpc_thread_destroy(void); -#endif #include #include @@ -202,12 +198,6 @@ void __pthread_perform_cleanup(char *currentframe) #endif c->__routine(c->__arg); } - -#ifdef __UCLIBC_HAS_RPC__ - /* And the TSD which needs special help. */ - if (THREAD_GETMEM(self, p_libc_specific[_LIBC_TSD_KEY_RPC_VARS]) != NULL) - __rpc_thread_destroy (); -#endif } #ifndef __PIC__ diff --git a/libpthread/linuxthreads/specific.c b/libpthread/linuxthreads/specific.c index c4bcfbf8c..d0be8a9f0 100644 --- a/libpthread/linuxthreads/specific.c +++ b/libpthread/linuxthreads/specific.c @@ -166,33 +166,3 @@ void __pthread_destroy_specifics(void) } __pthread_unlock(THREAD_GETMEM(self, p_lock)); } - -#if !defined __UCLIBC_HAS_TLS__ && defined __UCLIBC_HAS_RPC__ - -/* Thread-specific data for libc. */ - -int -__pthread_internal_tsd_set (int key, const void * pointer) -{ - pthread_descr self = thread_self(); - - THREAD_SETMEM_NC(self, p_libc_specific[key], (void *) pointer); - return 0; -} - -void * -__pthread_internal_tsd_get (int key) -{ - pthread_descr self = thread_self(); - - return THREAD_GETMEM_NC(self, p_libc_specific[key]); -} - -void ** __attribute__ ((__const__)) -__pthread_internal_tsd_address (int key) -{ - pthread_descr self = thread_self(); - return &self->p_libc_specific[key]; -} - -#endif -- cgit v1.2.3