diff options
Diffstat (limited to 'compiler/rustc_target/src/spec/armv4t_none_eabi.rs')
-rw-r--r-- | compiler/rustc_target/src/spec/armv4t_none_eabi.rs | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/compiler/rustc_target/src/spec/armv4t_none_eabi.rs b/compiler/rustc_target/src/spec/armv4t_none_eabi.rs index 28b109889..d0f988b27 100644 --- a/compiler/rustc_target/src/spec/armv4t_none_eabi.rs +++ b/compiler/rustc_target/src/spec/armv4t_none_eabi.rs @@ -4,13 +4,6 @@ //! //! Please ping @Lokathor if changes are needed. //! -//! This target profile assumes that you have the ARM binutils in your path -//! (specifically the linker, `arm-none-eabi-ld`). They can be obtained for free -//! for all major OSes from the ARM developer's website, and they may also be -//! available in your system's package manager. Unfortunately, the standard -//! linker that Rust uses (`lld`) only supports as far back as `ARMv5TE`, so we -//! must use the GNU `ld` linker. -//! //! **Important:** This target profile **does not** specify a linker script. You //! just get the default link script when you build a binary for this target. //! The default link script is very likely wrong, so you should use @@ -35,8 +28,8 @@ pub fn target() -> Target { data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".into(), options: TargetOptions { abi: "eabi".into(), - linker_flavor: LinkerFlavor::Gnu(Cc::No, Lld::No), - linker: Some("arm-none-eabi-ld".into()), + linker_flavor: LinkerFlavor::Gnu(Cc::No, Lld::Yes), + linker: Some("rust-lld".into()), asm_args: cvs!["-mthumb-interwork", "-march=armv4t", "-mlittle-endian",], // Force-enable 32-bit atomics, which allows the use of atomic load/store only. // The resulting atomics are ABI incompatible with atomics backed by libatomic. |