diff options
author | Neil Jerram <neil@ossau.uklinux.net> | 2006-10-25 22:37:24 +0000 |
---|---|---|
committer | Neil Jerram <neil@ossau.uklinux.net> | 2006-10-25 22:37:24 +0000 |
commit | 9a5fa6e98a0078e6f3e47dd72d1545877ea862f7 (patch) | |
tree | 54c9c138c7471093a5a0991023aae85b2f5f13ab /libguile/coop-pthreads.c | |
parent | ba6984d09bdc2298eb331f8ddedab3844e777e39 (diff) | |
download | guile-9a5fa6e98a0078e6f3e47dd72d1545877ea862f7.tar.gz |
* configure.in: New check for uca lib (needed for IA64 on HP-UX).
* threads.c (SCM_MARK_BACKING_STORE): Use scm_ia64_ar_bsp() and
scm_ia64_register_backing_store_base() instead of Linux-specific
implementations.
* gc.h (scm_ia64_register_backing_store_base, scm_ia64_ar_bsp):
New declarations.
* gc.c (__libc_ia64_register_backing_store_base): Declaration
removed.
(scm_ia64_register_backing_store_base, scm_ia64_ar_bsp): New, with
implementations for Linux and HP-UX.
* coop-pthreads.c (SCM_MARK_BACKING_STORE): Use scm_ia64_ar_bsp()
and scm_ia64_register_backing_store_base() instead of
Linux-specific implementations.
* continuations.h (__libc_ia64_register_backing_store_base):
Declaration removed.
(scm_t_contregs): New "fresh" field.
* continuations.c (ia64_getcontext): Removed.
(scm_make_continuation): Use continuation fresh field instead of
interpreting getcontext return values (which isn't portable). Use
scm_ia64_ar_bsp() and scm_ia64_register_backing_store_base()
instead of Linux-specific implementations.
(copy_stack_and_call): Use scm_ia64_register_backing_store_base()
instead of Linux-specific implementation.
* _scm.h (__ia64__): Also detect __ia64.
Diffstat (limited to 'libguile/coop-pthreads.c')
-rw-r--r-- | libguile/coop-pthreads.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libguile/coop-pthreads.c b/libguile/coop-pthreads.c index a9b1b86e7..b1759f9ed 100644 --- a/libguile/coop-pthreads.c +++ b/libguile/coop-pthreads.c @@ -31,6 +31,7 @@ #include "libguile/eval.h" #include "libguile/async.h" #include "libguile/ports.h" +#include "libguile/gc.h" #undef DEBUG @@ -847,8 +848,8 @@ scm_threads_init (SCM_STACKITEM *base) scm_mark_locations ((SCM_STACKITEM *) &ctx.uc_mcontext, \ ((size_t) (sizeof (SCM_STACKITEM) - 1 + sizeof ctx.uc_mcontext) \ / sizeof (SCM_STACKITEM))); \ - bot = (SCM_STACKITEM *) __libc_ia64_register_backing_store_base; \ - top = (SCM_STACKITEM *) ctx.uc_mcontext.sc_ar_bsp; \ + bot = (SCM_STACKITEM *) scm_ia64_register_backing_store_base (); \ + top = (SCM_STACKITEM *) scm_ia64_ar_bsp (&ctx); \ scm_mark_locations (bot, top - bot); } while (0) #else # define SCM_MARK_BACKING_STORE() |