Merge "rust: Skip global 'fuzzer' sanitizer static bins"
This commit is contained in:
commit
92a89ed1c5
1 changed files with 6 additions and 3 deletions
|
@ -144,7 +144,7 @@ func (sanitize *sanitize) begin(ctx BaseModuleContext) {
|
||||||
|
|
||||||
// Global Sanitizers
|
// Global Sanitizers
|
||||||
if found, globalSanitizers = android.RemoveFromList("hwaddress", globalSanitizers); found && s.Hwaddress == nil {
|
if found, globalSanitizers = android.RemoveFromList("hwaddress", globalSanitizers); found && s.Hwaddress == nil {
|
||||||
// TODO(b/180495975): HWASan for static Rust binaries isn't supported yet.
|
// TODO(b/204776996): HWASan for static Rust binaries isn't supported yet.
|
||||||
if !ctx.RustModule().StaticExecutable() {
|
if !ctx.RustModule().StaticExecutable() {
|
||||||
s.Hwaddress = proptools.BoolPtr(true)
|
s.Hwaddress = proptools.BoolPtr(true)
|
||||||
}
|
}
|
||||||
|
@ -161,7 +161,10 @@ func (sanitize *sanitize) begin(ctx BaseModuleContext) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if found, globalSanitizers = android.RemoveFromList("fuzzer", globalSanitizers); found && s.Fuzzer == nil {
|
if found, globalSanitizers = android.RemoveFromList("fuzzer", globalSanitizers); found && s.Fuzzer == nil {
|
||||||
s.Fuzzer = proptools.BoolPtr(true)
|
// TODO(b/204776996): HWASan for static Rust binaries isn't supported yet, and fuzzer enables HWAsan
|
||||||
|
if !ctx.RustModule().StaticExecutable() {
|
||||||
|
s.Fuzzer = proptools.BoolPtr(true)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Global Diag Sanitizers
|
// Global Diag Sanitizers
|
||||||
|
@ -287,7 +290,7 @@ func rustSanitizerRuntimeMutator(mctx android.BottomUpMutatorContext) {
|
||||||
deps = []string{config.LibclangRuntimeLibrary(mod.toolchain(mctx), "asan")}
|
deps = []string{config.LibclangRuntimeLibrary(mod.toolchain(mctx), "asan")}
|
||||||
} else if mod.IsSanitizerEnabled(cc.Hwasan) ||
|
} else if mod.IsSanitizerEnabled(cc.Hwasan) ||
|
||||||
(mod.IsSanitizerEnabled(cc.Fuzzer) && mctx.Arch().ArchType == android.Arm64) {
|
(mod.IsSanitizerEnabled(cc.Fuzzer) && mctx.Arch().ArchType == android.Arm64) {
|
||||||
// TODO(b/180495975): HWASan for static Rust binaries isn't supported yet.
|
// TODO(b/204776996): HWASan for static Rust binaries isn't supported yet.
|
||||||
if binary, ok := mod.compiler.(binaryInterface); ok {
|
if binary, ok := mod.compiler.(binaryInterface); ok {
|
||||||
if binary.staticallyLinked() {
|
if binary.staticallyLinked() {
|
||||||
mctx.ModuleErrorf("HWASan is not supported for static Rust executables yet.")
|
mctx.ModuleErrorf("HWASan is not supported for static Rust executables yet.")
|
||||||
|
|
Loading…
Reference in a new issue