guile-cvs
[Top][All Lists]
Advanced

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

guile/guile-core/libguile continuations.h conti...


From: Marius Vollmer
Subject: guile/guile-core/libguile continuations.h conti...
Date: Thu, 01 Nov 2001 19:08:41 -0500

CVSROOT:        /cvs
Module name:    guile
Changes by:     Marius Vollmer <address@hidden> 01/11/01 19:08:41

Modified files:
        guile-core/libguile: continuations.h continuations.c 

Log message:
        * __scm.h, alist.h, arbiters.h, async.h, backtrace.h, boolean.h,
        chars.h, continuations.h, coop-defs.h, coop-threads.h,
        debug-malloc.h, debug.h, deprecation.h, dynl.h, dynwind.h,
        environments.h, eq.h, error.h, eval.h, evalext.h, extensions.h,
        feature.h, filesys.h, fluids.h, fports.h, gc.h, gdb_interface.h,
        gdbint.h, gh.h, goops.h, gsubr.h, guardians.h, hash.h, hashtab.h,
        hooks.h, init.h, ioext.h, iselect.h, keywords.h, lang.h, list.h,
        load.h, macros.h, mallocs.h, modules.h, net_db.h, numbers.h,
        objects.h, objprop.h, options.h, pairs.h, ports.h, posix.h, print.h,
        procprop.h, procs.h, properties.h, ramap.h, random.h, rdelim.h,
        read.h, regex-posix.h, root.h, rw.h, scmsigs.h, script.h, simpos.h,
        smob.h, socket.h, sort.h, srcprop.h, stackchk.h, stacks.h, stime.h,
        strings.h, strop.h, strorder.h, strports.h, struct.h, symbols.h,
        tags.h, threads.h, throw.h, unif.h, values.h, variable.h, vectors.h,
        vports.h, weaks.h:
        Prefixed each each exported symbol with SCM_API.
        
        * continuations.c: Added comment about the use of the extern
        declarations of {get,set}context() functions used in the ia64 port.
        
        * continuations.h, gc.c: `__libc_ia64_register_backing_store_base'
        is meant to be a `unsigned long *'.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/continuations.h.diff?cvsroot=OldCVS&tr1=1.25&tr2=1.26&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/continuations.c.diff?cvsroot=OldCVS&tr1=1.40&tr2=1.41&r1=text&r2=text

Patches:
Index: guile/guile-core/libguile/continuations.c
diff -u guile/guile-core/libguile/continuations.c:1.40 
guile/guile-core/libguile/continuations.c:1.41
--- guile/guile-core/libguile/continuations.c:1.40      Mon Oct  8 23:32:20 2001
+++ guile/guile-core/libguile/continuations.c   Thu Nov  1 19:08:41 2001
@@ -115,6 +115,9 @@
 }
 
 #ifdef __ia64__
+/* Extern declaration of getcontext()/setcontext() in order to redefine
+   getcontext() since on ia64-linux the second return value indicates whether
+   it returned from getcontext() itself or by running setcontext(). */
 struct rv
 {
   long retval;
@@ -138,7 +141,7 @@
   SCM_STACKITEM * src;
 #ifdef __ia64__
   struct rv rv;
-#endif
+#endif /* __ia64__ */
 
   SCM_ENTER_A_SECTION;
   SCM_FLUSH_REGISTER_WINDOWS;
@@ -168,7 +171,7 @@
     {
       continuation->backing_store_size = 
         continuation->ctx.uc_mcontext.sc_ar_bsp - 
-        __libc_ia64_register_backing_store_base;
+        (unsigned long) __libc_ia64_register_backing_store_base;
       continuation->backing_store = NULL;
       continuation->backing_store = 
         scm_must_malloc (continuation->backing_store_size, FUNC_NAME);
Index: guile/guile-core/libguile/continuations.h
diff -u guile/guile-core/libguile/continuations.h:1.25 
guile/guile-core/libguile/continuations.h:1.26
--- guile/guile-core/libguile/continuations.h:1.25      Mon Oct  8 23:33:06 2001
+++ guile/guile-core/libguile/continuations.h   Thu Nov  1 19:08:41 2001
@@ -50,8 +50,8 @@
 
 #ifdef __ia64__
 #include <sys/ucontext.h>
-extern unsigned long  __libc_ia64_register_backing_store_base;
-#endif
+extern unsigned long * __libc_ia64_register_backing_store_base;
+#endif /* __ia64__ */
 
 
 /* a continuation SCM is a non-immediate pointing to a heap cell with:
@@ -62,7 +62,7 @@
           in the num_stack_items field of the structure.
 */
 
-extern scm_t_bits scm_tc16_continuation;
+SCM_API scm_t_bits scm_tc16_continuation;
 
 typedef struct 
 {
@@ -102,8 +102,8 @@
 
 
 
-extern SCM scm_make_continuation (int *first);
-extern void scm_init_continuations (void);
+SCM_API SCM scm_make_continuation (int *first);
+SCM_API void scm_init_continuations (void);
 
 #endif  /* SCM_CONTINUATIONS_H */
 



reply via email to

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