This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: TLS on GNU/Hurd (was Re: configure.in broken.)


   >    /* Fill in the DTV slot so that a later LD/GD access will find it.  */
   > -  THREAD_DTV ()[map->l_tls_modid].pointer = dest;
   > +  {
   > +    dtv_t *dtv = THREAD_DTV ();
   > +    dtv[map->l_tls_modid].pointer = dest;
   > +  }

   This is wrong.  All the error means is that the THREAD_DTV return value
   has the wrong type.

2004-09-03  Alfred M. Szmidt  <ams@kemisten.nu>

	* sysdeps/mach/hurd/i386/tls.h (THREAD_DTV): Changed type of _DTV
	to `dtv_t *'.

Index: sysdeps/mach/hurd/i386/tls.h
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/mach/hurd/i386/tls.h,v
retrieving revision 1.4
diff -u -r1.4 tls.h
--- sysdeps/mach/hurd/i386/tls.h	3 Sep 2004 00:28:13 -0000	1.4
+++ sysdeps/mach/hurd/i386/tls.h	3 Sep 2004 18:51:32 -0000
@@ -129,7 +129,7 @@
 
 /* Return the address of the dtv for the current thread.  */
 # define THREAD_DTV() 							      \
-  ({ void *_dtv;							      \
+  ({ dtv_t *_dtv;							      \
      asm ("movl %%gs:%P1,%0" : "=q" (_dtv) : "i" (offsetof (tcbhead_t, dtv)));\
      _dtv; })
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]