.
authorroland <roland>
Fri, 2 Aug 2002 03:32:23 +0000 (03:32 +0000)
committerroland <roland>
Fri, 2 Aug 2002 03:32:23 +0000 (03:32 +0000)
ChangeLog
linuxthreads/ChangeLog

index 2872e63..6e4a526 100644 (file)
--- 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
        * 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
        * 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.
 
index 2baa1e4..30917d3 100644 (file)
@@ -1,3 +1,39 @@
+2002-07-30  Roland McGrath  <roland@redhat.com>
+
+       * sysdeps/pthread/bits/libc-tsd.h: Include <tls.h>.
+       [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-08-02  Jakub Jelinek  <jakub@redhat.com>
 
        * sysdeps/i386/useldt.h (DO_MODIFY_LDT): Move from INIT_THREAD_SELF.