Date: Sat, 18 Nov 2000 12:52:36 -0500 (EST) From: Daniel Eischen <eischen@vigrid.com> To: Andrew Gallatin <gallatin@cs.duke.edu> Cc: Rich Bud <rbud@fortean.com>, freebsd-alpha@FreeBSD.ORG, deischen@FreeBSD.ORG, obrien@FreeBSD.ORG, jasone@FreeBSD.ORG Subject: Re: pthread_create under stable Message-ID: <Pine.SUN.3.91.1001118124638.29370A-100000@pcnet1.pcnet.com> In-Reply-To: <14870.45447.43597.701639@grasshopper.cs.duke.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 18 Nov 2000, Andrew Gallatin wrote: > > I don't have a -stable alpha handy, but I think I'm seeing the same > problem under -current: > > Starting program: /usr/src/lib/libc_r/test/hello_d > > Program received signal SIGSEGV, Segmentation fault. > 0x1600c1ff0 in _thread_kern_scheduler () > at /usr/src/lib/libc_r/uthread/uthread_kern.c:177 > 177 if ((_thread_run->flags & PTHREAD_FLAGS_PRIVATE) == 0) This isn't really enough to go on... > I don't know enough about how to debug threads to be very helpful > here. I did notice one rather disturbing warning though: > > /usr/src/lib/libc_r/uthread/uthread_sig.c: In function `_thread_sig_wrapper': > /usr/src/lib/libc_r/uthread/uthread_sig.c:1003: warning: cast to pointer from integer of different size > > (*(sigfunc))(psf->signo, > (siginfo_t *)psf->siginfo.si_code, &psf->uc); > > si_code is a 32-bit int; you can't cast that to a 64-bit pointer on an > alpha and expect to have a useful pointer.. It's trying to call a traditional BSD style signal handler of the form: sighandler(int, int, struct sigcontext *) but there is no predefined prototype for this like there is for __sa_handler or __sa_sigaction. I guess we can add one or just omit the (siginfo_t *) typecast. -- Dan Eischen eischen@vigrid.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.SUN.3.91.1001118124638.29370A-100000>