File tree Expand file tree Collapse file tree 2 files changed +20
-3
lines changed
branches/try2/src/librustc/back Expand file tree Collapse file tree 2 files changed +20
-3
lines changed Original file line number Diff line number Diff line change @@ -5,7 +5,7 @@ refs/heads/snap-stage3: 78a7676898d9f80ab540c6df5d4c9ce35bb50463
5
5
refs/heads/try: 519addf6277dbafccbb4159db4b710c37eaa2ec5
6
6
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
7
7
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8
- refs/heads/try2: 4b70269854a701668ba47641201c4403228db06b
8
+ refs/heads/try2: b5a0b700c64639043bce0a2ba0a8b40dd853d469
9
9
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
10
10
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
11
11
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
Original file line number Diff line number Diff line change @@ -604,17 +604,34 @@ pub fn run_passes(sess: &Session,
604
604
} ;
605
605
606
606
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" ) ;
608
612
609
613
for index in range ( 0 , trans. modules . len ( ) ) {
610
614
cmd. arg ( crate_output. with_extension ( format ! ( "{}.o" , index) . as_slice ( ) ) ) ;
611
615
}
612
616
613
617
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
+
614
623
cmd. stdin ( :: std:: io:: process:: Ignored )
615
624
. stdout ( :: std:: io:: process:: InheritFd ( 1 ) )
616
625
. 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
+ }
618
635
} ;
619
636
620
637
// Flag to indicate whether the user explicitly requested bitcode.
You can’t perform that action at this time.
0 commit comments