提交 21419914 编写于 作者: R Rich Felker

fix broken mips syscall asm

this code was using $10 to save the syscall number, but $10 is not
necessarily preserved by the kernel across syscalls. only mattered for
syscalls that got interrupted by a signal and restarted. as far as i
can tell, $25 is preserved by the kernel across syscalls.
上级 41c5ee50
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
.global __syscall .global __syscall
.type __syscall,@function .type __syscall,@function
__syscall: __syscall:
move $10, $4 move $25, $4
move $4, $5 move $4, $5
move $5, $6 move $5, $6
move $6, $7 move $6, $7
...@@ -13,7 +13,7 @@ __syscall: ...@@ -13,7 +13,7 @@ __syscall:
subu $sp, $sp, 32 subu $sp, $sp, 32
sw $8, 16($sp) sw $8, 16($sp)
sw $9, 20($sp) sw $9, 20($sp)
move $2, $10 move $2, $25
syscall syscall
beq $7, $0, 1f beq $7, $0, 1f
addu $sp, $sp, 32 addu $sp, $sp, 32
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册