From 0ecb606cb6cf65de1d9fc8a919bceb4be476c602 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Thu, 12 Jul 2007 18:26:36 +0000 Subject: 2.5-18.1 --- linuxthreads_db/Banner | 1 - linuxthreads_db/ChangeLog | 447 -------------------------------- linuxthreads_db/Makefile | 57 ---- linuxthreads_db/Versions | 24 -- linuxthreads_db/proc_service.h | 70 ----- linuxthreads_db/shlib-versions | 2 - linuxthreads_db/td_init.c | 32 --- linuxthreads_db/td_log.c | 32 --- linuxthreads_db/td_symbol_list.c | 62 ----- linuxthreads_db/td_ta_clear_event.c | 53 ---- linuxthreads_db/td_ta_delete.c | 58 ----- linuxthreads_db/td_ta_enable_stats.c | 35 --- linuxthreads_db/td_ta_event_addr.c | 73 ------ linuxthreads_db/td_ta_event_getmsg.c | 129 --------- linuxthreads_db/td_ta_get_nthreads.c | 42 --- linuxthreads_db/td_ta_get_ph.c | 36 --- linuxthreads_db/td_ta_get_stats.c | 35 --- linuxthreads_db/td_ta_map_id2thr.c | 79 ------ linuxthreads_db/td_ta_map_lwp2thr.c | 91 ------- linuxthreads_db/td_ta_new.c | 150 ----------- linuxthreads_db/td_ta_reset_stats.c | 35 --- linuxthreads_db/td_ta_set_event.c | 53 ---- linuxthreads_db/td_ta_setconcurrency.c | 35 --- linuxthreads_db/td_ta_thr_iter.c | 176 ------------- linuxthreads_db/td_ta_tsd_iter.c | 56 ---- linuxthreads_db/td_thr_clear_event.c | 62 ----- linuxthreads_db/td_thr_dbresume.c | 30 --- linuxthreads_db/td_thr_dbsuspend.c | 30 --- linuxthreads_db/td_thr_event_enable.c | 57 ---- linuxthreads_db/td_thr_event_getmsg.c | 65 ----- linuxthreads_db/td_thr_get_info.c | 83 ------ linuxthreads_db/td_thr_getfpregs.c | 58 ----- linuxthreads_db/td_thr_getgregs.c | 58 ----- linuxthreads_db/td_thr_getxregs.c | 30 --- linuxthreads_db/td_thr_getxregsize.c | 30 --- linuxthreads_db/td_thr_set_event.c | 62 ----- linuxthreads_db/td_thr_setfpregs.c | 47 ---- linuxthreads_db/td_thr_setgregs.c | 47 ---- linuxthreads_db/td_thr_setprio.c | 30 --- linuxthreads_db/td_thr_setsigpending.c | 31 --- linuxthreads_db/td_thr_setxregs.c | 30 --- linuxthreads_db/td_thr_sigsetmask.c | 30 --- linuxthreads_db/td_thr_tls_get_addr.c | 45 ---- linuxthreads_db/td_thr_tlsbase.c | 71 ----- linuxthreads_db/td_thr_tsd.c | 82 ------ linuxthreads_db/td_thr_validate.c | 70 ----- linuxthreads_db/thread_db.h | 459 --------------------------------- linuxthreads_db/thread_dbP.h | 108 -------- 48 files changed, 3478 deletions(-) delete mode 100644 linuxthreads_db/Banner delete mode 100644 linuxthreads_db/ChangeLog delete mode 100644 linuxthreads_db/Makefile delete mode 100644 linuxthreads_db/Versions delete mode 100644 linuxthreads_db/proc_service.h delete mode 100644 linuxthreads_db/shlib-versions delete mode 100644 linuxthreads_db/td_init.c delete mode 100644 linuxthreads_db/td_log.c delete mode 100644 linuxthreads_db/td_symbol_list.c delete mode 100644 linuxthreads_db/td_ta_clear_event.c delete mode 100644 linuxthreads_db/td_ta_delete.c delete mode 100644 linuxthreads_db/td_ta_enable_stats.c delete mode 100644 linuxthreads_db/td_ta_event_addr.c delete mode 100644 linuxthreads_db/td_ta_event_getmsg.c delete mode 100644 linuxthreads_db/td_ta_get_nthreads.c delete mode 100644 linuxthreads_db/td_ta_get_ph.c delete mode 100644 linuxthreads_db/td_ta_get_stats.c delete mode 100644 linuxthreads_db/td_ta_map_id2thr.c delete mode 100644 linuxthreads_db/td_ta_map_lwp2thr.c delete mode 100644 linuxthreads_db/td_ta_new.c delete mode 100644 linuxthreads_db/td_ta_reset_stats.c delete mode 100644 linuxthreads_db/td_ta_set_event.c delete mode 100644 linuxthreads_db/td_ta_setconcurrency.c delete mode 100644 linuxthreads_db/td_ta_thr_iter.c delete mode 100644 linuxthreads_db/td_ta_tsd_iter.c delete mode 100644 linuxthreads_db/td_thr_clear_event.c delete mode 100644 linuxthreads_db/td_thr_dbresume.c delete mode 100644 linuxthreads_db/td_thr_dbsuspend.c delete mode 100644 linuxthreads_db/td_thr_event_enable.c delete mode 100644 linuxthreads_db/td_thr_event_getmsg.c delete mode 100644 linuxthreads_db/td_thr_get_info.c delete mode 100644 linuxthreads_db/td_thr_getfpregs.c delete mode 100644 linuxthreads_db/td_thr_getgregs.c delete mode 100644 linuxthreads_db/td_thr_getxregs.c delete mode 100644 linuxthreads_db/td_thr_getxregsize.c delete mode 100644 linuxthreads_db/td_thr_set_event.c delete mode 100644 linuxthreads_db/td_thr_setfpregs.c delete mode 100644 linuxthreads_db/td_thr_setgregs.c delete mode 100644 linuxthreads_db/td_thr_setprio.c delete mode 100644 linuxthreads_db/td_thr_setsigpending.c delete mode 100644 linuxthreads_db/td_thr_setxregs.c delete mode 100644 linuxthreads_db/td_thr_sigsetmask.c delete mode 100644 linuxthreads_db/td_thr_tls_get_addr.c delete mode 100644 linuxthreads_db/td_thr_tlsbase.c delete mode 100644 linuxthreads_db/td_thr_tsd.c delete mode 100644 linuxthreads_db/td_thr_validate.c delete mode 100644 linuxthreads_db/thread_db.h delete mode 100644 linuxthreads_db/thread_dbP.h (limited to 'linuxthreads_db') diff --git a/linuxthreads_db/Banner b/linuxthreads_db/Banner deleted file mode 100644 index 6f4f3f8189..0000000000 --- a/linuxthreads_db/Banner +++ /dev/null @@ -1 +0,0 @@ -libthread_db work sponsored by Alpha Processor Inc diff --git a/linuxthreads_db/ChangeLog b/linuxthreads_db/ChangeLog deleted file mode 100644 index 338bf8207f..0000000000 --- a/linuxthreads_db/ChangeLog +++ /dev/null @@ -1,447 +0,0 @@ -2004-05-01 Jakub Jelinek - - * thread_dbP.h (LOG): Use write instead of __libc_write. - -2004-03-13 Jakub Jelinek - - * td_thr_tlsbase.c: Remove dl-tls.h include. Don't use - TLS_TP_OFFSET in the #if, but TLS_TCB_SIZE == 0 ?:. - -2004-03-12 Roland McGrath - - * td_thr_tlsbase.c [TLS_DTV_AT_TP && TLS_TP_OFFSET > 0]: Handle this - case (PowerPC) differently. - -2003-11-25 Roland McGrath - - * td_symbol_list.c (symbol_list_arr) [HAVE_ASM_GLOBAL_DOT_NAME]: - Prepend "." to symbol names for functions. - -2003-08-18 Daniel Jacobowitz - - * td_thr_getfpregs.c (td_thr_getfpregs): Use the main thread if - the descriptor is uninitialized. - * td_thr_getgregs.c (td_thr_getgregs): Likewise. - -2003-03-15 Roland McGrath - - * 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 - - * 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 - - * 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 - - * Makefile (libthread_db.so-no-z-defs): Define. - -2002-09-29 Ulrich Drepper - - * td_thr_tsd.c (td_thr_tsd): Read correct entry from pthread_keys - array. - -2002-09-28 Andreas Jaeger - - * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Fix reference to dtv. - -2002-09-24 Roland McGrath - - * 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 - - * 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 - - * 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 - - * td_thr_tls_get_addr.c (td_thr_tls_get_addr): __attribute_used__ -> - __attribute__ ((unused)) for arguments. - -2002-08-07 Ulrich Drepper - - * 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 - - * 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 - - * 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 - - * 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 - - * Versions [libthread_db] (GLIBC_2.3): Add td_thr_tls_get_addr. - -2002-06-14 H.J. Lu - - * 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 - - * 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 - - * thread_dbP.h: Include for prototypes of __libc_write. - -2002-02-04 Ulrich Drepper - - * thread_dbP.h: Include descr.h instead of internals.h. - * td_ta_event_getmsg.c: Also include . - * 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 - - * 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 - - * td_ta_map_id2thr.c: If thread terminated return TD_NOTHR. - * td_thr_validate.c: Likewise. - -2001-04-04 Ulrich Drepper - - * 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 - - * 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 - - * Makefile: When generating DSO link with libc_nonshared.a. - -2000-08-01 Andreas Jaeger - - * Makefile (distribute): Add missing files. - -2000-04-24 Mark Kettenis - - * 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 - - * td_ta_thr_iter.c: Include for prototype declaration. - * td_ta_tsd_iter.c: Likewise. - -2000-01-20 Andreas Jaeger - - * td_thr_getgregs.c (td_thr_getgregs): Fix typo. - -2000-01-19 Ulrich Drepper - - * td_thr_getgregs.c: Correct size parameter of memset call. - -1999-12-02 Ulrich Drepper - - * proc_service.h: Fix typos in last added declaractions. - -1999-12-01 Ulrich Drepper - - * proc_service.h: Add ps_pstop, ps_pcontinue, ps_lstop, and - ps_lcontinue prototypes. - -1999-11-23 Ulrich Drepper - - * Makefile: Correct dependency for shared object. - -1999-11-22 Ulrich Drepper - - * 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 - - * 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 - - * 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 - - * td_thr_get_info.c: Make sure ti_lid is never zero. - - * proc_service.h: Add ps_getpid prototype. - -1999-11-03 Ulrich Drepper - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * thread_dbP.h: Include for strlen declaration. Remove - __libc_write prototype since this is already declared in - linuxthreads/internals.h. - -1999-10-11 Ulrich Drepper - - * 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 - - * 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 instead. - * td_ta_new.c (td_ta_new): Likewise. - -1999-10-08 Ulrich Drepper - - * shlib-versions: New file. - -1999-10-07 Ulrich Drepper - - * 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. diff --git a/linuxthreads_db/Makefile b/linuxthreads_db/Makefile deleted file mode 100644 index 53e46f7758..0000000000 --- a/linuxthreads_db/Makefile +++ /dev/null @@ -1,57 +0,0 @@ -# Copyright (C) 1999, 2000, 2001, 2002, 2003 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 -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. - -# The GNU C Library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with the GNU C Library; if not, write to the Free -# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -# 02111-1307 USA. - -# Makefile for linuxthreads debug library subdirectory of GNU C Library. - -subdir := linuxthreads_db - -linuxthreads_db-version = 1.0 - -extra-libs = libthread_db -extra-libs-others := $(extra-libs) - -headers = thread_db.h -libthread_db-routines = td_init td_log td_ta_delete td_ta_get_nthreads \ - td_ta_get_ph td_ta_map_id2thr td_ta_map_lwp2thr \ - td_ta_new td_ta_thr_iter td_ta_tsd_iter \ - td_thr_get_info td_thr_getfpregs td_thr_getgregs \ - td_thr_getxregs td_thr_getxregsize td_thr_setfpregs \ - td_thr_setgregs td_thr_setprio td_thr_setsigpending \ - td_thr_setxregs td_thr_sigsetmask td_thr_tsd \ - td_thr_validate td_thr_dbsuspend td_thr_dbresume \ - td_ta_setconcurrency td_ta_enable_stats \ - td_ta_reset_stats td_ta_get_stats td_ta_event_addr \ - 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_thr_tlsbase td_thr_tls_get_addr - -libthread_db-inhibit-o = $(filter-out .os,$(object-suffixes)) - -# The ps_* callback functions are not defined. -libthread_db.so-no-z-defs = yes - -distribute = thread_dbP.h shlib-versions proc_service.h -include ../Rules - -# Depend on libc.so so a DT_NEEDED is generated in the shared objects. -# This ensures they will load libc.so for needed symbols if loaded by -# a statically-linked program that hasn't already loaded it. -$(objpfx)libthread_db.so: $(common-objpfx)libc.so \ - $(common-objpfx)libc_nonshared.a diff --git a/linuxthreads_db/Versions b/linuxthreads_db/Versions deleted file mode 100644 index 063493c676..0000000000 --- a/linuxthreads_db/Versions +++ /dev/null @@ -1,24 +0,0 @@ -libthread_db { - GLIBC_2.1.3 { - # t* - td_init; td_log; td_ta_clear_event; td_ta_delete; td_ta_enable_stats; - td_ta_event_addr; td_ta_event_getmsg; td_ta_get_nthreads; td_ta_get_ph; - td_ta_get_stats; td_ta_map_id2thr; td_ta_map_lwp2thr; td_ta_new; - td_ta_reset_stats; td_ta_set_event; td_ta_setconcurrency; - td_ta_thr_iter; td_ta_tsd_iter; td_thr_clear_event; td_thr_dbresume; - td_thr_dbsuspend; td_thr_event_enable; td_thr_event_getmsg; - td_thr_get_info; td_thr_getfpregs; td_thr_getgregs; td_thr_getxregs; - td_thr_getxregsize; td_thr_set_event; td_thr_setfpregs; td_thr_setgregs; - td_thr_setprio; td_thr_setsigpending; td_thr_setxregs; td_thr_sigsetmask; - td_thr_tsd; td_thr_validate; - } - GLIBC_2.2.3 { - td_symbol_list; - } - GLIBC_2.3 { - td_thr_tls_get_addr; - } - GLIBC_2.3.3 { - td_thr_tlsbase; - } -} diff --git a/linuxthreads_db/proc_service.h b/linuxthreads_db/proc_service.h deleted file mode 100644 index 74136c03e1..0000000000 --- a/linuxthreads_db/proc_service.h +++ /dev/null @@ -1,70 +0,0 @@ -/* Copyright (C) 1999 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* The definitions in this file must correspond to those in the debugger. */ -#include - -typedef enum -{ - PS_OK, /* generic "call succeeded" */ - PS_ERR, /* generic. */ - PS_BADPID, /* bad process handle */ - PS_BADLID, /* bad lwp identifier */ - PS_BADADDR, /* bad address */ - PS_NOSYM, /* p_lookup() could not find given symbol */ - PS_NOFREGS - /* - * FPU register set not available for given - * lwp - */ -} ps_err_e; - - -struct ps_prochandle; /* user defined. */ - - -extern ps_err_e ps_pdread(struct ps_prochandle *, - psaddr_t, void *, size_t); -extern ps_err_e ps_pdwrite(struct ps_prochandle *, - psaddr_t, const void *, size_t); -extern ps_err_e ps_ptread(struct ps_prochandle *, - psaddr_t, void *, size_t); -extern ps_err_e ps_ptwrite(struct ps_prochandle *, - psaddr_t, const void *, size_t); - -extern ps_err_e ps_pglobal_lookup(struct ps_prochandle *, - const char *object_name, const char *sym_name, psaddr_t *sym_addr); - - -extern ps_err_e ps_lgetregs(struct ps_prochandle *, - lwpid_t, prgregset_t); -extern ps_err_e ps_lsetregs(struct ps_prochandle *, - lwpid_t, const prgregset_t); -extern ps_err_e ps_lgetfpregs(struct ps_prochandle *, - lwpid_t, prfpregset_t *); -extern ps_err_e ps_lsetfpregs(struct ps_prochandle *, - lwpid_t, const prfpregset_t *); - -extern pid_t ps_getpid (struct ps_prochandle *); - - -extern ps_err_e ps_pstop (const struct ps_prochandle *); -extern ps_err_e ps_pcontinue (const struct ps_prochandle *); - -extern ps_err_e ps_lstop (const struct ps_prochandle *, lwpid_t); -extern ps_err_e ps_lcontinue (const struct ps_prochandle *, lwpid_t); diff --git a/linuxthreads_db/shlib-versions b/linuxthreads_db/shlib-versions deleted file mode 100644 index 592f7fa284..0000000000 --- a/linuxthreads_db/shlib-versions +++ /dev/null @@ -1,2 +0,0 @@ -# The thread debug library -.*-.*-linux.* libthread_db=1 diff --git a/linuxthreads_db/td_init.c b/linuxthreads_db/td_init.c deleted file mode 100644 index d714f1ba03..0000000000 --- a/linuxthreads_db/td_init.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Initialization function of thread debugger support library. - Copyright (C) 1999, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 1999. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include "thread_dbP.h" - -int __td_debug; - - -td_err_e -td_init (void) -{ - /* XXX We have to figure out what has to be done. */ - LOG ("td_init"); - return TD_OK; -} diff --git a/linuxthreads_db/td_log.c b/linuxthreads_db/td_log.c deleted file mode 100644 index 025273a634..0000000000 --- a/linuxthreads_db/td_log.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Noop, left for historical reasons. - Copyright (C) 1999, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 1999. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include "thread_dbP.h" - - -td_err_e -td_log (void) -{ - /* This interface is deprecated in the Sun interface. We provide it - for compatibility but don't do anything ourself. We might in - future do some logging if this seems reasonable. */ - LOG ("td_log"); - return TD_OK; -} diff --git a/linuxthreads_db/td_symbol_list.c b/linuxthreads_db/td_symbol_list.c deleted file mode 100644 index 2f7b2bd4d0..0000000000 --- a/linuxthreads_db/td_symbol_list.c +++ /dev/null @@ -1,62 +0,0 @@ -/* Return list of symbols the library can request. - Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 2001. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include "thread_dbP.h" - -#ifdef HAVE_ASM_GLOBAL_DOT_NAME -# define DOT "." /* PPC64 requires . prefix on code symbols. */ -#else -# define DOT /* No prefix. */ -#endif - -static const char *symbol_list_arr[] = -{ - [PTHREAD_THREADS_EVENTS] = "__pthread_threads_events", - [PTHREAD_LAST_EVENT] = "__pthread_last_event", - [PTHREAD_HANDLES_NUM] = "__pthread_handles_num", - [PTHREAD_HANDLES] = "__pthread_handles", - [PTHREAD_KEYS] = "pthread_keys", - [LINUXTHREADS_PTHREAD_THREADS_MAX] = "__linuxthreads_pthread_threads_max", - [LINUXTHREADS_PTHREAD_KEYS_MAX] = "__linuxthreads_pthread_keys_max", - [LINUXTHREADS_PTHREAD_SIZEOF_DESCR] = "__linuxthreads_pthread_sizeof_descr", - [LINUXTHREADS_CREATE_EVENT] = DOT "__linuxthreads_create_event", - [LINUXTHREADS_DEATH_EVENT] = DOT "__linuxthreads_death_event", - [LINUXTHREADS_REAP_EVENT] = DOT "__linuxthreads_reap_event", - [LINUXTHREADS_INITIAL_REPORT_EVENTS] = "__linuxthreads_initial_report_events", - [LINUXTHREADS_VERSION] = "__linuxthreads_version", - [NUM_MESSAGES] = NULL -}; - - -const char ** -td_symbol_list (void) -{ - return symbol_list_arr; -} - - -int -td_lookup (struct ps_prochandle *ps, int idx, psaddr_t *sym_addr) -{ - assert (idx >= 0 && idx < NUM_MESSAGES); - return ps_pglobal_lookup (ps, LIBPTHREAD_SO, symbol_list_arr[idx], sym_addr); -} diff --git a/linuxthreads_db/td_ta_clear_event.c b/linuxthreads_db/td_ta_clear_event.c deleted file mode 100644 index bdbcf47aac..0000000000 --- a/linuxthreads_db/td_ta_clear_event.c +++ /dev/null @@ -1,53 +0,0 @@ -/* Globally disable events. - Copyright (C) 1999, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 1999. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include "thread_dbP.h" - - -td_err_e -td_ta_clear_event (ta, event) - const td_thragent_t *ta; - td_thr_events_t *event; -{ - td_thr_events_t old_event; - int i; - - LOG ("td_ta_clear_event"); - - /* Test whether the TA parameter is ok. */ - if (! ta_ok (ta)) - return TD_BADTA; - - /* Write the new value into the thread data structure. */ - if (ps_pdread (ta->ph, ta->pthread_threads_eventsp, - &old_event, sizeof (td_thrhandle_t)) != PS_OK) - return TD_ERR; /* XXX Other error value? */ - - /* Remove the set bits in. */ - for (i = 0; i < TD_EVENTSIZE; ++i) - old_event.event_bits[i] &= ~event->event_bits[i]; - - /* Write the new value into the thread data structure. */ - if (ps_pdwrite (ta->ph, ta->pthread_threads_eventsp, - &old_event, sizeof (td_thrhandle_t)) != PS_OK) - return TD_ERR; /* XXX Other error value? */ - - return TD_OK; -} diff --git a/linuxthreads_db/td_ta_delete.c b/linuxthreads_db/td_ta_delete.c deleted file mode 100644 index 0e6ec17d01..0000000000 --- a/linuxthreads_db/td_ta_delete.c +++ /dev/null @@ -1,58 +0,0 @@ -/* Detach to target process. - Copyright (C) 1999, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 1999. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#include "thread_dbP.h" - - -td_err_e -td_ta_delete (td_thragent_t *ta) -{ - LOG ("td_ta_delete"); - - /* Safety check. */ - if (ta == NULL || __td_agent_list == NULL) - return TD_BADTA; - - /* Remove the handle from the list. */ - if (ta == __td_agent_list->ta) - /* It's the first element of the list. */ - __td_agent_list = __td_agent_list->next; - else - { - /* We have to search for it. */ - struct agent_list *runp = __td_agent_list; - - while (runp->next != NULL && runp->next->ta != ta) - runp = runp->next; - - if (runp->next == NULL) - /* It's not a valid decriptor since it is not in the list. */ - return TD_BADTA; - - runp->next = runp->next->next; - } - - /* The handle was allocated in `td_ta_new'. */ - free (ta); - - return TD_OK; -} diff --git a/linuxthreads_db/td_ta_enable_stats.c b/linuxthreads_db/td_ta_enable_stats.c deleted file mode 100644 index 1d4c34a8d7..0000000000 --- a/linuxthreads_db/td_ta_enable_stats.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Enable collection of statistics for process. - Copyright (C) 1999, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 1999. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include "thread_dbP.h" - - -td_err_e -td_ta_enable_stats (const td_thragent_t *ta, int enable) -{ - /* XXX We have to figure out what has to be done. */ - LOG ("td_ta_enable_stats"); - - /* Test whether the TA parameter is ok. */ - if (! ta_ok (ta)) - return TD_BADTA; - - return TD_OK; -} diff --git a/linuxthreads_db/td_ta_event_addr.c b/linuxthreads_db/td_ta_event_addr.c deleted file mode 100644 index 8bce35ae86..0000000000 --- a/linuxthreads_db/td_ta_event_addr.c +++ /dev/null @@ -1,73 +0,0 @@ -/* Get event address. - Copyright (C) 1999, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 1999. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include "thread_dbP.h" - - -td_err_e -td_ta_event_addr (const td_thragent_t *ta, td_event_e event, td_notify_t *addr) -{ - td_err_e res = TD_NOEVENT; - int idx = -1; - - LOG ("td_ta_event_addr"); - - /* Test whether the TA parameter is ok. */ - if (! ta_ok (ta)) - return TD_BADTA; - - switch (event) - { - case TD_CREATE: - idx = LINUXTHREADS_CREATE_EVENT; - break; - - case TD_DEATH: - idx = LINUXTHREADS_DEATH_EVENT; - break; - - case TD_REAP: - idx = LINUXTHREADS_REAP_EVENT; - break; - - default: - /* Event cannot be handled. */ - break; - } - - /* Now get the address. */ - if (idx != -1) - { - psaddr_t taddr; - - if (td_lookup (ta->ph, idx, &taddr) == PS_OK) - { - /* Success, we got the address. */ - addr->type = NOTIFY_BPT; - addr->u.bptaddr = taddr; - - res = TD_OK; - } - else - res = TD_ERR; - } - - return res; -} diff --git a/linuxthreads_db/td_ta_event_getmsg.c b/linuxthreads_db/td_ta_event_getmsg.c deleted file mode 100644 index c3a4492a12..0000000000 --- a/linuxthreads_db/td_ta_event_getmsg.c +++ /dev/null @@ -1,129 +0,0 @@ -/* Retrieve event. - Copyright (C) 1999, 2001, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 1999. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include - -#include "thread_dbP.h" -#include - - -td_err_e -td_ta_event_getmsg (const td_thragent_t *ta, td_event_msg_t *msg) -{ - /* XXX I cannot think of another way but using a static variable. */ - static td_thrhandle_t th; - td_eventbuf_t event; - psaddr_t addr; - - LOG ("td_ta_event_getmsg"); - - /* Test whether the TA parameter is ok. */ - if (! ta_ok (ta)) - return TD_BADTA; - - /* Get the pointer to the thread descriptor with the last event. */ - if (ps_pdread (ta->ph, ta->pthread_last_event, - &addr, sizeof (void *)) != PS_OK) - return TD_ERR; /* XXX Other error value? */ - - /* If the pointer is NULL no event occurred. */ - if (addr == 0) - return TD_NOMSG; - - /* Read the even structure from the target. */ - if (ps_pdread (ta->ph, - ((char *) addr - + offsetof (struct _pthread_descr_struct, p_eventbuf)), - &event, sizeof (td_eventbuf_t)) != PS_OK) - return TD_ERR; /* XXX Other error value? */ - - /* Check whether an event occurred. */ - if (event.eventnum == TD_EVENT_NONE) - { - /* Oh well, this means the last event was already read. So - we have to look for any other event. */ - struct pthread_handle_struct handles[ta->pthread_threads_max]; - int num; - int i; - - /* Read the number of currently active threads. */ - if (ps_pdread (ta->ph, ta->pthread_handles_num, &num, sizeof (int)) - != PS_OK) - return TD_ERR; /* XXX Other error value? */ - - /* Now read the handles. */ - if (ps_pdread (ta->ph, ta->handles, handles, - ta->pthread_threads_max * sizeof (handles[0])) != PS_OK) - return TD_ERR; /* XXX Other error value? */ - - for (i = 0; i < ta->pthread_threads_max && num > 0; ++i) - { - if (handles[i].h_descr == NULL) - /* No entry here. */ - continue; - - /* First count this active thread. */ - --num; - - if (handles[i].h_descr == addr) - /* We already handled this. */ - continue; - - /* Read the event data for this thread. */ - if (ps_pdread (ta->ph, - ((char *) handles[i].h_descr - + offsetof (struct _pthread_descr_struct, - p_eventbuf)), - &event, sizeof (td_eventbuf_t)) != PS_OK) - return TD_ERR; - - if (event.eventnum != TD_EVENT_NONE) - { - /* We found a thread with an unreported event. */ - addr = handles[i].h_descr; - break; - } - } - - /* If we haven't found any other event signal this to the user. */ - if (event.eventnum == TD_EVENT_NONE) - return TD_NOMSG; - } - - /* Generate the thread descriptor. */ - th.th_ta_p = (td_thragent_t *) ta; - th.th_unique = addr; - - /* Fill the user's data structure. */ - msg->event = event.eventnum; - msg->th_p = &th; - msg->msg.data = (uintptr_t) event.eventdata; - - /* And clear the event message in the target. */ - memset (&event, '\0', sizeof (td_eventbuf_t)); - if (ps_pdwrite (ta->ph, - ((char *) addr - + offsetof (struct _pthread_descr_struct, p_eventbuf)), - &event, sizeof (td_eventbuf_t)) != PS_OK) - return TD_ERR; /* XXX Other error value? */ - - return TD_OK; -} diff --git a/linuxthreads_db/td_ta_get_nthreads.c b/linuxthreads_db/td_ta_get_nthreads.c deleted file mode 100644 index 839b56be59..0000000000 --- a/linuxthreads_db/td_ta_get_nthreads.c +++ /dev/null @@ -1,42 +0,0 @@ -/* Get the number of threads in the process. - Copyright (C) 1999, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 1999. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include "thread_dbP.h" - -td_err_e -td_ta_get_nthreads (const td_thragent_t *ta, int *np) -{ - psaddr_t addr; - - LOG ("td_ta_get_nthreads"); - - /* Test whether the TA parameter is ok. */ - if (! ta_ok (ta)) - return TD_BADTA; - - /* Access the variable `__pthread_handles_num'. */ - if (td_lookup (ta->ph, PTHREAD_HANDLES_NUM, &addr) != PS_OK) - return TD_ERR; /* XXX Other error value? */ - - if (ps_pdread (ta->ph, addr, np, sizeof (int)) != PS_OK) - return TD_ERR; /* XXX Other error value? */ - - return TD_OK; -} diff --git a/linuxthreads_db/td_ta_get_ph.c b/linuxthreads_db/td_ta_get_ph.c deleted file mode 100644 index 23d3285084..0000000000 --- a/linuxthreads_db/td_ta_get_ph.c +++ /dev/null @@ -1,36 +0,0 @@ -/* Get external process handle. - Copyright (C) 1999, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 1999. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include "thread_dbP.h" - - -td_err_e -td_ta_get_ph (const td_thragent_t *ta, struct ps_prochandle **ph) -{ - LOG ("td_ta_get_ph"); - - /* Test whether the TA parameter is ok. */ - if (! ta_ok (ta)) - return TD_BADTA; - - *ph = ta->ph; - - return TD_OK; -} diff --git a/linuxthreads_db/td_ta_get_stats.c b/linuxthreads_db/td_ta_get_stats.c deleted file mode 100644 index 6bf2f53527..0000000000 --- a/linuxthreads_db/td_ta_get_stats.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Retrieve statistics for process. - Copyright (C) 1999, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 1999. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include "thread_dbP.h" - - -td_err_e -td_ta_get_stats (const td_thragent_t *ta, td_ta_stats_t *statsp) -{ - /* XXX We have to figure out what has to be done. */ - LOG ("td_ta_get_stats"); - - /* Test whether the TA parameter is ok. */ - if (! ta_ok (ta)) - return TD_BADTA; - - return TD_OK; -} diff --git a/linuxthreads_db/td_ta_map_id2thr.c b/linuxthreads_db/td_ta_map_id2thr.c deleted file mode 100644 index ddeb2d3c4a..0000000000 --- a/linuxthreads_db/td_ta_map_id2thr.c +++ /dev/null @@ -1,79 +0,0 @@ -/* Map thread ID to thread handle. - Copyright (C) 1999, 2001, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 1999. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include "thread_dbP.h" -#include - - -td_err_e -td_ta_map_id2thr (const td_thragent_t *ta, pthread_t pt, td_thrhandle_t *th) -{ - struct pthread_handle_struct phc; - struct _pthread_descr_struct pds; - int pthread_threads_max; - - LOG ("td_ta_map_id2thr"); - - /* Test whether the TA parameter is ok. */ - if (! ta_ok (ta)) - return TD_BADTA; - - /* Make the following expression a bit smaller. */ - pthread_threads_max = ta->pthread_threads_max; - - /* We can compute the entry in the handle array we want. */ - if (ps_pdread (ta->ph, ta->handles + pt % pthread_threads_max, &phc, - sizeof (struct pthread_handle_struct)) != PS_OK) - return TD_ERR; /* XXX Other error value? */ - - /* Test whether this entry is in use. */ - if (phc.h_descr == NULL) - { - if (pt % pthread_threads_max == 0) - { - /* The initial thread always exists but the thread library - might not yet be initialized. */ - th->th_ta_p = (td_thragent_t *) ta; - th->th_unique = NULL; - - return TD_OK; - } - - return TD_BADTH; - } - - /* Next test: get the descriptor to see whether this is not an old - thread handle. */ - if (ps_pdread (ta->ph, phc.h_descr, &pds, - sizeof (struct _pthread_descr_struct)) != PS_OK) - return TD_ERR; /* XXX Other error value? */ - - if (pds.p_tid != pt) - return TD_BADTH; - - if (pds.p_terminated != 0) - return TD_NOTHR; - - /* Create the `td_thrhandle_t' object. */ - th->th_ta_p = (td_thragent_t *) ta; - th->th_unique = phc.h_descr; - - return TD_OK; -} diff --git a/linuxthreads_db/td_ta_map_lwp2thr.c b/linuxthreads_db/td_ta_map_lwp2thr.c deleted file mode 100644 index dd2fcbfe4e..0000000000 --- a/linuxthreads_db/td_ta_map_lwp2thr.c +++ /dev/null @@ -1,91 +0,0 @@ -/* Which thread is running on an lwp? - Copyright (C) 1999, 2001, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 1999. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include "thread_dbP.h" -#include - - -td_err_e -td_ta_map_lwp2thr (const td_thragent_t *ta, lwpid_t lwpid, td_thrhandle_t *th) -{ - int pthread_threads_max = ta->pthread_threads_max; - size_t sizeof_descr = ta->sizeof_descr; - struct pthread_handle_struct phc[pthread_threads_max]; - size_t cnt; -#ifdef ALL_THREADS_STOPPED - int num; -#else -# define num 1 -#endif - - LOG ("td_ta_map_lwp2thr"); - - /* Test whether the TA parameter is ok. */ - if (! ta_ok (ta)) - return TD_BADTA; - - /* Read all the descriptors. */ - if (ps_pdread (ta->ph, ta->handles, phc, - sizeof (struct pthread_handle_struct) * pthread_threads_max) - != PS_OK) - return TD_ERR; /* XXX Other error value? */ - -#ifdef ALL_THREADS_STOPPED - /* Read the number of currently active threads. */ - if (ps_pdread (ta->ph, ta->pthread_handles_num, &num, sizeof (int)) != PS_OK) - return TD_ERR; /* XXX Other error value? */ -#endif - - /* Get the entries one after the other and find out whether the ID - matches. */ - for (cnt = 0; cnt < pthread_threads_max && num > 0; ++cnt) - if (phc[cnt].h_descr != NULL) - { - struct _pthread_descr_struct pds; - -#ifdef ALL_THREADS_STOPPED - /* First count this active thread. */ - --num; -#endif - - if (ps_pdread (ta->ph, phc[cnt].h_descr, &pds, sizeof_descr) != PS_OK) - return TD_ERR; /* XXX Other error value? */ - - if ((pds.p_pid ?: ps_getpid (ta->ph)) == lwpid) - { - /* Found it. Now fill in the `td_thrhandle_t' object. */ - th->th_ta_p = (td_thragent_t *) ta; - th->th_unique = phc[cnt].h_descr; - - return TD_OK; - } - } - else if (cnt == 0) - { - /* The initial thread always exists. But it might not yet be - initialized. Construct a value. */ - th->th_ta_p = (td_thragent_t *) ta; - th->th_unique = NULL; - - return TD_OK; - } - - return TD_NOLWP; -} diff --git a/linuxthreads_db/td_ta_new.c b/linuxthreads_db/td_ta_new.c deleted file mode 100644 index e93d8b4c50..0000000000 --- a/linuxthreads_db/td_ta_new.c +++ /dev/null @@ -1,150 +0,0 @@ -/* Attach to target process. - Copyright (C) 1999, 2001, 2002, 2003 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 1999. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include - -#include "thread_dbP.h" - - -/* Datatype for the list of known thread agents. Normally there will - be exactly one so we don't spend much though on making it fast. */ -struct agent_list *__td_agent_list; - - -td_err_e -td_ta_new (struct ps_prochandle *ps, td_thragent_t **ta) -{ - psaddr_t addr; - psaddr_t versaddr; - char versbuf[sizeof (VERSION)]; - struct agent_list *elemp; - - LOG ("td_ta_new"); - - /* Get the global event mask. This is one of the variables which - are new in the thread library to enable debugging. If it is - not available we cannot debug. */ - if (td_lookup (ps, PTHREAD_THREADS_EVENTS, &addr) != PS_OK) - return TD_NOLIBTHREAD; - - /* Check whether the versions match. */ - if (td_lookup (ps, LINUXTHREADS_VERSION, &versaddr) != PS_OK) - return TD_VERSION; - if (ps_pdread (ps, versaddr, versbuf, sizeof (versbuf)) != PS_OK) - return TD_ERR; - - versbuf[sizeof (versbuf) - 1] = '\0'; - if (strcmp (versbuf, VERSION) != 0) - /* Not the right version. */ - return TD_VERSION; - - /* Fill in the appropriate information. */ - *ta = (td_thragent_t *) malloc (sizeof (td_thragent_t)); - if (*ta == NULL) - return TD_MALLOC; - - /* Store the proc handle which we will pass to the callback functions - back into the debugger. */ - (*ta)->ph = ps; - - /* Remember the address. */ - (*ta)->pthread_threads_eventsp = (td_thr_events_t *) addr; - - /* Get the pointer to the variable pointing to the thread descriptor - with the last event. */ - if (td_lookup (ps, PTHREAD_LAST_EVENT, &(*ta)->pthread_last_event) != PS_OK) - { - free_return: - free (*ta); - return TD_ERR; - } - - /* Get the pointer to the variable containing the number of active - threads. */ - if (td_lookup (ps, PTHREAD_HANDLES_NUM, &(*ta)->pthread_handles_num) - != PS_OK) - goto free_return; - - /* See whether the library contains the necessary symbols. */ - if (td_lookup (ps, PTHREAD_HANDLES, &addr) != PS_OK) - goto free_return; - - (*ta)->handles = (struct pthread_handle_struct *) addr; - - - if (td_lookup (ps, PTHREAD_KEYS, &addr) != PS_OK) - goto free_return; - - /* Cast to the right type. */ - (*ta)->keys = (struct pthread_key_struct *) addr; - - /* Find out about the maximum number of threads. Old implementations - don't provide this information. In this case we assume that the - debug library is compiled with the same values. */ - if (td_lookup (ps, LINUXTHREADS_PTHREAD_THREADS_MAX, &addr) != PS_OK) - (*ta)->pthread_threads_max = PTHREAD_THREADS_MAX; - else - { - if (ps_pdread (ps, addr, &(*ta)->pthread_threads_max, sizeof (int)) - != PS_OK) - goto free_return; - } - - /* Similar for the maximum number of thread local data keys. */ - if (td_lookup (ps, LINUXTHREADS_PTHREAD_KEYS_MAX, &addr) != PS_OK) - (*ta)->pthread_keys_max = PTHREAD_KEYS_MAX; - else - { - if (ps_pdread (ps, addr, &(*ta)->pthread_keys_max, sizeof (int)) - != PS_OK) - goto free_return; - } - - /* And for the size of the second level arrays for the keys. */ - if (td_lookup (ps, LINUXTHREADS_PTHREAD_SIZEOF_DESCR, &addr) != PS_OK) - (*ta)->sizeof_descr = sizeof (struct _pthread_descr_struct); - else - { - if (ps_pdread (ps, addr, &(*ta)->sizeof_descr, sizeof (int)) != PS_OK) - goto free_return; - /* Don't let bogons in the inferior make us mess ourselves. */ - if ((*ta)->sizeof_descr > sizeof (struct _pthread_descr_struct)) - (*ta)->sizeof_descr = sizeof (struct _pthread_descr_struct); - } - - /* Now add the new agent descriptor to the list. */ - elemp = (struct agent_list *) malloc (sizeof (struct agent_list)); - if (elemp == NULL) - { - /* Argh, now that everything else worked... */ - free (*ta); - return TD_MALLOC; - } - - /* We don't care for thread-safety here. */ - elemp->ta = *ta; - elemp->next = __td_agent_list; - __td_agent_list = elemp; - - return TD_OK; -} diff --git a/linuxthreads_db/td_ta_reset_stats.c b/linuxthreads_db/td_ta_reset_stats.c deleted file mode 100644 index b3ddbd07b3..0000000000 --- a/linuxthreads_db/td_ta_reset_stats.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Reset statistics. - Copyright (C) 1999, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 1999. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include "thread_dbP.h" - - -td_err_e -td_ta_reset_stats (const td_thragent_t *ta) -{ - /* XXX We have to figure out what has to be done. */ - LOG ("td_ta_reset_stats"); - - /* Test whether the TA parameter is ok. */ - if (! ta_ok (ta)) - return TD_BADTA; - - return TD_OK; -} diff --git a/linuxthreads_db/td_ta_set_event.c b/linuxthreads_db/td_ta_set_event.c deleted file mode 100644 index 73cf9f4051..0000000000 --- a/linuxthreads_db/td_ta_set_event.c +++ /dev/null @@ -1,53 +0,0 @@ -/* Globally enable events. - Copyright (C) 1999, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 1999. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include "thread_dbP.h" - - -td_err_e -td_ta_set_event (ta, event) - const td_thragent_t *ta; - td_thr_events_t *event; -{ - td_thr_events_t old_event; - int i; - - LOG ("td_ta_set_event"); - - /* Test whether the TA parameter is ok. */ - if (! ta_ok (ta)) - return TD_BADTA; - - /* Write the new value into the thread data structure. */ - if (ps_pdread (ta->ph, ta->pthread_threads_eventsp, - &old_event, sizeof (td_thrhandle_t)) != PS_OK) - return TD_ERR; /* XXX Other error value? */ - - /* Or the new bits in. */ - for (i = 0; i < TD_EVENTSIZE; ++i) - old_event.event_bits[i] |= event->event_bits[i]; - - /* Write the new value into the thread data structure. */ - if (ps_pdwrite (ta->ph, ta->pthread_threads_eventsp, - &old_event, sizeof (td_thrhandle_t)) != PS_OK) - return TD_ERR; /* XXX Other error value? */ - - return TD_OK; -} diff --git a/linuxthreads_db/td_ta_setconcurrency.c b/linuxthreads_db/td_ta_setconcurrency.c deleted file mode 100644 index 408e763094..0000000000 --- a/linuxthreads_db/td_ta_setconcurrency.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Set suggested concurrency level for process. - Copyright (C) 1999, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 1999. - - The GNU C Library is fre