From fd41c390534e15c223200031c93a10173046ebfa Mon Sep 17 00:00:00 2001 From: Jordan Rhee Date: Wed, 12 Sep 2018 11:28:02 -0700 Subject: [PATCH] Expand comments in thumbv7a-pc-windows-msvc target spec --- src/librustc_target/spec/thumbv7a_pc_windows_msvc.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/librustc_target/spec/thumbv7a_pc_windows_msvc.rs b/src/librustc_target/spec/thumbv7a_pc_windows_msvc.rs index a699e15d417..dab10ca241e 100644 --- a/src/librustc_target/spec/thumbv7a_pc_windows_msvc.rs +++ b/src/librustc_target/spec/thumbv7a_pc_windows_msvc.rs @@ -14,9 +14,17 @@ pub fn target() -> TargetResult { let mut base = super::windows_msvc_base::opts(); // Prevent error LNK2013: BRANCH24(T) fixup overflow + // The LBR optimization tries to eliminate branch islands, + // but if the displacement is larger than can fit + // in the instruction, this error will occur. The linker + // should be smart enough to insert branch islands only + // where necessary, but this is not the observed behavior. + // Disabling the LBR optimization works around the issue. base.pre_link_args.get_mut(&LinkerFlavor::Msvc).unwrap().push( "/OPT:NOLBR".to_string()); + // FIXME(jordanrh): use PanicStrategy::Unwind when SEH is + // implemented for windows/arm in LLVM base.panic_strategy = PanicStrategy::Abort; Ok(Target { -- GitLab