Merge changes Ia77090da,I95a57f76

* changes:
  Fix data races in finder_test.go
  Optimize sanitizerRuntimeDepsMutator
This commit is contained in:
Colin Cross
2019-06-21 17:01:23 +00:00
committed by Gerrit Code Review
3 changed files with 17 additions and 8 deletions

View File

@@ -65,7 +65,7 @@ func init() {
ctx.TopDown("tsan_deps", sanitizerDepsMutator(tsan))
ctx.BottomUp("tsan", sanitizerMutator(tsan)).Parallel()
ctx.TopDown("sanitize_runtime_deps", sanitizerRuntimeDepsMutator)
ctx.TopDown("sanitize_runtime_deps", sanitizerRuntimeDepsMutator).Parallel()
ctx.BottomUp("sanitize_runtime", sanitizerRuntimeMutator).Parallel()
ctx.BottomUp("coverage", coverageMutator).Parallel()

View File

@@ -705,8 +705,8 @@ func sanitizerRuntimeDepsMutator(mctx android.TopDownMutatorContext) {
if !isSanitizableDependencyTag(mctx.OtherModuleDependencyTag(child)) {
return false
}
if d, ok := child.(*Module); ok && d.static() && d.sanitize != nil {
if d, ok := child.(*Module); ok && d.static() && d.sanitize != nil {
if enableMinimalRuntime(d.sanitize) {
// If a static dependency is built with the minimal runtime,
// make sure we include the ubsan minimal runtime.
@@ -717,8 +717,17 @@ func sanitizerRuntimeDepsMutator(mctx android.TopDownMutatorContext) {
// make sure we include the ubsan runtime.
c.sanitize.Properties.UbsanRuntimeDep = true
}
if c.sanitize.Properties.MinimalRuntimeDep &&
c.sanitize.Properties.UbsanRuntimeDep {
// both flags that this mutator might set are true, so don't bother recursing
return false
}
return true
} else {
return false
}
return true
})
}
}