]> Cypherpunks.ru repositories - gostls13.git/commitdiff
runtime: fix invalid nil g check for for mips64x
authorMeng Zhuo <mzh@golangcn.org>
Fri, 19 Feb 2021 06:31:57 +0000 (14:31 +0800)
committerMeng Zhuo <mzh@golangcn.org>
Fri, 19 Feb 2021 08:48:55 +0000 (08:48 +0000)
In CL 292109 we removed unnecessary writes to gp.sched.g
but put wrong register to save g (R4 saves pointer to g) on mips64x

Change-Id: I9777846a7b0a46e1af83dcfc73b74649e0dba3c9
Reviewed-on: https://go-review.googlesource.com/c/go/+/293989
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Joel Sing <joel@sing.id.au>
Trust: Meng Zhuo <mzh@golangcn.org>
Run-TryBot: Meng Zhuo <mzh@golangcn.org>

src/runtime/asm_mips64x.s

index af27b9b5552f339c73289f9dcf75df6af914c82b..c123e96a71add56c1561aebe214fecb884057d2a 100644 (file)
@@ -98,11 +98,11 @@ TEXT runtime·mstart(SB),NOSPLIT|TOPFRAME,$0
 TEXT runtime·gogo(SB), NOSPLIT|NOFRAME, $0-8
        MOVV    buf+0(FP), R3
        MOVV    gobuf_g(R3), R4
-       MOVV    0(R4), R5       // make sure g != nil
+       MOVV    0(R4), R0       // make sure g != nil
        JMP     gogo<>(SB)
 
 TEXT gogo<>(SB), NOSPLIT|NOFRAME, $0
-       MOVV    R5, g
+       MOVV    R4, g
        JAL     runtime·save_g(SB)
 
        MOVV    0(g), R2