summaryrefslogtreecommitdiff
path: root/emu/Linux/asm-arm.S
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 /emu/Linux/asm-arm.S
parente298470b5d2cb0c548b54651337f21ac8641f187 (diff)
20110426-1926
Diffstat (limited to 'emu/Linux/asm-arm.S')
-rw-r--r--emu/Linux/asm-arm.S12
1 files changed, 6 insertions, 6 deletions
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