mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-23 07:14:28 +00:00
Auto merge of #94601 - csmoe:android-asan, r=nagisa
add address sanitizer fo android We have been being using asan to debug the rust/cpp/c mixed android application in production for months: recompile the rust library with a patched rustc, everything just works fine. The patch is really small thanks to `@nagisa` 's refactoring in https://github.com/rust-lang/rust/pull/81866 r? `@nagisa`
This commit is contained in:
commit
0cbef1c6a7
@ -16,7 +16,8 @@ pub fn target() -> Target {
|
||||
features: "+neon,+fp-armv8".to_string(),
|
||||
supported_sanitizers: SanitizerSet::CFI
|
||||
| SanitizerSet::HWADDRESS
|
||||
| SanitizerSet::MEMTAG,
|
||||
| SanitizerSet::MEMTAG
|
||||
| SanitizerSet::ADDRESS,
|
||||
..super::android_base::opts()
|
||||
},
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
use crate::spec::{Target, TargetOptions};
|
||||
use crate::spec::{SanitizerSet, Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
Target {
|
||||
@ -10,6 +10,7 @@ pub fn target() -> Target {
|
||||
abi: "eabi".to_string(),
|
||||
// https://developer.android.com/ndk/guides/abis.html#armeabi
|
||||
features: "+strict-align,+v5te".to_string(),
|
||||
supported_sanitizers: SanitizerSet::ADDRESS,
|
||||
max_atomic_width: Some(32),
|
||||
..super::android_base::opts()
|
||||
},
|
||||
|
@ -1,4 +1,4 @@
|
||||
use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
use crate::spec::{LinkerFlavor, SanitizerSet, Target, TargetOptions};
|
||||
|
||||
// This target if is for the baseline of the Android v7a ABI
|
||||
// in thumb mode. It's named armv7-* instead of thumbv7-*
|
||||
@ -19,6 +19,7 @@ pub fn target() -> Target {
|
||||
options: TargetOptions {
|
||||
abi: "eabi".to_string(),
|
||||
features: "+v7,+thumb-mode,+thumb2,+vfp3,-d32,-neon".to_string(),
|
||||
supported_sanitizers: SanitizerSet::ADDRESS,
|
||||
max_atomic_width: Some(64),
|
||||
..base
|
||||
},
|
||||
|
@ -1,4 +1,4 @@
|
||||
use crate::spec::{StackProbeType, Target};
|
||||
use crate::spec::{SanitizerSet, StackProbeType, Target, TargetOptions};
|
||||
|
||||
// See https://developer.android.com/ndk/guides/abis.html#x86
|
||||
// for target ABI requirements.
|
||||
@ -21,6 +21,6 @@ pub fn target() -> Target {
|
||||
f64:32:64-f80:32-n8:16:32-S128"
|
||||
.to_string(),
|
||||
arch: "x86".to_string(),
|
||||
options: base,
|
||||
options: TargetOptions { supported_sanitizers: SanitizerSet::ADDRESS, ..base },
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
use crate::spec::{LinkerFlavor, StackProbeType, Target};
|
||||
use crate::spec::{LinkerFlavor, SanitizerSet, StackProbeType, Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = super::android_base::opts();
|
||||
@ -16,6 +16,6 @@ pub fn target() -> Target {
|
||||
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
|
||||
.to_string(),
|
||||
arch: "x86_64".to_string(),
|
||||
options: base,
|
||||
options: TargetOptions { supported_sanitizers: SanitizerSet::ADDRESS, ..base },
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user