summary refs log tree commit diff
path: root/sunrpc
diff options
context:
space:
mode:
Diffstat (limited to 'sunrpc')
-rw-r--r--sunrpc/Versions4
-rw-r--r--sunrpc/rpc_thread.c3
2 files changed, 2 insertions, 5 deletions
diff --git a/sunrpc/Versions b/sunrpc/Versions
index d86d40a10b..b800172e08 100644
--- a/sunrpc/Versions
+++ b/sunrpc/Versions
@@ -113,8 +113,4 @@ libc {
     __rpc_thread_svc_fdset; __rpc_thread_createerr;
     __rpc_thread_svc_pollfd; __rpc_thread_svc_max_pollfd;
   }
-  GLIBC_PRIVATE {
-    # needed by libpthread.
-    __rpc_thread_destroy; __libc_tsd_RPC_VARS;
-  }
 }
diff --git a/sunrpc/rpc_thread.c b/sunrpc/rpc_thread.c
index df48c31a8f..9a3d4dbd0c 100644
--- a/sunrpc/rpc_thread.c
+++ b/sunrpc/rpc_thread.c
@@ -15,7 +15,7 @@ __libc_tsd_define (, RPC_VARS)
 /*
  * Task-variable destructor
  */
-void
+void __attribute__ ((section ("__libc_thread_freeres_fn")))
 __rpc_thread_destroy (void)
 {
 	struct rpc_thread_variables *tvp = __libc_tsd_get (RPC_VARS);
@@ -32,6 +32,7 @@ __rpc_thread_destroy (void)
 		free (tvp);
 	}
 }
+text_set_element (__libc_thread_subfreeres, __rpc_thread_destroy);
 
 
 /*