2004-09-09 Roland McGrath <roland@redhat.com> * td_ta_map_lwp2thr.c (td_ta_map_lwp2thr): Don't abort if inferior's descriptor is bogus. 2004-05-27 Roland McGrath <roland@redhat.com> * td_thr_validate.c: When we find no threads and the inferior appears uninitialized, validate the main thread as a special case. 2004-05-01 Jakub Jelinek <jakub@redhat.com> * thread_dbP.h (LOG): Use write instead of __libc_write. 2004-04-03 Ulrich Drepper <drepper@redhat.com> * td_ta_set_event.c (td_ta_set_event): Initialize copy to avoid warnings. * td_ta_thr_iter.c (td_ta_thr_iter): Initialize list to avoid warning. * td_ta_clear_event.c (td_ta_clear_event): Initialize eventmask to avoid warning. * td_ta_set_event.c (td_ta_set_event): Likewise. 2004-03-24 Roland McGrath <roland@redhat.com> * fetch-value.c (_td_locate_field): Cast DB_DESC_OFFSET to int32_t. * thread_dbP.h (DB_DESC_OFFSET): Remove cast from definition. 2004-03-13 Jakub Jelinek <jakub@redhat.com> * db_info.c: Don't use TLS_TP_OFFSET in the #if, but TLS_TCB_SIZE == 0 ?: in the DESC macro. 2004-03-12 Roland McGrath <roland@redhat.com> * db_info.c [TLS_DTV_AT_TP && TLS_TP_OFFSET > 0] (_thread_db_pthread_dtvp): Define differently for this case (PowerPC). 2003-12-11 Ulrich Weigand <uweigand@de.ibm.com> * db_info.c (REGISTER): Add bit size of thread register as second parameter to REGISTER macro. 2003-12-02 Roland McGrath <roland@redhat.com> * thread_dbP.h (DB_FUNCTION): New macro. * structs.def: Use it for __nptl_create_event and __nptl_death_event. * db_info.c (DB_FUNCTION): New macro. * td_symbol_list.c (DB_FUNCTION): New macro, prepend "." to symbol name under [HAVE_ASM_GLOBAL_DOT_NAME]. (td_lookup) [HAVE_ASM_GLOBAL_DOT_NAME]: If lookup fails with PS_NOSYM and name starts with a dot, try it without the dot. 2003-09-08 Roland McGrath <roland@redhat.com> * td_thr_get_info.c (td_thr_get_info): Cast th_unique to thread_t. 2003-08-22 Roland McGrath <roland@redhat.com> * fetch-value.c (_td_check_sizeof, _td_locate_field): Return TD_NOCAPAB for PS_NOSYM, instead of vanilla TD_ERR. * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Return TD_NOAPLIC when DB_GET_FIELD returns TD_NOCAPAB. * thread_db.h (td_thr_tls_get_addr): Use psaddr_t in signature. * structs.def [USE_TLS]: Add DB_STRUCT_FIELD (link_map, l_tls_modid). * db_info.c (link_map): Typedef it. * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Rewritten. 2003-08-14 Roland McGrath <roland@redhat.com> * thread_dbP.h: Mostly rewritten with many new macros and decls. * td_ta_new.c (td_ta_new): Don't cache a lot of symbol values. * structs.def: New file. * db_info.c: New file. * td_symbol_list.c (symbol_list_arr): Define with structs.def macros. * td_ta_clear_event.c: Rewritten. * td_ta_event_addr.c: Rewritten. * td_ta_event_getmsg.c: Rewritten. * td_ta_get_nthreads.c: Rewritten. * td_ta_map_lwp2thr.c: New file. * td_ta_set_event.c: Rewritten. * td_ta_thr_iter.c: Rewritten. * td_ta_tsd_iter.c: Rewritten. * td_thr_clear_event.c: Rewritten. * td_thr_event_enable.c: Rewritten. * td_thr_event_getmsg.c: Rewritten. * td_thr_get_info.c: Rewritten. * td_thr_getfpregs.c: Rewritten. * td_thr_getgregs.c: Rewritten. * td_thr_set_event.c: Rewritten. * td_thr_setfpregs.c: Rewritten. * td_thr_setgregs.c: Rewritten. * td_thr_tlsbase.c: Rewritten. * td_thr_tsd.c: Rewritten. * td_thr_validate.c: Rewritten. * Makefile (distribute): Add them. * fetch-value.c: New file. * Makefile (libthread_db-routines): Add it. * thread_db.h (td_err_e): Comment fix. 2003-08-05 Roland McGrath <roland@redhat.com> * thread_dbP.h (td_lookup): Add attribute_hidden to decl. 2003-08-04 Roland McGrath <roland@redhat.com> * td_ta_clear_event.c (td_ta_clear_event): Fix sizes in ps_* calls. 2003-06-23 Roland McGrath <roland@redhat.com> * proc_service.h: Cosmetic and comment fixes. 2003-06-19 Roland McGrath <roland@redhat.com> * td_thr_event_enable.c (td_thr_event_enable): Use proper type `bool' for value written into inferior's `report_events'. 2003-03-18 Roland McGrath <roland@redhat.com> * td_thr_event_getmsg.c (td_thr_event_getmsg): Splice the thread out of the ->nextevent linkage. * td_ta_event_getmsg.c (td_ta_event_getmsg): Runtime error instead of assert for reading TD_EVENT_NONE. Clear the event buffer after reading it. Add a sanity check for foo->nextevent = foo. 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-03-14 Roland McGrath <roland@redhat.com> * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Use `header.' prefix. 2003-03-10 Roland McGrath <roland@redhat.com> * td_ta_thr_iter.c (iterate_thread_list): Don't use `header.data.' prefix for `struct pthread' members. * td_thr_validate.c (check_thread_list): Likewise. * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Likewise. 2003-03-03 Roland McGrath <roland@redhat.com> * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Handle TLS_DTV_AT_TP. 2003-02-15 Ulrich Drepper <drepper@redhat.com> * td_symbol_list.c: New symbol name for SYM_PTHREAD_NTHREADS. 2003-01-07 Jakub Jelinek <jakub@redhat.com> * td_ta_event_getmsg.c: Include assert.h. -2003-01-05 Ulrich Drepper <drepper@redhat.com> * Makefile (libthread_db.so-no-z-defs): Define. 2003-01-03 Roland McGrath <roland@redhat.com> * td_thr_setgregs.c (td_thr_setgregs): *_BIT -> *_BITMASK * td_thr_setfpregs.c (td_thr_setfpregs): Likewise. * td_thr_get_info.c (td_thr_get_info): Likewise. * td_thr_getgregs.c (td_thr_getgregs): Likewise. * td_thr_getfpregs.c (td_thr_getfpregs): Likewise. * td_ta_thr_iter.c (iterate_thread_list): Likewise. 2002-12-12 Roland McGrath <roland@redhat.com> * td_ta_thr_iter.c (iterate_thread_list): Handle special case of uninitialized __stack_user (zeros), hard-wire just the main thread. * td_thr_get_info.c (td_thr_get_info): Fix ti_lid initialization. 2002-12-06 Roland McGrath <roland@redhat.com> * td_ta_event_getmsg.c (td_ta_event_getmsg): Write the NEXT pointer into the inferior's __pthread_last_event variable, not a word from an inferior address used in the parent. Pass the address of a null word to ps_pdwrite, not a null pointer. 2002-12-04 Roland McGrath <roland@redhat.com> * td_thr_get_info.c (td_thr_get_info): ti_tid is pthread_t, not a PID. * thread_db.h (td_thrinfo_t): Comment fix. * td_ta_map_lwp2thr.c: Moved to ../nptl/sysdeps/i386/. 2002-12-04 Ulrich Drepper <drepper@redhat.com> * td_ta_thr_iter.c (iterate_thread_list): At end of iteration read pointer to the next element from inferior. 2002-12-02 Roland McGrath <roland@redhat.com> * td_symbol_list.c (symbol_list_arr): pthread_keys -> __pthread_keys * td_ta_map_lwp2thr.c (td_ta_map_lwp2thr): Fetch inferior registers to see its %gs value, not our own.