X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fthread%2Fmips%2Fclone.s;h=37dddf57ba9575c9e849b03ad195b0caea1ddf4a;hb=78a8ef47c4d92b7680c52a85f80a81e29da86bb9;hp=fab90dc3c0fbc6ac68dc86991edff23b140253bb;hpb=b58f738bcb5877c83aef49129b40827a1d5ae4c7;p=musl diff --git a/src/thread/mips/clone.s b/src/thread/mips/clone.s index fab90dc3..37dddf57 100644 --- a/src/thread/mips/clone.s +++ b/src/thread/mips/clone.s @@ -3,6 +3,7 @@ .type __clone,@function __clone: # Save function pointer and argument pointer on new thread stack + and $5, $5, -8 subu $5, $5, 16 sw $4, 0($5) sw $7, 4($5) @@ -11,19 +12,21 @@ __clone: lw $6, 16($sp) lw $7, 20($sp) lw $9, 24($sp) + subu $sp, $sp, 16 sw $9, 16($sp) li $2, 4120 syscall beq $7, $0, 1f nop + addu $sp, $sp, 16 jr $ra subu $2, $0, $2 1: beq $2, $0, 1f nop + addu $sp, $sp, 16 jr $ra nop 1: lw $25, 0($sp) lw $4, 4($sp) jr $25 - addu $sp, $sp, 16 nop