diff options
| author | forsyth <forsyth@vitanuova.com> | 2011-04-26 19:26:29 +0100 |
|---|---|---|
| committer | forsyth <forsyth@vitanuova.com> | 2011-04-26 19:26:29 +0100 |
| commit | d728e3107d7ae935bc511e72efc8a0c43fdbf0a0 (patch) | |
| tree | 7e7a9594a9f195de7c1bec4c8956ede95f718785 /emu/Linux/asm-arm.S | |
| parent | e298470b5d2cb0c548b54651337f21ac8641f187 (diff) | |
20110426-1926
Diffstat (limited to 'emu/Linux/asm-arm.S')
| -rw-r--r-- | emu/Linux/asm-arm.S | 12 |
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 |
