diff options
author | Ovidiu Panait <ovidiu.panait@windriver.com> | 2025-09-01 13:34:17 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-09-08 14:05:10 +0100 |
commit | 70e8497ce575e7350d85e4e7567a17acec84d8cf (patch) | |
tree | bb90c9ee6802448f7e9442da62bef2bffa4cf54e /scripts/lib/checklayer/context.py | |
parent | f81b351440e77d153d8f57a9cfac103e169abcec (diff) | |
download | poky-70e8497ce575e7350d85e4e7567a17acec84d8cf.tar.gz |
rust-target-config: fix nativesdk-libstd-rs build with baremetal
If TCLIBC='baremetal' is set in local.conf, nativesdk-libstd-rs build fails
with:
| error[E0412]: cannot find type `c_char` in the crate root
| --> /usr/src/debug/libstd-rs/1.75.0/rustc-1.75.0-src/vendor/libc/src/unix/mod.rs:56:29
| |
| 6 | pub type c_schar = i8;
| | ---------------------- similarly named type alias `c_schar` defined here
| ...
| 56 | pub gr_name: *mut ::c_char,
| | ^^^^^^
This happens because rust_gen_target() sets os="none" when TCLIBC is
'baremetal' - even for nativesdk targets. However, nativesdk packages are
built against glibc, so the correct 'os' value should be "linux".
Fix this by setting the os field based on {TARGET,HOST,BUILD}_OS variables,
as it is already done in rust_base_triple(), instead of relying on TCLIBC.
(From OE-Core rev: 3eaf2cd5647585a1e6df03fc20e2753da27bb692)
Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/lib/checklayer/context.py')
0 files changed, 0 insertions, 0 deletions