Neil Jerram [2006-03-11, 18:43:17]: > steven mestdagh <[EMAIL PROTECTED]> writes: > > > Neil Jerram [2006-03-10, 22:41:16]: > >> > >> OK, so it's HAVE_LIBC_STACK_END that is not defined, then? When this > >> is the case, 1.8 leaves scm_init_guile undefined, whereas 1.6 would > >> use the vast pile of magic in gc_os_dep.c. > > > > indeed this is a function we do not have. > > Would you mind trying the program below on your system? It may be > that on OpenBSD the pthread approach works for the main thread, and so > HAVE_LIBC_STACK_END isn't needed anyway.
$ cc -pthread -o pthrt pthrt.c -lpthread /tmp//ccd14895.o(.text+0x2c): In function `main': : undefined reference to `pthread_getattr_np' I don't really know much about threaded stuff, but you might want to check the man pages for OpenBSD's pthreads library: http://www.openbsd.org/cgi-bin/man.cgi?query=pthreads > > (And interestingly, this program says that __libc_stack_end isn't > needed on my Debian GNU/Linux, despite the comment in threads.c > suggesting that it _is_ needed on Linux.) > > Thanks, > Neil > > > #include <pthread.h> > > int main () > { > pthread_attr_t attr; > void *start, *end; > size_t size; > > pthread_getattr_np (pthread_self (), &attr); > pthread_attr_getstack (&attr, &start, &size); > end = (char *)start + size; > > printf("start = %p, &attr = %p, end = %p\n", start, &attr, end); > > if ((void *)&attr < start || (void *)&attr >= end) > printf("__libc_stack_end is needed\n"); > else > printf("__libc_stack_end is NOT needed\n"); > > exit (0); > } > > /* compile-command: cc -o pthrt pthrt.c -lpthread */ Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel