summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorforsyth <forsyth@vitanuova.com>2011-04-26 19:26:29 +0100
committerforsyth <forsyth@vitanuova.com>2011-04-26 19:26:29 +0100
commitd728e3107d7ae935bc511e72efc8a0c43fdbf0a0 (patch)
tree7e7a9594a9f195de7c1bec4c8956ede95f718785
parente298470b5d2cb0c548b54651337f21ac8641f187 (diff)
20110426-1926
-rw-r--r--CHANGES2
-rw-r--r--emu/Linux/asm-arm.S12
-rw-r--r--include/version.h2
3 files changed, 9 insertions, 7 deletions
diff --git a/CHANGES b/CHANGES
index 5588f27c..a2d512ba 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,5 @@
+20110426
+ emu/Linux/asm-arm.S linux system call interface changed [issue 215, mechiel]
20110419
libinterp/tk.c:/^Tk_rect shouldn't return non-canonical rectangles
/appl/wm/mand.b handle reshape to empty rectangles
diff --git a/emu/Linux/asm-arm.S b/emu/Linux/asm-arm.S
index d13bcd0e..4d8cc01d 100644
--- a/emu/Linux/asm-arm.S
+++ b/emu/Linux/asm-arm.S
@@ -26,16 +26,14 @@ executeonnewstack:
blx r1 /* call tramp*/
/* if we return here, tramp didn't do it's job */
- swi SYS_exit
+ mov r0, #0
+ mov r7, #SYS_exit
+ swi 0x0
ldmea fp, {fp, sp, pc}
.size executeonnewstack, .-executeonnewstack
/*
* void unlockandexit(int *key)
- *
- * NB: the return status may be garbaged if the stack is reused
- * between the unlock and the system call, but this should
- * not matter since no task is waiting for the result
*/
.align 2
@@ -50,7 +48,9 @@ unlockandexit:
sub sp, sp, #4
mov r1, #0
str r1, [r0]
- swi SYS_exit
+ mov r0, #0
+ mov r7, #SYS_exit
+ swi 0x0
ldmea fp, {fp, sp, pc}
.size unlockandexit, .-unlockandexit
diff --git a/include/version.h b/include/version.h
index ee827d4a..a736ae91 100644
--- a/include/version.h
+++ b/include/version.h
@@ -1 +1 @@
-#define VERSION "Fourth Edition (20110419)"
+#define VERSION "Fourth Edition (20110426)"