about summary refs log tree commit diff
path: root/sunrpc
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2003-02-22 00:55:36 +0000
committerRoland McGrath <roland@gnu.org>2003-02-22 00:55:36 +0000
commite8783fd53d5d673eab4500d2cac82601f2f802e0 (patch)
tree153d45b1e7c9b279d5304b4cc88e495aa9341363 /sunrpc
parent113d33e776f6ab899016aa2220b8a43a271f5e7f (diff)
downloadglibc-e8783fd53d5d673eab4500d2cac82601f2f802e0.tar.gz
glibc-e8783fd53d5d673eab4500d2cac82601f2f802e0.tar.xz
glibc-e8783fd53d5d673eab4500d2cac82601f2f802e0.zip
* malloc/Versions (GLIBC_PRIVATE): Add __libc_thread_freeres.
	* 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].
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);
 
 
 /*