dtv_t in linuxthreads and nptl

Andreas Jaeger aj@suse.de
Sun Jan 9 11:53:00 GMT 2005


Here're some more patches that I needed - now make && make check
passes.

Ok to commit?

Andreas

linuxthreads_db:
2005-01-09  Andreas Jaeger  <aj@suse.de>

	* td_thr_tlsbase.c (td_thr_tlsbase): Adjust for dtv change.

linuxthreads:
2005-01-09  Andreas Jaeger  <aj@suse.de>

	* pthread.c (init_one_static_tls): Adjust initialization of DTV
	entry for static tls deallocation fix.

============================================================
Index: linuxthreads/pthread.c
--- linuxthreads/pthread.c	6 Oct 2004 08:04:43 -0000	1.135
+++ linuxthreads/pthread.c	9 Jan 2005 11:30:47 -0000
@@ -482,7 +482,8 @@ init_one_static_tls (pthread_descr descr
 # endif
 
   /* Fill in the DTV slot so that a later LD/GD access will find it.  */
-  dtv[map->l_tls_modid].pointer = dest;
+  dtv[map->l_tls_modid].pointer.val = dest;
+  dtv[map->l_tls_modid].pointer.is_static = true;
 
   /* Initialize the memory.  */
   memset (__mempcpy (dest, map->l_tls_initimage, map->l_tls_initimage_size),

============================================================
Index: linuxthreads_db/td_thr_tlsbase.c
--- linuxthreads_db/td_thr_tlsbase.c	14 Mar 2004 03:40:06 -0000	1.3
+++ linuxthreads_db/td_thr_tlsbase.c	9 Jan 2005 11:38:02 -0000
@@ -1,5 +1,5 @@
 /* Locate TLS data for a thread.
-   Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2004, 2005 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
@@ -59,10 +59,10 @@ td_thr_tlsbase (const td_thrhandle_t *th
 
   /* It could be that the memory for this module is not allocated for
      the given thread.  */
-  if (pdtv.pointer == TLS_DTV_UNALLOCATED)
+  if (pdtv.pointer.val == TLS_DTV_UNALLOCATED)
     return TD_TLSDEFER;
 
-  *base = (char *) pdtv.pointer;
+  *base = (char *) pdtv.pointer.val;
 
   return TD_OK;
 #else

-- 
 Andreas Jaeger, aj@suse.de, http://www.suse.de/~aj
  SUSE Linux Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
   GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 188 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-hacker/attachments/20050109/f36cfee3/attachment.sig>


More information about the Libc-hacker mailing list