diff --git a/src/librustc/back/link.rs b/src/librustc/back/link.rs index fc38fa25a2146..4778fed9de5d9 100644 --- a/src/librustc/back/link.rs +++ b/src/librustc/back/link.rs @@ -337,8 +337,13 @@ pub mod write { llvm_c_strs.push(s); }; add("rustc"); // fake program name - add("-arm-enable-ehabi"); - add("-arm-enable-ehabi-descriptors"); + + // Only enable ARM EHABI if we are unwinding + if !sess.no_landing_pads() { + add("-arm-enable-ehabi"); + add("-arm-enable-ehabi-descriptors"); + } + if vectorize_loop { add("-vectorize-loops"); } if vectorize_slp { add("-vectorize-slp"); } if sess.time_llvm_passes() { add("-time-passes"); }