glibc/linuxthreads_db/ChangeLog
Roland McGrath bfeafbf7f0 * thread_db.h (td_err_e): Add TD_NOTLS and TD_TLSDEFER.
(td_thr_tlsbase): Declare it.
	* td_thr_tlsbase.c: New file.
	* Makefile (libthread_db-routines): Add it.
	* Versions (libthread_db: GLIBC_2.3.3): New set, add td_thr_tlsbase.
	* td_thr_tls_get_addr.c (td_thr_tls_get_addr): Use td_thr_tlsbase.
2003-03-15 23:55:47 +00:00

423 lines
14 KiB
Plaintext

2003-03-15 Roland McGrath <roland@redhat.com>
* thread_db.h (td_err_e): Add TD_NOTLS and TD_TLSDEFER.
(td_thr_tlsbase): Declare it.
* td_thr_tlsbase.c: New file.
* Makefile (libthread_db-routines): Add it.
* Versions (libthread_db: GLIBC_2.3.3): New set, add td_thr_tlsbase.
* td_thr_tls_get_addr.c (td_thr_tls_get_addr): Use td_thr_tlsbase.
2003-02-27 Roland McGrath <roland@redhat.com>
* td_thr_tls_get_addr.c (td_thr_tls_get_addr): Handle TLS_DTV_AT_TP.
* td_ta_thr_iter.c (handle_descr) [!defined USE_TLS || !TLS_DTV_AT_TP]:
Conditionalize p_header use on this.
2003-01-29 Roland McGrath <roland@redhat.com>
* td_ta_new.c (td_ta_new): Cap the `sizeof_descr' value read from the
inferior at `sizeof (struct _pthread_descr_struct)', since we use it
as a length in copies to our own structures.
2003-01-05 Ulrich Drepper <drepper@redhat.com>
* Makefile (libthread_db.so-no-z-defs): Define.
2002-09-29 Ulrich Drepper <drepper@redhat.com>
* td_thr_tsd.c (td_thr_tsd): Read correct entry from pthread_keys
array.
2002-09-28 Andreas Jaeger <aj@suse.de>
* td_thr_tls_get_addr.c (td_thr_tls_get_addr): Fix reference to dtv.
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
parameter to be the address of the link map in the inferior process.
* thread_db.h: Update prototype for td_thr_tls_get_addr.
2002-08-23 Ulrich Drepper <drepper@redhat.com>
* thread_dbP.h: Define LINUXTHREADS_VERSION.
* td_symbol_list.c (symbol_list_arr): Add LINUXTHREADS_VERSION string.
* td_ta_new.c (td_ta_new): After verifying the thread library is
there check version.
* thread_db.h: Add new error TD_VERSION.
2002-08-21 Roland McGrath <roland@redhat.com>
* td_thr_tls_get_addr.c (td_thr_tls_get_addr): __attribute_used__ ->
__attribute__ ((unused)) for arguments.
2002-08-07 Ulrich Drepper <drepper@redhat.com>
* thread_dbP.h: Define LINUXTHREADS_INITIAL_REPORT_EVENTS.
* td_thr_event_enable.c (td_thr_event_enable): If th->th_unique is
null write to __linuxthreads_initial_report_events.
* td_symbol_list.c (symbol_list_arr): Add
__linuxthreads_initial_report_events.
2002-07-16 Ulrich Drepper <drepper@redhat.com>
* td_thr_clear_event.c: Yet more changes to help with TLS-enabled
libpthread.
* td_thr_event_enable.c: Likewise.
* td_thr_event_getmsg.c: Likewise.
* td_thr_set_event.c: Likewise.
* td_thr_setfpregs.c: Likewise.
* td_thr_setgregs.c: Likewise.
* td_thr_tsd.c: Likewise.
* td_thr_validate.c: Likewise.
2002-07-15 Ulrich Drepper <drepper@redhat.com>
* td_ta_thr_iter.c: Some more changes to enable using TLS-enabled
libpthread.
* td_thr_event_enable.c: Likewise.
* td_thr_getfpregs.c: Likewise.
* td_thr_getgregs.c: Likewise.
2002-07-14 Ulrich Drepper <drepper@redhat.com>
* td_ta_map_id2thr.c: Begin fixing implementation for libpthread with
TLS support.
* td_ta_map_lwp2thr.c: Likewise.
* td_ta_thr_iter.c: Likewise.
* td_thr_get_info.c: Likewise.
2002-07-10 Ulrich Drepper <drepper@redhat.com>
* Versions [libthread_db] (GLIBC_2.3): Add td_thr_tls_get_addr.
2002-06-14 H.J. Lu <hjl@gnu.org>
* td_thr_tls_get_addr.c (td_thr_tls_get_addr): Don't include
"tls.h". Return TD_ERR if USE_TLS is not defined.
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.
2002-02-04 Ulrich Drepper <drepper@redhat.com>
* thread_dbP.h: Include descr.h instead of internals.h.
* td_ta_event_getmsg.c: Also include <linuxthreads/internals.h>.
* td_ta_map_id2thr.c: Likewise.
* td_ta_map_lwp2thr.c: Likewise.
* td_ta_thr_iter.c: Likewise.
* td_ta_tsd_iter.c: Likewise.
* td_thr_tsd.c: Likewise.
* td_thr_validate.c: Likewise.
2001-12-28 Andreas Jaeger <aj@suse.de>
* td_init.c (td_init): Don't use __FUNCTION__ as literal.
* td_log.c (td_log): Likewise.
* td_ta_delete.c (td_ta_delete): Likewise.
* td_ta_get_nthreads.c (td_ta_get_nthreads): Likewise.
* td_ta_get_ph.c (td_ta_get_ph): Likewise.
* td_ta_map_id2thr.c (td_ta_map_id2thr): Likewise.
* td_ta_map_lwp2thr.c (td_ta_map_lwp2thr): Likewise.
* td_ta_new.c (td_ta_new): Likewise.
* td_ta_clear_event.c (td_ta_clear_event): Likewise.
* td_ta_enable_stats.c (td_ta_enable_stats): Likewise.
* td_ta_event_addr.c (td_ta_event_addr): Likewise.
* td_ta_event_getmsg.c (td_ta_event_getmsg): Likewise.
* td_ta_get_stats.c (td_ta_get_stats): Likewise.
* td_ta_reset_stats.c (td_ta_reset_stats): Likewise.
* td_ta_set_event.c (td_ta_set_event): Likewise.
* td_ta_setconcurrency.c (td_ta_setconcurrency): Likewise.
* td_ta_thr_iter.c (td_ta_thr_iter): Likewise.
* td_ta_tsd_iter.c (td_ta_tsd_iter): Likewise.
* td_thr_clear_event.c (td_thr_clear_event): Likewise.
* td_thr_dbresume.c (td_thr_dbresume): Likewise.
* td_thr_dbsuspend.c (td_thr_dbsuspend): Likewise.
* td_thr_event_enable.c (td_thr_event_enable): Likewise.
* td_thr_event_getmsg.c (td_thr_event_getmsg): Likewise.
* td_thr_get_info.c (td_thr_get_info): Likewise.
* td_thr_getfpregs.c (td_thr_getfpregs): Likewise.
* td_thr_getgregs.c (td_thr_getgregs): Likewise.
* td_thr_getxregs.c (td_thr_getxregs): Likewise.
* td_thr_getxregsize.c (td_thr_getxregsize): Likewise.
* td_thr_set_event.c (td_thr_set_event): Likewise.
* td_thr_setfpregs.c (td_thr_setfpregs): Likewise.
* td_thr_setgregs.c (td_thr_setgregs): Likewise.
* td_thr_setprio.c (td_thr_setprio): Likewise.
* td_thr_setsigpending.c (td_thr_setsigpending): Likewise.
* td_thr_setxregs.c (td_thr_setxregs): Likewise.
* td_thr_sigsetmask.c (td_thr_sigsetmask): Likewise.
* td_thr_tsd.c (td_thr_tsd): Likewise.
* td_thr_validate.c (td_thr_validate): Likewise.
2001-04-12 Ulrich Drepper <drepper@redhat.com>
* td_ta_map_id2thr.c: If thread terminated return TD_NOTHR.
* td_thr_validate.c: Likewise.
2001-04-04 Ulrich Drepper <drepper@redhat.com>
* td_thr_getfpregs.c: If p_pid is zero use ps_getpid().
* td_thr_getgregs.c: Likewise.
* td_thr_setfpregs.c: Likewise.
* td_thr_setgregs.c: Likewise.
2001-03-20 Ulrich Drepper <drepper@redhat.com>
* Makefile (libthread_db-routines): Add td_symbol_list.
* Versions [libthread_db] (GLIBC_2.2.3): Add td_symbol_list.
* td_symbol_list.c: New file.
* thread_db.h: Add prototype for td_symbol_list.
* thread_dbP.h: Define symbol name indices.
Add prototype for td_lookup.
* td_ta_event_addr.c: Use td_lookup instead of directly using
ps_pglobal_lookup to find symbol address.
* td_ta_get_nthreads.c: Likewise.
* td_ta_new.c: Likewise.
2001-03-18 Ulrich Drepper <drepper@redhat.com>
* Makefile: When generating DSO link with libc_nonshared.a.
2000-08-01 Andreas Jaeger <aj@suse.de>
* Makefile (distribute): Add missing files.
2000-04-24 Mark Kettenis <kettenis@gnu.org>
* td_thr_get_info.c (td_thr_get_info): Set ti_state to
TD_THR_ACTIVE instead of TD_THR_RUN. If the thread is no longer
running but is still joinable, set it to TD_THR_ZOMBIE. Otherwise
set it to TD_THR_UNKNOWN.
2000-02-25 Andreas Jaeger <aj@suse.de>
* td_ta_thr_iter.c: Include <alloca.h> for prototype declaration.
* td_ta_tsd_iter.c: Likewise.
2000-01-20 Andreas Jaeger <aj@suse.de>
* td_thr_getgregs.c (td_thr_getgregs): Fix typo.
2000-01-19 Ulrich Drepper <drepper@cygnus.com>
* td_thr_getgregs.c: Correct size parameter of memset call.
1999-12-02 Ulrich Drepper <drepper@cygnus.com>
* proc_service.h: Fix typos in last added declaractions.
1999-12-01 Ulrich Drepper <drepper@cygnus.com>
* proc_service.h: Add ps_pstop, ps_pcontinue, ps_lstop, and
ps_lcontinue prototypes.
1999-11-23 Ulrich Drepper <drepper@cygnus.com>
* Makefile: Correct dependency for shared object.
1999-11-22 Ulrich Drepper <drepper@cygnus.com>
* td_ta_map_lwp2thr.c: Add missing brace in comparison.
* thread_dbP.h (LOG): Only print message if __td_debug is nonzero.
* td_init.c: Add __td_debug.
1999-11-12 Ulrich Drepper <drepper@cygnus.com>
* td_ta_thr_iter.c: Start copying list of descriptors from right
position in target process.
* td_ta_thr_iter.c: Fix loop starting point over all but main and
manager thread.
* td_ta_thr_iter.c: Read descriptors for main and manager thread
special since after this we can assume that no new threads will be
created anymore (at least in the gdb implementation).
* Makefile: Define version correctly.
1999-11-10 Ulrich Drepper <drepper@cygnus.com>
* td_ta_map_lwp2thr.c: If p_pid field is zero, this is before the
thread library is initialized and we get the PID from the
debugger.
1999-11-08 Ulrich Drepper <drepper@cygnus.com>
* td_thr_get_info.c: Make sure ti_lid is never zero.
* proc_service.h: Add ps_getpid prototype.
1999-11-03 Ulrich Drepper <drepper@cygnus.com>
* thread_dbP.h (ta_ok): New function.
* td_ta_new.c: Add new handle to list.
* td_ta_delete.c: Remove handle from list.
* td_ta_clear_event.c: Use ta_ok to check for correct ta parameter.
* td_ta_enable_stats.c: Likewise.
* td_ta_event_addr.c: Likewise.
* td_ta_event_getmsg.c: Likewise.
* td_ta_get_nthreads.c: Likewise.
* td_ta_get_ph.c: Likewise.
* td_ta_get_stats.c: Likewise.
* td_ta_map_id2thr.c: Likewise.
* td_ta_map_lwp2thr.c: Likewise.
* td_ta_reset_stats.c: Likewise.
* td_ta_set_event.c: Likewise.
* td_ta_setconcurrency.c: Likewise.
* td_ta_thr_iter.c: Likewise.
* td_ta_tsd_iter.c: Optimize memory retrieving.
* Versions: New file.
* td_thr_get_info.c (td_thr_get_info): Initialize ti_traceme.
1999-11-02 Ulrich Drepper <drepper@cygnus.com>
* td_ta_thr_iter.c (td_ta_thr_iter): Optimize a bit. Read all
handles at once.
* thread_dbP.h (struct th_thragent): Add pthread_handle_num.
* td_ta_new.c: Initialize pthread_handle_num.
* td_ta_event_getmsg.c: If last event was already reported search
for another unreported event.
* td_thr_get_info.c (td_thr_get_info): Initialize ti_events.
* Makefile (libthread_db-routines): Add td_ta_set_event,
td_ta_event_getmsg, and td_ta_clear_event.
* td_ta_clear_event.c: New file.
* td_ta_event_getmsg.c: New file.
* td_ta_new.c: Get address of __pthread_last_event in target.
* td_ta_set_event.c: Don't overwrite old mask, set additional bits.
* td_thr_set_event.c: Likewise.
* td_thr_clear_event.c: Implement.
* thread_db.h: Declare td_ta_clear_event and td_ta_event_getmsg.
* thread_dbP.h (struct td_thragent): Add pthread_last_event.
* td_ta_new.c: Don't test for __pthread_threads_debug. Get address
of __pthread_threads_events and fail if this is not possible.
* td_ta_event_addr.c: Implement.
* td_thr_event_enable.c: Implement.
* td_thr_event_getmsg.c: Implement.
* td_thr_set_event.c: Implement.
* td_ta_set_event.c: New file.
* thread_db.h (td_eventbuf_t): Define.
Declare td_ta_set_event.
* thread_dbP.h (struct td_thragent): Add pthread_threads_eventsp.
* td_thr_getfpregs.c: For terminated threads return empty structure.
* td_thr_getgregs.c: Likewise.
* td_thr_setfpregs.c: Likewise.
* td_thr_setgregs.c: Likewise.
1999-11-01 Ulrich Drepper <drepper@cygnus.com>
* thread_db.h: Shuffle types around to make things work for gdb.
* thread_dbP.h: Include proc_service.h before thread_db.h.
* thread_db.h: It's TD_NOLIBTHREAD, not TD_LIBTHREAD.
* td_ta_new.c: Likewise.
1999-10-14 Ulrich Drepper <drepper@cygnus.com>
* td_ta_new.c: p_startfct does not exist anymore.
* td_thr_get_info.c: Always initialize start function.
* td_ta_thr_iter.c: Don't return threads which exited (but are not
joined).
* td_thr_validate.c: Don't skip manager thread.
1999-10-13 Ulrich Drepper <drepper@cygnus.com>
* td_ta_thr_iter.c: Use size of descriptor from *TA.
Don't return manager thread before it's actually running.
Actually use state parameter to distingusih at least a few states.
* td_thr_get_info.c: Handle manager thread special. Fill in ti_lid,
ti_state, and ti_startfunc fields.
1999-10-12 Andreas Jaeger <aj@suse.de>
* thread_dbP.h: Include <string.h> for strlen declaration. Remove
__libc_write prototype since this is already declared in
linuxthreads/internals.h.
1999-10-11 Ulrich Drepper <drepper@cygnus.com>
* thread_db.h: Fix comment for ti_type.
* td_thr_get_info.c: Initialize ti_type field.
* td_ta_thr_iter.c: Also report the manager thread.
1999-10-08 Andreas Jaeger <aj@suse.de>
* thread_db.h: Fix typos in comments.
* td_ta_get_nthreads.c (td_ta_get_nthreads): Don't hardcode
libpthread library name, get it from <gnu/lib-names.h> instead.
* td_ta_new.c (td_ta_new): Likewise.
1999-10-08 Ulrich Drepper <drepper@cygnus.com>
* shlib-versions: New file.
1999-10-07 Ulrich Drepper <drepper@cygnus.com>
* Makefile: New file.
* proc_service.h: New file.
* td_init.c: New file.
* td_log.c: New file.
* td_ta_delete.c: New file.
* td_ta_enable_stats.c: New file.
* td_ta_event_addr.c: New file.
* td_ta_get_nthreads.c: New file.
* td_ta_get_ph.c: New file.
* td_ta_get_stats.c: New file.
* td_ta_map_id2thr.c: New file.
* td_ta_map_lwp2thr.c: New file.
* td_ta_new.c: New file.
* td_ta_reset_stats.c: New file.
* td_ta_setconcurrency.c: New file.
* td_ta_thr_iter.c: New file.
* td_ta_tsd_iter.c: New file.
* td_thr_clear_event.c: New file.
* td_thr_dbresume.c: New file.
* td_thr_dbsuspend.c: New file.
* td_thr_event_enable.c: New file.
* td_thr_event_getmsg.c: New file.
* td_thr_get_info.c: New file.
* td_thr_getfpregs.c: New file.
* td_thr_getgregs.c: New file.
* td_thr_getxregs.c: New file.
* td_thr_getxregsize.c: New file.
* td_thr_set_event.c: New file.
* td_thr_setfpregs.c: New file.
* td_thr_setgregs.c: New file.
* td_thr_setprio.c: New file.
* td_thr_setsigpending.c: New file.
* td_thr_setxregs.c: New file.
* td_thr_sigsetmask.c: New file.
* td_thr_tsd.c: New file.
* td_thr_validate.c: New file.
* thread_db.h: New file.
* thread_dbP.h: New file.