about summary refs log tree commit diff
path: root/compiler
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2022-02-13 20:46:42 +0000
committerbors <bors@rust-lang.org>2022-02-13 20:46:42 +0000
commit1e12aef3fab243407f9d71ba9956cb2a1bf105d5 (patch)
tree19f810bab5b2bcddaef7212a876f3f4f1c7ac61b /compiler
parent1a8fa2af1c909ae5c6180f978275894c75a90c44 (diff)
parentda4a235c269945ef48e639471ab229396b2c996a (diff)
downloadrust-1e12aef3fab243407f9d71ba9956cb2a1bf105d5.tar.gz
rust-1e12aef3fab243407f9d71ba9956cb2a1bf105d5.zip
Auto merge of #83822 - petrochenkov:linkandro, r=davidtwco
rustc_target: Remove compiler-rt linking hack on Android

`compiler-rt` did some significant work last year trying to eliminate this kind of duplicated symbols, so the flag may be no longer necessary.
Tested locally with AArch64 Android, seems to work, CI will check the rest of the targets.
Diffstat (limited to 'compiler')
-rw-r--r--compiler/rustc_target/src/spec/android_base.rs8
1 files changed, 1 insertions, 7 deletions
diff --git a/compiler/rustc_target/src/spec/android_base.rs b/compiler/rustc_target/src/spec/android_base.rs
index e982b3565b5..dc14d260e92 100644
--- a/compiler/rustc_target/src/spec/android_base.rs
+++ b/compiler/rustc_target/src/spec/android_base.rs
@@ -1,14 +1,8 @@
-use crate::spec::{LinkerFlavor, TargetOptions};
+use crate::spec::TargetOptions;
 
 pub fn opts() -> TargetOptions {
     let mut base = super::linux_base::opts();
     base.os = "android".to_string();
-    // 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
-        .entry(LinkerFlavor::Gcc)
-        .or_default()
-        .push("-Wl,--allow-multiple-definition".to_string());
     base.dwarf_version = Some(2);
     base.position_independent_executables = true;
     base.has_thread_local = false;