Add sanitizer support on FreeBSD
This commit is contained in:
parent
8bc801b050
commit
2f39477ecf
5 changed files with 19 additions and 7 deletions
|
@ -786,6 +786,7 @@ fn supported_sanitizers(
|
||||||
}
|
}
|
||||||
"x86_64-apple-darwin" => darwin_libs("osx", &["asan", "lsan", "tsan"]),
|
"x86_64-apple-darwin" => darwin_libs("osx", &["asan", "lsan", "tsan"]),
|
||||||
"x86_64-fuchsia" => common_libs("fuchsia", "x86_64", &["asan"]),
|
"x86_64-fuchsia" => common_libs("fuchsia", "x86_64", &["asan"]),
|
||||||
|
"x86_64-unknown-freebsd" => common_libs("freebsd", "x86_64", &["asan", "msan", "tsan"]),
|
||||||
"x86_64-unknown-linux-gnu" => {
|
"x86_64-unknown-linux-gnu" => {
|
||||||
common_libs("linux", "x86_64", &["asan", "lsan", "msan", "tsan"])
|
common_libs("linux", "x86_64", &["asan", "lsan", "msan", "tsan"])
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,5 +29,5 @@ ENV \
|
||||||
|
|
||||||
ENV HOSTS=x86_64-unknown-freebsd
|
ENV HOSTS=x86_64-unknown-freebsd
|
||||||
|
|
||||||
ENV RUST_CONFIGURE_ARGS --enable-extended --enable-profiler --disable-docs
|
ENV RUST_CONFIGURE_ARGS --enable-extended --enable-profiler --enable-sanitizers --disable-docs
|
||||||
ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS
|
ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS
|
||||||
|
|
|
@ -818,6 +818,7 @@ fn link_sanitizer_runtime(sess: &Session, linker: &mut dyn Linker, name: &str) {
|
||||||
"aarch64-fuchsia"
|
"aarch64-fuchsia"
|
||||||
| "aarch64-unknown-linux-gnu"
|
| "aarch64-unknown-linux-gnu"
|
||||||
| "x86_64-fuchsia"
|
| "x86_64-fuchsia"
|
||||||
|
| "x86_64-unknown-freebsd"
|
||||||
| "x86_64-unknown-linux-gnu" => {
|
| "x86_64-unknown-linux-gnu" => {
|
||||||
let filename = format!("librustc{}_rt.{}.a", channel, name);
|
let filename = format!("librustc{}_rt.{}.a", channel, name);
|
||||||
let path = default_tlib.join(&filename);
|
let path = default_tlib.join(&filename);
|
||||||
|
|
|
@ -1453,14 +1453,19 @@ fn validate_commandline_args_with_session_available(sess: &Session) {
|
||||||
"aarch64-unknown-linux-gnu",
|
"aarch64-unknown-linux-gnu",
|
||||||
"x86_64-apple-darwin",
|
"x86_64-apple-darwin",
|
||||||
"x86_64-fuchsia",
|
"x86_64-fuchsia",
|
||||||
|
"x86_64-unknown-freebsd",
|
||||||
"x86_64-unknown-linux-gnu",
|
"x86_64-unknown-linux-gnu",
|
||||||
];
|
];
|
||||||
const LSAN_SUPPORTED_TARGETS: &[&str] =
|
const LSAN_SUPPORTED_TARGETS: &[&str] =
|
||||||
&["aarch64-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu"];
|
&["aarch64-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu"];
|
||||||
const MSAN_SUPPORTED_TARGETS: &[&str] =
|
const MSAN_SUPPORTED_TARGETS: &[&str] =
|
||||||
&["aarch64-unknown-linux-gnu", "x86_64-unknown-linux-gnu"];
|
&["aarch64-unknown-linux-gnu", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"];
|
||||||
const TSAN_SUPPORTED_TARGETS: &[&str] =
|
const TSAN_SUPPORTED_TARGETS: &[&str] = &[
|
||||||
&["aarch64-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu"];
|
"aarch64-unknown-linux-gnu",
|
||||||
|
"x86_64-apple-darwin",
|
||||||
|
"x86_64-unknown-freebsd",
|
||||||
|
"x86_64-unknown-linux-gnu",
|
||||||
|
];
|
||||||
|
|
||||||
// Sanitizers can only be used on some tested platforms.
|
// Sanitizers can only be used on some tested platforms.
|
||||||
for s in sess.opts.debugging_opts.sanitizer {
|
for s in sess.opts.debugging_opts.sanitizer {
|
||||||
|
|
|
@ -87,6 +87,7 @@ pub const ASAN_SUPPORTED_TARGETS: &'static [&'static str] = &[
|
||||||
"aarch64-unknown-linux-gnu",
|
"aarch64-unknown-linux-gnu",
|
||||||
"x86_64-apple-darwin",
|
"x86_64-apple-darwin",
|
||||||
"x86_64-fuchsia",
|
"x86_64-fuchsia",
|
||||||
|
"x86_64-unknown-freebsd",
|
||||||
"x86_64-unknown-linux-gnu",
|
"x86_64-unknown-linux-gnu",
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -94,10 +95,14 @@ pub const LSAN_SUPPORTED_TARGETS: &'static [&'static str] =
|
||||||
&["aarch64-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu"];
|
&["aarch64-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu"];
|
||||||
|
|
||||||
pub const MSAN_SUPPORTED_TARGETS: &'static [&'static str] =
|
pub const MSAN_SUPPORTED_TARGETS: &'static [&'static str] =
|
||||||
&["aarch64-unknown-linux-gnu", "x86_64-unknown-linux-gnu"];
|
&["aarch64-unknown-linux-gnu", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"];
|
||||||
|
|
||||||
pub const TSAN_SUPPORTED_TARGETS: &'static [&'static str] =
|
pub const TSAN_SUPPORTED_TARGETS: &'static [&'static str] = &[
|
||||||
&["aarch64-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu"];
|
"aarch64-unknown-linux-gnu",
|
||||||
|
"x86_64-apple-darwin",
|
||||||
|
"x86_64-unknown-freebsd",
|
||||||
|
"x86_64-unknown-linux-gnu",
|
||||||
|
];
|
||||||
|
|
||||||
const BIG_ENDIAN: &'static [&'static str] = &[
|
const BIG_ENDIAN: &'static [&'static str] = &[
|
||||||
"armebv7r",
|
"armebv7r",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue