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.
+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
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? */
+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.
__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;
}
}