mirror of
https://git.yoctoproject.org/poky
synced 2026-06-01 13:09:50 +00:00
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>
This commit is contained in:
@@ -307,9 +307,13 @@ def rust_gen_target(d, thing, wd, features, cpu, arch, abi=""):
|
|||||||
features = features or d.getVarFlag('FEATURES', arch_abi) or ""
|
features = features or d.getVarFlag('FEATURES', arch_abi) or ""
|
||||||
features = features.strip()
|
features = features.strip()
|
||||||
|
|
||||||
|
llvm_target = d.getVar('RUST_TARGET_SYS')
|
||||||
|
if thing == "BUILD":
|
||||||
|
llvm_target = d.getVar('RUST_HOST_SYS')
|
||||||
|
|
||||||
# build tspec
|
# build tspec
|
||||||
tspec = {}
|
tspec = {}
|
||||||
tspec['llvm-target'] = d.getVar('RUST_TARGET_SYS', arch_abi)
|
tspec['llvm-target'] = llvm_target
|
||||||
tspec['data-layout'] = d.getVarFlag('DATA_LAYOUT', arch_abi)
|
tspec['data-layout'] = d.getVarFlag('DATA_LAYOUT', arch_abi)
|
||||||
tspec['max-atomic-width'] = int(d.getVarFlag('MAX_ATOMIC_WIDTH', arch_abi))
|
tspec['max-atomic-width'] = int(d.getVarFlag('MAX_ATOMIC_WIDTH', arch_abi))
|
||||||
tspec['target-pointer-width'] = d.getVarFlag('TARGET_POINTER_WIDTH', arch_abi)
|
tspec['target-pointer-width'] = d.getVarFlag('TARGET_POINTER_WIDTH', arch_abi)
|
||||||
|
|||||||
Reference in New Issue
Block a user