1 2005-01-09 Andreas Jaeger <aj@suse.de>
3 * td_thr_tlsbase.c (td_thr_tlsbase): Adjust for dtv change.
5 2004-05-01 Jakub Jelinek <jakub@redhat.com>
7 * thread_dbP.h (LOG): Use write instead of __libc_write.
9 2004-03-13 Jakub Jelinek <jakub@redhat.com>
11 * td_thr_tlsbase.c: Remove dl-tls.h include. Don't use
12 TLS_TP_OFFSET in the #if, but TLS_TCB_SIZE == 0 ?:.
14 2004-03-12 Roland McGrath <roland@redhat.com>
16 * td_thr_tlsbase.c [TLS_DTV_AT_TP && TLS_TP_OFFSET > 0]: Handle this
17 case (PowerPC) differently.
19 2003-11-25 Roland McGrath <roland@redhat.com>
21 * td_symbol_list.c (symbol_list_arr) [HAVE_ASM_GLOBAL_DOT_NAME]:
22 Prepend "." to symbol names for functions.
24 2003-08-18 Daniel Jacobowitz <drow@mvista.com>
26 * td_thr_getfpregs.c (td_thr_getfpregs): Use the main thread if
27 the descriptor is uninitialized.
28 * td_thr_getgregs.c (td_thr_getgregs): Likewise.
30 2003-03-15 Roland McGrath <roland@redhat.com>
32 * thread_db.h (td_err_e): Add TD_NOTLS and TD_TLSDEFER.
33 (td_thr_tlsbase): Declare it.
34 * td_thr_tlsbase.c: New file.
35 * Makefile (libthread_db-routines): Add it.
36 * Versions (libthread_db: GLIBC_2.3.3): New set, add td_thr_tlsbase.
37 * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Use td_thr_tlsbase.
39 2003-02-27 Roland McGrath <roland@redhat.com>
41 * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Handle TLS_DTV_AT_TP.
43 * td_ta_thr_iter.c (handle_descr) [!defined USE_TLS || !TLS_DTV_AT_TP]:
44 Conditionalize p_header use on this.
46 2003-01-29 Roland McGrath <roland@redhat.com>
48 * td_ta_new.c (td_ta_new): Cap the `sizeof_descr' value read from the
49 inferior at `sizeof (struct _pthread_descr_struct)', since we use it
50 as a length in copies to our own structures.
52 2003-01-05 Ulrich Drepper <drepper@redhat.com>
54 * Makefile (libthread_db.so-no-z-defs): Define.
56 2002-09-29 Ulrich Drepper <drepper@redhat.com>
58 * td_thr_tsd.c (td_thr_tsd): Read correct entry from pthread_keys
61 2002-09-28 Andreas Jaeger <aj@suse.de>
63 * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Fix reference to dtv.
65 2002-09-24 Roland McGrath <roland@redhat.com>
67 * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Fetch just the
68 individual members we need, not the whole structures.
70 2002-09-24 Ulrich Drepper <drepper@redhat.com>
72 * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Change second
73 parameter to be the address of the link map in the inferior process.
74 * thread_db.h: Update prototype for td_thr_tls_get_addr.
76 2002-08-23 Ulrich Drepper <drepper@redhat.com>
78 * thread_dbP.h: Define LINUXTHREADS_VERSION.
79 * td_symbol_list.c (symbol_list_arr): Add LINUXTHREADS_VERSION string.
80 * td_ta_new.c (td_ta_new): After verifying the thread library is
82 * thread_db.h: Add new error TD_VERSION.
84 2002-08-21 Roland McGrath <roland@redhat.com>
86 * td_thr_tls_get_addr.c (td_thr_tls_get_addr): __attribute_used__ ->
87 __attribute__ ((unused)) for arguments.
89 2002-08-07 Ulrich Drepper <drepper@redhat.com>
91 * thread_dbP.h: Define LINUXTHREADS_INITIAL_REPORT_EVENTS.
92 * td_thr_event_enable.c (td_thr_event_enable): If th->th_unique is
93 null write to __linuxthreads_initial_report_events.
94 * td_symbol_list.c (symbol_list_arr): Add
95 __linuxthreads_initial_report_events.
97 2002-07-16 Ulrich Drepper <drepper@redhat.com>
99 * td_thr_clear_event.c: Yet more changes to help with TLS-enabled
101 * td_thr_event_enable.c: Likewise.
102 * td_thr_event_getmsg.c: Likewise.
103 * td_thr_set_event.c: Likewise.
104 * td_thr_setfpregs.c: Likewise.
105 * td_thr_setgregs.c: Likewise.
106 * td_thr_tsd.c: Likewise.
107 * td_thr_validate.c: Likewise.
109 2002-07-15 Ulrich Drepper <drepper@redhat.com>
111 * td_ta_thr_iter.c: Some more changes to enable using TLS-enabled
113 * td_thr_event_enable.c: Likewise.
114 * td_thr_getfpregs.c: Likewise.
115 * td_thr_getgregs.c: Likewise.
117 2002-07-14 Ulrich Drepper <drepper@redhat.com>
119 * td_ta_map_id2thr.c: Begin fixing implementation for libpthread with
121 * td_ta_map_lwp2thr.c: Likewise.
122 * td_ta_thr_iter.c: Likewise.
123 * td_thr_get_info.c: Likewise.
125 2002-07-10 Ulrich Drepper <drepper@redhat.com>
127 * Versions [libthread_db] (GLIBC_2.3): Add td_thr_tls_get_addr.
129 2002-06-14 H.J. Lu <hjl@gnu.org>
131 * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Don't include
132 "tls.h". Return TD_ERR if USE_TLS is not defined.
134 2002-06-12 Ulrich Drepper <drepper@redhat.com>
136 * td_thr_tls_get_addr.c: New file.
137 * thread_db.h: Add prototype for td_thr_tls_get_addr.
138 * Makefile (libthread_db-routines): Add td_thr_tls_get_addr.
140 2002-03-03 Andreas Jaeger <aj@suse.de>
142 * thread_dbP.h: Include <unistd.h> for prototypes of __libc_write.
144 2002-02-04 Ulrich Drepper <drepper@redhat.com>
146 * thread_dbP.h: Include descr.h instead of internals.h.
147 * td_ta_event_getmsg.c: Also include <linuxthreads/internals.h>.
148 * td_ta_map_id2thr.c: Likewise.
149 * td_ta_map_lwp2thr.c: Likewise.
150 * td_ta_thr_iter.c: Likewise.
151 * td_ta_tsd_iter.c: Likewise.
152 * td_thr_tsd.c: Likewise.
153 * td_thr_validate.c: Likewise.
155 2001-12-28 Andreas Jaeger <aj@suse.de>
157 * td_init.c (td_init): Don't use __FUNCTION__ as literal.
158 * td_log.c (td_log): Likewise.
159 * td_ta_delete.c (td_ta_delete): Likewise.
160 * td_ta_get_nthreads.c (td_ta_get_nthreads): Likewise.
161 * td_ta_get_ph.c (td_ta_get_ph): Likewise.
162 * td_ta_map_id2thr.c (td_ta_map_id2thr): Likewise.
163 * td_ta_map_lwp2thr.c (td_ta_map_lwp2thr): Likewise.
164 * td_ta_new.c (td_ta_new): Likewise.
165 * td_ta_clear_event.c (td_ta_clear_event): Likewise.
166 * td_ta_enable_stats.c (td_ta_enable_stats): Likewise.
167 * td_ta_event_addr.c (td_ta_event_addr): Likewise.
168 * td_ta_event_getmsg.c (td_ta_event_getmsg): Likewise.
169 * td_ta_get_stats.c (td_ta_get_stats): Likewise.
170 * td_ta_reset_stats.c (td_ta_reset_stats): Likewise.
171 * td_ta_set_event.c (td_ta_set_event): Likewise.
172 * td_ta_setconcurrency.c (td_ta_setconcurrency): Likewise.
173 * td_ta_thr_iter.c (td_ta_thr_iter): Likewise.
174 * td_ta_tsd_iter.c (td_ta_tsd_iter): Likewise.
175 * td_thr_clear_event.c (td_thr_clear_event): Likewise.
176 * td_thr_dbresume.c (td_thr_dbresume): Likewise.
177 * td_thr_dbsuspend.c (td_thr_dbsuspend): Likewise.
178 * td_thr_event_enable.c (td_thr_event_enable): Likewise.
179 * td_thr_event_getmsg.c (td_thr_event_getmsg): Likewise.
180 * td_thr_get_info.c (td_thr_get_info): Likewise.
181 * td_thr_getfpregs.c (td_thr_getfpregs): Likewise.
182 * td_thr_getgregs.c (td_thr_getgregs): Likewise.
183 * td_thr_getxregs.c (td_thr_getxregs): Likewise.
184 * td_thr_getxregsize.c (td_thr_getxregsize): Likewise.
185 * td_thr_set_event.c (td_thr_set_event): Likewise.
186 * td_thr_setfpregs.c (td_thr_setfpregs): Likewise.
187 * td_thr_setgregs.c (td_thr_setgregs): Likewise.
188 * td_thr_setprio.c (td_thr_setprio): Likewise.
189 * td_thr_setsigpending.c (td_thr_setsigpending): Likewise.
190 * td_thr_setxregs.c (td_thr_setxregs): Likewise.
191 * td_thr_sigsetmask.c (td_thr_sigsetmask): Likewise.
192 * td_thr_tsd.c (td_thr_tsd): Likewise.
193 * td_thr_validate.c (td_thr_validate): Likewise.
195 2001-04-12 Ulrich Drepper <drepper@redhat.com>
197 * td_ta_map_id2thr.c: If thread terminated return TD_NOTHR.
198 * td_thr_validate.c: Likewise.
200 2001-04-04 Ulrich Drepper <drepper@redhat.com>
202 * td_thr_getfpregs.c: If p_pid is zero use ps_getpid().
203 * td_thr_getgregs.c: Likewise.
204 * td_thr_setfpregs.c: Likewise.
205 * td_thr_setgregs.c: Likewise.
207 2001-03-20 Ulrich Drepper <drepper@redhat.com>
209 * Makefile (libthread_db-routines): Add td_symbol_list.
210 * Versions [libthread_db] (GLIBC_2.2.3): Add td_symbol_list.
211 * td_symbol_list.c: New file.
212 * thread_db.h: Add prototype for td_symbol_list.
213 * thread_dbP.h: Define symbol name indices.
214 Add prototype for td_lookup.
215 * td_ta_event_addr.c: Use td_lookup instead of directly using
216 ps_pglobal_lookup to find symbol address.
217 * td_ta_get_nthreads.c: Likewise.
218 * td_ta_new.c: Likewise.
220 2001-03-18 Ulrich Drepper <drepper@redhat.com>
222 * Makefile: When generating DSO link with libc_nonshared.a.
224 2000-08-01 Andreas Jaeger <aj@suse.de>
226 * Makefile (distribute): Add missing files.
228 2000-04-24 Mark Kettenis <kettenis@gnu.org>
230 * td_thr_get_info.c (td_thr_get_info): Set ti_state to
231 TD_THR_ACTIVE instead of TD_THR_RUN. If the thread is no longer
232 running but is still joinable, set it to TD_THR_ZOMBIE. Otherwise
233 set it to TD_THR_UNKNOWN.
235 2000-02-25 Andreas Jaeger <aj@suse.de>
237 * td_ta_thr_iter.c: Include <alloca.h> for prototype declaration.
238 * td_ta_tsd_iter.c: Likewise.
240 2000-01-20 Andreas Jaeger <aj@suse.de>
242 * td_thr_getgregs.c (td_thr_getgregs): Fix typo.
244 2000-01-19 Ulrich Drepper <drepper@cygnus.com>
246 * td_thr_getgregs.c: Correct size parameter of memset call.
248 1999-12-02 Ulrich Drepper <drepper@cygnus.com>
250 * proc_service.h: Fix typos in last added declaractions.
252 1999-12-01 Ulrich Drepper <drepper@cygnus.com>
254 * proc_service.h: Add ps_pstop, ps_pcontinue, ps_lstop, and
255 ps_lcontinue prototypes.
257 1999-11-23 Ulrich Drepper <drepper@cygnus.com>
259 * Makefile: Correct dependency for shared object.
261 1999-11-22 Ulrich Drepper <drepper@cygnus.com>
263 * td_ta_map_lwp2thr.c: Add missing brace in comparison.
265 * thread_dbP.h (LOG): Only print message if __td_debug is nonzero.
266 * td_init.c: Add __td_debug.
268 1999-11-12 Ulrich Drepper <drepper@cygnus.com>
270 * td_ta_thr_iter.c: Start copying list of descriptors from right
271 position in target process.
273 * td_ta_thr_iter.c: Fix loop starting point over all but main and
276 * td_ta_thr_iter.c: Read descriptors for main and manager thread
277 special since after this we can assume that no new threads will be
278 created anymore (at least in the gdb implementation).
280 * Makefile: Define version correctly.
282 1999-11-10 Ulrich Drepper <drepper@cygnus.com>
284 * td_ta_map_lwp2thr.c: If p_pid field is zero, this is before the
285 thread library is initialized and we get the PID from the
288 1999-11-08 Ulrich Drepper <drepper@cygnus.com>
290 * td_thr_get_info.c: Make sure ti_lid is never zero.
292 * proc_service.h: Add ps_getpid prototype.
294 1999-11-03 Ulrich Drepper <drepper@cygnus.com>
296 * thread_dbP.h (ta_ok): New function.
297 * td_ta_new.c: Add new handle to list.
298 * td_ta_delete.c: Remove handle from list.
299 * td_ta_clear_event.c: Use ta_ok to check for correct ta parameter.
300 * td_ta_enable_stats.c: Likewise.
301 * td_ta_event_addr.c: Likewise.
302 * td_ta_event_getmsg.c: Likewise.
303 * td_ta_get_nthreads.c: Likewise.
304 * td_ta_get_ph.c: Likewise.
305 * td_ta_get_stats.c: Likewise.
306 * td_ta_map_id2thr.c: Likewise.
307 * td_ta_map_lwp2thr.c: Likewise.
308 * td_ta_reset_stats.c: Likewise.
309 * td_ta_set_event.c: Likewise.
310 * td_ta_setconcurrency.c: Likewise.
311 * td_ta_thr_iter.c: Likewise.
313 * td_ta_tsd_iter.c: Optimize memory retrieving.
315 * Versions: New file.
317 * td_thr_get_info.c (td_thr_get_info): Initialize ti_traceme.
319 1999-11-02 Ulrich Drepper <drepper@cygnus.com>
321 * td_ta_thr_iter.c (td_ta_thr_iter): Optimize a bit. Read all
324 * thread_dbP.h (struct th_thragent): Add pthread_handle_num.
325 * td_ta_new.c: Initialize pthread_handle_num.
326 * td_ta_event_getmsg.c: If last event was already reported search
327 for another unreported event.
329 * td_thr_get_info.c (td_thr_get_info): Initialize ti_events.
331 * Makefile (libthread_db-routines): Add td_ta_set_event,
332 td_ta_event_getmsg, and td_ta_clear_event.
333 * td_ta_clear_event.c: New file.
334 * td_ta_event_getmsg.c: New file.
335 * td_ta_new.c: Get address of __pthread_last_event in target.
336 * td_ta_set_event.c: Don't overwrite old mask, set additional bits.
337 * td_thr_set_event.c: Likewise.
338 * td_thr_clear_event.c: Implement.
339 * thread_db.h: Declare td_ta_clear_event and td_ta_event_getmsg.
340 * thread_dbP.h (struct td_thragent): Add pthread_last_event.
342 * td_ta_new.c: Don't test for __pthread_threads_debug. Get address
343 of __pthread_threads_events and fail if this is not possible.
344 * td_ta_event_addr.c: Implement.
345 * td_thr_event_enable.c: Implement.
346 * td_thr_event_getmsg.c: Implement.
347 * td_thr_set_event.c: Implement.
348 * td_ta_set_event.c: New file.
349 * thread_db.h (td_eventbuf_t): Define.
350 Declare td_ta_set_event.
351 * thread_dbP.h (struct td_thragent): Add pthread_threads_eventsp.
353 * td_thr_getfpregs.c: For terminated threads return empty structure.
354 * td_thr_getgregs.c: Likewise.
355 * td_thr_setfpregs.c: Likewise.
356 * td_thr_setgregs.c: Likewise.
358 1999-11-01 Ulrich Drepper <drepper@cygnus.com>
360 * thread_db.h: Shuffle types around to make things work for gdb.
361 * thread_dbP.h: Include proc_service.h before thread_db.h.
363 * thread_db.h: It's TD_NOLIBTHREAD, not TD_LIBTHREAD.
364 * td_ta_new.c: Likewise.
366 1999-10-14 Ulrich Drepper <drepper@cygnus.com>
368 * td_ta_new.c: p_startfct does not exist anymore.
370 * td_thr_get_info.c: Always initialize start function.
372 * td_ta_thr_iter.c: Don't return threads which exited (but are not
375 * td_thr_validate.c: Don't skip manager thread.
377 1999-10-13 Ulrich Drepper <drepper@cygnus.com>
379 * td_ta_thr_iter.c: Use size of descriptor from *TA.
380 Don't return manager thread before it's actually running.
381 Actually use state parameter to distingusih at least a few states.
383 * td_thr_get_info.c: Handle manager thread special. Fill in ti_lid,
384 ti_state, and ti_startfunc fields.
386 1999-10-12 Andreas Jaeger <aj@suse.de>
388 * thread_dbP.h: Include <string.h> for strlen declaration. Remove
389 __libc_write prototype since this is already declared in
390 linuxthreads/internals.h.
392 1999-10-11 Ulrich Drepper <drepper@cygnus.com>
394 * thread_db.h: Fix comment for ti_type.
396 * td_thr_get_info.c: Initialize ti_type field.
398 * td_ta_thr_iter.c: Also report the manager thread.
400 1999-10-08 Andreas Jaeger <aj@suse.de>
402 * thread_db.h: Fix typos in comments.
404 * td_ta_get_nthreads.c (td_ta_get_nthreads): Don't hardcode
405 libpthread library name, get it from <gnu/lib-names.h> instead.
406 * td_ta_new.c (td_ta_new): Likewise.
408 1999-10-08 Ulrich Drepper <drepper@cygnus.com>
410 * shlib-versions: New file.
412 1999-10-07 Ulrich Drepper <drepper@cygnus.com>
414 * Makefile: New file.
415 * proc_service.h: New file.
416 * td_init.c: New file.
417 * td_log.c: New file.
418 * td_ta_delete.c: New file.
419 * td_ta_enable_stats.c: New file.
420 * td_ta_event_addr.c: New file.
421 * td_ta_get_nthreads.c: New file.
422 * td_ta_get_ph.c: New file.
423 * td_ta_get_stats.c: New file.
424 * td_ta_map_id2thr.c: New file.
425 * td_ta_map_lwp2thr.c: New file.
426 * td_ta_new.c: New file.
427 * td_ta_reset_stats.c: New file.
428 * td_ta_setconcurrency.c: New file.
429 * td_ta_thr_iter.c: New file.
430 * td_ta_tsd_iter.c: New file.
431 * td_thr_clear_event.c: New file.
432 * td_thr_dbresume.c: New file.
433 * td_thr_dbsuspend.c: New file.
434 * td_thr_event_enable.c: New file.
435 * td_thr_event_getmsg.c: New file.
436 * td_thr_get_info.c: New file.
437 * td_thr_getfpregs.c: New file.
438 * td_thr_getgregs.c: New file.
439 * td_thr_getxregs.c: New file.
440 * td_thr_getxregsize.c: New file.
441 * td_thr_set_event.c: New file.
442 * td_thr_setfpregs.c: New file.
443 * td_thr_setgregs.c: New file.
444 * td_thr_setprio.c: New file.
445 * td_thr_setsigpending.c: New file.
446 * td_thr_setxregs.c: New file.
447 * td_thr_sigsetmask.c: New file.
448 * td_thr_tsd.c: New file.
449 * td_thr_validate.c: New file.
450 * thread_db.h: New file.
451 * thread_dbP.h: New file.