diff options
-rw-r--r-- | linuxthreads_db/ChangeLog | 6 | ||||
-rw-r--r-- | linuxthreads_db/Makefile | 4 | ||||
-rw-r--r-- | linuxthreads_db/thread_db.h | 17 |
3 files changed, 22 insertions, 5 deletions
diff --git a/linuxthreads_db/ChangeLog b/linuxthreads_db/ChangeLog index d02ceec2fa..e2524274ca 100644 --- a/linuxthreads_db/ChangeLog +++ b/linuxthreads_db/ChangeLog @@ -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. diff --git a/linuxthreads_db/Makefile b/linuxthreads_db/Makefile index 8e56774f9c..30eba9f042 100644 --- a/linuxthreads_db/Makefile +++ b/linuxthreads_db/Makefile @@ -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)) diff --git a/linuxthreads_db/thread_db.h b/linuxthreads_db/thread_db.h index b192d1f2e9..65cdb84886 100644 --- a/linuxthreads_db/thread_db.h +++ b/linuxthreads_db/thread_db.h @@ -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); |