about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2012-09-15 02:24:12 -0400
committerRich Felker <dalias@aerifal.cx>2012-09-15 02:24:12 -0400
commit881868382a54b851b37d0b0f5f2d44f77af998a7 (patch)
tree7f450a681a44fb16230046fc2a946f5887b98ee0
parent4221f154ff29ab0d6be1e7beaa5ea2d1731bc58e (diff)
downloadmusl-881868382a54b851b37d0b0f5f2d44f77af998a7.tar.gz
musl-881868382a54b851b37d0b0f5f2d44f77af998a7.tar.xz
musl-881868382a54b851b37d0b0f5f2d44f77af998a7.zip
update mips cancellation-point syscall asm with 7-arg and r25 fixes
these fixes were already made to the normal syscall asm but not the
cancellation point version.
-rw-r--r--src/thread/mips/syscall_cp.s7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/thread/mips/syscall_cp.s b/src/thread/mips/syscall_cp.s
index 8dd4c442..b6f30ee8 100644
--- a/src/thread/mips/syscall_cp.s
+++ b/src/thread/mips/syscall_cp.s
@@ -7,17 +7,20 @@ __syscall_cp_asm:
 __cp_begin:
 	lw      $4, 0($4)
 	bne     $4, $0, 2f
-	move    $25, $5
+	move    $2, $5
 	move    $4, $6
 	move    $5, $7
 	lw      $6, 16($sp)
 	lw      $7, 20($sp)
 	lw      $8, 24($sp)
 	lw      $9, 28($sp)
+	lw      $10,32($sp)
 	subu    $sp, $sp, 32
 	sw      $8, 16($sp)
 	sw      $9, 20($sp)
-	move    $2, $25
+	sw      $10,24($sp)
+	sw      $2, 28($sp)
+	lw      $2, 28($sp)
 	syscall
 .global __cp_end
 __cp_end: