Skip to content

Commit 2d0e2e0

Browse files
committed
---
yaml --- r: 154863 b: refs/heads/try2 c: b5a0b70 h: refs/heads/master i: 154861: 456bfec 154859: 5a27d94 154855: 82580a4 154847: 5276966 v: v3
1 parent accdbb8 commit 2d0e2e0

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ refs/heads/snap-stage3: 78a7676898d9f80ab540c6df5d4c9ce35bb50463
55
refs/heads/try: 519addf6277dbafccbb4159db4b710c37eaa2ec5
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8-
refs/heads/try2: 4b70269854a701668ba47641201c4403228db06b
8+
refs/heads/try2: b5a0b700c64639043bce0a2ba0a8b40dd853d469
99
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try2/src/librustc/back/write.rs

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -604,17 +604,34 @@ pub fn run_passes(sess: &Session,
604604
};
605605

606606
let link_obj = |output_path: &Path| {
607-
let mut cmd = Command::new("ld");
607+
let pname = get_cc_prog(sess);
608+
let mut cmd = Command::new(pname.as_slice());
609+
610+
cmd.args(sess.targ_cfg.target_strs.cc_args.as_slice());
611+
cmd.arg("-nostdlib");
608612

609613
for index in range(0, trans.modules.len()) {
610614
cmd.arg(crate_output.with_extension(format!("{}.o", index).as_slice()));
611615
}
612616

613617
cmd.arg("-r").arg("-o").arg(output_path);
618+
619+
if (sess.opts.debugging_opts & config::PRINT_LINK_ARGS) != 0 {
620+
println!("{}", &cmd);
621+
}
622+
614623
cmd.stdin(::std::io::process::Ignored)
615624
.stdout(::std::io::process::InheritFd(1))
616625
.stderr(::std::io::process::InheritFd(2));
617-
cmd.status().unwrap();
626+
match cmd.status() {
627+
Ok(_) => {},
628+
Err(e) => {
629+
sess.err(format!("could not exec the linker `{}`: {}",
630+
pname,
631+
e).as_slice());
632+
sess.abort_if_errors();
633+
},
634+
}
618635
};
619636

620637
// Flag to indicate whether the user explicitly requested bitcode.

0 commit comments

Comments
 (0)