Module Name: src Committed By: christos Date: Sat Jan 23 14:02:22 UTC 2016
Modified Files: src/lib/libpthread_dbg: pthread_dbg.c pthread_dbg_int.h Log Message: don't use kernel types. To generate a diff of this commit: cvs rdiff -u -r1.43 -r1.44 src/lib/libpthread_dbg/pthread_dbg.c cvs rdiff -u -r1.7 -r1.8 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.43 src/lib/libpthread_dbg/pthread_dbg.c:1.44 --- src/lib/libpthread_dbg/pthread_dbg.c:1.43 Fri May 29 03:37:32 2015 +++ src/lib/libpthread_dbg/pthread_dbg.c Sat Jan 23 09:02:21 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: pthread_dbg.c,v 1.43 2015/05/29 07:37:32 manu Exp $ */ +/* $NetBSD: pthread_dbg.c,v 1.44 2016/01/23 14:02:21 christos Exp $ */ /*- * Copyright (c) 2002 Wasabi Systems, Inc. @@ -36,7 +36,7 @@ */ #include <sys/cdefs.h> -__RCSID("$NetBSD: pthread_dbg.c,v 1.43 2015/05/29 07:37:32 manu Exp $"); +__RCSID("$NetBSD: pthread_dbg.c,v 1.44 2016/01/23 14:02:21 christos Exp $"); #define __EXPOSE_STACK 1 @@ -59,6 +59,8 @@ __RCSID("$NetBSD: pthread_dbg.c,v 1.43 2 #include <pthread_dbg_int.h> #define PT_STACKMASK (proc->stackmask) +#define OFFSET(thread, field) \ + (((char *)(thread)->addr) + offsetof(struct __pthread_st, field)) /* Compensate for debuggers that want a zero ID to be a sentinel */ #define TN_OFFSET 1 @@ -216,9 +218,8 @@ td_thr_info(td_thread_t *thread, td_thre return TD_ERR_BADTHREAD; info->thread_addr = thread->addr; - if ((val = READ(thread->proc, - thread->addr + offsetof(struct __pthread_st, pt_state), - &tmp, sizeof(tmp))) != 0) + if ((val = READ(thread->proc, + OFFSET(thread, pt_state), &tmp, sizeof(tmp))) != 0) return val; switch (tmp) { case PT_STATE_RUNNING: @@ -238,18 +239,15 @@ td_thr_info(td_thread_t *thread, td_thre info->thread_type = TD_TYPE_USER; - if ((val = READ(thread->proc, - thread->addr + offsetof(struct __pthread_st, pt_stack), + if ((val = READ(thread->proc, OFFSET(thread, pt_stack), &info->thread_stack, sizeof(stack_t))) != 0) return val; - if ((val = READ(thread->proc, - thread->addr + offsetof(struct __pthread_st, pt_errno), + if ((val = READ(thread->proc, OFFSET(thread, pt_errno), &info->thread_errno, sizeof(info->thread_errno))) != 0) return val; - if ((val = READ(thread->proc, - thread->addr + offsetof(struct __pthread_st, pt_lid), + if ((val = READ(thread->proc, OFFSET(thread, pt_lid), &info->thread_id, sizeof(info->thread_id))) != 0) return val; @@ -272,8 +270,7 @@ td_thr_getname(td_thread_t *thread, char if (tmp != PT_MAGIC) return TD_ERR_BADTHREAD; - if ((val = READ(thread->proc, - thread->addr + offsetof(struct __pthread_st, pt_name), + if ((val = READ(thread->proc, OFFSET(thread, pt_name), &nameaddr, sizeof(nameaddr))) != 0) return val; @@ -291,9 +288,8 @@ td_thr_getregs(td_thread_t *thread, int { int tmp, val; - if ((val = READ(thread->proc, - thread->addr + offsetof(struct __pthread_st, pt_state), - &tmp, sizeof(tmp))) != 0) + if ((val = READ(thread->proc, OFFSET(thread, pt_state), + &tmp, sizeof(tmp))) != 0) return val; switch (tmp) { @@ -319,9 +315,8 @@ td_thr_setregs(td_thread_t *thread, int { int val, tmp; - if ((val = READ(thread->proc, - thread->addr + offsetof(struct __pthread_st, pt_state), - &tmp, sizeof(tmp))) != 0) + if ((val = READ(thread->proc, OFFSET(thread, pt_state), + &tmp, sizeof(tmp))) != 0) return val; switch (tmp) { @@ -378,8 +373,7 @@ td_map_id2thr(td_proc_t *proc, int threa threadid -= TN_OFFSET; next = (void *)allq.ptqh_first; while (next != NULL) { - val = READ(proc, - next + offsetof(struct __pthread_st, pt_lid), + val = READ(proc, next + offsetof(struct __pthread_st, pt_lid), &num, sizeof(num)); if (num == threadid) @@ -453,9 +447,7 @@ td_thr_suspend(td_thread_t *thread) if (tmp != PT_MAGIC) return TD_ERR_BADTHREAD; - val = READ(thread->proc, thread->addr + - offsetof(struct __pthread_st, pt_lid), - &tmp, sizeof(tmp)); + val = READ(thread->proc, OFFSET(thread, pt_lid), &tmp, sizeof(tmp)); if (val != 0) return val; @@ -477,9 +469,7 @@ td_thr_resume(td_thread_t *thread) if (tmp != PT_MAGIC) return TD_ERR_BADTHREAD; - val = READ(thread->proc, thread->addr + - offsetof(struct __pthread_st, pt_lid), - &tmp, sizeof(tmp)); + val = READ(thread->proc, OFFSET(thread, pt_lid), &tmp, sizeof(tmp)); if (val != 0) return val; @@ -522,8 +512,7 @@ td_thr_tsd(td_thread_t *thread, pthread_ { int val; - val = READ(thread->proc, thread->addr + - offsetof(struct __pthread_st, pt_specific) + + val = READ(thread->proc, OFFSET(thread, pt_specific) + key * sizeof(void *), value, sizeof(*value)); return val; Index: src/lib/libpthread_dbg/pthread_dbg_int.h diff -u src/lib/libpthread_dbg/pthread_dbg_int.h:1.7 src/lib/libpthread_dbg/pthread_dbg_int.h:1.8 --- src/lib/libpthread_dbg/pthread_dbg_int.h:1.7 Sun Jan 20 13:18:07 2013 +++ src/lib/libpthread_dbg/pthread_dbg_int.h Sat Jan 23 09:02:21 2016 @@ -6,19 +6,19 @@ struct td_proc_st { struct td_proc_callbacks_t *cb; void *arg; - caddr_t dbgaddr; - caddr_t allqaddr; - caddr_t runqaddr; - caddr_t idleqaddr; - caddr_t suspqaddr; - caddr_t maxlwpsaddr; - caddr_t tsdlistaddr; - caddr_t tsddestaddr; + void *dbgaddr; + void *allqaddr; + void *runqaddr; + void *idleqaddr; + void *suspqaddr; + void *maxlwpsaddr; + void *tsdlistaddr; + void *tsddestaddr; - caddr_t stacksizeaddr; + void *stacksizeaddr; int stacksizelg; size_t stacksize; - vaddr_t stackmask; + uintptr_t stackmask; struct reg *regbuf; struct fpreg *fpregbuf; @@ -28,7 +28,7 @@ struct td_proc_st { struct td_thread_st { td_proc_t *proc; - caddr_t addr; + void *addr; lwpid_t lwp; PTQ_ENTRY(td_thread_st) list; }; @@ -36,7 +36,7 @@ struct td_thread_st { struct td_sync_st { td_proc_t *proc; - caddr_t addr; + void *addr; PTQ_ENTRY(td_sync_st) list; };