1 2002-09-24 Roland McGrath <roland@redhat.com>
3 * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Fetch just the
4 individual members we need, not the whole structures.
6 2002-09-24 Ulrich Drepper <drepper@redhat.com>
8 * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Change second
9 parameter to be the address of the link map in the inferior process.
10 * thread_db.h: Update prototype for td_thr_tls_get_addr.
12 2002-08-23 Ulrich Drepper <drepper@redhat.com>
14 * thread_dbP.h: Define LINUXTHREADS_VERSION.
15 * td_symbol_list.c (symbol_list_arr): Add LINUXTHREADS_VERSION string.
16 * td_ta_new.c (td_ta_new): After verifying the thread library is
18 * thread_db.h: Add new error TD_VERSION.
20 2002-08-21 Roland McGrath <roland@redhat.com>
22 * td_thr_tls_get_addr.c (td_thr_tls_get_addr): __attribute_used__ ->
23 __attribute__ ((unused)) for arguments.
25 2002-08-07 Ulrich Drepper <drepper@redhat.com>
27 * thread_dbP.h: Define LINUXTHREADS_INITIAL_REPORT_EVENTS.
28 * td_thr_event_enable.c (td_thr_event_enable): If th->th_unique is
29 null write to __linuxthreads_initial_report_events.
30 * td_symbol_list.c (symbol_list_arr): Add
31 __linuxthreads_initial_report_events.
33 2002-07-16 Ulrich Drepper <drepper@redhat.com>
35 * td_thr_clear_event.c: Yet more changes to help with TLS-enabled
37 * td_thr_event_enable.c: Likewise.
38 * td_thr_event_getmsg.c: Likewise.
39 * td_thr_set_event.c: Likewise.
40 * td_thr_setfpregs.c: Likewise.
41 * td_thr_setgregs.c: Likewise.
42 * td_thr_tsd.c: Likewise.
43 * td_thr_validate.c: Likewise.
45 2002-07-15 Ulrich Drepper <drepper@redhat.com>
47 * td_ta_thr_iter.c: Some more changes to enable using TLS-enabled
49 * td_thr_event_enable.c: Likewise.
50 * td_thr_getfpregs.c: Likewise.
51 * td_thr_getgregs.c: Likewise.
53 2002-07-14 Ulrich Drepper <drepper@redhat.com>
55 * td_ta_map_id2thr.c: Begin fixing implementation for libpthread with
57 * td_ta_map_lwp2thr.c: Likewise.
58 * td_ta_thr_iter.c: Likewise.
59 * td_thr_get_info.c: Likewise.
61 2002-07-10 Ulrich Drepper <drepper@redhat.com>
63 * Versions [libthread_db] (GLIBC_2.3): Add td_thr_tls_get_addr.
65 2002-06-14 H.J. Lu <hjl@gnu.org>
67 * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Don't include
68 "tls.h". Return TD_ERR if USE_TLS is not defined.
70 2002-06-12 Ulrich Drepper <drepper@redhat.com>
72 * td_thr_tls_get_addr.c: New file.
73 * thread_db.h: Add prototype for td_thr_tls_get_addr.
74 * Makefile (libthread_db-routines): Add td_thr_tls_get_addr.
76 2002-03-03 Andreas Jaeger <aj@suse.de>
78 * thread_dbP.h: Include <unistd.h> for prototypes of __libc_write.
80 2002-02-04 Ulrich Drepper <drepper@redhat.com>
82 * thread_dbP.h: Include descr.h instead of internals.h.
83 * td_ta_event_getmsg.c: Also include <linuxthreads/internals.h>.
84 * td_ta_map_id2thr.c: Likewise.
85 * td_ta_map_lwp2thr.c: Likewise.
86 * td_ta_thr_iter.c: Likewise.
87 * td_ta_tsd_iter.c: Likewise.
88 * td_thr_tsd.c: Likewise.
89 * td_thr_validate.c: Likewise.
91 2001-12-28 Andreas Jaeger <aj@suse.de>
93 * td_init.c (td_init): Don't use __FUNCTION__ as literal.
94 * td_log.c (td_log): Likewise.
95 * td_ta_delete.c (td_ta_delete): Likewise.
96 * td_ta_get_nthreads.c (td_ta_get_nthreads): Likewise.
97 * td_ta_get_ph.c (td_ta_get_ph): Likewise.
98 * td_ta_map_id2thr.c (td_ta_map_id2thr): Likewise.
99 * td_ta_map_lwp2thr.c (td_ta_map_lwp2thr): Likewise.
100 * td_ta_new.c (td_ta_new): Likewise.
101 * td_ta_clear_event.c (td_ta_clear_event): Likewise.
102 * td_ta_enable_stats.c (td_ta_enable_stats): Likewise.
103 * td_ta_event_addr.c (td_ta_event_addr): Likewise.
104 * td_ta_event_getmsg.c (td_ta_event_getmsg): Likewise.
105 * td_ta_get_stats.c (td_ta_get_stats): Likewise.
106 * td_ta_reset_stats.c (td_ta_reset_stats): Likewise.
107 * td_ta_set_event.c (td_ta_set_event): Likewise.
108 * td_ta_setconcurrency.c (td_ta_setconcurrency): Likewise.
109 * td_ta_thr_iter.c (td_ta_thr_iter): Likewise.
110 * td_ta_tsd_iter.c (td_ta_tsd_iter): Likewise.
111 * td_thr_clear_event.c (td_thr_clear_event): Likewise.
112 * td_thr_dbresume.c (td_thr_dbresume): Likewise.
113 * td_thr_dbsuspend.c (td_thr_dbsuspend): Likewise.
114 * td_thr_event_enable.c (td_thr_event_enable): Likewise.
115 * td_thr_event_getmsg.c (td_thr_event_getmsg): Likewise.
116 * td_thr_get_info.c (td_thr_get_info): Likewise.
117 * td_thr_getfpregs.c (td_thr_getfpregs): Likewise.
118 * td_thr_getgregs.c (td_thr_getgregs): Likewise.
119 * td_thr_getxregs.c (td_thr_getxregs): Likewise.
120 * td_thr_getxregsize.c (td_thr_getxregsize): Likewise.
121 * td_thr_set_event.c (td_thr_set_event): Likewise.
122 * td_thr_setfpregs.c (td_thr_setfpregs): Likewise.
123 * td_thr_setgregs.c (td_thr_setgregs): Likewise.
124 * td_thr_setprio.c (td_thr_setprio): Likewise.
125 * td_thr_setsigpending.c (td_thr_setsigpending): Likewise.
126 * td_thr_setxregs.c (td_thr_setxregs): Likewise.
127 * td_thr_sigsetmask.c (td_thr_sigsetmask): Likewise.
128 * td_thr_tsd.c (td_thr_tsd): Likewise.
129 * td_thr_validate.c (td_thr_validate): Likewise.
131 2001-04-12 Ulrich Drepper <drepper@redhat.com>
133 * td_ta_map_id2thr.c: If thread terminated return TD_NOTHR.
134 * td_thr_validate.c: Likewise.
136 2001-04-04 Ulrich Drepper <drepper@redhat.com>
138 * td_thr_getfpregs.c: If p_pid is zero use ps_getpid().
139 * td_thr_getgregs.c: Likewise.
140 * td_thr_setfpregs.c: Likewise.
141 * td_thr_setgregs.c: Likewise.
143 2001-03-20 Ulrich Drepper <drepper@redhat.com>
145 * Makefile (libthread_db-routines): Add td_symbol_list.
146 * Versions [libthread_db] (GLIBC_2.2.3): Add td_symbol_list.
147 * td_symbol_list.c: New file.
148 * thread_db.h: Add prototype for td_symbol_list.
149 * thread_dbP.h: Define symbol name indices.
150 Add prototype for td_lookup.
151 * td_ta_event_addr.c: Use td_lookup instead of directly using
152 ps_pglobal_lookup to find symbol address.
153 * td_ta_get_nthreads.c: Likewise.
154 * td_ta_new.c: Likewise.
156 2001-03-18 Ulrich Drepper <drepper@redhat.com>
158 * Makefile: When generating DSO link with libc_nonshared.a.
160 2000-08-01 Andreas Jaeger <aj@suse.de>
162 * Makefile (distribute): Add missing files.
164 2000-04-24 Mark Kettenis <kettenis@gnu.org>
166 * td_thr_get_info.c (td_thr_get_info): Set ti_state to
167 TD_THR_ACTIVE instead of TD_THR_RUN. If the thread is no longer
168 running but is still joinable, set it to TD_THR_ZOMBIE. Otherwise
169 set it to TD_THR_UNKNOWN.
171 2000-02-25 Andreas Jaeger <aj@suse.de>
173 * td_ta_thr_iter.c: Include <alloca.h> for prototype declaration.
174 * td_ta_tsd_iter.c: Likewise.
176 2000-01-20 Andreas Jaeger <aj@suse.de>
178 * td_thr_getgregs.c (td_thr_getgregs): Fix typo.
180 2000-01-19 Ulrich Drepper <drepper@cygnus.com>
182 * td_thr_getgregs.c: Correct size parameter of memset call.
184 1999-12-02 Ulrich Drepper <drepper@cygnus.com>
186 * proc_service.h: Fix typos in last added declaractions.
188 1999-12-01 Ulrich Drepper <drepper@cygnus.com>
190 * proc_service.h: Add ps_pstop, ps_pcontinue, ps_lstop, and
191 ps_lcontinue prototypes.
193 1999-11-23 Ulrich Drepper <drepper@cygnus.com>
195 * Makefile: Correct dependency for shared object.
197 1999-11-22 Ulrich Drepper <drepper@cygnus.com>
199 * td_ta_map_lwp2thr.c: Add missing brace in comparison.
201 * thread_dbP.h (LOG): Only print message if __td_debug is nonzero.
202 * td_init.c: Add __td_debug.
204 1999-11-12 Ulrich Drepper <drepper@cygnus.com>
206 * td_ta_thr_iter.c: Start copying list of descriptors from right
207 position in target process.
209 * td_ta_thr_iter.c: Fix loop starting point over all but main and
212 * td_ta_thr_iter.c: Read descriptors for main and manager thread
213 special since after this we can assume that no new threads will be
214 created anymore (at least in the gdb implementation).
216 * Makefile: Define version correctly.
218 1999-11-10 Ulrich Drepper <drepper@cygnus.com>
220 * td_ta_map_lwp2thr.c: If p_pid field is zero, this is before the
221 thread library is initialized and we get the PID from the
224 1999-11-08 Ulrich Drepper <drepper@cygnus.com>
226 * td_thr_get_info.c: Make sure ti_lid is never zero.
228 * proc_service.h: Add ps_getpid prototype.
230 1999-11-03 Ulrich Drepper <drepper@cygnus.com>
232 * thread_dbP.h (ta_ok): New function.
233 * td_ta_new.c: Add new handle to list.
234 * td_ta_delete.c: Remove handle from list.
235 * td_ta_clear_event.c: Use ta_ok to check for correct ta parameter.
236 * td_ta_enable_stats.c: Likewise.
237 * td_ta_event_addr.c: Likewise.
238 * td_ta_event_getmsg.c: Likewise.
239 * td_ta_get_nthreads.c: Likewise.
240 * td_ta_get_ph.c: Likewise.
241 * td_ta_get_stats.c: Likewise.
242 * td_ta_map_id2thr.c: Likewise.
243 * td_ta_map_lwp2thr.c: Likewise.
244 * td_ta_reset_stats.c: Likewise.
245 * td_ta_set_event.c: Likewise.
246 * td_ta_setconcurrency.c: Likewise.
247 * td_ta_thr_iter.c: Likewise.
249 * td_ta_tsd_iter.c: Optimize memory retrieving.
251 * Versions: New file.
253 * td_thr_get_info.c (td_thr_get_info): Initialize ti_traceme.
255 1999-11-02 Ulrich Drepper <drepper@cygnus.com>
257 * td_ta_thr_iter.c (td_ta_thr_iter): Optimize a bit. Read all
260 * thread_dbP.h (struct th_thragent): Add pthread_handle_num.
261 * td_ta_new.c: Initialize pthread_handle_num.
262 * td_ta_event_getmsg.c: If last event was already reported search
263 for another unreported event.
265 * td_thr_get_info.c (td_thr_get_info): Initialize ti_events.
267 * Makefile (libthread_db-routines): Add td_ta_set_event,
268 td_ta_event_getmsg, and td_ta_clear_event.
269 * td_ta_clear_event.c: New file.
270 * td_ta_event_getmsg.c: New file.
271 * td_ta_new.c: Get address of __pthread_last_event in target.
272 * td_ta_set_event.c: Don't overwrite old mask, set additional bits.
273 * td_thr_set_event.c: Likewise.
274 * td_thr_clear_event.c: Implement.
275 * thread_db.h: Declare td_ta_clear_event and td_ta_event_getmsg.
276 * thread_dbP.h (struct td_thragent): Add pthread_last_event.
278 * td_ta_new.c: Don't test for __pthread_threads_debug. Get address
279 of __pthread_threads_events and fail if this is not possible.
280 * td_ta_event_addr.c: Implement.
281 * td_thr_event_enable.c: Implement.
282 * td_thr_event_getmsg.c: Implement.
283 * td_thr_set_event.c: Implement.
284 * td_ta_set_event.c: New file.
285 * thread_db.h (td_eventbuf_t): Define.
286 Declare td_ta_set_event.
287 * thread_dbP.h (struct td_thragent): Add pthread_threads_eventsp.
289 * td_thr_getfpregs.c: For terminated threads return empty structure.
290 * td_thr_getgregs.c: Likewise.
291 * td_thr_setfpregs.c: Likewise.
292 * td_thr_setgregs.c: Likewise.
294 1999-11-01 Ulrich Drepper <drepper@cygnus.com>
296 * thread_db.h: Shuffle types around to make things work for gdb.
297 * thread_dbP.h: Include proc_service.h before thread_db.h.
299 * thread_db.h: It's TD_NOLIBTHREAD, not TD_LIBTHREAD.
300 * td_ta_new.c: Likewise.
302 1999-10-14 Ulrich Drepper <drepper@cygnus.com>
304 * td_ta_new.c: p_startfct does not exist anymore.
306 * td_thr_get_info.c: Always initialize start function.
308 * td_ta_thr_iter.c: Don't return threads which exited (but are not
311 * td_thr_validate.c: Don't skip manager thread.
313 1999-10-13 Ulrich Drepper <drepper@cygnus.com>
315 * td_ta_thr_iter.c: Use size of descriptor from *TA.
316 Don't return manager thread before it's actually running.
317 Actually use state parameter to distingusih at least a few states.
319 * td_thr_get_info.c: Handle manager thread special. Fill in ti_lid,
320 ti_state, and ti_startfunc fields.
322 1999-10-12 Andreas Jaeger <aj@suse.de>
324 * thread_dbP.h: Include <string.h> for strlen declaration. Remove
325 __libc_write prototype since this is already declared in
326 linuxthreads/internals.h.
328 1999-10-11 Ulrich Drepper <drepper@cygnus.com>
330 * thread_db.h: Fix comment for ti_type.
332 * td_thr_get_info.c: Initialize ti_type field.
334 * td_ta_thr_iter.c: Also report the manager thread.
336 1999-10-08 Andreas Jaeger <aj@suse.de>
338 * thread_db.h: Fix typos in comments.
340 * td_ta_get_nthreads.c (td_ta_get_nthreads): Don't hardcode
341 libpthread library name, get it from <gnu/lib-names.h> instead.
342 * td_ta_new.c (td_ta_new): Likewise.
344 1999-10-08 Ulrich Drepper <drepper@cygnus.com>
346 * shlib-versions: New file.
348 1999-10-07 Ulrich Drepper <drepper@cygnus.com>
350 * Makefile: New file.
351 * proc_service.h: New file.
352 * td_init.c: New file.
353 * td_log.c: New file.
354 * td_ta_delete.c: New file.
355 * td_ta_enable_stats.c: New file.
356 * td_ta_event_addr.c: New file.
357 * td_ta_get_nthreads.c: New file.
358 * td_ta_get_ph.c: New file.
359 * td_ta_get_stats.c: New file.
360 * td_ta_map_id2thr.c: New file.
361 * td_ta_map_lwp2thr.c: New file.
362 * td_ta_new.c: New file.
363 * td_ta_reset_stats.c: New file.
364 * td_ta_setconcurrency.c: New file.
365 * td_ta_thr_iter.c: New file.
366 * td_ta_tsd_iter.c: New file.
367 * td_thr_clear_event.c: New file.
368 * td_thr_dbresume.c: New file.
369 * td_thr_dbsuspend.c: New file.
370 * td_thr_event_enable.c: New file.
371 * td_thr_event_getmsg.c: New file.
372 * td_thr_get_info.c: New file.
373 * td_thr_getfpregs.c: New file.
374 * td_thr_getgregs.c: New file.
375 * td_thr_getxregs.c: New file.
376 * td_thr_getxregsize.c: New file.
377 * td_thr_set_event.c: New file.
378 * td_thr_setfpregs.c: New file.
379 * td_thr_setgregs.c: New file.
380 * td_thr_setprio.c: New file.
381 * td_thr_setsigpending.c: New file.
382 * td_thr_setxregs.c: New file.
383 * td_thr_sigsetmask.c: New file.
384 * td_thr_tsd.c: New file.
385 * td_thr_validate.c: New file.
386 * thread_db.h: New file.
387 * thread_dbP.h: New file.