]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: fix stack switch check in walltime/nanotime on linux/arm
authorTobias Klauser <tklauser@distanz.ch>
Tue, 6 Mar 2018 13:30:26 +0000 (14:30 +0100)
committerTobias Klauser <tobias.klauser@gmail.com>
Tue, 6 Mar 2018 14:24:19 +0000 (14:24 +0000)
CL 98095 got the check wrong. We should be testing
'getg() == getg().m.curg', not 'getg().m == getg().m.curg'.

Change-Id: I32f6238b00409b67afa8efe732513d542aec5bc7
Reviewed-on: https://go-review.googlesource.com/98855
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/runtime/sys_linux_arm.s

index 2af9f29344aa901fda435e5431bfc9ba7b48b323..31923d36a4823a825ee1e6db2669fe1178529a4b 100644 (file)
@@ -221,7 +221,7 @@ TEXT runtime·walltime(SB),NOSPLIT,$0-12
        MOVW    g_m(g), R1
        MOVW    m_curg(R1), R0
 
-       CMP     R1, R0          // Only switch if on curg.
+       CMP     g, R0           // Only switch if on curg.
        B.NE    noswitch
 
        MOVW    m_g0(R1), R0
@@ -266,7 +266,7 @@ TEXT runtime·nanotime(SB),NOSPLIT,$0-8
        MOVW    g_m(g), R1
        MOVW    m_curg(R1), R0
 
-       CMP     R1, R0          // Only switch if on curg.
+       CMP     g, R0           // Only switch if on curg.
        B.NE    noswitch
 
        MOVW    m_g0(R1), R0