diff options
author | "Steven J. Hill" <sjhill@realitydiluted.com> | 2007-07-12 00:58:41 +0000 |
---|---|---|
committer | "Steven J. Hill" <sjhill@realitydiluted.com> | 2007-07-12 00:58:41 +0000 |
commit | 1e8d3393a36a84aab41cf56d6daca029d4ac3f43 (patch) | |
tree | ef0868e1242360732e8a44e17aa2a1dc7e79d558 /libc/sysdeps/linux/mips | |
parent | 4b738bd4c1e0e21b08055ebcb2af5d7385f478c4 (diff) |
Fix broken syscall() function since the original patch did not work.
Diffstat (limited to 'libc/sysdeps/linux/mips')
-rw-r--r-- | libc/sysdeps/linux/mips/syscall.S | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libc/sysdeps/linux/mips/syscall.S b/libc/sysdeps/linux/mips/syscall.S index 965eeac1e..683529596 100644 --- a/libc/sysdeps/linux/mips/syscall.S +++ b/libc/sysdeps/linux/mips/syscall.S @@ -29,6 +29,8 @@ .type syscall,@function .ent syscall syscall: + .set noreorder + .cpload t9; move v0, a0 /* Load system call number from first arg. */ move a0, a1 /* Move the next three args up a register. */ move a1, a2 @@ -55,15 +57,15 @@ syscall: lw v0,7*4(sp) /* for system call restarts */ #endif syscall /* Do the system call. */ + bnez a3, 1f #ifdef __mips64 daddiu sp,sp,16 #else addiu sp,sp,32 #endif - bnez a3, 1f j ra /* Return to caller. */ 1: - move a0,v0 /* Pass return val to C function. */ + move a0,v0 /* Pass return val to C function. */ #ifdef __PIC__ PTR_LA t9, __syscall_error |