-
Vladimir Stefanovic authored
64bit atomics on mips/mipsle are implemented using spinlocks. If SIGPROF is received while the program is in the critical section, it will try to write the sample using the same spinlock, creating a deadloop. Prevent it by creating a counter of SIGPROFs during atomic64 and postpone writing the sample(s) until called from elsewhere, with pc set to _LostSIGPROFDuringAtomic64. Added a test case, per Cherry's suggestion. Works around #20146. Change-Id: Icff504180bae4ee83d78b19c0d9d6a80097087f9 Reviewed-on: https://go-review.googlesource.com/42652 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
835dfef9
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
internal/profile | ||
testdata | ||
elf.go | ||
label.go | ||
label_test.go | ||
map.go | ||
mprof_test.go | ||
pprof.go | ||
pprof_test.go | ||
proto.go | ||
proto_test.go | ||
protobuf.go | ||
protomem.go | ||
protomem_test.go | ||
runtime.go | ||
runtime_test.go |