This file describes changes to the nptl_db/ subdirectory prior to 2014-03-03. Later nptl_db/ changes go into the top-level ChangeLog file, not here. 2014-02-26 Joseph Myers * Makefile: Include Makeconfig immediately after defining subdir. 2014-02-21 Joseph Myers * Makefile ($(objpfx)db-symbols.out): Use $(evaluate-test). 2013-05-31 Joseph Myers * Makefile ($(objpfx)libthread_db.so): Remove dependencies on libc. 2013-05-16 Ryan S. Arnold * db_info.c: Add missing #include due to uint64_t or uint32_t usage. * fetch-value.c: Likewise. * td_ta_clear_event.c: Likewise. * td_ta_set_event.c: Likewise. * td_ta_tsd_iter.c: Likewise. * td_thr_clear_event.c: Likewise. * td_thr_get_info.c: Likewise. * td_thr_set_event.c: Likewise. * td_thr_tsd.c: Likewise. 2013-01-02 Joseph Myers * All files with FSF copyright notices: Update copyright dates using scripts/update-copyrights. 2013-01-01 Joseph Myers * td_ta_thr_iter.c: Reformat copyright notice. * td_thr_validate.c: Likewise. 2012-11-23 Mike Frysinger * Makefile ($(objpfx)db-symbols.out): Change readelf to $(READELF). 2012-10-08 Jonathan Nieder [BZ #14661] * Makefile ($(objpfx)db-symbols.out): Force C locale when running readelf -s. 2012-03-07 Ulrich Drepper * Makefile (distribute): Remove variable. 2011-09-15 Andreas Schwab * thread_dbP.h: Include 2009-08-23 Roland McGrath * td_ta_map_lwp2thr.c (__td_ta_lookup_th_unique): Move ta_ok check and LOG call back to ... (td_ta_map_lwp2thr): ... here. Reported by Maciej W. Rozycki . 2009-05-25 Aurelien Jarno [BZ #10200] * db-symbols.awk: Use the last field for the symbol name instead of the 8th one. 2009-03-19 Roland McGrath * td_symbol_list.c (DB_LOOKUP_NAME, DB_LOOKUP_NAME_TH_UNIQUE): Use STRINGIFY macro in place of #argument. 2009-02-27 Roland McGrath * td_symbol_list.c (symbol_list_arr): Move initializer guts to ... * db-symbols.h: ... here, new file. * db-symbols.awk: New file. * Makefile (distribute): Add them. ($(objpfx)db-symbols.out): New target. (tests): Depend on it. ($(objpfx)db-symbols.v.i): New dependent rule. 2009-02-06 Ulrich Drepper * td_thr_get_info.c (td_thr_get_info): Initialize schedpolicy in the special case [Coverity CID 251]. 2008-03-25 Roland McGrath [BZ #5983] * structs.def: Add pid field of struct pthread. * td_ta_thr_iter.c (iterate_thread_list): Take new arg MATCH_PID. If a thread's pid does not match nor is < 0 while its tid matches nor is < 0 and equal to -MATCH_PID, ignore it. * td_thr_validate.c (td_thr_validate): Validate thread's pid/tid. 2007-05-16 Roland McGrath * td_thr_get_info.c: Fake the results for TH->th_unique == 0. * td_thr_validate.c: Likewise. * td_thr_setgregs.c: Likewise. * td_thr_setfpregs.c: Likewise. * td_thr_getgregs.c: Likewise. * td_thr_getfpregs.c: Likewise. * td_thr_tlsbase.c: Likewise. * structs.def: Add DB_VARIABLE (__nptl_initial_report_events). * db_info.c: Add necessary declaration. * td_thr_event_enable.c: Set __nptl_initial_report_events too. * td_ta_thr_iter.c (iterate_thread_list): Make FAKE_EMPTY bool. Use th_unique=0 in fake descriptor before initialization. * td_ta_map_lwp2thr.c (__td_ta_lookup_th_unique): New function, broken out of ... (td_ta_map_lwp2thr): ... here, call it. But don't before __stack_user is initialized, then fake a handle with th_unique=0. * thread_dbP.h: Declare it. 2006-10-26 Pete Eberlein * nptl_db/db_info.c [TLS_DTV_AT_TP]: Fixed size init for dtvp to sizeof a pointer, instead of sizeof the union. 2006-10-27 Ulrich Drepper * structs.def: USE_TLS support is now default. 2006-02-03 Roland McGrath * structs.def: Add a descriptor for pointer.val field of dtv_t. * td_thr_tlsbase.c (td_thr_tlsbase): Extract pointer.val field from DTV slot. 2004-09-09 Roland McGrath * td_ta_map_lwp2thr.c (td_ta_map_lwp2thr): Don't abort if inferior's descriptor is bogus. 2004-05-27 Roland McGrath * 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 * thread_dbP.h (LOG): Use write instead of __libc_write. 2004-04-03 Ulrich Drepper * 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 * 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 * 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 * 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 * db_info.c (REGISTER): Add bit size of thread register as second parameter to REGISTER macro. 2003-12-02 Roland McGrath * 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 * td_thr_get_info.c (td_thr_get_info): Cast th_unique to thread_t. 2003-08-22 Roland McGrath * 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 * 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 * thread_dbP.h (td_lookup): Add attribute_hidden to decl. 2003-08-04 Roland McGrath * td_ta_clear_event.c (td_ta_clear_event): Fix sizes in ps_* calls. 2003-06-23 Roland McGrath * proc_service.h: Cosmetic and comment fixes. 2003-06-19 Roland McGrath * 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 * 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 * 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 * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Use `header.' prefix. 2003-03-10 Roland McGrath * 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 * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Handle TLS_DTV_AT_TP. 2003-02-15 Ulrich Drepper * td_symbol_list.c: New symbol name for SYM_PTHREAD_NTHREADS. 2003-01-07 Jakub Jelinek * td_ta_event_getmsg.c: Include assert.h. -2003-01-05 Ulrich Drepper * Makefile (libthread_db.so-no-z-defs): Define. 2003-01-03 Roland McGrath * 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 * 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 * 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 * 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 * 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 * 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.