diff options
Diffstat (limited to 'compiler/rustc_target/src/spec/android_base.rs')
| -rw-r--r-- | compiler/rustc_target/src/spec/android_base.rs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/compiler/rustc_target/src/spec/android_base.rs b/compiler/rustc_target/src/spec/android_base.rs new file mode 100644 index 00000000000..0ea99af83a1 --- /dev/null +++ b/compiler/rustc_target/src/spec/android_base.rs @@ -0,0 +1,16 @@ +use crate::spec::{LinkerFlavor, TargetOptions}; + +pub fn opts() -> TargetOptions { + let mut base = super::linux_base::opts(); + // Many of the symbols defined in compiler-rt are also defined in libgcc. + // Android's linker doesn't like that by default. + base.pre_link_args + .get_mut(&LinkerFlavor::Gcc) + .unwrap() + .push("-Wl,--allow-multiple-definition".to_string()); + base.is_like_android = true; + base.position_independent_executables = true; + base.has_elf_tls = false; + base.requires_uwtable = true; + base +} |
