github.com/geraldss/go/src@v0.0.0-20210511222824-ac7d0ebfc235/runtime/msan/msan.go (about) 1 // Copyright 2015 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 // +build msan,linux 6 // +build amd64 arm64 7 8 package msan 9 10 /* 11 #cgo CFLAGS: -fsanitize=memory 12 #cgo LDFLAGS: -fsanitize=memory 13 14 #include <stdint.h> 15 #include <sanitizer/msan_interface.h> 16 17 void __msan_read_go(void *addr, uintptr_t sz) { 18 __msan_check_mem_is_initialized(addr, sz); 19 } 20 21 void __msan_write_go(void *addr, uintptr_t sz) { 22 __msan_unpoison(addr, sz); 23 } 24 25 void __msan_malloc_go(void *addr, uintptr_t sz) { 26 __msan_unpoison(addr, sz); 27 } 28 29 void __msan_free_go(void *addr, uintptr_t sz) { 30 __msan_poison(addr, sz); 31 } 32 */ 33 import "C"