@@ -131,6 +131,7 @@ def guess_nix_linker(env: 'Environment', compiler: T.List[str], comp_class: T.Ty
131
131
env .coredata .add_lang_args (comp_class .language , comp_class , for_machine , env )
132
132
extra_args = extra_args or []
133
133
134
+ system = env .machines [for_machine ].system
134
135
ldflags = env .coredata .get_external_link_args (for_machine , comp_class .language )
135
136
extra_args += comp_class ._unix_args_to_native (ldflags , env .machines [for_machine ])
136
137
@@ -164,7 +165,7 @@ def guess_nix_linker(env: 'Environment', compiler: T.List[str], comp_class: T.Ty
164
165
lld_cls = linkers .LLVMDynamicLinker
165
166
166
167
linker = lld_cls (
167
- compiler , for_machine , comp_class .LINKER_PREFIX , override , version = v )
168
+ compiler , for_machine , comp_class .LINKER_PREFIX , override , system = system , version = v )
168
169
elif 'Snapdragon' in e and 'LLVM' in e :
169
170
linker = linkers .QualcommLLVMDynamicLinker (
170
171
compiler , for_machine , comp_class .LINKER_PREFIX , override , version = v )
@@ -222,7 +223,10 @@ def guess_nix_linker(env: 'Environment', compiler: T.List[str], comp_class: T.Ty
222
223
elif 'xtools-' in o .split ('\n ' , maxsplit = 1 )[0 ]:
223
224
xtools = o .split (' ' , maxsplit = 1 )[0 ]
224
225
v = xtools .split ('-' , maxsplit = 2 )[1 ]
225
- linker = linkers .AppleDynamicLinker (compiler , for_machine , comp_class .LINKER_PREFIX , override , version = v )
226
+ linker = linkers .AppleDynamicLinker (
227
+ compiler , for_machine , comp_class .LINKER_PREFIX , override ,
228
+ system = system , version = v
229
+ )
226
230
# detect linker on MacOS - must be after other platforms because the
227
231
# "(use -v to see invocation)" will match clang on other platforms,
228
232
# but the rest of the checks will fail and call __failed_to_detect_linker.
@@ -241,7 +245,10 @@ def guess_nix_linker(env: 'Environment', compiler: T.List[str], comp_class: T.Ty
241
245
break
242
246
else :
243
247
__failed_to_detect_linker (compiler , check_args , o , e )
244
- linker = linkers .AppleDynamicLinker (compiler , for_machine , comp_class .LINKER_PREFIX , override , version = v )
248
+ linker = linkers .AppleDynamicLinker (
249
+ compiler , for_machine , comp_class .LINKER_PREFIX , override ,
250
+ system = system , version = v
251
+ )
245
252
else :
246
253
__failed_to_detect_linker (compiler , check_args , o , e )
247
254
return linker
0 commit comments