Alejandro Hernandez Samaniego
901f7ed6ba
rust: Enable baremetal targets
...
Allow rust to build for baremetal targets by generating the proper target
triple, follow the format specified by rusts Triple [1], that is:
<arch>-<vendor>-<os>-<abi>
This is done automatically based on both TARGET_OS and TCLIBC.
For example, a riscv64 baremetal target triple would look like this:
riscv64gc-poky-none-elf
matching rusts own target triple for riscv64 according to platform-support [2]
[1] https://docs.rs/target-lexicon/latest/target_lexicon/struct.Triple.html
[2] https://doc.rust-lang.org/stable/rustc/platform-support.html
(From OE-Core rev: 3bff689f0c5ea73076ce0510872b0552e8660cbe)
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org >
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com >
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org >
2022-12-21 10:16:31 +00:00
Alexander Kanavin
6608c076f6
rust-target-config: match riscv target names with what rust expects
...
Official rust risc-v targets are prefixed with riscv32gc- and riscv64gc-:
https://doc.rust-lang.org/nightly/rustc/platform-support.html
Particularly crossbeam-utils make important build time decisions
for atomics based on those names, and so we need to match ours
with official targets.
On the other hand, the actual definitions for those targets do not
use the 'gc' suffix in 'arch' and 'llvm-target' fields, and so we
need to follow that too, to avoid cryptic mismatch errors from rust-llvm:
https://github.com/rust-lang/rust/blob/master/compiler/rustc_target/src/spec/riscv32gc_unknown_linux_gnu.rs
(From OE-Core rev: 1cfb9c8a59d98ccc9b0510cd28fb933f72fb6b6c)
Signed-off-by: Alexander Kanavin <alex@linutronix.de >
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com >
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org >
2022-10-28 09:44:52 +01:00
Richard Purdie
cfd49050a5
rust-target-config: Fix qemuppc target cpu option
...
We see a lot of warnings about incorrect processor types on qemuppc, drowning
out anything else. Fix the option.
(From OE-Core rev: 0371e429d9e127983ddfaec366ce1c38c99158e4)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org >
2022-08-31 10:40:07 +01:00
Richard Purdie
4830a76a3c
rust-target-config: Drop has-elf-tls option
...
This option doesn't seem to exist any more and causes lots of warnings.
Remove it.
(From OE-Core rev: 8e1614a906086fb46c5dd7b7f2dffab91194165c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org >
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org >
2022-08-30 10:33:35 +01:00
Richard Purdie
fd1517e2b5
classes: Update classes to match new bitbake class scope functionality
...
Move classes to classes-global or classes-recipe as appropriate to take
advantage of new bitbake functionality to check class scope/usage.
(From OE-Core rev: f5c128008365e141082c129417eb72d2751e8045)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org >
2022-08-12 15:27:17 +01:00