summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2022-07-23 11:47:42 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-07-28 11:07:33 +0100
commitd48c7e45494e4a690ef62424f97eb4bb9b1ffa21 (patch)
treedc42c5c16b201f7b3e1a055a9611795e519100cd
parent5204de3f8df8273ee52f4b23061b695c77466b0b (diff)
downloadpoky-d48c7e45494e4a690ef62424f97eb4bb9b1ffa21.tar.gz
rust-common: Set llvm-target correctly for cross SDK targets
When a 'BUILD' target is requested we shouldn't be looking at TARGET_SYS but at BUILD_SYS. Due to the way rust mangles triplets, we need the HOST_SYS triplet to work with existing code - fixing that issue is a separate patch. Also drop the arch_abi argument, it doens't make any sense to a getVar() call and was a copy and paste error. Based on a patch from Otavio Salvador <otavio@ossystems.com.br> but separated out and tweaked. Fixes: bd36593ba3 ("rust-common: Drop LLVM_TARGET and simplify") (From OE-Core rev: d554161a045d12411f288394e253c54aa4c1257c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/rust/rust-common.inc6
1 files changed, 5 insertions, 1 deletions
diff --git a/meta/recipes-devtools/rust/rust-common.inc b/meta/recipes-devtools/rust/rust-common.inc
index ef70c48d0f..37abd2cd26 100644
--- a/meta/recipes-devtools/rust/rust-common.inc
+++ b/meta/recipes-devtools/rust/rust-common.inc
@@ -307,9 +307,13 @@ def rust_gen_target(d, thing, wd, features, cpu, arch, abi=""):
307 features = features or d.getVarFlag('FEATURES', arch_abi) or "" 307 features = features or d.getVarFlag('FEATURES', arch_abi) or ""
308 features = features.strip() 308 features = features.strip()
309 309
310 llvm_target = d.getVar('RUST_TARGET_SYS')
311 if thing == "BUILD":
312 llvm_target = d.getVar('RUST_HOST_SYS')
313
310 # build tspec 314 # build tspec
311 tspec = {} 315 tspec = {}
312 tspec['llvm-target'] = d.getVar('RUST_TARGET_SYS', arch_abi) 316 tspec['llvm-target'] = llvm_target
313 tspec['data-layout'] = d.getVarFlag('DATA_LAYOUT', arch_abi) 317 tspec['data-layout'] = d.getVarFlag('DATA_LAYOUT', arch_abi)
314 tspec['max-atomic-width'] = int(d.getVarFlag('MAX_ATOMIC_WIDTH', arch_abi)) 318 tspec['max-atomic-width'] = int(d.getVarFlag('MAX_ATOMIC_WIDTH', arch_abi))
315 tspec['target-pointer-width'] = d.getVarFlag('TARGET_POINTER_WIDTH', arch_abi) 319 tspec['target-pointer-width'] = d.getVarFlag('TARGET_POINTER_WIDTH', arch_abi)