about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--linuxthreads_db/ChangeLog5
-rw-r--r--linuxthreads_db/td_thr_tls_get_addr.c20
-rw-r--r--localedata/ChangeLog6
-rw-r--r--localedata/tst-ctype.c2
-rw-r--r--localedata/tst-xlocale1.c2
-rw-r--r--localedata/tst-xlocale2.c2
-rw-r--r--sysdeps/mach/hurd/Versions7
8 files changed, 33 insertions, 15 deletions
diff --git a/ChangeLog b/ChangeLog
index 4cd7184c28..fe0f90cc60 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2002-09-24  Roland McGrath  <roland@redhat.com>
 
+	* sysdeps/mach/hurd/Versions (ld: GLIBC_2.0): Move __libc_read,
+	__libc_write, __libc_lseek64, to ...
+	(ld: GLIBC_PRIVATE): ... here.
+
 	* csu/Versions: Use %include <tls.h> to get USE_TLS defined.
 	(libc: GLIBC_2.0) [USE_TLS && HAVE___THREAD]: Remove _errno, errno.
 	(libc: GLIBC_2.3) [USE_TLS && HAVE___THREAD]: Put errno here instead.
diff --git a/linuxthreads_db/ChangeLog b/linuxthreads_db/ChangeLog
index ce40ce75f1..5005fac77a 100644
--- a/linuxthreads_db/ChangeLog
+++ b/linuxthreads_db/ChangeLog
@@ -1,3 +1,8 @@
+2002-09-24  Roland McGrath  <roland@redhat.com>
+
+	* td_thr_tls_get_addr.c (td_thr_tls_get_addr): Fetch just the
+	individual members we need, not the whole structures.
+
 2002-09-24  Ulrich Drepper  <drepper@redhat.com>
 
 	* td_thr_tls_get_addr.c (td_thr_tls_get_addr): Change second
diff --git a/linuxthreads_db/td_thr_tls_get_addr.c b/linuxthreads_db/td_thr_tls_get_addr.c
index cfe821f707..2808e8380e 100644
--- a/linuxthreads_db/td_thr_tls_get_addr.c
+++ b/linuxthreads_db/td_thr_tls_get_addr.c
@@ -33,25 +33,25 @@ td_thr_tls_get_addr (const td_thrhandle_t *th __attribute__ ((unused)),
 		     void **address __attribute__ ((unused)))
 {
 #if USE_TLS
-  struct _pthread_descr_struct pds;
   size_t modid;
-  struct link_map map;
-  union dtv pdtv;
+  union dtv pdtv, *dtvp;
 
   LOG ("td_thr_tls_get_addr");
 
-  /* Get the thread descriptor.  */
-  if (ps_pdread (th->th_ta_p->ph, th->th_unique, &pds,
-		 th->th_ta_p->sizeof_descr) != PS_OK)
+  /* Get the DTV pointer from the thread descriptor.  */
+  if (ps_pdread (th->th_ta_p->ph,
+		 &((struct _pthread_descr_struct *) th->th_unique)->dtv,
+		 &dtvp, sizeof dtvp) != PS_OK)
     return TD_ERR;	/* XXX Other error value?  */
 
-  /* Get the link_map, so we gan get the module ID.  */
-  if (ps_pdread (th->th_ta_p->ph, map_address, &map,
-		 sizeof (struct link_map)) != PS_OK)
+  /* Read the module ID from the link_map.  */
+  if (ps_pdread (th->th_ta_p->ph,
+		 &((struct link_map *) map_address)->l_tls_modid,
+		 &modid, sizeof modid) != PS_OK)
     return TD_ERR;	/* XXX Other error value?  */
 
   /* Get the corresponding entry in the DTV.  */
-  if (ps_pdread (th->th_ta_p->ph, pds.p_header.data.dtvp + map.l_tls_modid,
+  if (ps_pdread (th->th_ta_p->ph, dtvp + modid,
 		 &pdtv, sizeof (union dtv)) != PS_OK)
     return TD_ERR;	/* XXX Other error value?  */
 
diff --git a/localedata/ChangeLog b/localedata/ChangeLog
index 1d12af4510..bed3cef764 100644
--- a/localedata/ChangeLog
+++ b/localedata/ChangeLog
@@ -1,3 +1,9 @@
+2002-09-23  Roland McGrath  <roland@redhat.com>
+
+	* tst-xlocale1.c (main): int -> size_t for counter.
+	* tst-xlocale2.c (do_test): Likewise.
+	* tst-ctype.c (main): Likewise.
+
 2002-09-22  Bruno Haible  <bruno@clisp.org>
 
 	* charmaps/TSCII: New file.
diff --git a/localedata/tst-ctype.c b/localedata/tst-ctype.c
index b6f615ced6..fb2e78cbb2 100644
--- a/localedata/tst-ctype.c
+++ b/localedata/tst-ctype.c
@@ -72,7 +72,7 @@ main (void)
   size_t inplinelen = 0;
   char *resline = NULL;
   size_t reslinelen = 0;
-  int n;
+  size_t n;
   const unsigned short int *__ctype_b;
 
   setlocale (LC_ALL, "");
diff --git a/localedata/tst-xlocale1.c b/localedata/tst-xlocale1.c
index 6dcbccefdf..297c9ad7e1 100644
--- a/localedata/tst-xlocale1.c
+++ b/localedata/tst-xlocale1.c
@@ -23,7 +23,7 @@ static struct
 int
 main (void)
 {
-  int cnt;
+  size_t cnt;
   int result = 0;
   locale_t loc = newlocale (1 << LC_ALL, "C", NULL);
 
diff --git a/localedata/tst-xlocale2.c b/localedata/tst-xlocale2.c
index 8d73d340ce..30d87de72b 100644
--- a/localedata/tst-xlocale2.c
+++ b/localedata/tst-xlocale2.c
@@ -46,7 +46,7 @@ static int
 do_test (locale_t l)
 {
   int result = 0;
-  int n;
+size_t n;
 
 #define DO_TEST(TEST, RES) \
   for (n = 0; n < sizeof (str) - 1; ++n)				      \
diff --git a/sysdeps/mach/hurd/Versions b/sysdeps/mach/hurd/Versions
index 53904b1465..a05003b82d 100644
--- a/sysdeps/mach/hurd/Versions
+++ b/sysdeps/mach/hurd/Versions
@@ -16,12 +16,15 @@ ld {
     __hurd_threadvar_stack_mask;  __hurd_threadvar_stack_offset;
 
     # functions that must be shared with libc
-    __close; __fxstat64; __getcwd; __getpid; __libc_read; __libc_write;
-    __libc_lseek64; __mmap; __open; __xstat64; __fxstat64;
+    __close; __getcwd; __getpid;
+    __mmap; __open; __xstat64; __fxstat64;
     _exit; _hurd_intr_rpc_mach_msg;
     abort;
   }
   GLIBC_PRIVATE {
     _dl_init_first;
+
+    # functions that must be shared with libc
+    __libc_read; __libc_write; __libc_lseek64;
   }
 }