Commit Graph

45 Commits

Author SHA1 Message Date
christos 46edb91e9f bump shared libraries. 2009-01-11 03:07:47 +00:00
ad 55faac1242 pthread_key_create: instead of using a simple 1/0 value to record a key
as allocated, use an array of pointers and save __builtin_return_address(0)
so keys can be identified when doing post-mortem debugging.
2008-03-07 22:27:07 +00:00
ad bc9419f99a Crank libpthread_dbg major. 2007-10-16 15:11:27 +00:00
ad 9472415c5e Remove stuff that is no longer useful. 2007-10-16 15:06:11 +00:00
skrll 9fdaf800d9 Merge nick-csl-alignment. 2007-09-10 11:34:05 +00:00
ad 71197327ee Catch up with libpthread changes. 2007-08-16 01:09:50 +00:00
ad 7bf06aa722 Make libpthread_dbg build again. 2007-08-04 18:54:12 +00:00
skrll 3d370a5b33 Remove more SA libpthread stuff. 2007-03-14 21:09:01 +00:00
ad de2138164c Remove the PTHREAD_SA option. If M:N threads is reimplemented it's
better off done with a seperate library.
2007-03-02 18:53:51 +00:00
ad a21c37097e Bump libpthread & libpthread_dbg minor versions so that an old SA copy
gets kept in the file system. Requested by pavel.
2007-02-09 23:00:16 +00:00
ad 401499f30e Sync with kernel changes introduced by merging the newlock2 branch. 2007-02-09 22:08:48 +00:00
ad d333bb5f2f Build without sys/sa.h present. 2007-02-06 15:24:37 +00:00
christos f1700f07c0 But turn on PTHREAD_SA, since turning it off does not work yet. 2006-12-24 03:54:43 +00:00
christos 34bc1fc940 just get this to compile again, so that people can build. 2006-12-24 03:47:53 +00:00
christos 06f18c1c0d XXX: GCC uninitialized variable. 2006-05-14 02:15:31 +00:00
mycroft 2b4ccae3e9 Remove pt_blockuc. If the debugger attempts to muck with the state of a
blocked thread, return an error; this should be done through ptrace(2).
2004-10-12 22:17:56 +00:00
chs 94a458cedd enhance MI pthreads code to support hppa:
- statically initialize all global spin locks.  on hppa, 0 means
   the lock is held, so leaving them with the default value doesn't work.
 - compare functions pointers using a function-pointer type rather than
   an integral type.  on hppa, function pointers may be indirect,
   so we need to trigger gcc to emit calls to the function-pointer
   canonicalization routines in the millicode.
 - on hppa the stack grows up, so handle that using the STACK_* macros.
2004-07-18 21:24:52 +00:00
nathanw 993713df32 Recognize thread objects in addr2sync. 2004-07-06 19:33:53 +00:00
nathanw 3a30736db7 td_sync_info(): explicitly clear the "locked" flag when unlocked,
instead of leaving it as garbage.
2004-07-01 18:59:52 +00:00
nathanw aaad58dd18 td_map_addr2sync(): recognize read-write lock objects. 2004-07-01 18:27:36 +00:00
scw 0f10094026 Cast integer to pointer types via intptr_t.
Problem reported by Havard Eidnes while building evbsh5.
2004-06-11 07:28:05 +00:00
martin 7347018381 Ouch. Lint didn't like the last change on sparc64. The reason:
<machine/reg.h> plays dirty naming tricks on sparc64 to allow 32bit
compatibility (reg ->  reg64 and the parameter in
PTHREAD_REG_TO_UCONTEXT() is called reg). This probably needs to be
fixed separately, but for now reordering the includes will do.
2004-06-10 18:06:19 +00:00
nathanw 41e871fe18 Avoid depending on declarations of struct reg and struct fpreg by using
the proc_regsize() callback to allocate reg and fpreg buffers as part of the
proc state (lazily initialized by the PT_STATE_RUNNING case of
td_thr_suspend()).

Fixes build on sh3 (and probably sh5) platforms.
2004-06-10 01:38:29 +00:00
nathanw 568717a98d Get the td_thread_t * corresponding to nthread to mess with its lwp
data, rather than trying a nonsensical operation on a caddr_t from a
different address space.

Moral: test-compile in the same tree you're working in.
2004-06-03 15:22:08 +00:00
nathanw 387534cc0a Update cached LWP values when suspending the running thread. 2004-06-03 00:31:28 +00:00
nathanw bff67c76fe Add an offset to the thread ID numbers, because GDB really doesn't
cope with "thread 0".
2004-06-03 00:20:24 +00:00
nathanw 9edc974b8c Add support for reporting and examining suspended threads. 2004-06-02 21:18:25 +00:00
nathanw 24ddb5f789 td_map_lwps(): there's always one lwp. This makes the call work before
the thread system has started.

Additionally, mark not-on-LWP threads explicitly, so that there's no
risk of using stale information.
2004-06-02 21:15:42 +00:00
nathanw 92733106a3 Add td_thr_suspend() and td_thr_resume(), to suspend and resume
threads from the context of a debugger.
2004-06-02 21:13:42 +00:00
cl e9598cefd0 Actually test pthread__dbg to check if another gdb is attached (and not
pthread__tsd_destructors whose address happens to be in addr).
2004-02-21 20:48:11 +00:00
nathanw 26ed28badd td_thr_getregs(): Return errors when the requested bit of register state
isn't in the ucontext.
td_thr_getregs(), td_thr_setregs(): Use "xreg" macros when defined.
2004-02-11 21:07:18 +00:00
nathanw 193a376007 Test pt_blockgen against pt_unblockgen, not against itself, to check
for blocked-in-kernel situations.
2004-02-03 20:26:16 +00:00
nathanw 0a6afcc70d Rename pt_stacksize, pt_stacksize_lg, and pt_stackmask to pthread_*. External
symbols can't start with pt_, as that is in the application namespace.
2004-02-02 20:36:18 +00:00
nathanw b2f27acb27 Do all the symbol lookups at td_open() time and cache them in the td_proc_st.
Make the stacksize lookups and data part of td_proc_st rather than global state.
2004-02-02 20:08:27 +00:00
cl 36ee225d9a catch up with block/unblock changes in libpthread 2003-12-31 16:46:34 +00:00
cl 828439fb74 Add td__getstacksize() to support variable stack sizes. 2003-11-27 16:32:09 +00:00
lukem f85d2d1c14 Use ${HOST_SH} instead of `sh'.
If necessary, pull in <bsd.sys.mk> to get the definition of HOST_SH;
Makefiles that pull in one of (most of) <bsd.*.mk> will get this anyway.
2003-10-26 07:25:33 +00:00
christos d217c83d02 add a cast to make lint happy. 2003-09-11 21:57:32 +00:00
nathanw d5ef0c1f39 Adapt to structure name changes. 2003-07-17 21:14:49 +00:00
nathanw 6a0c6dddb7 Preferentially read context pointer from pt_trapuc. 2003-06-26 21:51:59 +00:00
nathanw 64b72cb09f A couple of READ calls in td_sync_info() were reading into a
pthread_spin_t variable (4 bytes) but telling read that they were
reading sizeof(struct pthread_spinlock_st) (12 bytes). This led to
overwriting other things on the stack, like the return address. Oops.

Fix by changing READ call here (and elsewhere, for future safety) to:
  READ(,, &variable, sizeof(variable))
instead of
  READ(,, &variable, sizeof(type)).

Fixes a crash in gdb when running "thread examine all" reported by
Bill Studenmund.
2003-04-05 01:39:13 +00:00
lukem f043c0fb57 add __RCSID() 2003-03-08 08:03:34 +00:00
nathanw 0e0a0e7f51 Add hooks to read the application-assigned name of a thread. 2003-02-27 00:54:07 +00:00
christos 618d528679 de-lint 2003-01-18 19:10:41 +00:00
thorpej c62a74e6d5 Merge the nathanw_sa branch. 2003-01-18 10:32:11 +00:00