@@ -122,6 +122,7 @@ def guess_nix_linker(env: 'Environment', compiler: T.List[str], comp_class: T.Ty
122122 env .coredata .add_lang_args (comp_class .language , comp_class , for_machine , env )
123123 extra_args = extra_args or []
124124
125+ system = env .machines [for_machine ].system
125126 ldflags = env .coredata .get_external_link_args (for_machine , comp_class .language )
126127 extra_args += comp_class ._unix_args_to_native (ldflags , env .machines [for_machine ])
127128
@@ -155,7 +156,7 @@ def guess_nix_linker(env: 'Environment', compiler: T.List[str], comp_class: T.Ty
155156 lld_cls = linkers .LLVMDynamicLinker
156157
157158 linker = lld_cls (
158- compiler , for_machine , comp_class .LINKER_PREFIX , override , version = v )
159+ compiler , for_machine , comp_class .LINKER_PREFIX , override , system = system , version = v )
159160 elif 'Snapdragon' in e and 'LLVM' in e :
160161 linker = linkers .QualcommLLVMDynamicLinker (
161162 compiler , for_machine , comp_class .LINKER_PREFIX , override , version = v )
@@ -213,7 +214,10 @@ def guess_nix_linker(env: 'Environment', compiler: T.List[str], comp_class: T.Ty
213214 elif 'xtools-' in o .split ('\n ' , maxsplit = 1 )[0 ]:
214215 xtools = o .split (' ' , maxsplit = 1 )[0 ]
215216 v = xtools .split ('-' , maxsplit = 2 )[1 ]
216- linker = linkers .AppleDynamicLinker (compiler , for_machine , comp_class .LINKER_PREFIX , override , version = v )
217+ linker = linkers .AppleDynamicLinker (
218+ compiler , for_machine , comp_class .LINKER_PREFIX , override ,
219+ system = system , version = v
220+ )
217221 # detect linker on MacOS - must be after other platforms because the
218222 # "(use -v to see invocation)" will match clang on other platforms,
219223 # but the rest of the checks will fail and call __failed_to_detect_linker.
@@ -232,7 +236,10 @@ def guess_nix_linker(env: 'Environment', compiler: T.List[str], comp_class: T.Ty
232236 break
233237 else :
234238 __failed_to_detect_linker (compiler , check_args , o , e )
235- linker = linkers .AppleDynamicLinker (compiler , for_machine , comp_class .LINKER_PREFIX , override , version = v )
239+ linker = linkers .AppleDynamicLinker (
240+ compiler , for_machine , comp_class .LINKER_PREFIX , override ,
241+ system = system , version = v
242+ )
236243 else :
237244 __failed_to_detect_linker (compiler , check_args , o , e )
238245 return linker
0 commit comments