aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@golang.org>2015-10-21 15:18:52 -0700
committerIan Lance Taylor <iant@golang.org>2015-10-21 23:52:23 +0000
commit029c760c7be0d11563ac69fbc0ca5fd98a5cbc2b (patch)
tree8a19c530ccf9d110e381497314753d87581ab736 /src
parent7df8ba136c911542374186fe5bed603ca6e7e015 (diff)
downloadgo-029c760c7be0d11563ac69fbc0ca5fd98a5cbc2b.tar.xz
cmd/go: if -msan, pass -fsanitize=memory to cgo builds
Also fix the msan_fail test. It was bogus, since it always aborted one way or another. Change-Id: Ic693327d1bddb7bc5c7d859ac047fc93cb9b5b1c Reviewed-on: https://go-review.googlesource.com/16172 Reviewed-by: David Crawshaw <crawshaw@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
Diffstat (limited to 'src')
-rw-r--r--src/cmd/go/build.go5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/cmd/go/build.go b/src/cmd/go/build.go
index 8df312ab63..1ec98aac52 100644
--- a/src/cmd/go/build.go
+++ b/src/cmd/go/build.go
@@ -2893,6 +2893,11 @@ func (b *builder) cgo(p *Package, cgoExe, obj string, pcCFLAGS, pcLDFLAGS, cgofi
cgoLDFLAGS = append(cgoLDFLAGS, "-lobjc")
}
+ if buildMSan && p.ImportPath != "runtime/cgo" {
+ cgoCFLAGS = append([]string{"-fsanitize=memory"}, cgoCFLAGS...)
+ cgoLDFLAGS = append([]string{"-fsanitize=memory"}, cgoLDFLAGS...)
+ }
+
// Allows including _cgo_export.h from .[ch] files in the package.
cgoCPPFLAGS = append(cgoCPPFLAGS, "-I", obj)