|
1 |
| -use crate::common::{Config, Debugger}; |
| 1 | +use crate::common::{Config, Debugger, Sanitizer}; |
2 | 2 | use crate::header::IgnoreDecision;
|
3 |
| -use crate::util; |
4 | 3 |
|
5 | 4 | pub(super) fn handle_needs(
|
6 | 5 | cache: &CachedNeedsConditions,
|
@@ -220,21 +219,22 @@ impl CachedNeedsConditions {
|
220 | 219 | path.iter().any(|dir| dir.join("x86_64-w64-mingw32-dlltool").is_file());
|
221 | 220 |
|
222 | 221 | let target = &&*config.target;
|
| 222 | + let sanitizers = &config.target_cfg().sanitizers; |
223 | 223 | Self {
|
224 | 224 | sanitizer_support: std::env::var_os("RUSTC_SANITIZER_SUPPORT").is_some(),
|
225 |
| - sanitizer_address: util::ASAN_SUPPORTED_TARGETS.contains(target), |
226 |
| - sanitizer_cfi: util::CFI_SUPPORTED_TARGETS.contains(target), |
227 |
| - sanitizer_kcfi: util::KCFI_SUPPORTED_TARGETS.contains(target), |
228 |
| - sanitizer_kasan: util::KASAN_SUPPORTED_TARGETS.contains(target), |
229 |
| - sanitizer_leak: util::LSAN_SUPPORTED_TARGETS.contains(target), |
230 |
| - sanitizer_memory: util::MSAN_SUPPORTED_TARGETS.contains(target), |
231 |
| - sanitizer_thread: util::TSAN_SUPPORTED_TARGETS.contains(target), |
232 |
| - sanitizer_hwaddress: util::HWASAN_SUPPORTED_TARGETS.contains(target), |
233 |
| - sanitizer_memtag: util::MEMTAG_SUPPORTED_TARGETS.contains(target), |
234 |
| - sanitizer_shadow_call_stack: util::SHADOWCALLSTACK_SUPPORTED_TARGETS.contains(target), |
235 |
| - sanitizer_safestack: util::SAFESTACK_SUPPORTED_TARGETS.contains(target), |
| 225 | + sanitizer_address: sanitizers.contains(&Sanitizer::Address), |
| 226 | + sanitizer_cfi: sanitizers.contains(&Sanitizer::Cfi), |
| 227 | + sanitizer_kcfi: sanitizers.contains(&Sanitizer::Kcfi), |
| 228 | + sanitizer_kasan: sanitizers.contains(&Sanitizer::KernelAddress), |
| 229 | + sanitizer_leak: sanitizers.contains(&Sanitizer::Leak), |
| 230 | + sanitizer_memory: sanitizers.contains(&Sanitizer::Memory), |
| 231 | + sanitizer_thread: sanitizers.contains(&Sanitizer::Thread), |
| 232 | + sanitizer_hwaddress: sanitizers.contains(&Sanitizer::Hwaddress), |
| 233 | + sanitizer_memtag: sanitizers.contains(&Sanitizer::Memtag), |
| 234 | + sanitizer_shadow_call_stack: sanitizers.contains(&Sanitizer::ShadowCallStack), |
| 235 | + sanitizer_safestack: sanitizers.contains(&Sanitizer::Safestack), |
236 | 236 | profiler_support: std::env::var_os("RUSTC_PROFILER_SUPPORT").is_some(),
|
237 |
| - xray: util::XRAY_SUPPORTED_TARGETS.contains(target), |
| 237 | + xray: config.target_cfg().xray, |
238 | 238 |
|
239 | 239 | // For tests using the `needs-rust-lld` directive (e.g. for `-Zgcc-ld=lld`), we need to find
|
240 | 240 | // whether `rust-lld` is present in the compiler under test.
|
|
0 commit comments