aboutsummaryrefslogtreecommitdiff
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
glibc-fc10bc8d325d1c0e08ccadaa650686d735b70d3e.tar.gz
glibc-fc10bc8d325d1c0e08ccadaa650686d735b70d3e.tar.bz2
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) */