summaryrefslogtreecommitdiff
path: root/libpthread/linuxthreads_db
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2015-02-14 23:00:19 -0600
committerWaldemar Brodkorb <wbx@openadk.org>2015-02-14 23:00:19 -0600
commit6b6ede3d15f04fe825cfa9f697507457e3640344 (patch)
treeefe9bf75eaf2200f89087ed0ef2ef350549ccd6d /libpthread/linuxthreads_db
parentf972c2262fd4efc2bbf9789dce145bb705acec24 (diff)
resolve merge
Diffstat (limited to 'libpthread/linuxthreads_db')
-rw-r--r--libpthread/linuxthreads_db/ChangeLog467
-rw-r--r--libpthread/linuxthreads_db/Makefile.in16
-rw-r--r--libpthread/linuxthreads_db/Makefile.old56
-rw-r--r--libpthread/linuxthreads_db/shlib-versions2
-rw-r--r--libpthread/linuxthreads_db/td_init.c3
-rw-r--r--libpthread/linuxthreads_db/td_ta_clear_event.c2
-rw-r--r--libpthread/linuxthreads_db/td_ta_event_getmsg.c1
-rw-r--r--libpthread/linuxthreads_db/td_ta_map_id2thr.c1
-rw-r--r--libpthread/linuxthreads_db/td_ta_map_lwp2thr.c1
-rw-r--r--libpthread/linuxthreads_db/td_ta_set_event.c2
-rw-r--r--libpthread/linuxthreads_db/td_ta_thr_iter.c5
-rw-r--r--libpthread/linuxthreads_db/td_ta_tsd_iter.c1
-rw-r--r--libpthread/linuxthreads_db/td_thr_clear_event.c2
-rw-r--r--libpthread/linuxthreads_db/td_thr_tls_get_addr.c36
-rw-r--r--libpthread/linuxthreads_db/td_thr_tlsbase.c70
-rw-r--r--libpthread/linuxthreads_db/td_thr_tsd.c1
-rw-r--r--libpthread/linuxthreads_db/td_thr_validate.c1
-rw-r--r--libpthread/linuxthreads_db/thread_dbP.h2
18 files changed, 44 insertions, 625 deletions
diff --git a/libpthread/linuxthreads_db/ChangeLog b/libpthread/linuxthreads_db/ChangeLog
deleted file mode 100644
index 9964b4dd4..000000000
--- a/libpthread/linuxthreads_db/ChangeLog
+++ /dev/null
@@ -1,467 +0,0 @@
-2006-04-25 Bernhard Fischer <rep.nop@aon.at>
-
- * td_init.c (__td_debug): Only declare when NDEBUG is undefined.
-
-2006-04-25 Bernhard Fischer <rep.nop@aon.at>
-
- * thread_dbP.h: Fix Indices typo in comment.
-
-2005-11-02 Daniel Jacobowitz <dan@codesourcery.com>
-
- * td_ta_clear_event.c (td_ta_clear_event): Correct arguments to
- sizeof.
- * td_ta_set_event.c (td_ta_set_event): Likewise.
- * td_thr_clear_event.c (td_thr_clear_event): Likewise.
- * td_thr_set_event.c (td_thr_set_event): Likewise.
-
-2005-01-09 Andreas Jaeger <aj@suse.de>
-
- * td_thr_tlsbase.c (td_thr_tlsbase): Adjust for dtv change.
-
-2004-05-01 Jakub Jelinek <jakub@redhat.com>
-
- * thread_dbP.h (LOG): Use write instead of __libc_write.
-
-2004-03-13 Jakub Jelinek <jakub@redhat.com>
-
- * td_thr_tlsbase.c: Remove dl-tls.h include. Don't use
- TLS_TP_OFFSET in the #if, but TLS_TCB_SIZE == 0 ?:.
-
-2004-03-12 Roland McGrath <roland@redhat.com>
-
- * td_thr_tlsbase.c [TLS_DTV_AT_TP && TLS_TP_OFFSET > 0]: Handle this
- case (PowerPC) differently.
-
-2003-11-25 Roland McGrath <roland@redhat.com>
-
- * td_symbol_list.c (symbol_list_arr) [HAVE_ASM_GLOBAL_DOT_NAME]:
- Prepend "." to symbol names for functions.
-
-2003-08-18 Daniel Jacobowitz <drow@mvista.com>
-
- * td_thr_getfpregs.c (td_thr_getfpregs): Use the main thread if
- the descriptor is uninitialized.
- * td_thr_getgregs.c (td_thr_getgregs): Likewise.
-
-2003-03-15 Roland McGrath <roland@redhat.com>
-
- * 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-02-27 Roland McGrath <roland@redhat.com>
-
- * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Handle TLS_DTV_AT_TP.
-
- * td_ta_thr_iter.c (handle_descr) [!defined USE_TLS || !TLS_DTV_AT_TP]:
- Conditionalize p_header use on this.
-
-2003-01-29 Roland McGrath <roland@redhat.com>
-
- * td_ta_new.c (td_ta_new): Cap the `sizeof_descr' value read from the
- inferior at `sizeof (struct _pthread_descr_struct)', since we use it
- as a length in copies to our own structures.
-
-2003-01-05 Ulrich Drepper <drepper@redhat.com>
-
- * Makefile (libthread_db.so-no-z-defs): Define.
-
-2002-09-29 Ulrich Drepper <drepper@redhat.com>
-
- * td_thr_tsd.c (td_thr_tsd): Read correct entry from pthread_keys
- array.
-
-2002-09-28 Andreas Jaeger <aj@suse.de>
-
- * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Fix reference to dtv.
-
-2002-09-24 Roland McGrath <roland@redhat.com>
-
- * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Fetch just the
- individual members we need, not the whole structures.
-
-2002-09-24 Ulrich Drepper <drepper@redhat.com>
-
- * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Change second
- parameter to be the address of the link map in the inferior process.
- * thread_db.h: Update prototype for td_thr_tls_get_addr.
-
-2002-08-23 Ulrich Drepper <drepper@redhat.com>
-
- * thread_dbP.h: Define LINUXTHREADS_VERSION.
- * td_symbol_list.c (symbol_list_arr): Add LINUXTHREADS_VERSION string.
- * td_ta_new.c (td_ta_new): After verifying the thread library is
- there check version.
- * thread_db.h: Add new error TD_VERSION.
-
-2002-08-21 Roland McGrath <roland@redhat.com>
-
- * td_thr_tls_get_addr.c (td_thr_tls_get_addr): __attribute_used__ ->
- __attribute__ ((unused)) for arguments.
-
-2002-08-07 Ulrich Drepper <drepper@redhat.com>
-
- * thread_dbP.h: Define LINUXTHREADS_INITIAL_REPORT_EVENTS.
- * td_thr_event_enable.c (td_thr_event_enable): If th->th_unique is
- null write to __linuxthreads_initial_report_events.
- * td_symbol_list.c (symbol_list_arr): Add
- __linuxthreads_initial_report_events.
-
-2002-07-16 Ulrich Drepper <drepper@redhat.com>
-
- * td_thr_clear_event.c: Yet more changes to help with TLS-enabled
- libpthread.
- * td_thr_event_enable.c: Likewise.
- * td_thr_event_getmsg.c: Likewise.
- * td_thr_set_event.c: Likewise.
- * td_thr_setfpregs.c: Likewise.
- * td_thr_setgregs.c: Likewise.
- * td_thr_tsd.c: Likewise.
- * td_thr_validate.c: Likewise.
-
-2002-07-15 Ulrich Drepper <drepper@redhat.com>
-
- * td_ta_thr_iter.c: Some more changes to enable using TLS-enabled
- libpthread.
- * td_thr_event_enable.c: Likewise.
- * td_thr_getfpregs.c: Likewise.
- * td_thr_getgregs.c: Likewise.
-
-2002-07-14 Ulrich Drepper <drepper@redhat.com>
-
- * td_ta_map_id2thr.c: Begin fixing implementation for libpthread with
- TLS support.
- * td_ta_map_lwp2thr.c: Likewise.
- * td_ta_thr_iter.c: Likewise.
- * td_thr_get_info.c: Likewise.
-
-2002-07-10 Ulrich Drepper <drepper@redhat.com>
-
- * Versions [libthread_db] (GLIBC_2.3): Add td_thr_tls_get_addr.
-
-2002-06-14 H.J. Lu <hjl@gnu.org>
-
- * td_thr_tls_get_addr.c (td_thr_tls_get_addr): Don't include
- "tls.h". Return TD_ERR if USE_TLS is not defined.
-
-2002-06-12 Ulrich Drepper <drepper@redhat.com>
-
- * td_thr_tls_get_addr.c: New file.
- * thread_db.h: Add prototype for td_thr_tls_get_addr.
- * Makefile (libthread_db-routines): Add td_thr_tls_get_addr.
-
-2002-03-03 Andreas Jaeger <aj@suse.de>
-
- * thread_dbP.h: Include <unistd.h> for prototypes of __libc_write.
-
-2002-02-04 Ulrich Drepper <drepper@redhat.com>
-
- * thread_dbP.h: Include descr.h instead of internals.h.
- * td_ta_event_getmsg.c: Also include <linuxthreads/internals.h>.
- * td_ta_map_id2thr.c: Likewise.
- * td_ta_map_lwp2thr.c: Likewise.
- * td_ta_thr_iter.c: Likewise.
- * td_ta_tsd_iter.c: Likewise.
- * td_thr_tsd.c: Likewise.
- * td_thr_validate.c: Likewise.
-
-2001-12-28 Andreas Jaeger <aj@suse.de>
-
- * td_init.c (td_init): Don't use __FUNCTION__ as literal.
- * td_log.c (td_log): Likewise.
- * td_ta_delete.c (td_ta_delete): Likewise.
- * td_ta_get_nthreads.c (td_ta_get_nthreads): Likewise.
- * td_ta_get_ph.c (td_ta_get_ph): Likewise.
- * td_ta_map_id2thr.c (td_ta_map_id2thr): Likewise.
- * td_ta_map_lwp2thr.c (td_ta_map_lwp2thr): Likewise.
- * td_ta_new.c (td_ta_new): Likewise.
- * td_ta_clear_event.c (td_ta_clear_event): Likewise.
- * td_ta_enable_stats.c (td_ta_enable_stats): Likewise.
- * td_ta_event_addr.c (td_ta_event_addr): Likewise.
- * td_ta_event_getmsg.c (td_ta_event_getmsg): Likewise.
- * td_ta_get_stats.c (td_ta_get_stats): Likewise.
- * td_ta_reset_stats.c (td_ta_reset_stats): Likewise.
- * td_ta_set_event.c (td_ta_set_event): Likewise.
- * td_ta_setconcurrency.c (td_ta_setconcurrency): Likewise.
- * td_ta_thr_iter.c (td_ta_thr_iter): Likewise.
- * td_ta_tsd_iter.c (td_ta_tsd_iter): Likewise.
- * td_thr_clear_event.c (td_thr_clear_event): Likewise.
- * td_thr_dbresume.c (td_thr_dbresume): Likewise.
- * td_thr_dbsuspend.c (td_thr_dbsuspend): Likewise.
- * td_thr_event_enable.c (td_thr_event_enable): Likewise.
- * td_thr_event_getmsg.c (td_thr_event_getmsg): Likewise.
- * td_thr_get_info.c (td_thr_get_info): Likewise.
- * td_thr_getfpregs.c (td_thr_getfpregs): Likewise.
- * td_thr_getgregs.c (td_thr_getgregs): Likewise.
- * td_thr_getxregs.c (td_thr_getxregs): Likewise.
- * td_thr_getxregsize.c (td_thr_getxregsize): Likewise.
- * td_thr_set_event.c (td_thr_set_event): Likewise.
- * td_thr_setfpregs.c (td_thr_setfpregs): Likewise.
- * td_thr_setgregs.c (td_thr_setgregs): Likewise.
- * td_thr_setprio.c (td_thr_setprio): Likewise.
- * td_thr_setsigpending.c (td_thr_setsigpending): Likewise.
- * td_thr_setxregs.c (td_thr_setxregs): Likewise.
- * td_thr_sigsetmask.c (td_thr_sigsetmask): Likewise.
- * td_thr_tsd.c (td_thr_tsd): Likewise.
- * td_thr_validate.c (td_thr_validate): Likewise.
-
-2001-04-12 Ulrich Drepper <drepper@redhat.com>
-
- * td_ta_map_id2thr.c: If thread terminated return TD_NOTHR.
- * td_thr_validate.c: Likewise.
-
-2001-04-04 Ulrich Drepper <drepper@redhat.com>
-
- * td_thr_getfpregs.c: If p_pid is zero use ps_getpid().
- * td_thr_getgregs.c: Likewise.
- * td_thr_setfpregs.c: Likewise.
- * td_thr_setgregs.c: Likewise.
-
-2001-03-20 Ulrich Drepper <drepper@redhat.com>
-
- * Makefile (libthread_db-routines): Add td_symbol_list.
- * Versions [libthread_db] (GLIBC_2.2.3): Add td_symbol_list.
- * td_symbol_list.c: New file.
- * thread_db.h: Add prototype for td_symbol_list.
- * thread_dbP.h: Define symbol name indices.
- Add prototype for td_lookup.
- * td_ta_event_addr.c: Use td_lookup instead of directly using
- ps_pglobal_lookup to find symbol address.
- * td_ta_get_nthreads.c: Likewise.
- * td_ta_new.c: Likewise.
-
-2001-03-18 Ulrich Drepper <drepper@redhat.com>
-
- * Makefile: When generating DSO link with libc_nonshared.a.
-
-2000-08-01 Andreas Jaeger <aj@suse.de>
-
- * Makefile (distribute): Add missing files.
-
-2000-04-24 Mark Kettenis <kettenis@gnu.org>
-
- * td_thr_get_info.c (td_thr_get_info): Set ti_state to
- TD_THR_ACTIVE instead of TD_THR_RUN. If the thread is no longer
- running but is still joinable, set it to TD_THR_ZOMBIE. Otherwise
- set it to TD_THR_UNKNOWN.
-
-2000-02-25 Andreas Jaeger <aj@suse.de>
-
- * td_ta_thr_iter.c: Include <alloca.h> for prototype declaration.
- * td_ta_tsd_iter.c: Likewise.
-
-2000-01-20 Andreas Jaeger <aj@suse.de>
-
- * td_thr_getgregs.c (td_thr_getgregs): Fix typo.
-
-2000-01-19 Ulrich Drepper <drepper@cygnus.com>
-
- * td_thr_getgregs.c: Correct size parameter of memset call.
-
-1999-12-02 Ulrich Drepper <drepper@cygnus.com>
-
- * proc_service.h: Fix typos in last added declaractions.
-
-1999-12-01 Ulrich Drepper <drepper@cygnus.com>
-
- * proc_service.h: Add ps_pstop, ps_pcontinue, ps_lstop, and
- ps_lcontinue prototypes.
-
-1999-11-23 Ulrich Drepper <drepper@cygnus.com>
-
- * Makefile: Correct dependency for shared object.
-
-1999-11-22 Ulrich Drepper <drepper@cygnus.com>
-
- * td_ta_map_lwp2thr.c: Add missing brace in comparison.
-
- * thread_dbP.h (LOG): Only print message if __td_debug is nonzero.
- * td_init.c: Add __td_debug.
-
-1999-11-12 Ulrich Drepper <drepper@cygnus.com>
-
- * td_ta_thr_iter.c: Start copying list of descriptors from right
- position in target process.
-
- * td_ta_thr_iter.c: Fix loop starting point over all but main and
- manager thread.
-
- * td_ta_thr_iter.c: Read descriptors for main and manager thread
- special since after this we can assume that no new threads will be
- created anymore (at least in the gdb implementation).
-
- * Makefile: Define version correctly.
-
-1999-11-10 Ulrich Drepper <drepper@cygnus.com>
-
- * td_ta_map_lwp2thr.c: If p_pid field is zero, this is before the
- thread library is initialized and we get the PID from the
- debugger.
-
-1999-11-08 Ulrich Drepper <drepper@cygnus.com>
-
- * td_thr_get_info.c: Make sure ti_lid is never zero.
-
- * proc_service.h: Add ps_getpid prototype.
-
-1999-11-03 Ulrich Drepper <drepper@cygnus.com>
-
- * thread_dbP.h (ta_ok): New function.
- * td_ta_new.c: Add new handle to list.
- * td_ta_delete.c: Remove handle from list.
- * td_ta_clear_event.c: Use ta_ok to check for correct ta parameter.
- * td_ta_enable_stats.c: Likewise.
- * td_ta_event_addr.c: Likewise.
- * td_ta_event_getmsg.c: Likewise.
- * td_ta_get_nthreads.c: Likewise.
- * td_ta_get_ph.c: Likewise.
- * td_ta_get_stats.c: Likewise.
- * td_ta_map_id2thr.c: Likewise.
- * td_ta_map_lwp2thr.c: Likewise.
- * td_ta_reset_stats.c: Likewise.
- * td_ta_set_event.c: Likewise.
- * td_ta_setconcurrency.c: Likewise.
- * td_ta_thr_iter.c: Likewise.
-
- * td_ta_tsd_iter.c: Optimize memory retrieving.
-
- * Versions: New file.
-
- * td_thr_get_info.c (td_thr_get_info): Initialize ti_traceme.
-
-1999-11-02 Ulrich Drepper <drepper@cygnus.com>
-
- * td_ta_thr_iter.c (td_ta_thr_iter): Optimize a bit. Read all
- handles at once.
-
- * thread_dbP.h (struct th_thragent): Add pthread_handle_num.
- * td_ta_new.c: Initialize pthread_handle_num.
- * td_ta_event_getmsg.c: If last event was already reported search
- for another unreported event.
-
- * td_thr_get_info.c (td_thr_get_info): Initialize ti_events.
-
- * Makefile (libthread_db-routines): Add td_ta_set_event,
- td_ta_event_getmsg, and td_ta_clear_event.
- * td_ta_clear_event.c: New file.
- * td_ta_event_getmsg.c: New file.
- * td_ta_new.c: Get address of __pthread_last_event in target.
- * td_ta_set_event.c: Don't overwrite old mask, set additional bits.
- * td_thr_set_event.c: Likewise.
- * td_thr_clear_event.c: Implement.
- * thread_db.h: Declare td_ta_clear_event and td_ta_event_getmsg.
- * thread_dbP.h (struct td_thragent): Add pthread_last_event.
-
- * td_ta_new.c: Don't test for __pthread_threads_debug. Get address
- of __pthread_threads_events and fail if this is not possible.
- * td_ta_event_addr.c: Implement.
- * td_thr_event_enable.c: Implement.
- * td_thr_event_getmsg.c: Implement.
- * td_thr_set_event.c: Implement.
- * td_ta_set_event.c: New file.
- * thread_db.h (td_eventbuf_t): Define.
- Declare td_ta_set_event.
- * thread_dbP.h (struct td_thragent): Add pthread_threads_eventsp.
-
- * td_thr_getfpregs.c: For terminated threads return empty structure.
- * td_thr_getgregs.c: Likewise.
- * td_thr_setfpregs.c: Likewise.
- * td_thr_setgregs.c: Likewise.
-
-1999-11-01 Ulrich Drepper <drepper@cygnus.com>
-
- * thread_db.h: Shuffle types around to make things work for gdb.
- * thread_dbP.h: Include proc_service.h before thread_db.h.
-
- * thread_db.h: It's TD_NOLIBTHREAD, not TD_LIBTHREAD.
- * td_ta_new.c: Likewise.
-
-1999-10-14 Ulrich Drepper <drepper@cygnus.com>
-
- * td_ta_new.c: p_startfct does not exist anymore.
-
- * td_thr_get_info.c: Always initialize start function.
-
- * td_ta_thr_iter.c: Don't return threads which exited (but are not
- joined).
-
- * td_thr_validate.c: Don't skip manager thread.
-
-1999-10-13 Ulrich Drepper <drepper@cygnus.com>
-
- * td_ta_thr_iter.c: Use size of descriptor from *TA.
- Don't return manager thread before it's actually running.
- Actually use state parameter to distingusih at least a few states.
-
- * td_thr_get_info.c: Handle manager thread special. Fill in ti_lid,
- ti_state, and ti_startfunc fields.
-
-1999-10-12 Andreas Jaeger <aj@suse.de>
-
- * thread_dbP.h: Include <string.h> for strlen declaration. Remove
- __libc_write prototype since this is already declared in
- linuxthreads/internals.h.
-
-1999-10-11 Ulrich Drepper <drepper@cygnus.com>
-
- * thread_db.h: Fix comment for ti_type.
-
- * td_thr_get_info.c: Initialize ti_type field.
-
- * td_ta_thr_iter.c: Also report the manager thread.
-
-1999-10-08 Andreas Jaeger <aj@suse.de>
-
- * thread_db.h: Fix typos in comments.
-
- * td_ta_get_nthreads.c (td_ta_get_nthreads): Don't hardcode
- libpthread library name, get it from <gnu/lib-names.h> instead.
- * td_ta_new.c (td_ta_new): Likewise.
-
-1999-10-08 Ulrich Drepper <drepper@cygnus.com>
-
- * shlib-versions: New file.
-
-1999-10-07 Ulrich Drepper <drepper@cygnus.com>
-
- * Makefile: New file.
- * proc_service.h: New file.
- * td_init.c: New file.
- * td_log.c: New file.
- * td_ta_delete.c: New file.
- * td_ta_enable_stats.c: New file.
- * td_ta_event_addr.c: New file.
- * td_ta_get_nthreads.c: New file.
- * td_ta_get_ph.c: New file.
- * td_ta_get_stats.c: New file.
- * td_ta_map_id2thr.c: New file.
- * td_ta_map_lwp2thr.c: New file.
- * td_ta_new.c: New file.
- * td_ta_reset_stats.c: New file.
- * td_ta_setconcurrency.c: New file.
- * td_ta_thr_iter.c: New file.
- * td_ta_tsd_iter.c: New file.
- * td_thr_clear_event.c: New file.
- * td_thr_dbresume.c: New file.
- * td_thr_dbsuspend.c: New file.
- * td_thr_event_enable.c: New file.
- * td_thr_event_getmsg.c: New file.
- * td_thr_get_info.c: New file.
- * td_thr_getfpregs.c: New file.
- * td_thr_getgregs.c: New file.
- * td_thr_getxregs.c: New file.
- * td_thr_getxregsize.c: New file.
- * td_thr_set_event.c: New file.
- * td_thr_setfpregs.c: New file.
- * td_thr_setgregs.c: New file.
- * td_thr_setprio.c: New file.
- * td_thr_setsigpending.c: New file.
- * td_thr_setxregs.c: New file.
- * td_thr_sigsetmask.c: New file.
- * td_thr_tsd.c: New file.
- * td_thr_validate.c: New file.
- * thread_db.h: New file.
- * thread_dbP.h: New file.
diff --git a/libpthread/linuxthreads_db/Makefile.in b/libpthread/linuxthreads_db/Makefile.in
index 52cc7c838..cf0ceb394 100644
--- a/libpthread/linuxthreads_db/Makefile.in
+++ b/libpthread/linuxthreads_db/Makefile.in
@@ -5,10 +5,10 @@
# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
#
-subdirs += libpthread/linuxthreads_db
+subdirs += libpthread/linuxthreads.old_db
# Get the thread include dependencies and shared object name
-CFLAGS-libpthread/linuxthreads_db := -DNOT_IN_libc -DLIBPTHREAD_SO="\"libpthread.so.$(ABI_VERSION)\""
+CFLAGS-libpthread/linuxthreads.old_db := -DNOT_IN_libc -DLIBPTHREAD_SO="\"libpthread.so.$(ABI_VERSION)\""
LDFLAGS-libthread_db.so := $(LDFLAGS_NOSTRIP) $(if $(call check_ld,--warn-unresolved-symbols),-Wl$(comma)--warn-unresolved-symbols)
ifeq ($(DOSTRIP),y)
@@ -19,8 +19,8 @@ LIBS-libthread_db.so := $(LIBS)
libthread_db_FULL_NAME := libthread_db-$(VERSION).so
-libthread_db_DIR := $(top_srcdir)libpthread/linuxthreads_db
-libthread_db_OUT := $(top_builddir)libpthread/linuxthreads_db
+libthread_db_DIR := $(top_srcdir)libpthread/linuxthreads.old_db
+libthread_db_OUT := $(top_builddir)libpthread/linuxthreads.old_db
libthread_db_SRC := $(wildcard $(libthread_db_DIR)/*.c)
@@ -68,11 +68,11 @@ linuxthreads_db_headers := $(top_builddir)include/thread_db.h
$(linuxthreads_db_headers): $(wildcard $(addprefix $(top_builddir)include/config/linuxthreads/,old.h new.h))
headers-$(PTHREADS_DEBUG_SUPPORT) += $(linuxthreads_db_headers)
-objclean-y += CLEAN_libpthread/linuxthreads_db
-headers_clean-y += HEADERCLEAN_libpthread/linuxthreads_db
+objclean-y += CLEAN_libpthread/linuxthreads.old_db
+headers_clean-y += HEADERCLEAN_libpthread/linuxthreads.old_db
-HEADERCLEAN_libpthread/linuxthreads_db:
+HEADERCLEAN_libpthread/linuxthreads.old_db:
$(do_rm) $(linuxthreads_db_headers)
-CLEAN_libpthread/linuxthreads_db:
+CLEAN_libpthread/linuxthreads.old_db:
$(do_rm) $(addprefix $(libthread_db_OUT)/*., o os oS a)
diff --git a/libpthread/linuxthreads_db/Makefile.old b/libpthread/linuxthreads_db/Makefile.old
deleted file mode 100644
index 014ddf835..000000000
--- a/libpthread/linuxthreads_db/Makefile.old
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-# This file is part of the GNU C Library.
-
-# The GNU C Library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-
-# The GNU C Library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-
-# You should have received a copy of the GNU Lesser General Public
-# License along with the GNU C Library; see the file COPYING.LIB. If
-# not, see <http://www.gnu.org/licenses/>.
-
-# Makefile for linuxthreads debug library subdirectory of GNU C Library.
-
-subdir := linuxthreads_db
-
-linuxthreads_db-version = 1.0
-
-extra-libs = libthread_db
-extra-libs-others := $(extra-libs)
-
-headers = thread_db.h
-libthread_db-routines = td_init td_log td_ta_delete td_ta_get_nthreads \
- td_ta_get_ph td_ta_map_id2thr td_ta_map_lwp2thr \
- td_ta_new td_ta_thr_iter td_ta_tsd_iter \
- td_thr_get_info td_thr_getfpregs td_thr_getgregs \
- td_thr_getxregs td_thr_getxregsize td_thr_setfpregs \
- td_thr_setgregs td_thr_setprio td_thr_setsigpending \
- td_thr_setxregs td_thr_sigsetmask td_thr_tsd \
- td_thr_validate td_thr_dbsuspend td_thr_dbresume \
- td_ta_setconcurrency td_ta_enable_stats \
- td_ta_reset_stats td_ta_get_stats td_ta_event_addr \
- td_thr_event_enable td_thr_set_event \
- td_thr_clear_event td_thr_event_getmsg \
- td_ta_set_event td_ta_event_getmsg \
- td_ta_clear_event td_symbol_list \
- td_thr_tlsbase td_thr_tls_get_addr
-
-libthread_db-inhibit-o = $(filter-out .os,$(object-suffixes))
-
-# The ps_* callback functions are not defined.
-libthread_db.so-no-z-defs = yes
-
-distribute = thread_dbP.h shlib-versions proc_service.h
-include ../Rules
-
-# Depend on libc.so so a DT_NEEDED is generated in the shared objects.
-# This ensures they will load libc.so for needed symbols if loaded by
-# a statically-linked program that hasn't already loaded it.
-$(objpfx)libthread_db.so: $(common-objpfx)libc.so \
- $(common-objpfx)libc_nonshared.a
diff --git a/libpthread/linuxthreads_db/shlib-versions b/libpthread/linuxthreads_db/shlib-versions
deleted file mode 100644
index 592f7fa28..000000000
--- a/libpthread/linuxthreads_db/shlib-versions
+++ /dev/null
@@ -1,2 +0,0 @@
-# The thread debug library
-.*-.*-linux.* libthread_db=1
diff --git a/libpthread/linuxthreads_db/td_init.c b/libpthread/linuxthreads_db/td_init.c
index 1edf53d3a..ecb0d3de2 100644
--- a/libpthread/linuxthreads_db/td_init.c
+++ b/libpthread/linuxthreads_db/td_init.c
@@ -1,5 +1,5 @@
/* Initialization function of thread debugger support library.
- Copyright (C) 1999, 2001, 2006 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2001 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999.
@@ -23,7 +23,6 @@
int __td_debug;
#endif
-
td_err_e
td_init (void)
{
diff --git a/libpthread/linuxthreads_db/td_ta_clear_event.c b/libpthread/linuxthreads_db/td_ta_clear_event.c
index d912e4478..e827b46ae 100644
--- a/libpthread/linuxthreads_db/td_ta_clear_event.c
+++ b/libpthread/linuxthreads_db/td_ta_clear_event.c
@@ -21,7 +21,7 @@
td_err_e
-td_ta_clear_event(const td_thragent_t *ta, td_thr_events_t *event)
+td_ta_clear_event(const td_thragent_t *ta,td_thr_events_t *event)
{
td_thr_events_t old_event;
int i;
diff --git a/libpthread/linuxthreads_db/td_ta_event_getmsg.c b/libpthread/linuxthreads_db/td_ta_event_getmsg.c
index c23d9264f..b7c2fcd72 100644
--- a/libpthread/linuxthreads_db/td_ta_event_getmsg.c
+++ b/libpthread/linuxthreads_db/td_ta_event_getmsg.c
@@ -21,7 +21,6 @@
#include <string.h>
#include "thread_dbP.h"
-#include <linuxthreads/internals.h>
td_err_e
diff --git a/libpthread/linuxthreads_db/td_ta_map_id2thr.c b/libpthread/linuxthreads_db/td_ta_map_id2thr.c
index a90286865..dc24533b8 100644
--- a/libpthread/linuxthreads_db/td_ta_map_id2thr.c
+++ b/libpthread/linuxthreads_db/td_ta_map_id2thr.c
@@ -18,7 +18,6 @@
<http://www.gnu.org/licenses/>. */
#include "thread_dbP.h"
-#include <linuxthreads/internals.h>
td_err_e
diff --git a/libpthread/linuxthreads_db/td_ta_map_lwp2thr.c b/libpthread/linuxthreads_db/td_ta_map_lwp2thr.c
index d8f2254fe..00efc43d6 100644
--- a/libpthread/linuxthreads_db/td_ta_map_lwp2thr.c
+++ b/libpthread/linuxthreads_db/td_ta_map_lwp2thr.c
@@ -18,7 +18,6 @@
<http://www.gnu.org/licenses/>. */
#include "thread_dbP.h"
-#include <linuxthreads/internals.h>
td_err_e
diff --git a/libpthread/linuxthreads_db/td_ta_set_event.c b/libpthread/linuxthreads_db/td_ta_set_event.c
index 25330b952..3a75e7b7f 100644
--- a/libpthread/linuxthreads_db/td_ta_set_event.c
+++ b/libpthread/linuxthreads_db/td_ta_set_event.c
@@ -21,7 +21,7 @@
td_err_e
-td_ta_set_event(const td_thragent_t *ta, td_thr_events_t *event)
+td_ta_set_event(const td_thragent_t *ta,td_thr_events_t *event)
{
td_thr_events_t old_event;
int i;
diff --git a/libpthread/linuxthreads_db/td_ta_thr_iter.c b/libpthread/linuxthreads_db/td_ta_thr_iter.c
index 35a2e7834..da230096f 100644
--- a/libpthread/linuxthreads_db/td_ta_thr_iter.c
+++ b/libpthread/linuxthreads_db/td_ta_thr_iter.c
@@ -18,7 +18,6 @@
<http://www.gnu.org/licenses/>. */
#include "thread_dbP.h"
-#include <linuxthreads/internals.h>
#include <alloca.h>
static int
@@ -39,9 +38,7 @@ handle_descr (const td_thragent_t *ta, td_thr_iter_f *callback,
memset (&pds, '\0', sizeof (pds));
/* Empty thread descriptor the thread library would create. */
-#if !defined __UCLIBC_HAS_TLS__ || !TLS_DTV_AT_TP
- pds.p_header.data.self = &pds;
-#endif
+ pds.p_self = &pds;
pds.p_nextlive = pds.p_prevlive = &pds;
pds.p_tid = PTHREAD_THREADS_MAX;
/* The init code also sets up p_lock, p_errnop, p_herrnop, and
diff --git a/libpthread/linuxthreads_db/td_ta_tsd_iter.c b/libpthread/linuxthreads_db/td_ta_tsd_iter.c
index eb428bf12..758222cd7 100644
--- a/libpthread/linuxthreads_db/td_ta_tsd_iter.c
+++ b/libpthread/linuxthreads_db/td_ta_tsd_iter.c
@@ -18,7 +18,6 @@
<http://www.gnu.org/licenses/>. */
#include "thread_dbP.h"
-#include <linuxthreads/internals.h>
#include <alloca.h>
td_err_e
diff --git a/libpthread/linuxthreads_db/td_thr_clear_event.c b/libpthread/linuxthreads_db/td_thr_clear_event.c
index 9674f9f0f..67a592a10 100644
--- a/libpthread/linuxthreads_db/td_thr_clear_event.c
+++ b/libpthread/linuxthreads_db/td_thr_clear_event.c
@@ -23,7 +23,7 @@
td_err_e
-td_thr_clear_event(const td_thrhandle_t *th, td_thr_events_t *event)
+td_thr_clear_event(const td_thrhandle_t *th,td_thr_events_t *event)
{
td_thr_events_t old_event;
int i;
diff --git a/libpthread/linuxthreads_db/td_thr_tls_get_addr.c b/libpthread/linuxthreads_db/td_thr_tls_get_addr.c
index 892acba6b..ac4d706c4 100644
--- a/libpthread/linuxthreads_db/td_thr_tls_get_addr.c
+++ b/libpthread/linuxthreads_db/td_thr_tls_get_addr.c
@@ -20,24 +20,48 @@
#include <link.h>
#include "thread_dbP.h"
+/* Value used for dtv entries for which the allocation is delayed. */
+# define TLS_DTV_UNALLOCATED ((void *) -1l)
+
+
td_err_e
td_thr_tls_get_addr (const td_thrhandle_t *th __attribute__ ((unused)),
void *map_address __attribute__ ((unused)),
size_t offset __attribute__ ((unused)),
void **address __attribute__ ((unused)))
{
-#ifdef __UCLIBC_HAS_TLS__
- /* Read the module ID from the link_map. */
+#if defined(USE_TLS) && USE_TLS
size_t modid;
+ union dtv pdtv, *dtvp;
+
+ LOG ("td_thr_tls_get_addr");
+
+ /* Get the DTV pointer from the thread descriptor. */
+ if (ps_pdread (th->th_ta_p->ph,
+ &((struct _pthread_descr_struct *) th->th_unique)->p_header.data.dtvp,
+ &dtvp, sizeof dtvp) != PS_OK)
+ return TD_ERR; /* XXX Other error value? */
+
+ /* Read the module ID from the link_map. */
if (ps_pdread (th->th_ta_p->ph,
&((struct link_map *) map_address)->l_tls_modid,
&modid, sizeof modid) != PS_OK)
return TD_ERR; /* XXX Other error value? */
- td_err_e result = td_thr_tlsbase (th, modid, address);
- if (result == TD_OK)
- *address += offset;
- return result;
+ /* Get the corresponding entry in the DTV. */
+ if (ps_pdread (th->th_ta_p->ph, dtvp + modid,
+ &pdtv, sizeof (union dtv)) != PS_OK)
+ return TD_ERR; /* XXX Other error value? */
+
+ /* It could be that the memory for this module is not allocated for
+ the given thread. */
+ if (pdtv.pointer == TLS_DTV_UNALLOCATED)
+ /* There is not much we can do. */
+ return TD_NOTALLOC;
+
+ *address = (char *) pdtv.pointer + offset;
+
+ return TD_OK;
#else
return TD_ERR;
#endif
diff --git a/libpthread/linuxthreads_db/td_thr_tlsbase.c b/libpthread/linuxthreads_db/td_thr_tlsbase.c
deleted file mode 100644
index ac86c42fe..000000000
--- a/libpthread/linuxthreads_db/td_thr_tlsbase.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/* Locate TLS data for a thread.
- Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "thread_dbP.h"
-
-/* Value used for dtv entries for which the allocation is delayed. */
-# define TLS_DTV_UNALLOCATED ((void *) -1l)
-
-td_err_e
-td_thr_tlsbase (const td_thrhandle_t *th,
- unsigned long int modid,
- psaddr_t *base)
-{
- if (modid < 1)
- return TD_NOTLS;
-
-#ifdef __UCLIBC_HAS_TLS__
- union dtv pdtv, *dtvp;
-
- LOG ("td_thr_tlsbase");
-
- psaddr_t dtvpp = th->th_unique;
-#if defined(TLS_TCB_AT_TP)
- dtvpp += offsetof (struct _pthread_descr_struct, p_header.data.dtvp);
-#elif defined(TLS_DTV_AT_TP)
-/* Special case hack. If TLS_TCB_SIZE == 0 (on PowerPC), there is no TCB
- containing the DTV at the TP, but actually the TCB lies behind the TP,
- i.e. at the very end of the area covered by TLS_PRE_TCB_SIZE. */
- dtvpp += TLS_PRE_TCB_SIZE + offsetof (tcbhead_t, dtv)
- - (TLS_TCB_SIZE == 0 ? sizeof (tcbhead_t) : 0);
-#else
-# error "Either TLS_TCB_AT_TP or TLS_DTV_AT_TP must be defined."
-#endif
-
- /* Get the DTV pointer from the thread descriptor. */
- if (ps_pdread (th->th_ta_p->ph, dtvpp, &dtvp, sizeof dtvp) != PS_OK)
- return TD_ERR; /* XXX Other error value? */
-
- /* Get the corresponding entry in the DTV. */
- if (ps_pdread (th->th_ta_p->ph, dtvp + modid,
- &pdtv, sizeof (union dtv)) != PS_OK)
- return TD_ERR; /* XXX Other error value? */
-
- /* It could be that the memory for this module is not allocated for
- the given thread. */
- if (pdtv.pointer.val == TLS_DTV_UNALLOCATED)
- return TD_TLSDEFER;
-
- *base = (char *) pdtv.pointer.val;
-
- return TD_OK;
-#else
- return TD_ERR;
-#endif
-}
diff --git a/libpthread/linuxthreads_db/td_thr_tsd.c b/libpthread/linuxthreads_db/td_thr_tsd.c
index 7b0db6b9d..f18832f46 100644
--- a/libpthread/linuxthreads_db/td_thr_tsd.c
+++ b/libpthread/linuxthreads_db/td_thr_tsd.c
@@ -18,7 +18,6 @@
<http://www.gnu.org/licenses/>. */
#include "thread_dbP.h"
-#include <linuxthreads/internals.h>
td_err_e
diff --git a/libpthread/linuxthreads_db/td_thr_validate.c b/libpthread/linuxthreads_db/td_thr_validate.c
index 5108ea97d..ca82637b9 100644
--- a/libpthread/linuxthreads_db/td_thr_validate.c
+++ b/libpthread/linuxthreads_db/td_thr_validate.c
@@ -18,7 +18,6 @@
<http://www.gnu.org/licenses/>. */
#include "thread_dbP.h"
-#include <linuxthreads/internals.h>
td_err_e
diff --git a/libpthread/linuxthreads_db/thread_dbP.h b/libpthread/linuxthreads_db/thread_dbP.h
index 407f30634..64fd2e511 100644
--- a/libpthread/linuxthreads_db/thread_dbP.h
+++ b/libpthread/linuxthreads_db/thread_dbP.h
@@ -6,7 +6,7 @@
#include <unistd.h>
#include "proc_service.h"
#include "thread_db.h"
-#include "../linuxthreads/descr.h"
+#include "internals.h"
/* Indices for the symbol names. */