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.
