]> Cypherpunks repositories - gostls13.git/commit
cmd/internal/obj/x86: mark 2-instruction TLS access nonpreemptible
authorCherry Zhang <cherryyz@google.com>
Wed, 13 Nov 2019 20:05:17 +0000 (15:05 -0500)
committerCherry Zhang <cherryyz@google.com>
Fri, 15 Nov 2019 02:31:58 +0000 (02:31 +0000)
commit498eaee461adefd5e578e62c134382ece94198da
treed4b1acb4b162464d9dc41e276187547a6c344607
parent03c58c9dccde0b9d98962f34e6669a508c8d133a
cmd/internal/obj/x86: mark 2-instruction TLS access nonpreemptible

The 2-instruction TLS access sequence
MOVQ TLS, BX
MOVQ 0(BX)(TLS*1), BX
is not async preemptible, as if it is preempted and resumed on a
different thread, the TLS address may become invalid.

May fix #35349. (This is a rare failure and I haven't been able
to reproduce it.)

Change-Id: Ie1a366fd0d7d73627dc62ee2de01c0aa09365f2b
Reviewed-on: https://go-review.googlesource.com/c/go/+/206903
Run-TryBot: Cherry Zhang <cherryyz@google.com>
Reviewed-by: Austin Clements <austin@google.com>
src/cmd/internal/obj/x86/asm6.go