I just committed this fix; powerpc stacks are a bit weird in that they need access above to stack pointer; while the stack grows down. With the more strict mmap()ed stacks that kurt@ committed recently, this got broken.
-Otto Index: uthread_machdep.c =================================================================== RCS file: /cvs/src/lib/libpthread/arch/powerpc/uthread_machdep.c,v retrieving revision 1.4 diff -u -p -r1.4 uthread_machdep.c --- uthread_machdep.c 27 Jan 2003 21:45:24 -0000 1.4 +++ uthread_machdep.c 29 Sep 2006 14:33:06 -0000 @@ -33,7 +33,7 @@ _thread_machdep_init(statep, base, len, struct frame *f; /* Locate the initial frame, aligned at the top of the stack */ - f = (struct frame *)(((int)base + len - sizeof *f) & ~ALIGNBYTES); + f = (struct frame *)(((int)base - 16 + len - sizeof *f) & ~ALIGNBYTES); f->r1 = (int)&f->next_r1; f->reserved = 0;