| Message ID | 20260120182947.857242-1-Harish.Sadineni@windriver.com |
|---|---|
| Headers | show |
| Series | Enable rust support for linux kernel | expand |
This patch series was tested on Autobuilder: https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/3193 https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/3056 Thanks, Harish
Hi, On Tue Jan 20, 2026 at 7:41 PM CET, Harish via lists.openembedded.org Sadineni wrote: > This patch series was tested on Autobuilder: > https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/3193 > https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/3056 Thanks for your efforts on this. However I think it triggers issues in other builders as you can see from this a-full run (a-full is the complete Autobuilder testing run): https://autobuilder.yoctoproject.org/valkyrie/#/builders/29/builds/3101 For example, the first failure in the list (beaglebone builder): | error: linking with `/srv/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-rust/1.92.0/wrapper/build-rust-ccld` failed: exit status: 1 | | | = note: "/srv/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-rust/1.92.0/wrapper/build-rust-ccld" "-m64" "/tmp/rustcBDQQCc/symbols.o" "<75 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/tmp/rustcBDQQCc/raw-dylibs" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/srv/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-rust/1.92.0/recipe-sysroot/usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/lib" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/srv/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-rust/1.92.0/sources/rustc-1.92.0-src/build/bootstrap/debug/deps/rustdoc-92c720c010da8c74" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs" "-lz" "-lzstd" | = note: some arguments are omitted. use `--verbose` to show all linker arguments | = note: /srv/pokybuild/yocto-worker/beaglebone/build/build/tmp/hosttools/ld: cannot find /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/lib/libm.so.6: No such file or directory | /srv/pokybuild/yocto-worker/beaglebone/build/build/tmp/hosttools/ld: cannot find /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/lib/libmvec.so.1: No such file or directory | collect2: error: ld returned 1 exit status https://autobuilder.yoctoproject.org/valkyrie/#/builders/2/builds/3084 https://autobuilder.yoctoproject.org/valkyrie/api/v2/logs/5052191/raw_inline Can you have a look at these failures? Antonin
On 1/21/2026 8:46 PM, Antonin Godard wrote: > CAUTION: This email comes from a non Wind River email account! > Do not click links or open attachments unless you recognize the sender and know the content is safe. > > Hi, > > On Tue Jan 20, 2026 at 7:41 PM CET, Harish via lists.openembedded.org Sadineni wrote: >> This patch series was tested on Autobuilder: >> https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/3193 >> https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/3056 > Thanks for your efforts on this. However I think it triggers issues in other > builders as you can see from this a-full run (a-full is the complete Autobuilder > testing run): > > https://autobuilder.yoctoproject.org/valkyrie/#/builders/29/builds/3101 > > For example, the first failure in the list (beaglebone builder): > > | error: linking with `/srv/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-rust/1.92.0/wrapper/build-rust-ccld` failed: exit status: 1 > | | > | = note: "/srv/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-rust/1.92.0/wrapper/build-rust-ccld" "-m64" "/tmp/rustcBDQQCc/symbols.o" "<75 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/tmp/rustcBDQQCc/raw-dylibs" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/srv/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-rust/1.92.0/recipe-sysroot/usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/lib" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/srv/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-rust/1.92.0/sources/rustc-1.92.0-src/build/bootstrap/debug/deps/rustdoc-92c720c010da8c74" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs" "-lz" "-lzstd" > | = note: some arguments are omitted. use `--verbose` to show all linker arguments > | = note: /srv/pokybuild/yocto-worker/beaglebone/build/build/tmp/hosttools/ld: cannot find /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/lib/libm.so.6: No such file or directory > | /srv/pokybuild/yocto-worker/beaglebone/build/build/tmp/hosttools/ld: cannot find /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/lib/libmvec.so.1: No such file or directory > | collect2: error: ld returned 1 exit status > > > https://autobuilder.yoctoproject.org/valkyrie/#/builders/2/builds/3084 > https://autobuilder.yoctoproject.org/valkyrie/api/v2/logs/5052191/raw_inline > > Can you have a look at these failures? Thanks for reporting this. The error indicates that the linker is unable to locate libm.so.6 and libmvec.so.6 in the recipe sysroot. These libraries are normally provided by glibc, and this issue does not appear to be caused by our patches, as we are not able to reproduce it locally. Could you please re-test the series once more to confirm? Thanks, Harish > > Antonin > > -- > Antonin Godard, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com >
Hi, On Thu Jan 22, 2026 at 12:53 PM CET, Harish via lists.openembedded.org Sadineni wrote: > > On 1/21/2026 8:46 PM, Antonin Godard wrote: >> CAUTION: This email comes from a non Wind River email account! >> Do not click links or open attachments unless you recognize the sender and know the content is safe. >> >> Hi, >> >> On Tue Jan 20, 2026 at 7:41 PM CET, Harish via lists.openembedded.org Sadineni wrote: >>> This patch series was tested on Autobuilder: >>> https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/3193 >>> https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/3056 >> Thanks for your efforts on this. However I think it triggers issues in other >> builders as you can see from this a-full run (a-full is the complete Autobuilder >> testing run): >> >> https://autobuilder.yoctoproject.org/valkyrie/#/builders/29/builds/3101 >> >> For example, the first failure in the list (beaglebone builder): >> >> | error: linking with `/srv/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-rust/1.92.0/wrapper/build-rust-ccld` failed: exit status: 1 >> | | >> | = note: "/srv/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-rust/1.92.0/wrapper/build-rust-ccld" "-m64" "/tmp/rustcBDQQCc/symbols.o" "<75 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/tmp/rustcBDQQCc/raw-dylibs" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/srv/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-rust/1.92.0/recipe-sysroot/usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/lib" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/srv/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-rust/1.92.0/sources/rustc-1.92.0-src/build/bootstrap/debug/deps/rustdoc-92c720c010da8c74" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs" "-lz" "-lzstd" >> | = note: some arguments are omitted. use `--verbose` to show all linker arguments >> | = note: /srv/pokybuild/yocto-worker/beaglebone/build/build/tmp/hosttools/ld: cannot find /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/lib/libm.so.6: No such file or directory >> | /srv/pokybuild/yocto-worker/beaglebone/build/build/tmp/hosttools/ld: cannot find /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/lib/libmvec.so.1: No such file or directory >> | collect2: error: ld returned 1 exit status >> >> >> https://autobuilder.yoctoproject.org/valkyrie/#/builders/2/builds/3084 >> https://autobuilder.yoctoproject.org/valkyrie/api/v2/logs/5052191/raw_inline >> >> Can you have a look at these failures? > Thanks for reporting this. > The error indicates that the linker is unable to locate libm.so.6 and > libmvec.so.6 in the recipe sysroot. > These libraries are normally provided by glibc, and this issue does not > appear to be caused by our patches, as we are not able to reproduce it > locally. > Could you please re-test the series once more to confirm? > > Thanks, > Harish Ok, thanks for testing again on your side. It may have been related to another commit on my branch as I'm not facing the issues again. I'll re-add the series to my branch - sorry for the false alarm! Antonin
Hi, On Thu Jan 22, 2026 at 3:24 PM CET, Antonin Godard via lists.openembedded.org wrote: [...] >> Thanks for reporting this. >> The error indicates that the linker is unable to locate libm.so.6 and >> libmvec.so.6 in the recipe sysroot. >> These libraries are normally provided by glibc, and this issue does not >> appear to be caused by our patches, as we are not able to reproduce it >> locally. >> Could you please re-test the series once more to confirm? >> >> Thanks, >> Harish > > Ok, thanks for testing again on your side. It may have been related to another > commit on my branch as I'm not facing the issues again. I'll re-add the series > to my branch - sorry for the false alarm! Sorry, but after starting an a-full run with your series again, I started getting the same errors again: https://autobuilder.yoctoproject.org/valkyrie/#/builders/29/builds/3110 I've launched an a-full build with the same branches minus your series and I don't see the errors anymore: https://autobuilder.yoctoproject.org/valkyrie/#/builders/29/builds/3115 You can compare the branches used for the two builds by comparing: https://git.yoctoproject.org/poky-ci-archive/log/?h=oecore/autobuilder.yoctoproject.org/valkyrie/a-full-3110 https://git.yoctoproject.org/poky-ci-archive/log/?h=bitbake/autobuilder.yoctoproject.org/valkyrie/a-full-3110 https://git.yoctoproject.org/poky-ci-archive/log/?h=meta-yocto/autobuilder.yoctoproject.org/valkyrie/a-full-3110 vs. https://git.yoctoproject.org/poky-ci-archive/log/?h=oecore/autobuilder.yoctoproject.org/valkyrie/a-full-3115 https://git.yoctoproject.org/poky-ci-archive/log/?h=bitbake/autobuilder.yoctoproject.org/valkyrie/a-full-3115 https://git.yoctoproject.org/poky-ci-archive/log/?h=meta-yocto/autobuilder.yoctoproject.org/valkyrie/a-full-3115 Maybe your build uses some shared state which is why your builds pass? You can base off your test builds against my a-full-3110 branches above, that may help. Regards, Antonin
On 1/26/2026 1:24 PM, Antonin Godard wrote: > CAUTION: This email comes from a non Wind River email account! > Do not click links or open attachments unless you recognize the sender and know the content is safe. > > Hi, > > On Thu Jan 22, 2026 at 3:24 PM CET, Antonin Godard via lists.openembedded.org wrote: > [...] >>> Thanks for reporting this. >>> The error indicates that the linker is unable to locate libm.so.6 and >>> libmvec.so.6 in the recipe sysroot. >>> These libraries are normally provided by glibc, and this issue does not >>> appear to be caused by our patches, as we are not able to reproduce it >>> locally. >>> Could you please re-test the series once more to confirm? >>> >>> Thanks, >>> Harish >> Ok, thanks for testing again on your side. It may have been related to another >> commit on my branch as I'm not facing the issues again. I'll re-add the series >> to my branch - sorry for the false alarm! > Sorry, but after starting an a-full run with your series again, I started > getting the same errors again: > > https://autobuilder.yoctoproject.org/valkyrie/#/builders/29/builds/3110 > > I've launched an a-full build with the same branches minus your series and I > don't see the errors anymore: > > https://autobuilder.yoctoproject.org/valkyrie/#/builders/29/builds/3115 > > You can compare the branches used for the two builds by comparing: > > https://git.yoctoproject.org/poky-ci-archive/log/?h=oecore/autobuilder.yoctoproject.org/valkyrie/a-full-3110 > https://git.yoctoproject.org/poky-ci-archive/log/?h=bitbake/autobuilder.yoctoproject.org/valkyrie/a-full-3110 > https://git.yoctoproject.org/poky-ci-archive/log/?h=meta-yocto/autobuilder.yoctoproject.org/valkyrie/a-full-3110 > > vs. > > https://git.yoctoproject.org/poky-ci-archive/log/?h=oecore/autobuilder.yoctoproject.org/valkyrie/a-full-3115 > https://git.yoctoproject.org/poky-ci-archive/log/?h=bitbake/autobuilder.yoctoproject.org/valkyrie/a-full-3115 > https://git.yoctoproject.org/poky-ci-archive/log/?h=meta-yocto/autobuilder.yoctoproject.org/valkyrie/a-full-3115 > > Maybe your build uses some shared state which is why your builds pass? > > You can base off your test builds against my a-full-3110 branches above, that > may help. I was able to reproduce the issue locally. Failure was happening due to Alistair Francis's patch from my v4 series (https://lists.openembedded.org/g/openembedded-core/message/229769) when applied together with following patch "llvm: enable LLVMgold.so build by adding binutils dependency(https://lists.openembedded.org/g/openembedded-core/message/229387)" To avoid this issue, I am dropping Alistair Francis’s patch (https://lists.openembedded.org/g/openembedded-core/message/229769<https://lists.openembedded.org/g/openembedded-core/message/229769>) from my patch set. We will send a v5 series tomorrow. Thanks, Harish > > Regards, > Antonin > > -- > Antonin Godard, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com >
From: Harish Sadineni <Harish.Sadineni@windriver.com> v4: - Resolved patchtest failures. v3: - Removed the DISTRO_FEATURES dependency for installing Rust library sources in the Rust recipe, - Extended support for on target rust kernel module developmet by installing Rust library sources and introduced packaging of the Rust standard library sources in a dedicated ${PN}-src-lib package. - Integrated Alistair Francis's patch(https://lists.openembedded.org/g/openembedded-core/message/229091) that uses the Rust bootstrap tool to install Rust library sources for rust-native. - Dropped the patch that added rust-kernel to native/nativesdk feature filters in bitbake.conf. - Updated flags in the make-mod-scripts recipe to fix build failures when building Rust out-of-tree module recipes. - Dropped the bindgen-cli patch extending BBCLASSEXTEND to include nativesdk, as it has been merged into oe-core. v2: - Combined [PATCH 05/16][0] & [PATCH 06/16][1] from v1. - Updated commit message and added in code comments for patch "[PATCH 09/15] kernel-devsrc: copying rust-kernel source to $kerneldir/build" [0] https://lists.openembedded.org/g/openembedded-core/message/228559 [1] https://lists.openembedded.org/g/openembedded-core/message/228560 v1: The previous series was RFC v4, "Enable Rust support for Linux kernel" (https://lists.openembedded.org/g/openembedded-core/message/226623). In addition, Yoann Congal posted RFC v2, "Kernel Rust out-of-tree module support" (https://lists.openembedded.org/g/openembedded-core/message/227281), which builds on top of RFC v4. The current patch series is a unified version that combines both efforts. Compared to the earlier series, the main changes are: -Kernel configuration fragments have been moved to yocto-kernel-cache. -The kernel fragments have been removed from SRC_URI and from the files directory previously stored under recipes-kernel/linux/files. -Updated the "[PATCH 11/16] selftest/cases/runtime_test: Add test for Linux Rust sample" by appending KERNEL_EXTRA_FEATURES:append = ' features/kernel-sample/kernel-rust-sample.scc' instead of adding this directly in the linux-yocto recipe. This patch series introduces Rust support into the linux-yocto kernel recipe and related build infrastructure in the Yocto Project. The goal is to enable building the Linux kernel with Rust components and provide support for building kernel module which is written in rust and also provide support to build rust kernel modules in sdk. And this series adds test for Linux Rust sample and also added support for out-of-tree kernel module written in Rust as well as associated test. Summary of patches: - Patch 01: Add required dependencies ('clang-native', 'rust-native', 'bindgen-cli-native') to the kernel to support Rust binding generation. - Patch 02: Using the Rust bootstrap tool to install Rust library sources for rust-native - Patch 03: Install the Rust standard library source ('library/') into target and sdk - Patch 04: Updated `kernel-yocto.bbclass` to invoke `make rustavailable` during 'do_kernel_configme', ensuring Rust readiness. - Patch 05: Add kernel configuration support for Rust (via 'kernel-rust.scc'), enabling the Rust build options in kernel config. - Patch 06: Fixed buildpaths errors when rust is enabled for kernel by appending --remap-path-prefix to RUST_DEBUG_REMAP - Patch 07: split `HOSTCC` flag to align with to linux-yocto and fix build issue with make-mod-scripts recipe. - Patch 08: Disabling ccache when rust-kernel is enabled for linux-yocto. - Patch 09: Copy Rust kernel sources into kernel-devsrc build directory which will be required while running 'make prepare' in sdk. - Patch 10: Added oe-selftest case for the Linux Rust sample. - patch 11: Copying include/config/auto.conf in STAGING_KERNEL_BUILDDIR - patch 12: Export artifacts needed for out-of-tree Rust compilation - patch 13: Prepare out-of-tree rust module compilation - patch 14: Added rust-out-of-tree-module recipe in meta-skeleton layer - Patch 15: Fixed buildpaths errors for rust-out-of-tree-module recipe by appending --remap-path-prefix to RUST_DEBUG_REMAP - patch 16: Added rust-out-of-tree selftest Patches have been build-tested successfully on: - qemuarm64 - qemux86-64 Benchmark test-result for x86-64: +-------------------------------+------------+-----------+-----------+-----------+ | DISTRO_FEATURES | real | user | sys | FS usage | +-------------------------------+------------+-----------+-----------+-----------+ | rust-kernel (enabled) | 46m1.720s | 0m28.864s | 0m3.696s | 58 GB | | rust-kernel (disabled) | 30m1.053s | 0m20.091s | 0m2.748s | 33 GB | +-------------------------------+------------+-----------+-----------+-----------+ The increased in time & fs is due to kernel rust dependencies in linux-yocto. Alistair Francis (1): rust: Install the Rust source Harish Sadineni (8): linux-yocto: conditionally add clang/rust/bindgen-cli-native to DEPENDS rust: install Rust library sources for target & sdk kernel-yocto: enable Rust kernel support via 'make rustavailable'. linux-yocto: enable Rust support in kernel configuration kernel-yocto: Fix for buildpaths errors when rust is enabled for kernel make-mod-scripts: split `HOSTCC` flag to align with to linux-yocto kernel-devsrc: copying rust-kernel source to $kerneldir/build make-mod-scripts: fix for buildpath issues with rust-out-of-tree compilation Yoann Congal (7): kernel-yocto.bbclass: Disable ccache when rust-kernel is enabled selftest/cases/runtime_test: Add test for Linux Rust sample kernel.bbclass: Copy include/config/auto.conf in STAGING_KERNEL_BUILDDIR kernel.bbclass: Export artifacts needed for out-of-tree Rust compilation module.bbclass: Prepare out-of-tree rust module compilation meta-skeleton: Add rust-out-of-tree-module recipe runtime_test: Add rust-out-of-tree selftest .../rust-out-of-tree-module_git.bb | 18 ++++++ meta/classes-recipe/kernel-yocto.bbclass | 22 +++++++ meta/classes-recipe/kernel.bbclass | 19 ++++++ meta/classes-recipe/module.bbclass | 8 +++ meta/lib/oeqa/selftest/cases/runtime_test.py | 35 +++++++++++ ...-host-documentation-is-built-before-.patch | 60 +++++++++++++++++++ meta/recipes-devtools/rust/rust-source.inc | 1 + meta/recipes-devtools/rust/rust_1.92.0.bb | 15 ++++- meta/recipes-kernel/linux/kernel-devsrc.bb | 9 +++ meta/recipes-kernel/linux/linux-yocto.inc | 2 + meta/recipes-kernel/linux/linux-yocto_6.16.bb | 1 + meta/recipes-kernel/linux/linux-yocto_6.18.bb | 1 + .../make-mod-scripts/make-mod-scripts_1.0.bb | 10 +++- 13 files changed, 199 insertions(+), 2 deletions(-) create mode 100644 meta-skeleton/recipes-kernel/rust-out-of-tree-module/rust-out-of-tree-module_git.bb create mode 100644 meta/recipes-devtools/rust/files/0001-bootstrap-Ensure-host-documentation-is-built-before-.patch