about summary refs log tree commit diff
diff options
context:
space:
mode:
author12101111 <w12101111@gmail.com>2021-04-09 23:22:17 +0800
committer12101111 <w12101111@gmail.com>2021-04-09 23:22:17 +0800
commit7cd0a4d352198779f015fc04f48900f5e20c5278 (patch)
tree569041d83523786c8e71c41854f44f455211d836
parentbc66b92f7f1114a78b98504a927ca9c0aa12c71a (diff)
downloadrust-7cd0a4d352198779f015fc04f48900f5e20c5278.tar.gz
rust-7cd0a4d352198779f015fc04f48900f5e20c5278.zip
Enable sanitizers for x86_64-unknown-linux-musl
-rw-r--r--compiler/rustc_target/src/spec/x86_64_unknown_linux_musl.rs4
-rw-r--r--src/bootstrap/native.rs3
2 files changed, 6 insertions, 1 deletions
diff --git a/compiler/rustc_target/src/spec/x86_64_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/x86_64_unknown_linux_musl.rs
index da79bc2f338..1e2e5766a31 100644
--- a/compiler/rustc_target/src/spec/x86_64_unknown_linux_musl.rs
+++ b/compiler/rustc_target/src/spec/x86_64_unknown_linux_musl.rs
@@ -1,4 +1,4 @@
-use crate::spec::{LinkerFlavor, StackProbeType, Target};
+use crate::spec::{LinkerFlavor, SanitizerSet, StackProbeType, Target};
 
 pub fn target() -> Target {
     let mut base = super::linux_musl_base::opts();
@@ -7,6 +7,8 @@ pub fn target() -> Target {
     base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-m64".to_string());
     base.stack_probes = StackProbeType::InlineOrCall { min_llvm_version_for_inline: (11, 0, 1) };
     base.static_position_independent_executables = true;
+    base.supported_sanitizers =
+        SanitizerSet::ADDRESS | SanitizerSet::LEAK | SanitizerSet::MEMORY | SanitizerSet::THREAD;
 
     Target {
         llvm_target: "x86_64-unknown-linux-musl".to_string(),
diff --git a/src/bootstrap/native.rs b/src/bootstrap/native.rs
index c06ceb80c6a..bde0a96f030 100644
--- a/src/bootstrap/native.rs
+++ b/src/bootstrap/native.rs
@@ -814,6 +814,9 @@ fn supported_sanitizers(
         "x86_64-unknown-linux-gnu" => {
             common_libs("linux", "x86_64", &["asan", "lsan", "msan", "tsan"])
         }
+        "x86_64-unknown-linux-musl" => {
+            common_libs("linux", "x86_64", &["asan", "lsan", "msan", "tsan"])
+        }
         _ => Vec::new(),
     }
 }