diff options
Diffstat (limited to 'libpthread/linuxthreads.old_db')
19 files changed, 86 insertions, 60 deletions
diff --git a/libpthread/linuxthreads.old_db/Makefile b/libpthread/linuxthreads.old_db/Makefile index f92f205a5..f9100219a 100644 --- a/libpthread/linuxthreads.old_db/Makefile +++ b/libpthread/linuxthreads.old_db/Makefile @@ -5,9 +5,7 @@ # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. # -TOPDIR=../../ - -top_srcdir=$(TOPDIR) +top_srcdir=../../ top_builddir=../../ include $(top_builddir)Rules.mak all: libs diff --git a/libpthread/linuxthreads.old_db/Makefile.in b/libpthread/linuxthreads.old_db/Makefile.in index 0e29c7c18..bad600d89 100644 --- a/libpthread/linuxthreads.old_db/Makefile.in +++ b/libpthread/linuxthreads.old_db/Makefile.in @@ -5,39 +5,60 @@ # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. # -#CFLAGS+=$(SSP_ALL_CFLAGS) - -PT_MAJOR_VERSION:=$(MAJOR_VERSION) # Get the thread include dependencies and shared object name -CFLAGS+=-DLIBPTHREAD_SO="\"libpthread.so.$(PT_MAJOR_VERSION)\"" +CFLAGS-linuxthreads.old_db := -DLIBPTHREAD_SO="\"libpthread.so.$(MAJOR_VERSION)\"" -# Remove any -z defs since this lib will have undefined symbols -LDFLAGS:=$(subst -z defs,,$(LDFLAGS)) --warn-unresolved-symbols +LDFLAGS-libthread_db.so := $(LDFLAGS_NOSTRIP) -s --warn-unresolved-symbols -ifeq ($(PTHREADS_DEBUG_SUPPORT),y) -STRIP_FLAGS:=-X --strip-debug -R .note -R .comment -endif +LIBS-libthread_db.so := $(LIBS) -DOMULTI=n +libthread_db_FULL_NAME := libthread_db-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so -LIB_NAME:=libthread_db -libthread_db_FULL_NAME:=$(LIB_NAME)-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so +libthread_db_DIR := $(top_srcdir)libpthread/linuxthreads.old_db +libthread_db_OUT := $(top_builddir)libpthread/linuxthreads.old_db -MAJOR_VERSION:=1 +libthread_db_SRC := $(wildcard $(libthread_db_DIR)/*.c) -libthread_db_DIR:=$(top_srcdir)libpthread/linuxthreads.old_db -libthread_db_OUT:=$(top_builddir)libpthread/linuxthreads.old_db +libthread_db_OBJ := $(patsubst $(libthread_db_DIR)/%.c,$(libthread_db_OUT)/%.o,$(libthread_db_SRC)) + +ifeq ($(DOPIC),y) +libthread_db-a-y := $(libthread_db_OBJ:.o=.os) +else +libthread_db-a-y := $(libthread_db_OBJ) +endif +libthread_db-so-y := $(libthread_db_OBJ:.o=.os) -libthread_db_SRC:=$(wildcard $(libthread_db_DIR)/*.c) +libthread_db-multi-y := $(libthread_db_SRC) + +lib-a-$(PTHREADS_DEBUG_SUPPORT) += $(top_builddir)lib/libthread_db.a +lib-so-$(PTHREADS_DEBUG_SUPPORT) += $(top_builddir)lib/libthread_db.so +objclean-y += libthread_db_clean +headers-$(PTHREADS_DEBUG_SUPPORT) += linuxthreads_db_headers +headers_clean-y += linuxthreads_db_headers_clean + +ifeq ($(DOPIC),y) +$(top_builddir)lib/libthread_db.so: $(top_builddir)lib/libthread_db.a $(libc) +else +$(top_builddir)lib/libthread_db.so: $(libthread_db_OUT)/libthread_db_so.a $(libc) +endif + $(call link.so,$(libthread_db_FULL_NAME),1) -libthread_db_OBJ:=$(patsubst $(libthread_db_DIR)/%.c,$(libthread_db_OUT)/%.o,$(libthread_db_SRC)) +$(libthread_db_OUT)/libthread_db_so.a: $(libthread_db-so-y) + $(Q)$(RM) $@ + $(do_strip) + $(do_ar) -libthread_db-a-$(PTHREADS_DEBUG_SUPPORT)+=$(libthread_db_OBJ) -libthread_db-so-$(PTHREADS_DEBUG_SUPPORT)+=$(libthread_db_OBJ:.o=.os) +$(top_builddir)lib/libthread_db.a: $(libthread_db-a-y) + $(Q)$(INSTALL) -d $(dir $@) + $(Q)$(RM) $@ + $(do_strip) + $(do_ar) -libthread_db-multi-$(PTHREADS_DEBUG_SUPPORT)+=$(libthread_db_SRC) +linuxthreads_db_headers: + $(LN) -sf ../$(PTDIR)_db/thread_db.h $(top_builddir)include/ -objclean-y+=libthread_db_clean +linuxthreads_db_headers_clean: + $(RM) $(top_builddir)include/thread_db.h -lib-a-$(PTHREADS_DEBUG_SUPPORT)+=$(top_builddir)lib/libthread_db.a -lib-so-$(PTHREADS_DEBUG_SUPPORT)+=$(top_builddir)lib/libthread_db.so +libthread_db_clean: + $(RM) $(libthread_db_OUT)/*.{o,os,a} diff --git a/libpthread/linuxthreads.old_db/Versions b/libpthread/linuxthreads.old_db/Versions index 4ca8042c1..063493c67 100644 --- a/libpthread/linuxthreads.old_db/Versions +++ b/libpthread/linuxthreads.old_db/Versions @@ -18,4 +18,7 @@ libthread_db { GLIBC_2.3 { td_thr_tls_get_addr; } + GLIBC_2.3.3 { + td_thr_tlsbase; + } } diff --git a/libpthread/linuxthreads.old_db/td_symbol_list.c b/libpthread/linuxthreads.old_db/td_symbol_list.c index 779332b9d..599c04596 100644 --- a/libpthread/linuxthreads.old_db/td_symbol_list.c +++ b/libpthread/linuxthreads.old_db/td_symbol_list.c @@ -1,5 +1,5 @@ /* Return list of symbols the library can request. - Copyright (C) 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 2001. @@ -21,6 +21,11 @@ #include <assert.h> #include "thread_dbP.h" +#ifdef HAVE_ASM_GLOBAL_DOT_NAME +# define DOT "." /* PPC64 requires . prefix on code symbols. */ +#else +# define DOT /* No prefix. */ +#endif static const char *symbol_list_arr[] = { @@ -32,9 +37,9 @@ static const char *symbol_list_arr[] = [LINUXTHREADS_PTHREAD_THREADS_MAX] = "__linuxthreads_pthread_threads_max", [LINUXTHREADS_PTHREAD_KEYS_MAX] = "__linuxthreads_pthread_keys_max", [LINUXTHREADS_PTHREAD_SIZEOF_DESCR] = "__linuxthreads_pthread_sizeof_descr", - [LINUXTHREADS_CREATE_EVENT] = "__linuxthreads_create_event", - [LINUXTHREADS_DEATH_EVENT] = "__linuxthreads_death_event", - [LINUXTHREADS_REAP_EVENT] = "__linuxthreads_reap_event", + [LINUXTHREADS_CREATE_EVENT] = DOT "__linuxthreads_create_event", + [LINUXTHREADS_DEATH_EVENT] = DOT "__linuxthreads_death_event", + [LINUXTHREADS_REAP_EVENT] = DOT "__linuxthreads_reap_event", [LINUXTHREADS_INITIAL_REPORT_EVENTS] = "__linuxthreads_initial_report_events", [LINUXTHREADS_VERSION] = "__linuxthreads_version", [NUM_MESSAGES] = NULL diff --git a/libpthread/linuxthreads.old_db/td_ta_clear_event.c b/libpthread/linuxthreads.old_db/td_ta_clear_event.c index bdbcf47aa..cbb7ddc97 100644 --- a/libpthread/linuxthreads.old_db/td_ta_clear_event.c +++ b/libpthread/linuxthreads.old_db/td_ta_clear_event.c @@ -1,5 +1,5 @@ /* Globally disable events. - Copyright (C) 1999, 2001 Free Software Foundation, Inc. + Copyright (C) 1999, 2001, 2005 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. @@ -37,7 +37,7 @@ td_ta_clear_event (ta, event) /* Write the new value into the thread data structure. */ if (ps_pdread (ta->ph, ta->pthread_threads_eventsp, - &old_event, sizeof (td_thrhandle_t)) != PS_OK) + &old_event, sizeof (td_thr_events_t)) != PS_OK) return TD_ERR; /* XXX Other error value? */ /* Remove the set bits in. */ @@ -46,7 +46,7 @@ td_ta_clear_event (ta, event) /* Write the new value into the thread data structure. */ if (ps_pdwrite (ta->ph, ta->pthread_threads_eventsp, - &old_event, sizeof (td_thrhandle_t)) != PS_OK) + &old_event, sizeof (td_thr_events_t)) != PS_OK) return TD_ERR; /* XXX Other error value? */ return TD_OK; diff --git a/libpthread/linuxthreads.old_db/td_ta_event_getmsg.c b/libpthread/linuxthreads.old_db/td_ta_event_getmsg.c index c004a5b79..ba535da79 100644 --- a/libpthread/linuxthreads.old_db/td_ta_event_getmsg.c +++ b/libpthread/linuxthreads.old_db/td_ta_event_getmsg.c @@ -22,7 +22,6 @@ #include <string.h> #include "thread_dbP.h" -#include "../linuxthreads.old/internals.h" td_err_e diff --git a/libpthread/linuxthreads.old_db/td_ta_map_id2thr.c b/libpthread/linuxthreads.old_db/td_ta_map_id2thr.c index 30f272af6..c57f25a5a 100644 --- a/libpthread/linuxthreads.old_db/td_ta_map_id2thr.c +++ b/libpthread/linuxthreads.old_db/td_ta_map_id2thr.c @@ -19,7 +19,6 @@ 02111-1307 USA. */ #include "thread_dbP.h" -#include "../linuxthreads.old/internals.h" td_err_e diff --git a/libpthread/linuxthreads.old_db/td_ta_map_lwp2thr.c b/libpthread/linuxthreads.old_db/td_ta_map_lwp2thr.c index 5bdf970e4..2be1e3de5 100644 --- a/libpthread/linuxthreads.old_db/td_ta_map_lwp2thr.c +++ b/libpthread/linuxthreads.old_db/td_ta_map_lwp2thr.c @@ -19,7 +19,6 @@ 02111-1307 USA. */ #include "thread_dbP.h" -#include "../linuxthreads.old/internals.h" td_err_e diff --git a/libpthread/linuxthreads.old_db/td_ta_new.c b/libpthread/linuxthreads.old_db/td_ta_new.c index 9bf926719..2b0b68bf0 100644 --- a/libpthread/linuxthreads.old_db/td_ta_new.c +++ b/libpthread/linuxthreads.old_db/td_ta_new.c @@ -1,5 +1,5 @@ /* Attach to target process. - Copyright (C) 1999, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1999, 2001, 2002, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. @@ -128,8 +128,7 @@ td_ta_new (struct ps_prochandle *ps, td_thragent_t **ta) goto free_return; /* Don't let bogons in the inferior make us mess ourselves. */ if ((*ta)->sizeof_descr > sizeof (struct _pthread_descr_struct)) - (*ta)->sizeof_descr = sizeof (struct _pthread_descr_struct); - + (*ta)->sizeof_descr = sizeof (struct _pthread_descr_struct); } /* Now add the new agent descriptor to the list. */ diff --git a/libpthread/linuxthreads.old_db/td_ta_set_event.c b/libpthread/linuxthreads.old_db/td_ta_set_event.c index 73cf9f405..6edb38e57 100644 --- a/libpthread/linuxthreads.old_db/td_ta_set_event.c +++ b/libpthread/linuxthreads.old_db/td_ta_set_event.c @@ -1,5 +1,5 @@ /* Globally enable events. - Copyright (C) 1999, 2001 Free Software Foundation, Inc. + Copyright (C) 1999, 2001, 2005 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. @@ -37,7 +37,7 @@ td_ta_set_event (ta, event) /* Write the new value into the thread data structure. */ if (ps_pdread (ta->ph, ta->pthread_threads_eventsp, - &old_event, sizeof (td_thrhandle_t)) != PS_OK) + &old_event, sizeof (td_thr_events_t)) != PS_OK) return TD_ERR; /* XXX Other error value? */ /* Or the new bits in. */ @@ -46,7 +46,7 @@ td_ta_set_event (ta, event) /* Write the new value into the thread data structure. */ if (ps_pdwrite (ta->ph, ta->pthread_threads_eventsp, - &old_event, sizeof (td_thrhandle_t)) != PS_OK) + &old_event, sizeof (td_thr_events_t)) != PS_OK) return TD_ERR; /* XXX Other error value? */ return TD_OK; diff --git a/libpthread/linuxthreads.old_db/td_ta_thr_iter.c b/libpthread/linuxthreads.old_db/td_ta_thr_iter.c index 6cc4bf7c1..771a12de4 100644 --- a/libpthread/linuxthreads.old_db/td_ta_thr_iter.c +++ b/libpthread/linuxthreads.old_db/td_ta_thr_iter.c @@ -1,5 +1,5 @@ /* Iterate over a process's threads. - Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1999,2000,2001,2002,2003 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. @@ -19,7 +19,6 @@ 02111-1307 USA. */ #include "thread_dbP.h" -#include "../linuxthreads.old/internals.h" #include <alloca.h> static int diff --git a/libpthread/linuxthreads.old_db/td_ta_tsd_iter.c b/libpthread/linuxthreads.old_db/td_ta_tsd_iter.c index f15b45003..7ad98dd91 100644 --- a/libpthread/linuxthreads.old_db/td_ta_tsd_iter.c +++ b/libpthread/linuxthreads.old_db/td_ta_tsd_iter.c @@ -19,7 +19,6 @@ 02111-1307 USA. */ #include "thread_dbP.h" -#include "../linuxthreads.old/internals.h" #include <alloca.h> td_err_e diff --git a/libpthread/linuxthreads.old_db/td_thr_clear_event.c b/libpthread/linuxthreads.old_db/td_thr_clear_event.c index c027fc09f..147d18037 100644 --- a/libpthread/linuxthreads.old_db/td_thr_clear_event.c +++ b/libpthread/linuxthreads.old_db/td_thr_clear_event.c @@ -1,5 +1,5 @@ /* Disable specific event for thread. - Copyright (C) 1999, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1999, 2001, 2002, 2005 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. @@ -43,7 +43,7 @@ td_thr_clear_event (th, event) ((char *) th->th_unique + offsetof (struct _pthread_descr_struct, p_eventbuf.eventmask)), - &old_event, sizeof (td_thrhandle_t)) != PS_OK) + &old_event, sizeof (td_thr_events_t)) != PS_OK) return TD_ERR; /* XXX Other error value? */ /* Remove the set bits in. */ @@ -55,7 +55,7 @@ td_thr_clear_event (th, event) ((char *) th->th_unique + offsetof (struct _pthread_descr_struct, p_eventbuf.eventmask)), - &old_event, sizeof (td_thrhandle_t)) != PS_OK) + &old_event, sizeof (td_thr_events_t)) != PS_OK) return TD_ERR; /* XXX Other error value? */ return TD_OK; diff --git a/libpthread/linuxthreads.old_db/td_thr_set_event.c b/libpthread/linuxthreads.old_db/td_thr_set_event.c index 205b445c7..1e1def511 100644 --- a/libpthread/linuxthreads.old_db/td_thr_set_event.c +++ b/libpthread/linuxthreads.old_db/td_thr_set_event.c @@ -1,5 +1,5 @@ /* Enable specific event for thread. - Copyright (C) 1999, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1999, 2001, 2002, 2005 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. @@ -43,7 +43,7 @@ td_thr_set_event (th, event) ((char *) th->th_unique + offsetof (struct _pthread_descr_struct, p_eventbuf.eventmask)), - &old_event, sizeof (td_thrhandle_t)) != PS_OK) + &old_event, sizeof (td_thr_events_t)) != PS_OK) return TD_ERR; /* XXX Other error value? */ /* Or the new bits in. */ @@ -55,7 +55,7 @@ td_thr_set_event (th, event) ((char *) th->th_unique + offsetof (struct _pthread_descr_struct, p_eventbuf.eventmask)), - &old_event, sizeof (td_thrhandle_t)) != PS_OK) + &old_event, sizeof (td_thr_events_t)) != PS_OK) return TD_ERR; /* XXX Other error value? */ return TD_OK; diff --git a/libpthread/linuxthreads.old_db/td_thr_tls_get_addr.c b/libpthread/linuxthreads.old_db/td_thr_tls_get_addr.c index e140b77dc..a28b07450 100644 --- a/libpthread/linuxthreads.old_db/td_thr_tls_get_addr.c +++ b/libpthread/linuxthreads.old_db/td_thr_tls_get_addr.c @@ -1,5 +1,5 @@ /* Get address of thread local variable. - Copyright (C) 2002 Free Software Foundation, Inc. + Copyright (C) 2002,2003 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 2002. @@ -18,8 +18,7 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ - -#include "link.h" +#include <link.h> #include "thread_dbP.h" /* Value used for dtv entries for which the allocation is delayed. */ diff --git a/libpthread/linuxthreads.old_db/td_thr_tsd.c b/libpthread/linuxthreads.old_db/td_thr_tsd.c index 003ed95fe..2ab71c588 100644 --- a/libpthread/linuxthreads.old_db/td_thr_tsd.c +++ b/libpthread/linuxthreads.old_db/td_thr_tsd.c @@ -19,7 +19,6 @@ 02111-1307 USA. */ #include "thread_dbP.h" -#include "../linuxthreads.old/internals.h" td_err_e diff --git a/libpthread/linuxthreads.old_db/td_thr_validate.c b/libpthread/linuxthreads.old_db/td_thr_validate.c index 31169ef60..2cf7727b6 100644 --- a/libpthread/linuxthreads.old_db/td_thr_validate.c +++ b/libpthread/linuxthreads.old_db/td_thr_validate.c @@ -19,7 +19,6 @@ 02111-1307 USA. */ #include "thread_dbP.h" -#include "../linuxthreads.old/internals.h" td_err_e diff --git a/libpthread/linuxthreads.old_db/thread_db.h b/libpthread/linuxthreads.old_db/thread_db.h index f0d9aa7c3..c115399a3 100644 --- a/libpthread/linuxthreads.old_db/thread_db.h +++ b/libpthread/linuxthreads.old_db/thread_db.h @@ -1,4 +1,5 @@ -/* Copyright (C) 1999, 2001, 2002 Free Software Foundation, Inc. +/* thread_db.h -- interface to libthread_db.so library for debugging -lpthread + Copyright (C) 1999,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 @@ -52,8 +53,10 @@ typedef enum TD_MALLOC, /* Out of memory. */ TD_PARTIALREG, /* Not entire register set was read or written. */ TD_NOXREGS, /* X register set not available for given thread. */ - TD_NOTALLOC, /* TLS memory not yet allocated. */ - TD_VERSION /* Version if libpthread and libthread_db do not match. */ + TD_TLSDEFER, /* Thread has not yet allocated TLS for given module. */ + TD_NOTALLOC = TD_TLSDEFER, + TD_VERSION, /* Version if libpthread and libthread_db do not match. */ + TD_NOTLS /* There is TLS segment in the given module. */ } td_err_e; @@ -402,6 +405,11 @@ extern td_err_e td_thr_setxregs (const td_thrhandle_t *__th, const void *__addr); +/* Get address of the given module's TLS storage area for the given thread. */ +extern td_err_e td_thr_tlsbase (const td_thrhandle_t *__th, + unsigned long int __modid, + psaddr_t *__base); + /* Get address of thread local variable. */ extern td_err_e td_thr_tls_get_addr (const td_thrhandle_t *__th, void *__map_address, size_t __offset, diff --git a/libpthread/linuxthreads.old_db/thread_dbP.h b/libpthread/linuxthreads.old_db/thread_dbP.h index a979a44a9..257beb2e9 100644 --- a/libpthread/linuxthreads.old_db/thread_dbP.h +++ b/libpthread/linuxthreads.old_db/thread_dbP.h @@ -8,7 +8,7 @@ #include <unistd.h> #include "proc_service.h" #include "thread_db.h" -#include "../linuxthreads.old/internals.h" +#include "internals.h" /* Indeces for the symbol names. */ |