1This file describes changes to the nptl_db/ subdirectory prior to 2014-03-03. 2Later nptl_db/ changes go into the top-level ChangeLog file, not here. 3 4 5 62014-02-26 Joseph Myers <joseph@codesourcery.com> 7 8 * Makefile: Include Makeconfig immediately after defining subdir. 9 102014-02-21 Joseph Myers <joseph@codesourcery.com> 11 12 * Makefile ($(objpfx)db-symbols.out): Use 13 $(evaluate-test). 14 152013-05-31 Joseph Myers <joseph@codesourcery.com> 16 17 * Makefile ($(objpfx)libthread_db.so): Remove dependencies on 18 libc. 19 202013-05-16 Ryan S. Arnold <rsa@linux.vnet.ibm.com> 21 22 * db_info.c: Add missing #include <stdint.h> due to uint64_t or 23 uint32_t usage. 24 * fetch-value.c: Likewise. 25 * td_ta_clear_event.c: Likewise. 26 * td_ta_set_event.c: Likewise. 27 * td_ta_tsd_iter.c: Likewise. 28 * td_thr_clear_event.c: Likewise. 29 * td_thr_get_info.c: Likewise. 30 * td_thr_set_event.c: Likewise. 31 * td_thr_tsd.c: Likewise. 32 332013-01-02 Joseph Myers <joseph@codesourcery.com> 34 35 * All files with FSF copyright notices: Update copyright dates 36 using scripts/update-copyrights. 37 382013-01-01 Joseph Myers <joseph@codesourcery.com> 39 40 * td_ta_thr_iter.c: Reformat copyright notice. 41 * td_thr_validate.c: Likewise. 42 432012-11-23 Mike Frysinger <vapier@gentoo.org> 44 45 * Makefile ($(objpfx)db-symbols.out): Change readelf to $(READELF). 46 472012-10-08 Jonathan Nieder <jrnieder@gmail.com> 48 49 [BZ #14661] 50 * Makefile ($(objpfx)db-symbols.out): Force C locale when running 51 readelf -s. 52 532012-03-07 Ulrich Drepper <drepper@gmail.com> 54 55 * Makefile (distribute): Remove variable. 56 572011-09-15 Andreas Schwab <schwab@redhat.com> 58 59 * thread_dbP.h: Include <list.h> 60 612009-08-23 Roland McGrath <roland@redhat.com> 62 63 * td_ta_map_lwp2thr.c (__td_ta_lookup_th_unique): Move ta_ok check 64 and LOG call back to ... 65 (td_ta_map_lwp2thr): ... here. 66 Reported by Maciej W. Rozycki <macro@codesourcery.com>. 67 682009-05-25 Aurelien Jarno <aurelien@aurel32.net> 69 70 [BZ #10200] 71 * db-symbols.awk: Use the last field for the symbol name instead 72 of the 8th one. 73 742009-03-19 Roland McGrath <roland@redhat.com> 75 76 * td_symbol_list.c (DB_LOOKUP_NAME, DB_LOOKUP_NAME_TH_UNIQUE): 77 Use STRINGIFY macro in place of #argument. 78 792009-02-27 Roland McGrath <roland@redhat.com> 80 81 * td_symbol_list.c (symbol_list_arr): Move initializer guts to ... 82 * db-symbols.h: ... here, new file. 83 * db-symbols.awk: New file. 84 * Makefile (distribute): Add them. 85 ($(objpfx)db-symbols.out): New target. 86 (tests): Depend on it. 87 ($(objpfx)db-symbols.v.i): New dependent rule. 88 892009-02-06 Ulrich Drepper <drepper@redhat.com> 90 91 * td_thr_get_info.c (td_thr_get_info): Initialize schedpolicy in 92 the special case [Coverity CID 251]. 93 942008-03-25 Roland McGrath <roland@redhat.com> 95 96 [BZ #5983] 97 * structs.def: Add pid field of struct pthread. 98 * td_ta_thr_iter.c (iterate_thread_list): Take new arg MATCH_PID. 99 If a thread's pid does not match nor is < 0 while its tid matches 100 nor is < 0 and equal to -MATCH_PID, ignore it. 101 * td_thr_validate.c (td_thr_validate): Validate thread's pid/tid. 102 1032007-05-16 Roland McGrath <roland@redhat.com> 104 105 * td_thr_get_info.c: Fake the results for TH->th_unique == 0. 106 * td_thr_validate.c: Likewise. 107 * td_thr_setgregs.c: Likewise. 108 * td_thr_setfpregs.c: Likewise. 109 * td_thr_getgregs.c: Likewise. 110 * td_thr_getfpregs.c: Likewise. 111 * td_thr_tlsbase.c: Likewise. 112 113 * structs.def: Add DB_VARIABLE (__nptl_initial_report_events). 114 * db_info.c: Add necessary declaration. 115 * td_thr_event_enable.c: Set __nptl_initial_report_events too. 116 117 * td_ta_thr_iter.c (iterate_thread_list): Make FAKE_EMPTY bool. 118 Use th_unique=0 in fake descriptor before initialization. 119 120 * td_ta_map_lwp2thr.c (__td_ta_lookup_th_unique): New function, broken 121 out of ... 122 (td_ta_map_lwp2thr): ... here, call it. But don't before __stack_user 123 is initialized, then fake a handle with th_unique=0. 124 * thread_dbP.h: Declare it. 125 1262006-10-26 Pete Eberlein <eberlein@us.ibm.com> 127 128 * nptl_db/db_info.c [TLS_DTV_AT_TP]: Fixed size init for dtvp 129 to sizeof a pointer, instead of sizeof the union. 130 1312006-10-27 Ulrich Drepper <drepper@redhat.com> 132 133 * structs.def: USE_TLS support is now default. 134 1352006-02-03 Roland McGrath <roland@redhat.com> 136 137 * structs.def: Add a descriptor for pointer.val field of dtv_t. 138 * td_thr_tlsbase.c (td_thr_tlsbase): Extract pointer.val field from 139 DTV slot. 140 1412004-09-09 Roland McGrath <roland@redhat.com> 142 143 * td_ta_map_lwp2thr.c (td_ta_map_lwp2thr): Don't abort if inferior's 144 descriptor is bogus. 145 1462004-05-27 Roland McGrath <roland@redhat.com> 147 148 * td_thr_validate.c: When we find no threads and the inferior appears 149 uninitialized, validate the main thread as a special case. 150 1512004-05-01 Jakub Jelinek <jakub@redhat.com> 152 153 * thread_dbP.h (LOG): Use write instead of __libc_write. 154 1552004-04-03 Ulrich Drepper <drepper@redhat.com> 156 157 * td_ta_set_event.c (td_ta_set_event): Initialize copy to avoid 158 warnings. 159 160 * td_ta_thr_iter.c (td_ta_thr_iter): Initialize list to avoid warning. 161 * td_ta_clear_event.c (td_ta_clear_event): Initialize eventmask to 162 avoid warning. 163 * td_ta_set_event.c (td_ta_set_event): Likewise. 164 1652004-03-24 Roland McGrath <roland@redhat.com> 166 167 * fetch-value.c (_td_locate_field): Cast DB_DESC_OFFSET to int32_t. 168 * thread_dbP.h (DB_DESC_OFFSET): Remove cast from definition. 169 1702004-03-13 Jakub Jelinek <jakub@redhat.com> 171 172 * db_info.c: Don't use TLS_TP_OFFSET in the #if, but 173 TLS_TCB_SIZE == 0 ?: in the DESC macro. 174 1752004-03-12 Roland McGrath <roland@redhat.com> 176 177 * db_info.c [TLS_DTV_AT_TP && TLS_TP_OFFSET > 0] 178 (_thread_db_pthread_dtvp): Define differently for this case (PowerPC). 179 1802003-12-11 Ulrich Weigand <uweigand@de.ibm.com> 181 182 * db_info.c (REGISTER): Add bit size of thread register as second 183 parameter to REGISTER macro. 184 1852003-12-02 Roland McGrath <roland@redhat.com> 186 187 * thread_dbP.h (DB_FUNCTION): New macro. 188 * structs.def: Use it for __nptl_create_event and __nptl_death_event. 189 * db_info.c (DB_FUNCTION): New macro. 190 * td_symbol_list.c (DB_FUNCTION): New macro, prepend "." to symbol 191 name under [HAVE_ASM_GLOBAL_DOT_NAME]. 192 (td_lookup) [HAVE_ASM_GLOBAL_DOT_NAME]: If lookup fails with PS_NOSYM 193 and name starts with a dot, try it without the dot. 194 1952003-09-08 Roland McGrath <roland@redhat.com> 196 197 * td_thr_get_info.c (td_thr_get_info): Cast th_unique to thread_t. 198 1992003-08-22 Roland McGrath <roland@redhat.com> 200 201 * fetch-value.c (_td_check_sizeof, _td_locate_field): Return 202 TD_NOCAPAB for PS_NOSYM, instead of vanilla TD_ERR. 203 * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Return TD_NOAPLIC when 204 DB_GET_FIELD returns TD_NOCAPAB. 205 206 * thread_db.h (td_thr_tls_get_addr): Use psaddr_t in signature. 207 * structs.def [USE_TLS]: Add DB_STRUCT_FIELD (link_map, l_tls_modid). 208 * db_info.c (link_map): Typedef it. 209 * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Rewritten. 210 2112003-08-14 Roland McGrath <roland@redhat.com> 212 213 * thread_dbP.h: Mostly rewritten with many new macros and decls. 214 * td_ta_new.c (td_ta_new): Don't cache a lot of symbol values. 215 * structs.def: New file. 216 * db_info.c: New file. 217 * td_symbol_list.c (symbol_list_arr): Define with structs.def macros. 218 * td_ta_clear_event.c: Rewritten. 219 * td_ta_event_addr.c: Rewritten. 220 * td_ta_event_getmsg.c: Rewritten. 221 * td_ta_get_nthreads.c: Rewritten. 222 * td_ta_map_lwp2thr.c: New file. 223 * td_ta_set_event.c: Rewritten. 224 * td_ta_thr_iter.c: Rewritten. 225 * td_ta_tsd_iter.c: Rewritten. 226 * td_thr_clear_event.c: Rewritten. 227 * td_thr_event_enable.c: Rewritten. 228 * td_thr_event_getmsg.c: Rewritten. 229 * td_thr_get_info.c: Rewritten. 230 * td_thr_getfpregs.c: Rewritten. 231 * td_thr_getgregs.c: Rewritten. 232 * td_thr_set_event.c: Rewritten. 233 * td_thr_setfpregs.c: Rewritten. 234 * td_thr_setgregs.c: Rewritten. 235 * td_thr_tlsbase.c: Rewritten. 236 * td_thr_tsd.c: Rewritten. 237 * td_thr_validate.c: Rewritten. 238 * Makefile (distribute): Add them. 239 * fetch-value.c: New file. 240 * Makefile (libthread_db-routines): Add it. 241 242 * thread_db.h (td_err_e): Comment fix. 243 2442003-08-05 Roland McGrath <roland@redhat.com> 245 246 * thread_dbP.h (td_lookup): Add attribute_hidden to decl. 247 2482003-08-04 Roland McGrath <roland@redhat.com> 249 250 * td_ta_clear_event.c (td_ta_clear_event): Fix sizes in ps_* calls. 251 2522003-06-23 Roland McGrath <roland@redhat.com> 253 254 * proc_service.h: Cosmetic and comment fixes. 255 2562003-06-19 Roland McGrath <roland@redhat.com> 257 258 * td_thr_event_enable.c (td_thr_event_enable): Use proper type `bool' 259 for value written into inferior's `report_events'. 260 2612003-03-18 Roland McGrath <roland@redhat.com> 262 263 * td_thr_event_getmsg.c (td_thr_event_getmsg): Splice the thread out 264 of the ->nextevent linkage. 265 266 * td_ta_event_getmsg.c (td_ta_event_getmsg): Runtime error instead of 267 assert for reading TD_EVENT_NONE. Clear the event buffer after 268 reading it. Add a sanity check for foo->nextevent = foo. 269 2702003-03-15 Roland McGrath <roland@redhat.com> 271 272 * thread_db.h (td_err_e): Add TD_NOTLS and TD_TLSDEFER. 273 (td_thr_tlsbase): Declare it. 274 * td_thr_tlsbase.c: New file. 275 * Makefile (libthread_db-routines): Add it. 276 * Versions (libthread_db: GLIBC_2.3.3): New set, add td_thr_tlsbase. 277 * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Use td_thr_tlsbase. 278 2792003-03-14 Roland McGrath <roland@redhat.com> 280 281 * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Use `header.' prefix. 282 2832003-03-10 Roland McGrath <roland@redhat.com> 284 285 * td_ta_thr_iter.c (iterate_thread_list): Don't use `header.data.' 286 prefix for `struct pthread' members. 287 * td_thr_validate.c (check_thread_list): Likewise. 288 * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Likewise. 289 2902003-03-03 Roland McGrath <roland@redhat.com> 291 292 * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Handle TLS_DTV_AT_TP. 293 2942003-02-15 Ulrich Drepper <drepper@redhat.com> 295 296 * td_symbol_list.c: New symbol name for SYM_PTHREAD_NTHREADS. 297 2982003-01-07 Jakub Jelinek <jakub@redhat.com> 299 300 * td_ta_event_getmsg.c: Include assert.h. 301 302-2003-01-05 Ulrich Drepper <drepper@redhat.com> 303 304 * Makefile (libthread_db.so-no-z-defs): Define. 305 3062003-01-03 Roland McGrath <roland@redhat.com> 307 308 * td_thr_setgregs.c (td_thr_setgregs): *_BIT -> *_BITMASK 309 * td_thr_setfpregs.c (td_thr_setfpregs): Likewise. 310 * td_thr_get_info.c (td_thr_get_info): Likewise. 311 * td_thr_getgregs.c (td_thr_getgregs): Likewise. 312 * td_thr_getfpregs.c (td_thr_getfpregs): Likewise. 313 * td_ta_thr_iter.c (iterate_thread_list): Likewise. 314 3152002-12-12 Roland McGrath <roland@redhat.com> 316 317 * td_ta_thr_iter.c (iterate_thread_list): Handle special case of 318 uninitialized __stack_user (zeros), hard-wire just the main thread. 319 320 * td_thr_get_info.c (td_thr_get_info): Fix ti_lid initialization. 321 3222002-12-06 Roland McGrath <roland@redhat.com> 323 324 * td_ta_event_getmsg.c (td_ta_event_getmsg): Write the NEXT pointer 325 into the inferior's __pthread_last_event variable, not a word from 326 an inferior address used in the parent. Pass the address of a 327 null word to ps_pdwrite, not a null pointer. 328 3292002-12-04 Roland McGrath <roland@redhat.com> 330 331 * td_thr_get_info.c (td_thr_get_info): ti_tid is pthread_t, not a PID. 332 333 * thread_db.h (td_thrinfo_t): Comment fix. 334 335 * td_ta_map_lwp2thr.c: Moved to ../nptl/sysdeps/i386/. 336 3372002-12-04 Ulrich Drepper <drepper@redhat.com> 338 339 * td_ta_thr_iter.c (iterate_thread_list): At end of iteration read 340 pointer to the next element from inferior. 341 3422002-12-02 Roland McGrath <roland@redhat.com> 343 344 * td_symbol_list.c (symbol_list_arr): pthread_keys -> __pthread_keys 345 346 * td_ta_map_lwp2thr.c (td_ta_map_lwp2thr): Fetch inferior registers to 347 see its %gs value, not our own. 348