summaryrefslogtreecommitdiff
path: root/sunrpc/rpc_thread.c
AgeCommit message (Collapse)Author
2015-10-17sunrpc: Rewrite with explicit TLS access using __threadFlorian Weimer
2015-09-08Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912).Joseph Myers
It was noted in <https://sourceware.org/ml/libc-alpha/2012-09/msg00305.html> that the bits/*.h naming scheme should only be used for installed headers. This patch renames bits/libc-lock.h to plain libc-lock.h and bits/libc-lockP.h to plain libc-lockP.h to follow that convention. Note that I don't know where libc-lockP.h comes from for Hurd (the Hurd libc-lock.h includes libc-lockP.h, but the only libc-lockP.h in the glibc source tree is for NPTL) - some unmerged patch? - but I updated the #include in the Hurd libc-lock.h anyway. Tested for x86_64 (testsuite, and that installed stripped shared libraries are unchanged by the patch). [BZ #14912] * bits/libc-lock.h: Move to ... * sysdeps/generic/libc-lock.h: ...here. (_BITS_LIBC_LOCK_H): Rename macro to _LIBC_LOCK_H. * sysdeps/mach/hurd/bits/libc-lock.h: Move to ... * sysdeps/mach/hurd/libc-lock.h: ...here. (_BITS_LIBC_LOCK_H): Rename macro to _LIBC_LOCK_H. [_LIBC]: Include <libc-lockP.h> instead of <bits/libc-lockP.h>. * sysdeps/mach/bits/libc-lock.h: Move to ... * sysdeps/mach/libc-lock.h: ...here. (_BITS_LIBC_LOCK_H): Rename macro to _LIBC_LOCK_H. * sysdeps/nptl/bits/libc-lock.h: Move to ... * sysdeps/nptl/libc-lock.h: ...here. (_BITS_LIBC_LOCK_H): Rename macro to _LIBC_LOCK_H. * sysdeps/nptl/bits/libc-lockP.h: Move to ... * sysdeps/nptl/libc-lockP.h: ...here. (_BITS_LIBC_LOCKP_H): Rename macro to _LIBC_LOCKP_H. * crypt/crypt_util.c: Include <libc-lock.h> instead of <bits/libc-lock.h>. * dirent/scandir-tail.c: Likewise. * dlfcn/dlerror.c: Likewise. * elf/dl-close.c: Likewise. * elf/dl-iteratephdr.c: Likewise. * elf/dl-lookup.c: Likewise. * elf/dl-open.c: Likewise. * elf/dl-support.c: Likewise. * elf/dl-writev.h: Likewise. * elf/rtld.c: Likewise. * grp/fgetgrent.c: Likewise. * gshadow/fgetsgent.c: Likewise. * gshadow/sgetsgent.c: Likewise. * iconv/gconv_conf.c: Likewise. * iconv/gconv_db.c: Likewise. * iconv/gconv_dl.c: Likewise. * iconv/gconv_int.h: Likewise. * iconv/gconv_trans.c: Likewise. * include/link.h: Likewise. * inet/getnameinfo.c: Likewise. * inet/getnetgrent.c: Likewise. * inet/getnetgrent_r.c: Likewise. * intl/bindtextdom.c: Likewise. * intl/dcigettext.c: Likewise. * intl/finddomain.c: Likewise. * intl/gettextP.h: Likewise. * intl/loadmsgcat.c: Likewise. * intl/localealias.c: Likewise. * intl/textdomain.c: Likewise. * libidn/idn-stub.c: Likewise. * libio/libioP.h: Likewise. * locale/duplocale.c: Likewise. * locale/freelocale.c: Likewise. * locale/newlocale.c: Likewise. * locale/setlocale.c: Likewise. * login/getutent_r.c: Likewise. * login/getutid_r.c: Likewise. * login/getutline_r.c: Likewise. * login/utmp-private.h: Likewise. * login/utmpname.c: Likewise. * malloc/mtrace.c: Likewise. * misc/efgcvt.c: Likewise. * misc/error.c: Likewise. * misc/fstab.c: Likewise. * misc/getpass.c: Likewise. * misc/mntent.c: Likewise. * misc/syslog.c: Likewise. * nis/nis_call.c: Likewise. * nis/nis_callback.c: Likewise. * nis/nss-default.c: Likewise. * nis/nss_compat/compat-grp.c: Likewise. * nis/nss_compat/compat-initgroups.c: Likewise. * nis/nss_compat/compat-pwd.c: Likewise. * nis/nss_compat/compat-spwd.c: Likewise. * nis/nss_nis/nis-alias.c: Likewise. * nis/nss_nis/nis-ethers.c: Likewise. * nis/nss_nis/nis-grp.c: Likewise. * nis/nss_nis/nis-hosts.c: Likewise. * nis/nss_nis/nis-network.c: Likewise. * nis/nss_nis/nis-proto.c: Likewise. * nis/nss_nis/nis-pwd.c: Likewise. * nis/nss_nis/nis-rpc.c: Likewise. * nis/nss_nis/nis-service.c: Likewise. * nis/nss_nis/nis-spwd.c: Likewise. * nis/nss_nisplus/nisplus-alias.c: Likewise. * nis/nss_nisplus/nisplus-ethers.c: Likewise. * nis/nss_nisplus/nisplus-grp.c: Likewise. * nis/nss_nisplus/nisplus-hosts.c: Likewise. * nis/nss_nisplus/nisplus-initgroups.c: Likewise. * nis/nss_nisplus/nisplus-network.c: Likewise. * nis/nss_nisplus/nisplus-proto.c: Likewise. * nis/nss_nisplus/nisplus-pwd.c: Likewise. * nis/nss_nisplus/nisplus-rpc.c: Likewise. * nis/nss_nisplus/nisplus-service.c: Likewise. * nis/nss_nisplus/nisplus-spwd.c: Likewise. * nis/ypclnt.c: Likewise. * nptl/libc_pthread_init.c: Likewise. * nss/getXXbyYY.c: Likewise. * nss/getXXent.c: Likewise. * nss/getXXent_r.c: Likewise. * nss/nss_db/db-XXX.c: Likewise. * nss/nss_db/db-netgrp.c: Likewise. * nss/nss_db/nss_db.h: Likewise. * nss/nss_files/files-XXX.c: Likewise. * nss/nss_files/files-alias.c: Likewise. * nss/nsswitch.c: Likewise. * posix/regex_internal.h: Likewise. * posix/wordexp.c: Likewise. * pwd/fgetpwent.c: Likewise. * resolv/res_hconf.c: Likewise. * resolv/res_libc.c: Likewise. * shadow/fgetspent.c: Likewise. * shadow/lckpwdf.c: Likewise. * shadow/sgetspent.c: Likewise. * socket/opensock.c: Likewise. * stdio-common/reg-modifier.c: Likewise. * stdio-common/reg-printf.c: Likewise. * stdio-common/reg-type.c: Likewise. * stdio-common/vfprintf.c: Likewise. * stdio-common/vfscanf.c: Likewise. * stdlib/abort.c: Likewise. * stdlib/cxa_atexit.c: Likewise. * stdlib/fmtmsg.c: Likewise. * stdlib/random.c: Likewise. * stdlib/setenv.c: Likewise. * string/strsignal.c: Likewise. * sunrpc/auth_none.c: Likewise. * sunrpc/bindrsvprt.c: Likewise. * sunrpc/create_xid.c: Likewise. * sunrpc/key_call.c: Likewise. * sunrpc/rpc_thread.c: Likewise. * sysdeps/arm/backtrace.c: Likewise. * sysdeps/generic/ldsodefs.h: Likewise. * sysdeps/generic/stdio-lock.h: Likewise. * sysdeps/generic/unwind-dw2-fde.c: Likewise. * sysdeps/i386/backtrace.c: Likewise. * sysdeps/ieee754/ldbl-opt/nldbl-compat.c: Likewise. * sysdeps/m68k/backtrace.c: Likewise. * sysdeps/mach/hurd/cthreads.c: Likewise. * sysdeps/mach/hurd/dirstream.h: Likewise. * sysdeps/mach/hurd/malloc-machine.h: Likewise. * sysdeps/nptl/malloc-machine.h: Likewise. * sysdeps/nptl/stdio-lock.h: Likewise. * sysdeps/posix/dirstream.h: Likewise. * sysdeps/posix/getaddrinfo.c: Likewise. * sysdeps/posix/system.c: Likewise. * sysdeps/pthread/aio_suspend.c: Likewise. * sysdeps/s390/s390-32/backtrace.c: Likewise. * sysdeps/s390/s390-64/backtrace.c: Likewise. * sysdeps/unix/sysv/linux/check_pf.c: Likewise. * sysdeps/unix/sysv/linux/if_index.c: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/getutent_r.c: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/getutid_r.c: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/getutline_r.c: Likewise. * sysdeps/unix/sysv/linux/shm-directory.c: Likewise. * sysdeps/unix/sysv/linux/system.c: Likewise. * sysdeps/x86_64/backtrace.c: Likewise. * time/alt_digit.c: Likewise. * time/era.c: Likewise. * time/tzset.c: Likewise. * wcsmbs/wcsmbsload.c: Likewise. * nptl/tst-initializers1.c (do_test): Refer to <libc-lock.h> instead of <bits/libc-lock.h> in comment.
2015-09-03Rename bits/libc-tsd.h to libc-tsd.h (bug 14912).Joseph Myers
It was noted in <https://sourceware.org/ml/libc-alpha/2012-09/msg00305.html> that the bits/*.h naming scheme should only be used for installed headers. This patch renames bits/libc-tsd.h to plain libc-tsd.h to follow that convention. Tested for x86_64 (testing, and that installed stripped shared libraries are unchanged by the patch). [BZ #14912] * bits/libc-tsd.h: Move to ... * sysdeps/generic/libc-tsd.h: ...here. (_GENERIC_BITS_LIBC_TSD_H): Rename macro to _GENERIC_LIBC_TSD_H. * sysdeps/mach/hurd/bits/libc-tsd.h: Move to ... * sysdeps/mach/hurd/libc-tsd.h: ...here. (_BITS_LIBC_TSD_H): Rename macro to _LIBC_TSD_H. * include/ctype.h: Include <libc-tsd.h> instead of <bits/libc-tsd.h>. * include/rpc/rpc.h: Likewise. * locale/localeinfo.h: Likewise. * sunrpc/rpc_thread.c: Likewise. * sysdeps/mach/hurd/malloc-machine.h: Likewise. * sysdeps/nptl/malloc-machine.h: Likewise.
2013-08-30Fix typos.Ondřej Bílka
2012-05-10Make sunrpc code usable againAndreas Jaeger
New configure option --enable-obsolete-rpc makes the deprecated RPC headers and functions available at compile time as they were before version 2.14. This option will be removed at some time in the future after the TI-RPC library becomes fully sufficient for the needs of existing applications.
2011-04-16Obsolete RPC implementation in libc.Ulrich Drepper
2008-11-07* bits/libc-tsd.h (__libc_tsd_define, __libc_tsd_address, Jakub Jelinek
__libc_tsd_get, __libc_tsd_set): Add TYPE argument, use it as the type of the thread variable instead of void *. * sysdeps/mach/hurd/bits/libc-tsd.h (__libc_tsd_define, __libc_tsd_address, __libc_tsd_get, __libc_tsd_set): Likewise. * include/ctype.h (CTYPE_B, CTYPE_TOUPPER, CTYPE_TOLOWER): Adjust __libc_tsd_define arguments. (__ctype_b_loc, __ctype_toupper_loc, __ctype_tolower_loc): Adjust __libc_tsd_address arguments. Remove union hack. * include/rpc/rpc.h (RPC_VARS): Adjust __libc_tsd_define arguments. * sunrpc/rpc_thread.c (RPC_VARS): Likewise. (__rpc_thread_destroy, rpc_thread_multi, __rpc_thread_variables): Adjust __libc_tsd_{set,get} arguments. * ctype/ctype-info.c (CTYPE_B, CTYPE_TOUPPER, CTYPE_TOLOWER): Adjust __libc_tsd_define arguments. * locale/uselocale.c (__uselocale): Adjust __libc_tsd_{set,get} arguments. * locale/lc-ctype.c (_nl_postload_ctype): Likewise. * locale/global-locale.c (__libc_tsd_LOCALE): Adjust type. (LOCALE): Adjust __libc_tsd_define arguments. * locale/localeinfo.h (_NL_CURRENT_LOCALE): Adjust __libc_tsd_get arguments. (LOCALE): Adjust __libc_tsd_define arguments. * sysdeps/mach/hurd/malloc-machine.h (MALLOC): Adjust __libc_tsd_define arguments. (tsd_setspecific, tsd_getspecific): Adjust __libc_tsd_{set,get} arguments. nptl/ * sysdeps/pthread/malloc-machine.h (MALLOC): Adjust __libc_tsd_define arguments. (tsd_setspecific, tsd_getspecific): Adjust __libc_tsd_{set,get} arguments. 2008-11-07 Jakub Jelinek <jakub@redhat.com> * bits/libc-tsd.h (__libc_tsd_define, __libc_tsd_address, __libc_tsd_get, __libc_tsd_set): Add TYPE argument, use it as the type of the thread variable instead of void *. * sysdeps/mach/hurd/bits/libc-tsd.h (__libc_tsd_define, __libc_tsd_address, __libc_tsd_get, __libc_tsd_set): Likewise. * include/ctype.h (CTYPE_B, CTYPE_TOUPPER, CTYPE_TOLOWER): Adjust __libc_tsd_define arguments. (__ctype_b_loc, __ctype_toupper_loc, __ctype_tolower_loc): Adjust __libc_tsd_address arguments. Remove union hack. * include/rpc/rpc.h (RPC_VARS): Adjust __libc_tsd_define arguments. * sunrpc/rpc_thread.c (RPC_VARS): Likewise. (__rpc_thread_destroy, rpc_thread_multi, __rpc_thread_variables): Adjust __libc_tsd_{set,get} arguments. * ctype/ctype-info.c (CTYPE_B, CTYPE_TOUPPER, CTYPE_TOLOWER): Adjust __libc_tsd_define arguments. * locale/uselocale.c (__uselocale): Adjust __libc_tsd_{set,get} arguments. * locale/lc-ctype.c (_nl_postload_ctype): Likewise. * locale/global-locale.c (__libc_tsd_LOCALE): Adjust type. (LOCALE): Adjust __libc_tsd_define arguments. * locale/localeinfo.h (_NL_CURRENT_LOCALE): Adjust __libc_tsd_get arguments. (LOCALE): Adjust __libc_tsd_define arguments. * sysdeps/mach/hurd/malloc-machine.h (MALLOC): Adjust __libc_tsd_define arguments. (tsd_setspecific, tsd_getspecific): Adjust __libc_tsd_{set,get} arguments.
2008-01-09[BZ #5541]Ulrich Drepper
* sunrpc/rpc_thread.c (__rpc_thread_destroy): Also free xports and pollfd structures. Patch by André Cruz.
2006-05-04* sunrpc/rpc_thread.c (__rpc_thread_destroy): Don't skip entireUlrich Drepper
cleanup for initial thread, just the free call on TVP.
2004-12-22(CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4.Ulrich Drepper
2007-07-122.5-18.1Jakub Jelinek
2003-02-22* malloc/thread-freeres.c: Conditionalize on _LIBC_REENTRANT.Roland McGrath
* sunrpc/rpc_thread.c: Likewise for text_set_element use. (__rpc_thread_destroy): Add it to __libc_subfreeres too. * include/resolv.h: Add libc_hidden_proto for __res_nclose. * resolv/res_init.c (__res_nclose): Add libc_hidden_def. (res_thread_freeres): New function, on __libc_thread_subfreeres and __libc_subfreeres. * malloc/Versions (libc: GLIBC_PRIVATE): Add __libc_thread_freeres. * sunrpc/Versions (libc: GLIBC_PRIVATE): Removed.
2003-02-22* malloc/Versions (GLIBC_PRIVATE): Add __libc_thread_freeres.Roland McGrath
* malloc/thread-freeres.c: New file. * malloc/Makefile (aux): Add it. * sunrpc/Versions (GLIBC_PRIVATE): Removed. * sunrpc/rpc_thread.c (__rpc_thread_destroy): Put in special section "__libc_thread_freeres_fn" and add to __libc_thread_subfreeres set. * sysdeps/unix/sysv/linux/i386/geteuid.c (__geteuid): Typo fix. * sysdeps/unix/sysv/linux/i386/getgid.c (__getgid): Typo fix. 2003-02-21 Roland McGrath <roland@frob.com> * sysdeps/mach/hurd/opendir.c (__opendir): Use O_NONBLOCK in open. * iconvdata/Makefile (tests): Add bug-iconv3 only if [$(have-thread-library) = yes].
2002-08-052002-08-05 Jakub Jelinek <jakub@redhat.com>Roland McGrath
* include/wchar.h (wcrtomb, wcscmp, wcsftime, wcsspn, wcschr, wcscoll, wcspbrk): Add libc_hidden_proto. * time/strftime.c (my_strftime): Add libc_hidden_def. (strftime): Remove libc_hidden_def. * wcsmbs/wcschr.c (wcschr): Add libc_hidden_def. * wcsmbs/wcspbrk.c (wcspbrk): Likewise. * wcsmbs/wcsspn.c (wcsspn): Likewise. * wcsmbs/wcscmp.c (wcscmp): Likewise. * wcsmbs/wcrtomb.c (wcrtomb): Add libc_hidden_weak. * wcsmbs/wcscoll.c (wcscoll): Likewise. * include/rpc/rpc.h (__rpc_thread_svc_max_pollfd, __rpc_thread_svc_pollfd, __rpc_thread_svc_fdset, __rpc_thread_createerr): Add libc_hidden_proto. * sunrpc/rpc_thread.c (__rpc_thread_svc_max_pollfd, __rpc_thread_svc_pollfd, __rpc_thread_svc_fdset, __rpc_thread_createerr): Add libc_hidden_def. * include/rpc/clnt.h (clnt_sperrno, clnt_spcreateerror, clnt_perror, clnt_sperror, _rpc_dtablesize): Add libc_hidden_proto. * sunrpc/clnt_perr.c (clnt_sperrno, clnt_spcreateerror, clnt_perror, clnt_sperror): Add libc_hidden_def. * sunrpc/rpc_dtable.c (_rpc_dtablesize): Likewise. * include/rpc/des_crypt.h (des_setparity, ecb_crypt, cbc_crypt): Add libc_hidden_proto. * sunrpc/des_crypt.c (ecb_crypt, cbc_crypt): Add libc_hidden_proto. * sunrpc/des_soft.c (des_setparity): Likewise. * include/rpc/auth.h (key_encryptsession_pk, key_decryptsession_pk): Add libc_hidden_proto. * sunrpc/key_call.c (key_encryptsession_pk, key_decryptsession_pk): Add libc_hidden_def.
2002-08-032002-08-02 Roland McGrath <roland@redhat.com>Roland McGrath
* include/rpc/rpc.h: Declare RPC_VARS tsd as extern. * sunrpc/rpc_thread.c: Define it without static.
2002-08-03Update.Ulrich Drepper
2002-08-02 Ulrich Drepper <drepper@redhat.com> * cancel.c (__pthread_perform_cleanup) [USE_TLS && HAVE___THREAD]: Don't use p_libc_specific element in thread descriptor.
2002-08-02* sysdeps/pthread/bits/libc-tsd.h: Include <tls.h>.Roland McGrath
[USE_TLS && HAVE___THREAD]: Just include the sysdeps/generic file, which does the right thing when __thread support is available. * descr.h (struct _pthread_descr_struct) [USE_TLS && HAVE___THREAD]: Omit `p_libc_specific', `p_errnop', `p_errno', `p_h_errnop', `p_h_errno', `p_resp', and `p_res' members. * pthread.c (__pthread_initialize_minimal) [USE_TLS && HAVE___THREAD]: Don't initialize `p_errnop' and `p_h_errnop' members. (__pthread_reset_main_thread): Likewise. (__pthread_initialize_manager): Likewise. * manager.c (__pthread_manager, pthread_handle_create): Likewise. * pthread.c (pthread_initialize) [USE_TLS && HAVE___THREAD]: Don't initialize `p_resp' member. (__pthread_reset_main_thread): Likewise. * manager.c (pthread_handle_create): Likewise. * specific.c (libc_internal_tsd_set, libc_internal_tsd_get): Conditionalize these on [!(USE_TLS && HAVE___THREAD)]. * errno.c [USE_TLS && HAVE___THREAD] (__h_errno_location, __res_state): Don't define these at all. * sysdeps/i386/tls.h (INSTALL_DTV): Add parens around arguments! (INSTALL_NEW_DTV, GET_DTV): Likewise. * sysdeps/sh/tls.h (INSTALL_DTV, INSTALL_NEW_DTV, GET_DTV): Likewise. * weaks.c: Don't include <errno.h> here. 2002-08-01 Roland McGrath <roland@redhat.com> * sysdeps/i386/tls.h (TLS_DO_MODIFY_LDT): New macro, broken out of TLS_INIT_TP. (TLS_DO_SET_THREAD_AREA): New macro, uses thread_set_area syscall. (TLS_SETUP_GS_SEGMENT): New macro, try one or the other or both. (TLS_INIT_TP): Use that.
2002-04-20Update.Ulrich Drepper
2002-04-11 Zack Weinberg <zack@codesourcery.com> * include/rpc/rpc.h (struct rpc_thread_variables): Remove authnone_private_s. * sunrpc/auth_none.c: Include bits/libc-lock.h. Delete #ifdef _RPC_THREAD_SAFE_ block. (authnone_private): Make a struct, not a pointer to struct. (authnone_private_guard): New once-control variable. (authnone_create_once): New function, split out of authnone_create. No need to allocate memory. (authnone_create): Just call authnone_create_once via __libc_once, then return &authnone_private->no_client. (authnone_marshal): Access private data via CLIENT argument, not authnone_private pointer. Fix typo (MAX_MARSHEL_SIZE -> MAX_MARSHAL_SIZE). * sunrpc/rpc_thread.c (__rpc_thread_destroy): No need to free authnone_private_s.
2001-05-17(rpc_default): Remove. (__rpc_thread_destroy): Use __libc_tsd_RPC_VARS_mem ↵Ulrich Drepper
instead of rpc_default. (rpc_thread_multi, __rpc_thread_svc_fdset, __rpc_thread_createerr, __rpc_thread_svc_pollfd, __rpc_thread_svc_max_pollfd): Likewise.
2001-03-26Update.Ulrich Drepper
Add changes which were in this form in the original patch by Eric Norum <eric.norum@usask.ca>. * include/rpc/rpc.h: Remove svc_fdset, rpc_createerr, svc_pollfd, and svc_max_pollfd. * sunrpc/rpc/rpc.h: Declare __rpc_thread_svc_fdset, __rpc_thread_createerr, __rpc_thread_svc_pollfd, and __rpc_thread_svc_max_pollfd. Define svc_fdset, get_rpc_createerr, svc_pollfd, and svc_max_pollfd. * sunrpc/rpc_thread.c: Handle first thread special, it uses the global variables. Define __rpc_thread_svc_fdset, __rpc_thread_createerr, __rpc_thread_svc_pollfd, and __rpc_thread_svc_max_pollfd. * sunrpc/Versions [libc] (GLIBC_2.2.3): Export __rpc_thread_svc_fdset, __rpc_thread_createerr, __rpc_thread_svc_pollfd, and __rpc_thread_svc_max_pollfd. * sunrpc/clnt_gen.c: Replace use of rpc_createerr by call to get_rpc_createerr. * sunrpc/clnt_perr.c: Likewise. * sunrpc/clnt_simp.c: Likewise. * sunrpc/clnt_tcp.c: Likewise. * sunrpc/clnt_udp.c: Likewise. * sunrpc/clnt_unix.c: Likewise. * sunrpc/pm_getport.c: Likewise.
2001-03-20Update.Ulrich Drepper
* sunrpc/Makefile (routines): Add rpc_thread. (CPPFLAGS): Add -D_RPC_THREAD_SAFE. * sunrpc/rpc_thread.c: New file. * sunrpc/Versions [libc] (GLIBC_2.2.3): Export __rpc_thread_destroy. * sunrpc/auth_none.c: Don't use global variables. Access state in thread-local storage. * sunrpc/clnt_perr.c: Likewise. * sunrpc/clnt_raw.c: Likewise. * sunrpc/clnt_simp.c: Likewise. * sunrpc/key_call.c: Likewise. * sunrpc/rpc_common.c: Likewise. * sunrpc/svc.c: Likewise. * sunrpc/svc_raw.c: Likewise. * sunrpc/svc_simple.c: Likewise. * sunrpc/svcauth_des.c: Likewise. * hurd/hurd/threadvar.h (enum __hurd_threadvar_index): Add _HURD_THREADVAR_RPC_VARS. * sysdeps/generic/bits/libc-tsd.h: Mention _LIBC_TSD_KEY_RPC_VARS. * include/rpc/rpc.h: Define data structures for internal thread-local "global" variables. Based on patches by Eric Norum <eric.norum@usask.ca>.