Module Name: src
Committed By: christos
Date: Sun Jan 20 18:18:07 UTC 2013
Modified Files:
src/lib/libpthread_dbg: pthread_dbg.c pthread_dbg_int.h
Log Message:
tsd_alloc is no more, use tsd_list, and disable the destructor walking code
since it needs work. Fixes gdb.
To generate a diff of this commit:
cvs rdiff -u -r1.40 -r1.41 src/lib/libpthread_dbg/pthread_dbg.c
cvs rdiff -u -r1.6 -r1.7 src/lib/libpthread_dbg/pthread_dbg_int.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/lib/libpthread_dbg/pthread_dbg.c
diff -u src/lib/libpthread_dbg/pthread_dbg.c:1.40 src/lib/libpthread_dbg/pthread_dbg.c:1.41
--- src/lib/libpthread_dbg/pthread_dbg.c:1.40 Fri Mar 7 17:27:07 2008
+++ src/lib/libpthread_dbg/pthread_dbg.c Sun Jan 20 13:18:07 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: pthread_dbg.c,v 1.40 2008/03/07 22:27:07 ad Exp $ */
+/* $NetBSD: pthread_dbg.c,v 1.41 2013/01/20 18:18:07 christos Exp $ */
/*-
* Copyright (c) 2002 Wasabi Systems, Inc.
@@ -36,7 +36,7 @@
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: pthread_dbg.c,v 1.40 2008/03/07 22:27:07 ad Exp $");
+__RCSID("$NetBSD: pthread_dbg.c,v 1.41 2013/01/20 18:18:07 christos Exp $");
#define __EXPOSE_STACK 1
@@ -95,13 +95,13 @@ td_open(struct td_proc_callbacks_t *cb,
}
proc->allqaddr = addr;
- val = LOOKUP(proc, "pthread__tsd_alloc", &addr);
+ val = LOOKUP(proc, "pthread__tsd_list", &addr);
if (val != 0) {
if (val == TD_ERR_NOSYM)
val = TD_ERR_NOLIB;
goto error;
}
- proc->tsdallocaddr = addr;
+ proc->tsdlistaddr = addr;
val = LOOKUP(proc, "pthread__tsd_destructors", &addr);
if (val != 0) {
@@ -418,13 +418,14 @@ int
td_tsd_iter(td_proc_t *proc,
int (*call)(pthread_key_t, void (*)(void *), void *), void *arg)
{
+#ifdef notyet
int val;
int i;
void *allocated;
void (*destructor)(void *);
for (i = 0; i < PTHREAD_KEYS_MAX; i++) {
- val = READ(proc, proc->tsdallocaddr + i * sizeof(allocated),
+ val = READ(proc, proc->tsdlistaddr + i * sizeof(allocated),
&allocated, sizeof(allocated));
if (val != 0)
return val;
@@ -441,6 +442,9 @@ td_tsd_iter(td_proc_t *proc,
return val;
}
}
+#else
+ abort();
+#endif
return 0;
}
Index: src/lib/libpthread_dbg/pthread_dbg_int.h
diff -u src/lib/libpthread_dbg/pthread_dbg_int.h:1.6 src/lib/libpthread_dbg/pthread_dbg_int.h:1.7
--- src/lib/libpthread_dbg/pthread_dbg_int.h:1.6 Tue Oct 16 11:06:11 2007
+++ src/lib/libpthread_dbg/pthread_dbg_int.h Sun Jan 20 13:18:07 2013
@@ -12,7 +12,7 @@ struct td_proc_st {
caddr_t idleqaddr;
caddr_t suspqaddr;
caddr_t maxlwpsaddr;
- caddr_t tsdallocaddr;
+ caddr_t tsdlistaddr;
caddr_t tsddestaddr;
caddr_t stacksizeaddr;