Update.
authorUlrich Drepper <drepper@redhat.com>
Wed, 12 Jun 2002 21:02:37 +0000 (21:02 +0000)
committerUlrich Drepper <drepper@redhat.com>
Wed, 12 Jun 2002 21:02:37 +0000 (21:02 +0000)
linuxthreads_db/ChangeLog
linuxthreads_db/Makefile
linuxthreads_db/thread_db.h

index d02ceec..e252427 100644 (file)
@@ -1,3 +1,9 @@
+2002-06-12  Ulrich Drepper  <drepper@redhat.com>
+
+       * td_thr_tls_get_addr.c: New file.
+       * thread_db.h: Add prototype for td_thr_tls_get_addr.
+       * Makefile (libthread_db-routines): Add td_thr_tls_get_addr.
+
 2002-03-03  Andreas Jaeger  <aj@suse.de>
 
        * thread_dbP.h: Include <unistd.h> for prototypes of __libc_write.
index 8e56774..30eba9f 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2001, 2002 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
@@ -39,7 +39,7 @@ libthread_db-routines = td_init td_log td_ta_delete td_ta_get_nthreads      \
                        td_thr_event_enable td_thr_set_event                \
                        td_thr_clear_event td_thr_event_getmsg              \
                        td_ta_set_event td_ta_event_getmsg                  \
-                       td_ta_clear_event td_symbol_list
+                       td_ta_clear_event td_symbol_list td_thr_tls_get_addr
 
 libthread_db-inhibit-o = $(filter-out .os,$(object-suffixes))
 
index b192d1f..65cdb84 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2001, 2002 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
@@ -51,7 +51,8 @@ typedef enum
   TD_NOTSD,      /* No thread-specific data available.  */
   TD_MALLOC,     /* Out of memory.  */
   TD_PARTIALREG,  /* Not entire register set was read or written.  */
-  TD_NOXREGS     /* X register set not available for given thread.  */
+  TD_NOXREGS,    /* X register set not available for given thread.  */
+  TD_NOTALLOC    /* TLS memory not yet allocated.  */
 } td_err_e;
 
 
@@ -92,6 +93,10 @@ typedef struct td_thrhandle
 } td_thrhandle_t;
 
 
+/* Forward declaration of a type defined by and for the dynamic linker.  */
+struct link_map;
+
+
 /* Flags for `td_ta_thr_iter'.  */
 #define TD_THR_ANY_USER_FLAGS  0xffffffff
 #define TD_THR_LOWEST_PRIORITY -20
@@ -344,7 +349,7 @@ extern td_err_e td_ta_clear_event (const td_thragent_t *__ta,
 
 /* Return information about last event.  */
 extern td_err_e td_ta_event_getmsg (const td_thragent_t *__ta,
-                                   td_event_msg_t *msg);
+                                   td_event_msg_t *__msg);
 
 
 /* Set suggested concurrency level for process associated with TA.  */
@@ -396,6 +401,12 @@ extern td_err_e td_thr_setxregs (const td_thrhandle_t *__th,
                                 const void *__addr);
 
 
+/* Get address of thread local variable.  */
+extern td_err_e td_thr_tls_get_addr (const td_thrhandle_t *__th,
+                                    struct link_map *__map, size_t __offset,
+                                    void **__address);
+
+
 /* Enable reporting for EVENT for thread TH.  */
 extern td_err_e td_thr_event_enable (const td_thrhandle_t *__th, int __event);