diff options
Diffstat (limited to 'libgo/go/runtime/msan.go')
-rw-r--r-- | libgo/go/runtime/msan.go | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/libgo/go/runtime/msan.go b/libgo/go/runtime/msan.go deleted file mode 100644 index 7177c8e..0000000 --- a/libgo/go/runtime/msan.go +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2015 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 msan - -package runtime - -import ( - "unsafe" -) - -// Public memory sanitizer API. - -func MSanRead(addr unsafe.Pointer, len int) { - msanread(addr, uintptr(len)) -} - -func MSanWrite(addr unsafe.Pointer, len int) { - msanwrite(addr, uintptr(len)) -} - -// Private interface for the runtime. -const msanenabled = true - -// If we are running on the system stack, the C program may have -// marked part of that stack as uninitialized. We don't instrument -// the runtime, but operations like a slice copy can call msanread -// anyhow for values on the stack. Just ignore msanread when running -// on the system stack. The other msan functions are fine. -func msanread(addr unsafe.Pointer, sz uintptr) { - g := getg() - if g == g.m.g0 || g == g.m.gsignal { - return - } - domsanread(addr, sz) -} - -//go:noescape -func domsanread(addr unsafe.Pointer, sz uintptr) - -//go:noescape -func msanwrite(addr unsafe.Pointer, sz uintptr) - -//go:noescape -func msanmalloc(addr unsafe.Pointer, sz uintptr) - -//go:noescape -func msanfree(addr unsafe.Pointer, sz uintptr) - -// These are called from msan_amd64.s -//go:cgo_import_static __msan_read_go -//go:cgo_import_static __msan_write_go -//go:cgo_import_static __msan_malloc_go -//go:cgo_import_static __msan_free_go |