1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-23 13:00:34 +02:00

* continuations.h: Include <ucontext.h> on IA64 instead of

<sys/ucontext.h>.
* continuations.c (scm_make_continuation): Use ia64_getcontext
instead of getcontext on IA64.
This commit is contained in:
Marius Vollmer 2003-09-12 15:32:15 +00:00
parent 434a0e3312
commit deddb10425
2 changed files with 4 additions and 5 deletions

View file

@ -120,8 +120,7 @@ struct rv
long retval; long retval;
long first_return; long first_return;
}; };
extern struct rv getcontext (ucontext_t *); extern struct rv ia64_getcontext (ucontext_t *) __asm__ ("getcontext");
extern int setcontext (ucontext_t *);
#endif /* __ia64__ */ #endif /* __ia64__ */
/* this may return more than once: the first time with the escape /* this may return more than once: the first time with the escape
@ -163,7 +162,7 @@ scm_make_continuation (int *first)
memcpy (continuation->stack, src, sizeof (SCM_STACKITEM) * stack_size); memcpy (continuation->stack, src, sizeof (SCM_STACKITEM) * stack_size);
#ifdef __ia64__ #ifdef __ia64__
rv = getcontext (&continuation->ctx); rv = ia64_getcontext (&continuation->ctx);
if (rv.first_return) if (rv.first_return)
{ {
continuation->backing_store_size = continuation->backing_store_size =

View file

@ -2,7 +2,7 @@
#ifndef CONTINUATIONSH #ifndef CONTINUATIONSH
#define CONTINUATIONSH #define CONTINUATIONSH
/* Copyright (C) 1995,1996, 2000, 2001 Free Software Foundation, Inc. /* Copyright (C) 1995,1996, 2000, 2001, 2003 Free Software Foundation, Inc.
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -46,7 +46,7 @@
#include "libguile/__scm.h" #include "libguile/__scm.h"
#ifdef __ia64__ #ifdef __ia64__
#include <sys/ucontext.h> #include <ucontext.h>
extern unsigned long __libc_ia64_register_backing_store_base; extern unsigned long __libc_ia64_register_backing_store_base;
#endif #endif