diff options
author | John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> | 2020-02-04 14:14:43 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2020-02-08 15:11:34 +0100 |
commit | 43cfae363493460bed62da24bcdc51fce7ba250a (patch) | |
tree | d22a430b5b9bc9cf9a9a442631e1bac2708b04f6 /libguile/continuations.c | |
parent | ad91517da1883e72469c610e85bb87050f3829b4 (diff) | |
download | guile-43cfae363493460bed62da24bcdc51fce7ba250a.tar.gz |
Fix build on ia64.
* libguile/continuations.c (capture_auxiliary_stack): Fix
logic in preprocessor code when checking for ia64 host;
fix dereferencing of ctx variable.
* libguile/threads.h (struct scm_thread): Add missing member
SCM_STACKITEM *auxiliary_stack_base.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'libguile/continuations.c')
-rw-r--r-- | libguile/continuations.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libguile/continuations.c b/libguile/continuations.c index 67a47d38c..b8b6e1dca 100644 --- a/libguile/continuations.c +++ b/libguile/continuations.c @@ -143,7 +143,7 @@ static void capture_auxiliary_stack (scm_thread *thread, scm_t_contregs *continuation) { #if SCM_HAVE_AUXILIARY_STACK -# if !(defined __ia64 or defined __ia64__) +# if !defined __ia64 || !defined __ia64__ # error missing auxiliary stack implementation for architecture # endif char *top; @@ -155,9 +155,9 @@ capture_auxiliary_stack (scm_thread *thread, scm_t_contregs *continuation) #if defined __hpux __uc_get_ar_bsp (ctx, (uint64_t *) &top); #elif defined linux - top = (char *) ctx->uc_mcontext.sc_ar_bsp; + top = (char *) ctx.uc_mcontext.sc_ar_bsp; #elif defined __FreeBSD__ - top = (char *)(ctx->uc_mcontext.mc_special.bspstore + top = (char *)(ctx.uc_mcontext.mc_special.bspstore + ctx->uc_mcontext.mc_special.ndirty); #else #error missing auxiliary stack implementation for ia64 on this OS |