@@ -40,6 +40,7 @@ use std::ffi::OsString;
4040use std:: fs:: { File , OpenOptions } ;
4141use std:: io:: { BufWriter , Write } ;
4242use std:: lazy:: OnceCell ;
43+ use std:: ops:: Deref ;
4344use std:: path:: { Path , PathBuf } ;
4445use std:: process:: { ExitStatus , Output , Stdio } ;
4546use std:: { ascii, char, env, fmt, fs, io, mem, str} ;
@@ -1586,7 +1587,7 @@ fn add_post_link_objects(
15861587/// FIXME: Determine where exactly these args need to be inserted.
15871588fn add_pre_link_args ( cmd : & mut dyn Linker , sess : & Session , flavor : LinkerFlavor ) {
15881589 if let Some ( args) = sess. target . pre_link_args . get ( & flavor) {
1589- cmd. args ( args) ;
1590+ cmd. args ( args. iter ( ) . map ( Deref :: deref ) ) ;
15901591 }
15911592 cmd. args ( & sess. opts . debugging_opts . pre_link_args ) ;
15921593}
@@ -1634,23 +1635,23 @@ fn add_late_link_args(
16341635 } ) ;
16351636 if any_dynamic_crate {
16361637 if let Some ( args) = sess. target . late_link_args_dynamic . get ( & flavor) {
1637- cmd. args ( args) ;
1638+ cmd. args ( args. iter ( ) . map ( Deref :: deref ) ) ;
16381639 }
16391640 } else {
16401641 if let Some ( args) = sess. target . late_link_args_static . get ( & flavor) {
1641- cmd. args ( args) ;
1642+ cmd. args ( args. iter ( ) . map ( Deref :: deref ) ) ;
16421643 }
16431644 }
16441645 if let Some ( args) = sess. target . late_link_args . get ( & flavor) {
1645- cmd. args ( args) ;
1646+ cmd. args ( args. iter ( ) . map ( Deref :: deref ) ) ;
16461647 }
16471648}
16481649
16491650/// Add arbitrary "post-link" args defined by the target spec.
16501651/// FIXME: Determine where exactly these args need to be inserted.
16511652fn add_post_link_args ( cmd : & mut dyn Linker , sess : & Session , flavor : LinkerFlavor ) {
16521653 if let Some ( args) = sess. target . post_link_args . get ( & flavor) {
1653- cmd. args ( args) ;
1654+ cmd. args ( args. iter ( ) . map ( Deref :: deref ) ) ;
16541655 }
16551656}
16561657
0 commit comments