misc/cgo/test: disable some Darwin tests in cgo mode

For unknown reasons, linking against CoreFoundation on macOS 10.10
sometimes causes mmap to ignore the hint address, which makes the Go
allocator incompatible with TSAN. Currently, the effect of this is to
run the allocator out of arena hints on the very first allocation,
causing a "too many address space collisions for -race mode" panic.

This CL skips the cgo tests that link against CoreFoundation in race
mode.

Updates #26475.
Updates #26513.

Change-Id: I52ec638c99acf5d4966e68ff0054f7679680dac6
Reviewed-on: https://go-review.googlesource.com/125304
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
This commit is contained in:
Austin Clements 2018-07-20 15:51:40 -04:00
parent 48c79734ff
commit 30d7e6449f
3 changed files with 19 additions and 2 deletions

View File

@ -2,7 +2,16 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// +build darwin,cgo,!internal
// We skip this test in race mode because, for unknown reasons,
// linking against CoreFoundation on macOS 10.10 causes mmap to ignore
// the hint address, which makes the Go allocator incompatible with
// TSAN. See golang.org/issue/26475.
//
// TODO(austin): Once support for macOS 10.10 is dropped, remove the
// race constraint (and the one in issue21897b.go). See
// golang.org/issue/26513.
// +build darwin,cgo,!internal,!race
package cgotest

View File

@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// +build !darwin !cgo internal
// +build !darwin !cgo internal race
package cgotest

View File

@ -2,6 +2,14 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// See issue21897.go and golang.org/issue/26475 for why this is
// skipped in race mode.
//
// TODO(austin): Once support for macOS 10.10 is dropped, remove the
// race constraint. See golang.org/issue/26513.
// +build !race
package cgotest
import (