From: Russ Cox Date: Wed, 27 Jan 2021 16:22:02 +0000 (-0500) Subject: runtime: fix time on windows/arm under WINE X-Git-Tag: go1.17beta1~1507 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=91cc484ea914fc75e7321d23017d59c9751f5066;p=gostls13.git runtime: fix time on windows/arm under WINE This code has clearly never run successfully, since one of the “tail calls" calls the wrong function, and both of them appear in functions with stack frames that are never going to be properly unwound. Probably there is no windows/arm under WINE at all. But might as well fix the code. Change-Id: I5fa62274b3661bc6bce098657b5bcf11d59655eb Reviewed-on: https://go-review.googlesource.com/c/go/+/288811 Trust: Russ Cox Trust: Jason A. Donenfeld Reviewed-by: Cherry Zhang Reviewed-by: Jason A. Donenfeld --- diff --git a/src/runtime/sys_windows_arm.s b/src/runtime/sys_windows_arm.s index a30d63513a..42278dcbe7 100644 --- a/src/runtime/sys_windows_arm.s +++ b/src/runtime/sys_windows_arm.s @@ -419,7 +419,7 @@ TEXT runtime·read_tls_fallback(SB),NOSPLIT|NOFRAME,$0 #define time_hi1 4 #define time_hi2 8 -TEXT runtime·nanotime1(SB),NOSPLIT,$0-8 +TEXT runtime·nanotime1(SB),NOSPLIT|NOFRAME,$0-8 MOVW $0, R0 MOVB runtime·useQPCTime(SB), R0 CMP $0, R0 @@ -443,9 +443,8 @@ loop: RET useQPC: B runtime·nanotimeQPC(SB) // tail call - RET -TEXT time·now(SB),NOSPLIT,$0-20 +TEXT time·now(SB),NOSPLIT|NOFRAME,$0-20 MOVW $0, R0 MOVB runtime·useQPCTime(SB), R0 CMP $0, R0 @@ -519,8 +518,7 @@ wall: MOVW R1,nsec+8(FP) RET useQPC: - B runtime·nanotimeQPC(SB) // tail call - RET + B runtime·nowQPC(SB) // tail call // save_g saves the g register (R10) into thread local memory // so that we can call externally compiled