about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2002-08-02 03:37:41 +0000
committerRoland McGrath <roland@gnu.org>2002-08-02 03:37:41 +0000
commitfc10bc8d325d1c0e08ccadaa650686d735b70d3e (patch)
tree37de86ef53188b292ef0a2a20521558aa2e16ee5
parentc2afe833521105e05298500ba5d4676d6c833242 (diff)
downloadglibc-fc10bc8d325d1c0e08ccadaa650686d735b70d3e.tar.gz
glibc-fc10bc8d325d1c0e08ccadaa650686d735b70d3e.tar.xz
glibc-fc10bc8d325d1c0e08ccadaa650686d735b70d3e.zip
* resolv/resolv.h (_res): Define macro unconditionally.
	[! _LIBC_REENTRANT] (_res): Move this conditional decl to ...
	* include/resolv.h: ... here.
	[USE_TLS && HAVE___THREAD] (_res): #undef it and declare
	as a __thread variable.
	* resolv/res_libc.c [USE_TLS && HAVE___THREAD] (_res): Define it as
	a __thread variable instead of a global.
	* resolv/res_data.c [_LIBC]: Don't #undef _res.

	* include/errno.h: Include <tls.h> to make sure USE_TLS defined by the
	time we test it.

	* intl/loadmsgcat.c [__GNUC__]: #undef alloca before defining it.

	* malloc/malloc.c [_LIBC]: Include <string.h> instead of using local
	decls of memset and memcpy.

	* sysdeps/generic/sysdep.h (END): Conditionalize on [__ASSEMBLER__].
	* sysdeps/unix/sysv/linux/i386/sysdep.h (L): Likewise.

	* elf/dl-load.c (_dl_map_object_from_fd): Comment fix.

	* sysdeps/generic/bits/libc-tsd.h [USE_TLS && HAVE___THREAD]
	(__libc_tsd_define): Define using __thread.

	* sunrpc/rpc_thread.c: Use __libc_tsd_define.
	(__rpc_thread_variables): Use __libc_tsd_get.
	(__rpc_thread_destroy): Use __libc_tsd_get instead of calling
	__rpc_thread_variables, which might allocate what we're about to free.

	* inet/herrno.c [USE_TLS && HAVE___THREAD] (h_errno): Define as a
	thread-local variable.
	* resolv/netdb.h (h_errno): Define macro unconditionally.
	[_LIBC] (__set_h_errno): Macro moved to ...
	* include/netdb.h: ... here.
	[USE_TLS && HAVE___THREAD] (h_errno): Declare __thread variable.
	[USE_TLS && HAVE___THREAD] (__set_h_errno): Define using that.
	[! _LIBC_REENTRANT]: #undef h_errno here.

	* include/errno.h: Protect from multiple inclusion.

	* misc/sys/select.h (__NFDBITS, __FDELT, __FDMASK): #undef these
	before defining them, since Linux's <linux/posix_types.h> might have
	defined them.

2002-08-01  Roland McGrath  <roland@redhat.com>
2002-07-31  Roland McGrath  <roland@redhat.com>
2002-07-31  Roland McGrath  <roland@redhat.com>
-rw-r--r--ChangeLog53
-rw-r--r--linuxthreads/ChangeLog1
-rw-r--r--linuxthreads/no-tsd.c6
3 files changed, 56 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 2872e63351..6e4a526fb5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,50 @@
+2002-07-30  Roland McGrath  <roland@redhat.com>
+
+	* resolv/resolv.h (_res): Define macro unconditionally.
+	[! _LIBC_REENTRANT] (_res): Move this conditional decl to ...
+	* include/resolv.h: ... here.
+	[USE_TLS && HAVE___THREAD] (_res): #undef it and declare
+	as a __thread variable.
+	* resolv/res_libc.c [USE_TLS && HAVE___THREAD] (_res): Define it as
+	a __thread variable instead of a global.
+	* resolv/res_data.c [_LIBC]: Don't #undef _res.
+
+	* include/errno.h: Include <tls.h> to make sure USE_TLS defined by the
+	time we test it.
+
+	* intl/loadmsgcat.c [__GNUC__]: #undef alloca before defining it.
+
+	* malloc/malloc.c [_LIBC]: Include <string.h> instead of using local
+	decls of memset and memcpy.
+
+	* sysdeps/generic/sysdep.h (END): Conditionalize on [__ASSEMBLER__].
+	* sysdeps/unix/sysv/linux/i386/sysdep.h (L): Likewise.
+
+	* elf/dl-load.c (_dl_map_object_from_fd): Comment fix.
+
+	* sysdeps/generic/bits/libc-tsd.h [USE_TLS && HAVE___THREAD]
+	(__libc_tsd_define): Define using __thread.
+
+	* sunrpc/rpc_thread.c: Use __libc_tsd_define.
+	(__rpc_thread_variables): Use __libc_tsd_get.
+	(__rpc_thread_destroy): Use __libc_tsd_get instead of calling
+	__rpc_thread_variables, which might allocate what we're about to free.
+
+	* inet/herrno.c [USE_TLS && HAVE___THREAD] (h_errno): Define as a
+	thread-local variable.
+	* resolv/netdb.h (h_errno): Define macro unconditionally.
+	[_LIBC] (__set_h_errno): Macro moved to ...
+	* include/netdb.h: ... here.
+	[USE_TLS && HAVE___THREAD] (h_errno): Declare __thread variable.
+	[USE_TLS && HAVE___THREAD] (__set_h_errno): Define using that.
+	[! _LIBC_REENTRANT]: #undef h_errno here.
+
+	* include/errno.h: Protect from multiple inclusion.
+
+	* misc/sys/select.h (__NFDBITS, __FDELT, __FDMASK): #undef these
+	before defining them, since Linux's <linux/posix_types.h> might have
+	defined them.
+
 2002-08-02  Jakub Jelinek  <jakub@redhat.com>
 
 	* malloc/malloc.c (public_cALLOc): Check for overflow on
@@ -11,14 +58,14 @@
 	* sysdeps/unix/sysv/linux/kernel-features.h
 	(__ASSUME_SET_THREAD_AREA_SYSCALL): Define.
 
-2002-08-01  Roland McGrath  <roland@frob.com>
+2002-08-01  Roland McGrath  <roland@redhat.com>
 
 	* libio/fileops.c (_IO_file_sync_mmap): New function.
 	(_IO_file_jumps_mmap): Use it.
 	(_IO_file_underflow_mmap): Rewritten.  If after EOF or fflush,
 	repeat the stat check and resize the mapped buffer as necessary.
 
-2002-07-31  Roland McGrath  <roland@frob.com>
+2002-07-31  Roland McGrath  <roland@redhat.com>
 
 	* libio/fileops.c (decide_maybe_mmap): New static function.
 	Code taken from libio/iofopen.c:__fopen_maybe_mmap to try to
@@ -56,7 +103,7 @@
 	* sysdeps/unix/sysv/linux/bits/sys_errlist.h: New file.  Does
 	provide declarations.
 
-2002-07-31  Roland McGrath  <roland@frob.com>
+2002-07-31  Roland McGrath  <roland@redhat.com>
 
 	* elf/rtld.c (dl_main): Fix typo in error message.
 
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index 30917d367d..4b86627f17 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -17,6 +17,7 @@
 	* manager.c (pthread_handle_create): Likewise.
 	* specific.c (libc_internal_tsd_set, libc_internal_tsd_get):
 	Conditionalize these on [!(USE_TLS && HAVE___THREAD)].
+	* no-tsd.c: Conditionalize contents on [!(USE_TLS && HAVE___THREAD)].
 	* errno.c [USE_TLS && HAVE___THREAD]
 	(__h_errno_location, __res_state): Don't define these at all.
 
diff --git a/linuxthreads/no-tsd.c b/linuxthreads/no-tsd.c
index 84abb6f405..7b5f7ef949 100644
--- a/linuxthreads/no-tsd.c
+++ b/linuxthreads/no-tsd.c
@@ -1,5 +1,5 @@
 /* libc-internal interface for thread-specific data.
-   Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1998,99,2002 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
@@ -20,6 +20,8 @@
 #include <sys/cdefs.h>  /* for __const */
 #include <bits/libc-tsd.h>
 
+#if !(USE_TLS && HAVE___THREAD)
+
 /* This file provides uinitialized (common) definitions for the
    hooks used internally by libc to access thread-specific data.
 
@@ -32,3 +34,5 @@
 void *(*__libc_internal_tsd_get) (enum __libc_tsd_key_t);
 int (*__libc_internal_tsd_set) (enum __libc_tsd_key_t,
 				__const void *);
+
+#endif /* !(USE_TLS && HAVE___THREAD) */