guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: undefined reference to `scm_init_guile'


From: Neil Jerram
Subject: Re: undefined reference to `scm_init_guile'
Date: Sat, 11 Mar 2006 18:43:17 +0000
User-agent: Gnus/5.1007 (Gnus v5.10.7) Emacs/21.4 (gnu/linux)

steven mestdagh <address@hidden> 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 */





reply via email to

[Prev in Thread] Current Thread [Next in Thread]