diff options
Diffstat (limited to 'lang/icon/patches/patch-aq')
-rw-r--r-- | lang/icon/patches/patch-aq | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/lang/icon/patches/patch-aq b/lang/icon/patches/patch-aq new file mode 100644 index 00000000000..93233b3b859 --- /dev/null +++ b/lang/icon/patches/patch-aq @@ -0,0 +1,31 @@ +--- /dev/null Wed Oct 1 17:23:30 1997 ++++ config/unix/intel_netbsd/rswitch.c Wed Oct 1 17:32:25 1997 +@@ -0,0 +1,28 @@ ++/* ++ * This is the co-expression context switch for the Intel 80386 ++ * under Microport Unix System V/386 ++ */ ++ ++/* ++ * coswitch ++ */ ++ ++coswitch(old_cs, new_cs, first) ++int *old_cs, *new_cs; ++int first; ++ { ++ asm(" movl 8(%ebp),%eax"); ++ asm(" movl %esp,0(%eax)"); ++ asm(" movl %ebp,4(%eax)"); ++ asm(" movl 12(%ebp),%eax"); ++ if (first == 0) { /* this is the first activation */ ++ asm(" movl 0(%eax),%esp"); ++ asm(" movl $0,%ebp"); ++ new_context(0, 0); ++ syserr("interp() returned in coswitch"); ++ } ++ else { ++ asm(" movl 0(%eax),%esp"); ++ asm(" movl 4(%eax),%ebp"); ++ } ++ } |