diff --git a/internal/core/core_test.go b/internal/core/core_test.go
index 341babf..3b56997 100644
--- a/internal/core/core_test.go
+++ b/internal/core/core_test.go
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build darwin dragonfly freebsd linux netbsd openbsd solaris
+
 package core
 
 import (
diff --git a/internal/core/process.go b/internal/core/process.go
index 65c2fd4..f6c4a3e 100644
--- a/internal/core/process.go
+++ b/internal/core/process.go
@@ -121,6 +121,10 @@
 	return p.syms, p.symErr
 }
 
+var mapFile = func(fd int, offset int64, length int) (data []byte, err error) {
+	return nil, fmt.Errorf("file mapping is not implemented yet")
+}
+
 // Core takes the name of a core file and returns a Process that
 // represents the state of the inferior that generated the core file.
 func Core(coreFile, base, exePath string) (*Process, error) {
@@ -190,7 +194,7 @@
 		}
 
 		// Read data from file.
-		data, err := syscall.Mmap(int(m.f.Fd()), minOff, int(maxOff-minOff), syscall.PROT_READ, syscall.MAP_SHARED)
+		data, err := mapFile(int(m.f.Fd()), minOff, int(maxOff-minOff))
 		if err != nil {
 			return nil, fmt.Errorf("can't memory map %s at %x: %s\n", m.f.Name(), minOff, err)
 		}
diff --git a/internal/core/process_unix.go b/internal/core/process_unix.go
new file mode 100644
index 0000000..3817678
--- /dev/null
+++ b/internal/core/process_unix.go
@@ -0,0 +1,15 @@
+// Copyright 2018 The Go Authors.  All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// +build darwin dragonfly freebsd linux netbsd openbsd solaris
+
+package core
+
+import "syscall"
+
+func init() {
+	mapFile = func(fd int, offset int64, length int) (data []byte, err error) {
+		return syscall.Mmap(fd, offset, length, syscall.PROT_READ, syscall.MAP_SHARED)
+	}
+}
diff --git a/internal/gocore/dominator_test.go b/internal/gocore/dominator_test.go
index f3360b0..5607a9a 100644
--- a/internal/gocore/dominator_test.go
+++ b/internal/gocore/dominator_test.go
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build darwin dragonfly freebsd linux netbsd openbsd solaris
+
 package gocore
 
 import (
diff --git a/internal/gocore/gocore_test.go b/internal/gocore/gocore_test.go
index cc90c65..8d4b96f 100644
--- a/internal/gocore/gocore_test.go
+++ b/internal/gocore/gocore_test.go
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build darwin dragonfly freebsd linux netbsd openbsd solaris
+
 package gocore
 
 import (
