1 2003-03-15 Roland McGrath <roland@redhat.com>
3 * thread_db.h (td_err_e): Add TD_NOTLS and TD_TLSDEFER.
4 (td_thr_tlsbase): Declare it.
5 * td_thr_tlsbase.c: New file.
6 * Makefile (libthread_db-routines): Add it.
7 * Versions (libthread_db: GLIBC_2.3.3): New set, add td_thr_tlsbase.
8 * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Use td_thr_tlsbase.
10 2003-02-27 Roland McGrath <roland@redhat.com>
12 * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Handle TLS_DTV_AT_TP.
14 * td_ta_thr_iter.c (handle_descr) [!defined USE_TLS || !TLS_DTV_AT_TP]:
15 Conditionalize p_header use on this.
17 2003-01-29 Roland McGrath <roland@redhat.com>
19 * td_ta_new.c (td_ta_new): Cap the `sizeof_descr' value read from the
20 inferior at `sizeof (struct _pthread_descr_struct)', since we use it
21 as a length in copies to our own structures.
23 2003-01-05 Ulrich Drepper <drepper@redhat.com>
25 * Makefile (libthread_db.so-no-z-defs): Define.
27 2002-09-29 Ulrich Drepper <drepper@redhat.com>
29 * td_thr_tsd.c (td_thr_tsd): Read correct entry from pthread_keys
32 2002-09-28 Andreas Jaeger <aj@suse.de>
34 * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Fix reference to dtv.
36 2002-09-24 Roland McGrath <roland@redhat.com>
38 * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Fetch just the
39 individual members we need, not the whole structures.
41 2002-09-24 Ulrich Drepper <drepper@redhat.com>
43 * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Change second
44 parameter to be the address of the link map in the inferior process.
45 * thread_db.h: Update prototype for td_thr_tls_get_addr.
47 2002-08-23 Ulrich Drepper <drepper@redhat.com>
49 * thread_dbP.h: Define LINUXTHREADS_VERSION.
50 * td_symbol_list.c (symbol_list_arr): Add LINUXTHREADS_VERSION string.
51 * td_ta_new.c (td_ta_new): After verifying the thread library is
53 * thread_db.h: Add new error TD_VERSION.
55 2002-08-21 Roland McGrath <roland@redhat.com>
57 * td_thr_tls_get_addr.c (td_thr_tls_get_addr): __attribute_used__ ->
58 __attribute__ ((unused)) for arguments.
60 2002-08-07 Ulrich Drepper <drepper@redhat.com>
62 * thread_dbP.h: Define LINUXTHREADS_INITIAL_REPORT_EVENTS.
63 * td_thr_event_enable.c (td_thr_event_enable): If th->th_unique is
64 null write to __linuxthreads_initial_report_events.
65 * td_symbol_list.c (symbol_list_arr): Add
66 __linuxthreads_initial_report_events.
68 2002-07-16 Ulrich Drepper <drepper@redhat.com>
70 * td_thr_clear_event.c: Yet more changes to help with TLS-enabled
72 * td_thr_event_enable.c: Likewise.
73 * td_thr_event_getmsg.c: Likewise.
74 * td_thr_set_event.c: Likewise.
75 * td_thr_setfpregs.c: Likewise.
76 * td_thr_setgregs.c: Likewise.
77 * td_thr_tsd.c: Likewise.
78 * td_thr_validate.c: Likewise.
80 2002-07-15 Ulrich Drepper <drepper@redhat.com>
82 * td_ta_thr_iter.c: Some more changes to enable using TLS-enabled
84 * td_thr_event_enable.c: Likewise.
85 * td_thr_getfpregs.c: Likewise.
86 * td_thr_getgregs.c: Likewise.
88 2002-07-14 Ulrich Drepper <drepper@redhat.com>
90 * td_ta_map_id2thr.c: Begin fixing implementation for libpthread with
92 * td_ta_map_lwp2thr.c: Likewise.
93 * td_ta_thr_iter.c: Likewise.
94 * td_thr_get_info.c: Likewise.
96 2002-07-10 Ulrich Drepper <drepper@redhat.com>
98 * Versions [libthread_db] (GLIBC_2.3): Add td_thr_tls_get_addr.
100 2002-06-14 H.J. Lu <hjl@gnu.org>
102 * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Don't include
103 "tls.h". Return TD_ERR if USE_TLS is not defined.
105 2002-06-12 Ulrich Drepper <drepper@redhat.com>
107 * td_thr_tls_get_addr.c: New file.
108 * thread_db.h: Add prototype for td_thr_tls_get_addr.
109 * Makefile (libthread_db-routines): Add td_thr_tls_get_addr.
111 2002-03-03 Andreas Jaeger <aj@suse.de>
113 * thread_dbP.h: Include <unistd.h> for prototypes of __libc_write.
115 2002-02-04 Ulrich Drepper <drepper@redhat.com>
117 * thread_dbP.h: Include descr.h instead of internals.h.
118 * td_ta_event_getmsg.c: Also include <linuxthreads/internals.h>.
119 * td_ta_map_id2thr.c: Likewise.
120 * td_ta_map_lwp2thr.c: Likewise.
121 * td_ta_thr_iter.c: Likewise.
122 * td_ta_tsd_iter.c: Likewise.
123 * td_thr_tsd.c: Likewise.
124 * td_thr_validate.c: Likewise.
126 2001-12-28 Andreas Jaeger <aj@suse.de>
128 * td_init.c (td_init): Don't use __FUNCTION__ as literal.
129 * td_log.c (td_log): Likewise.
130 * td_ta_delete.c (td_ta_delete): Likewise.
131 * td_ta_get_nthreads.c (td_ta_get_nthreads): Likewise.
132 * td_ta_get_ph.c (td_ta_get_ph): Likewise.
133 * td_ta_map_id2thr.c (td_ta_map_id2thr): Likewise.
134 * td_ta_map_lwp2thr.c (td_ta_map_lwp2thr): Likewise.
135 * td_ta_new.c (td_ta_new): Likewise.
136 * td_ta_clear_event.c (td_ta_clear_event): Likewise.
137 * td_ta_enable_stats.c (td_ta_enable_stats): Likewise.
138 * td_ta_event_addr.c (td_ta_event_addr): Likewise.
139 * td_ta_event_getmsg.c (td_ta_event_getmsg): Likewise.
140 * td_ta_get_stats.c (td_ta_get_stats): Likewise.
141 * td_ta_reset_stats.c (td_ta_reset_stats): Likewise.
142 * td_ta_set_event.c (td_ta_set_event): Likewise.
143 * td_ta_setconcurrency.c (td_ta_setconcurrency): Likewise.
144 * td_ta_thr_iter.c (td_ta_thr_iter): Likewise.
145 * td_ta_tsd_iter.c (td_ta_tsd_iter): Likewise.
146 * td_thr_clear_event.c (td_thr_clear_event): Likewise.
147 * td_thr_dbresume.c (td_thr_dbresume): Likewise.
148 * td_thr_dbsuspend.c (td_thr_dbsuspend): Likewise.
149 * td_thr_event_enable.c (td_thr_event_enable): Likewise.
150 * td_thr_event_getmsg.c (td_thr_event_getmsg): Likewise.
151 * td_thr_get_info.c (td_thr_get_info): Likewise.
152 * td_thr_getfpregs.c (td_thr_getfpregs): Likewise.
153 * td_thr_getgregs.c (td_thr_getgregs): Likewise.
154 * td_thr_getxregs.c (td_thr_getxregs): Likewise.
155 * td_thr_getxregsize.c (td_thr_getxregsize): Likewise.
156 * td_thr_set_event.c (td_thr_set_event): Likewise.
157 * td_thr_setfpregs.c (td_thr_setfpregs): Likewise.
158 * td_thr_setgregs.c (td_thr_setgregs): Likewise.
159 * td_thr_setprio.c (td_thr_setprio): Likewise.
160 * td_thr_setsigpending.c (td_thr_setsigpending): Likewise.
161 * td_thr_setxregs.c (td_thr_setxregs): Likewise.
162 * td_thr_sigsetmask.c (td_thr_sigsetmask): Likewise.
163 * td_thr_tsd.c (td_thr_tsd): Likewise.
164 * td_thr_validate.c (td_thr_validate): Likewise.
166 2001-04-12 Ulrich Drepper <drepper@redhat.com>
168 * td_ta_map_id2thr.c: If thread terminated return TD_NOTHR.
169 * td_thr_validate.c: Likewise.
171 2001-04-04 Ulrich Drepper <drepper@redhat.com>
173 * td_thr_getfpregs.c: If p_pid is zero use ps_getpid().
174 * td_thr_getgregs.c: Likewise.
175 * td_thr_setfpregs.c: Likewise.
176 * td_thr_setgregs.c: Likewise.
178 2001-03-20 Ulrich Drepper <drepper@redhat.com>
180 * Makefile (libthread_db-routines): Add td_symbol_list.
181 * Versions [libthread_db] (GLIBC_2.2.3): Add td_symbol_list.
182 * td_symbol_list.c: New file.
183 * thread_db.h: Add prototype for td_symbol_list.
184 * thread_dbP.h: Define symbol name indices.
185 Add prototype for td_lookup.
186 * td_ta_event_addr.c: Use td_lookup instead of directly using
187 ps_pglobal_lookup to find symbol address.
188 * td_ta_get_nthreads.c: Likewise.
189 * td_ta_new.c: Likewise.
191 2001-03-18 Ulrich Drepper <drepper@redhat.com>
193 * Makefile: When generating DSO link with libc_nonshared.a.
195 2000-08-01 Andreas Jaeger <aj@suse.de>
197 * Makefile (distribute): Add missing files.
199 2000-04-24 Mark Kettenis <kettenis@gnu.org>
201 * td_thr_get_info.c (td_thr_get_info): Set ti_state to
202 TD_THR_ACTIVE instead of TD_THR_RUN. If the thread is no longer
203 running but is still joinable, set it to TD_THR_ZOMBIE. Otherwise
204 set it to TD_THR_UNKNOWN.
206 2000-02-25 Andreas Jaeger <aj@suse.de>
208 * td_ta_thr_iter.c: Include <alloca.h> for prototype declaration.
209 * td_ta_tsd_iter.c: Likewise.
211 2000-01-20 Andreas Jaeger <aj@suse.de>
213 * td_thr_getgregs.c (td_thr_getgregs): Fix typo.
215 2000-01-19 Ulrich Drepper <drepper@cygnus.com>
217 * td_thr_getgregs.c: Correct size parameter of memset call.
219 1999-12-02 Ulrich Drepper <drepper@cygnus.com>
221 * proc_service.h: Fix typos in last added declaractions.
223 1999-12-01 Ulrich Drepper <drepper@cygnus.com>
225 * proc_service.h: Add ps_pstop, ps_pcontinue, ps_lstop, and
226 ps_lcontinue prototypes.
228 1999-11-23 Ulrich Drepper <drepper@cygnus.com>
230 * Makefile: Correct dependency for shared object.
232 1999-11-22 Ulrich Drepper <drepper@cygnus.com>
234 * td_ta_map_lwp2thr.c: Add missing brace in comparison.
236 * thread_dbP.h (LOG): Only print message if __td_debug is nonzero.
237 * td_init.c: Add __td_debug.
239 1999-11-12 Ulrich Drepper <drepper@cygnus.com>
241 * td_ta_thr_iter.c: Start copying list of descriptors from right
242 position in target process.
244 * td_ta_thr_iter.c: Fix loop starting point over all but main and
247 * td_ta_thr_iter.c: Read descriptors for main and manager thread
248 special since after this we can assume that no new threads will be
249 created anymore (at least in the gdb implementation).
251 * Makefile: Define version correctly.
253 1999-11-10 Ulrich Drepper <drepper@cygnus.com>
255 * td_ta_map_lwp2thr.c: If p_pid field is zero, this is before the
256 thread library is initialized and we get the PID from the
259 1999-11-08 Ulrich Drepper <drepper@cygnus.com>
261 * td_thr_get_info.c: Make sure ti_lid is never zero.
263 * proc_service.h: Add ps_getpid prototype.
265 1999-11-03 Ulrich Drepper <drepper@cygnus.com>
267 * thread_dbP.h (ta_ok): New function.
268 * td_ta_new.c: Add new handle to list.
269 * td_ta_delete.c: Remove handle from list.
270 * td_ta_clear_event.c: Use ta_ok to check for correct ta parameter.
271 * td_ta_enable_stats.c: Likewise.
272 * td_ta_event_addr.c: Likewise.
273 * td_ta_event_getmsg.c: Likewise.
274 * td_ta_get_nthreads.c: Likewise.
275 * td_ta_get_ph.c: Likewise.
276 * td_ta_get_stats.c: Likewise.
277 * td_ta_map_id2thr.c: Likewise.
278 * td_ta_map_lwp2thr.c: Likewise.
279 * td_ta_reset_stats.c: Likewise.
280 * td_ta_set_event.c: Likewise.
281 * td_ta_setconcurrency.c: Likewise.
282 * td_ta_thr_iter.c: Likewise.
284 * td_ta_tsd_iter.c: Optimize memory retrieving.
286 * Versions: New file.
288 * td_thr_get_info.c (td_thr_get_info): Initialize ti_traceme.
290 1999-11-02 Ulrich Drepper <drepper@cygnus.com>
292 * td_ta_thr_iter.c (td_ta_thr_iter): Optimize a bit. Read all
295 * thread_dbP.h (struct th_thragent): Add pthread_handle_num.
296 * td_ta_new.c: Initialize pthread_handle_num.
297 * td_ta_event_getmsg.c: If last event was already reported search
298 for another unreported event.
300 * td_thr_get_info.c (td_thr_get_info): Initialize ti_events.
302 * Makefile (libthread_db-routines): Add td_ta_set_event,
303 td_ta_event_getmsg, and td_ta_clear_event.
304 * td_ta_clear_event.c: New file.
305 * td_ta_event_getmsg.c: New file.
306 * td_ta_new.c: Get address of __pthread_last_event in target.
307 * td_ta_set_event.c: Don't overwrite old mask, set additional bits.
308 * td_thr_set_event.c: Likewise.
309 * td_thr_clear_event.c: Implement.
310 * thread_db.h: Declare td_ta_clear_event and td_ta_event_getmsg.
311 * thread_dbP.h (struct td_thragent): Add pthread_last_event.
313 * td_ta_new.c: Don't test for __pthread_threads_debug. Get address
314 of __pthread_threads_events and fail if this is not possible.
315 * td_ta_event_addr.c: Implement.
316 * td_thr_event_enable.c: Implement.
317 * td_thr_event_getmsg.c: Implement.
318 * td_thr_set_event.c: Implement.
319 * td_ta_set_event.c: New file.
320 * thread_db.h (td_eventbuf_t): Define.
321 Declare td_ta_set_event.
322 * thread_dbP.h (struct td_thragent): Add pthread_threads_eventsp.
324 * td_thr_getfpregs.c: For terminated threads return empty structure.
325 * td_thr_getgregs.c: Likewise.
326 * td_thr_setfpregs.c: Likewise.
327 * td_thr_setgregs.c: Likewise.
329 1999-11-01 Ulrich Drepper <drepper@cygnus.com>
331 * thread_db.h: Shuffle types around to make things work for gdb.
332 * thread_dbP.h: Include proc_service.h before thread_db.h.
334 * thread_db.h: It's TD_NOLIBTHREAD, not TD_LIBTHREAD.
335 * td_ta_new.c: Likewise.
337 1999-10-14 Ulrich Drepper <drepper@cygnus.com>
339 * td_ta_new.c: p_startfct does not exist anymore.
341 * td_thr_get_info.c: Always initialize start function.
343 * td_ta_thr_iter.c: Don't return threads which exited (but are not
346 * td_thr_validate.c: Don't skip manager thread.
348 1999-10-13 Ulrich Drepper <drepper@cygnus.com>
350 * td_ta_thr_iter.c: Use size of descriptor from *TA.
351 Don't return manager thread before it's actually running.
352 Actually use state parameter to distingusih at least a few states.
354 * td_thr_get_info.c: Handle manager thread special. Fill in ti_lid,
355 ti_state, and ti_startfunc fields.
357 1999-10-12 Andreas Jaeger <aj@suse.de>
359 * thread_dbP.h: Include <string.h> for strlen declaration. Remove
360 __libc_write prototype since this is already declared in
361 linuxthreads/internals.h.
363 1999-10-11 Ulrich Drepper <drepper@cygnus.com>
365 * thread_db.h: Fix comment for ti_type.
367 * td_thr_get_info.c: Initialize ti_type field.
369 * td_ta_thr_iter.c: Also report the manager thread.
371 1999-10-08 Andreas Jaeger <aj@suse.de>
373 * thread_db.h: Fix typos in comments.
375 * td_ta_get_nthreads.c (td_ta_get_nthreads): Don't hardcode
376 libpthread library name, get it from <gnu/lib-names.h> instead.
377 * td_ta_new.c (td_ta_new): Likewise.
379 1999-10-08 Ulrich Drepper <drepper@cygnus.com>
381 * shlib-versions: New file.
383 1999-10-07 Ulrich Drepper <drepper@cygnus.com>
385 * Makefile: New file.
386 * proc_service.h: New file.
387 * td_init.c: New file.
388 * td_log.c: New file.
389 * td_ta_delete.c: New file.
390 * td_ta_enable_stats.c: New file.
391 * td_ta_event_addr.c: New file.
392 * td_ta_get_nthreads.c: New file.
393 * td_ta_get_ph.c: New file.
394 * td_ta_get_stats.c: New file.
395 * td_ta_map_id2thr.c: New file.
396 * td_ta_map_lwp2thr.c: New file.
397 * td_ta_new.c: New file.
398 * td_ta_reset_stats.c: New file.
399 * td_ta_setconcurrency.c: New file.
400 * td_ta_thr_iter.c: New file.
401 * td_ta_tsd_iter.c: New file.
402 * td_thr_clear_event.c: New file.
403 * td_thr_dbresume.c: New file.
404 * td_thr_dbsuspend.c: New file.
405 * td_thr_event_enable.c: New file.
406 * td_thr_event_getmsg.c: New file.
407 * td_thr_get_info.c: New file.
408 * td_thr_getfpregs.c: New file.
409 * td_thr_getgregs.c: New file.
410 * td_thr_getxregs.c: New file.
411 * td_thr_getxregsize.c: New file.
412 * td_thr_set_event.c: New file.
413 * td_thr_setfpregs.c: New file.
414 * td_thr_setgregs.c: New file.
415 * td_thr_setprio.c: New file.
416 * td_thr_setsigpending.c: New file.
417 * td_thr_setxregs.c: New file.
418 * td_thr_sigsetmask.c: New file.
419 * td_thr_tsd.c: New file.
420 * td_thr_validate.c: New file.
421 * thread_db.h: New file.
422 * thread_dbP.h: New file.