Skip to content

Commit

Permalink
auto merge of #17471 : vadimcn/rust/link-libgcc, r=alexcrichton
Browse files Browse the repository at this point in the history
Closes #17271
Closes #15420
  • Loading branch information
bors committed Sep 24, 2014
2 parents d853666 + a468659 commit 8cad720
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 5 deletions.
13 changes: 9 additions & 4 deletions src/librustc/back/link.rs
Expand Up @@ -991,10 +991,15 @@ fn link_args(cmd: &mut Command,
}

if sess.targ_cfg.os == abi::OsWindows {
// Make sure that we link to the dynamic libgcc, otherwise cross-module
// DWARF stack unwinding will not work.
// This behavior may be overridden by --link-args "-static-libgcc"
cmd.arg("-shared-libgcc");
if sess.targ_cfg.arch == abi::X86 {
// Make sure that we link to the dynamic libgcc, otherwise cross-module
// DWARF stack unwinding will not work.
// This behavior may be overridden by -Clink-args="-static-libgcc"
cmd.arg("-shared-libgcc");
} else {
// On Win64 unwinding is handled by the OS, so we can link libgcc statically.
cmd.arg("-static-libgcc");
}

// And here, we see obscure linker flags #45. On windows, it has been
// found to be necessary to have this flag to compile liblibc.
Expand Down
1 change: 0 additions & 1 deletion src/librustrt/libunwind.rs
Expand Up @@ -87,7 +87,6 @@ pub type _Unwind_Exception_Cleanup_Fn =

#[cfg(target_os = "linux")]
#[cfg(target_os = "freebsd")]
#[cfg(target_os = "windows")]
#[link(name = "gcc_s")]
extern {}

Expand Down

0 comments on commit 8cad720

Please sign in to comment.