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.

(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 */



_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-devel

Reply via email to