aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/mem_bsd.go
diff options
context:
space:
mode:
authorMichael Anthony Knyszek <mknyszek@google.com>2018-12-19 17:32:22 +0000
committerMichael Knyszek <mknyszek@google.com>2018-12-19 19:34:50 +0000
commit6fcab648af59faab639f3453354a7a14c888e75c (patch)
treeb2e58d1e312e5fdb54e2c40a1b4de7b5180521cc /src/runtime/mem_bsd.go
parentf880efcc1666e2b99fbda644eeff258e4a15dd38 (diff)
downloadgo-6fcab648af59faab639f3453354a7a14c888e75c.tar.gz
go-6fcab648af59faab639f3453354a7a14c888e75c.zip
runtime: disable TestArenaCollision on Darwin in race mode
This change disables the test TestArenaCollision on Darwin in race mode to deal with the fact that Darwin 10.10 must use MAP_FIXED in race mode to ensure we retain our heap in a particular portion of the address space which the race detector needs. The test specifically checks to make sure a manually mapped region's space isn't re-used, which is definitely possible with MAP_FIXED because it replaces whatever mapping already exists at a given address. This change then also makes it so that MAP_FIXED is only used in race mode and on Darwin, not all BSDs, because using MAP_FIXED breaks this test for FreeBSD in addition to Darwin. Updates #26475. Fixes #29340. Change-Id: I1c59349408ccd7eeb30c4bf2593f48316b23ab2f Reviewed-on: https://go-review.googlesource.com/c/155097 Run-TryBot: Michael Knyszek <mknyszek@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'src/runtime/mem_bsd.go')
-rw-r--r--src/runtime/mem_bsd.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/runtime/mem_bsd.go b/src/runtime/mem_bsd.go
index bf2d99678b..84238d7279 100644
--- a/src/runtime/mem_bsd.go
+++ b/src/runtime/mem_bsd.go
@@ -43,7 +43,7 @@ func sysFault(v unsafe.Pointer, n uintptr) {
func sysReserve(v unsafe.Pointer, n uintptr) unsafe.Pointer {
flags := int32(_MAP_ANON | _MAP_PRIVATE)
- if raceenabled {
+ if raceenabled && GOOS == "darwin" {
// Currently the race detector expects memory to live within a certain
// range, and on Darwin 10.10 mmap is prone to ignoring hints, moreso
// than later versions and other BSDs (#26475). So, even though it's