update mips cancellation-point syscall asm with 7-arg and r25 fixes
authorRich Felker <dalias@aerifal.cx>
Sat, 15 Sep 2012 06:24:12 +0000 (02:24 -0400)
committerRich Felker <dalias@aerifal.cx>
Sat, 15 Sep 2012 06:24:12 +0000 (02:24 -0400)
these fixes were already made to the normal syscall asm but not the
cancellation point version.

src/thread/mips/syscall_cp.s

index 8dd4c44..b6f30ee 100644 (file)
@@ -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: