rust-cross/rust-common: Merge arm target handling code to fix cross-canadian

rust-cross had special handling for armv7 targets but we also need this
for cross-canadian. Merge the code into the main function so everything is
consistent.

Also then fix the arm definition to be arm-eabi since ABI is correctly
being looked up.

(From OE-Core rev: 0adada8111c17e8e5a7c32cef86bdb8e7dfd79d3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit ff3c3dbbd2bf1bb7bb70b55cca203e9eedcf14a8)
Signed-off-by: Jermain Horsman <jermain.horsman@nedap.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
This commit is contained in:
Richard Purdie
2023-12-05 15:27:18 +01:00
committed by Steve Sakoman
parent 26ffdb7a30
commit 079e50aba0
2 changed files with 7 additions and 6 deletions

View File

@@ -297,6 +297,12 @@ def rust_gen_target(d, thing, wd, features, cpu, arch, abi=""):
sys = sys_for(d, thing)
prefix = prefix_for(d, thing)
if thing == "TARGET":
abi = d.getVar('ABIEXTENSION')
# arm and armv7 have different targets in llvm
if arch == "arm" and target_is_armv7(d):
arch = 'armv7'
rust_arch = oe.rust.arch_to_rust_arch(arch)
if abi:

View File

@@ -8,15 +8,10 @@ python do_rust_gen_targets () {
features = ""
cpu = "generic"
arch = d.getVar('{}_ARCH'.format(thing))
abi = ""
if thing is "TARGET":
abi = d.getVar('ABIEXTENSION')
# arm and armv7 have different targets in llvm
if arch == "arm" and target_is_armv7(d):
arch = 'armv7'
features = d.getVar('TARGET_LLVM_FEATURES') or ""
cpu = d.getVar('TARGET_LLVM_CPU')
rust_gen_target(d, thing, wd, features, cpu, arch, abi)
rust_gen_target(d, thing, wd, features, cpu, arch)
}
# Otherwise we'll depend on what we provide