Avoids an msan error when runtime/cgo is explicitly rebuilt with
-fsanitize=memory.
Fixes #13815.
Change-Id: I70308034011fb308b63585bcd40b0d1e62ec93ef
Reviewed-on: https://go-review.googlesource.com/18263
Reviewed-by: Russ Cox <rsc@golang.org>
status=1
fi
-if ! go run -msan msan2.go; then
+if ! CGO_LDFLAGS="-fsanitize=memory" CGO_CPPFLAGS="-fsanitize=memory" go run -msan -a msan2.go; then
+ echo "FAIL: msan2 with -fsanitize=memory"
+ status=1
+fi
+
+if ! go run -msan -a msan2.go; then
echo "FAIL: msan2"
status=1
fi
ts.g.set(mp.g0)
ts.tls = (*uint64)(unsafe.Pointer(&mp.tls[0]))
ts.fn = unsafe.Pointer(funcPC(mstart))
+ if msanenabled {
+ msanwrite(unsafe.Pointer(&ts), unsafe.Sizeof(ts))
+ }
asmcgocall(_cgo_thread_start, unsafe.Pointer(&ts))
return
}