summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/rust
Commit message (Collapse)AuthorAgeFilesLines
* The poky repository master branch is no longer being updated.Richard Purdie2025-11-0721-2814/+0
| | | | | | | | | | | | | | | | | | | | | You can either: a) switch to individual clones of bitbake, openembedded-core, meta-yocto and yocto-docs b) use the new bitbake-setup You can find information about either approach in our documentation: https://docs.yoctoproject.org/ Note that "poky" the distro setting is still available in meta-yocto as before and we continue to use and maintain that. Long live Poky! Some further information on the background of this change can be found in: https://lists.openembedded.org/g/openembedded-architecture/message/2179 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Do not modify rpaths in llvm-configKhem Raj2025-10-271-5/+1
| | | | | | | | | | | | | | | | No need to edit rpaths in llvm-config, this is not needed anymore because the llvm-config used is from standard install inside sysroot unlike when rust-llvm was used, where it was installed into its own location to avoid conflicts with llvm-config coming from llvm/clang (From OE-Core rev: c91addea22c7e857e583a89d4597f6e676210e6b) Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libstd-rs: remove redundant CARGO_TARGET_DIRRoss Burton2025-10-271-3/+2
| | | | | | | | | | | | | | The cargo class already sets this, so there's no need to set it again. The value set by cargo.bbclass is actually ${B}/target, so update the do_install task to match. (From OE-Core rev: 3557f1c294531e7f8c34a2b0677e8c03f1b1be77) (From OE-Core rev: ec51c22e902c2556438f1323a71a5e47ef00681e) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Drop rust-llvmDeepesh Varatharajan2025-10-163-162/+0
| | | | | | | | | | | | | Dropping rust-llvm because now rust depends on llvm. 0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch 0002-llvm-allow-env-override-of-exe-path.patch (We have the above two patches in llvm) (From OE-Core rev: c116828a876853cd5b53f7bd4607f0037fef4ee4) Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Use llvm instead of rust-llvmDeepesh Varatharajan2025-10-161-4/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updated the Rust build to depend on llvm instead. *Summary of discussion with the rust upstream about using latest LLVM instead of Rust maintained LLVM fork. https://internals.rust-lang.org/t/can-we-use-proper-clang-instead-of-llvm-fork-what-rust-uses/23489 *Upstream LLVM is generally compatible: - Rust does support building with upstream (vanilla) LLVM, especially the latest major release and the one or two preceding ones. https://rustc-dev-guide.rust-lang.org/backend/updating-llvm.html#updating-llvm *Impact on Yocto Rust upgrades: - Rust upgrades shall always check for updates on rust forked llvm and backport the relevant patches to llvm. *Regarding the rust forked llvm local patches: - There are no local patches on rust forked llvm other than the backported fixes from llvm master. *We are copying the natively built `llvm-config` binary into the target sysroot and running it. However, this `llvm-config` has compile time dependencies on various other arch's LLVM libraries because native-llvm is built for all oe-core supported targets. Attempting to work around this by symlinking the missing libraries from the native sysroot into the target sysroot leads to mixed architectures in the final `.rlib`. Specifically, the object files extracted from those symlinked libraries within `librustc_llvm-<hash>.rlib` are built for the host, while others are correctly built for the target This results in linker failures due to file format not recognized. To resolve this, we now build llvm-target also for all oe-core supported architectures in addition to the native-llvm build. This ensures that `llvm-config` and all associated libraries are built for the correct target, eliminating cross-architecture contamination and linker issues. *We are enabling -DLLVM_INSTALL_UTILS=ON to ensure essential LLVM utilities like FileCheck are available, as they are required by the Rust build. Without this, the build fails with an error as below: | thread 'main' panicked at src/bootstrap/src/core/sanity.rs:315:21: | FileCheck executable "poky/build/tmp/work/x86_64-linux/rust-native/1.90.0/recipe-sysroot -native/usr/bin/FileCheck" does not exist *We now add these flags "-Clink-arg=-lz -Clink-arg=-lzstd" because of this following diff otherwise we will get errors during link time. Setup in rust-llvm -DLLVM_ENABLE_ZLIB=OFF \ -DLLVM_ENABLE_ZSTD=OFF \ -DLLVM_ENABLE_FFI=OFF \ Setup in llvm -DLLVM_ENABLE_FFI=ON \ *When multilibs enabled: llvm-config expects static libraries to be located in the lib directory rather than lib64. However, since we are copying the natively built llvm-config to target sysroot and running it and llvm-config doesn't know anything about lib64 existence. To accommodate this without breaking multilib behavior, we are creating a symlink from 'lib' to 'lib64' directory. Previously, when we depended on rust-llvm, this worked because we specified: -DCMAKE_INSTALL_PREFIX:PATH=${libdir}/llvm-rust With this setup, llvm-config was installed inside ${libdir}/llvm-rust, which included its own bin and lib directories. Thus, llvm-config located in bin would correctly find the libraries in the adjacent lib directory. Even when multilib was enabled or not, llvm-config would still look for libraries under lib in this structure, so everything functioned as expected. (From OE-Core rev: 9b0a3484626ecb5e58004572caac7a8e8f86980c) Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cargo-c: fix debug symbols containing TMPDIR referencesYash Shinde2025-10-131-0/+2
| | | | | | | | | | | | | | | | | | | | | When building cargo-c with DEBUG mode, QA checks fail due to absolute paths from the build environment (TMPDIR) being embedded into the debug symbols/binaries. This causes issues such as: ERROR: do_package_qa: File /usr/bin/.debug/cargo-capi contains reference to TMPDIR [buildpaths] ERROR: do_package_qa: File /usr/bin/.debug/cargo-cinstall contains reference to TMPDIR [buildpaths] ERROR: do_package_qa: File /usr/bin/.debug/cargo-cbuild contains reference to TMPDIR [buildpaths] ERROR: do_package_qa: File /usr/bin/.debug/cargo-ctest contains reference to TMPDIR [buildpaths] To fix this, pass an additional -ffile-prefix-map option to DEBUG_PREFIX_MAP to ensure that paths under `${CARGO_HOME}` are remapped to `${TARGET_DBGSRC_DIR}`. This ensures debug info is reproducible and does not leak host-specific paths. (From OE-Core rev: 3239961e35434592c06ec2cae2885ab464d35744) Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cargo-c: update 0.10.15 -> 0.10.16Deepesh Varatharajan2025-10-022-293/+283
| | | | | | | | (From OE-Core rev: d3cf1b37ce8686dc0781aff9bf35f4487c2c76a6) Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Upgrade 1.89.0 -> 1.90.0Yash Shinde2025-09-2513-145/+186
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://blog.rust-lang.org/2025/09/18/Rust-1.90.0/ * Recent changes in rustc require 'target-c-int-width' to be an integer, not a string. This fixes type consistency when generating target specs. https://github.com/rust-lang/rust/pull/142352. * Rebase existing patches with v1.90.0. * Drop merged patches with rust v1.90.0. - backport-fix-test-string-merging.patch https://github.com/rust-lang/rust/commit/2d51acd2fbcbadb6f30709c5dd305494d413d388 * The "remote-test-server" bin is now generated in stage1-tools-bin dir rather than stage2. Update the test suite accordingly. The tests/{assembly/codegen} dirs are renamed to tests/{assembly,codegen}-llvm. Update the test suite and patches accordingly. https://github.com/rust-lang/rust/pull/144249/commits * Use "//@ ignore-riscv64" tag for tests failing on riscv-64 instead of previous "only-<target_arch>" tags. Test results summary: rust v1.90.0 +-----------+--------+---------+ | Machine | Passed | Ignored | +-----------+--------+---------+ | arm-32 | 29,517 | 1,529 | | arm-64 | 29,608 | 1,471 | | x86-32 | 29,508 | 1,507 | | x86-64 | 29,903 | 1,275 | | riscv-64 | 29,584 | 1,494 | +-----------+--------+---------+ Test results difference (1.90 - 1.89): +-----------+--------+---------+ | Machine | Passed | Ignored | +-----------+--------+---------+ | arm-32 | +278 | +61 | | arm-64 | +279 | +59 | | x86-32 | +277 | +58 | | x86-64 | +419 | +50 | | riscv-64 | +280 | +58 | +-----------+--------+---------+ (From OE-Core rev: 86d09ec9cdbcea6e076ebac6e1243f9e20fb4378) Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cargo-c: update 0.10.14 -> 0.10.15Alexander Kanavin2025-09-152-164/+148
| | | | | | | | (From OE-Core rev: 363cc3166329d2457c531e7d6375fe0c63f1e90e) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Upgrade 1.88.0 -> 1.89.0Jayasurya Maganuru2025-08-2814-245/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rust stable version upgraded to 1.89.0 https://blog.rust-lang.org/2025/08/07/Rust-1.89.0/ * Drop merged patches with rust v1.89.0. - 0001-Disable-libunwind-cross-architecture-unwinding.patch - triagebot.patch * Update and rebase existing patches with rust v1.89.0. - revert-link-std-statically-in-rustc_driver-feature.patch - rust-oe-selftest.patch - 0001-src-core-build_steps-tool.rs-switch-off-lto-for-rust.patch - 0001-riscv32-Define-plain-syscalls-as-their-time64-varian.patch (To fix build failures for riscv with musl, this patch adds aliases for plain syscalls to their time64 variants in libc-0.2.174, These changes are in addition to similar fixes already applied to libc-0.2.172) - 0001-Define-more-ioctl-codes-on-riscv32gc-unknown-linux-g.patch (Changes for libc-0.2.170 are no longer needed, as that version is not present in rust v1.89.0 vendor sources) * OE-selftests: - Doc-tests fail in 55 crates,test-float-parse tests also fail. These tests are excluded to ensure the overall test suite passes. Test Results Summary: +-----------+--------+---------+ | Machine | Passed | Ignored | +-----------+--------+---------+ | arm-32 | 29,239 | 1,468 | | arm-64 | 29,329 | 1,412 | | x86-32 | 29,231 | 1,449 | | x86-64 | 29,484 | 1,225 | | riscv-64 | 29,304 | 1,436 | +-----------+--------+---------+ (From OE-Core rev: fca454a188592c9fa854e93ff1a9c3e70a681e23) Signed-off-by: Jayasurya Maganuru <Maganuru.Jayasurya@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipes: cleanup CVE_STATUS which are resolved nowPeter Marko2025-08-281-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The don't show up in CVE metrics anymore since they were either fixed upstream or recipe version was upgraded meanwhile. * bind CVE-2019-6470: cpe got corrected in nvd db * libxml2 CVE-2023-45322: version is now higher than NVD cpe * zlib CVE-2023-45853: version is now higher than NVD cpe * gcc CVE-2021-37322: version is now higher than NVD cpe * python3 * CVE-2007-4559: version is now higher than NVD cpe * CVE-2019-18348: version is now higher than NVD cpe * CVE-2020-15523: version is now higher than NVD cpe * CVE-2022-26488: version is now higher than NVD cpe * CVE-2015-20107: version is now higher than NVD cpe * CVE-2023-36632: version is now higher than NVD cpe * rust * CVE-2024-24576: NVD has no cpe, but we have newer version as fix * CVE-2024-43402: version is now higher than NVD cpe * cups CVE-2021-25317: version is now higher than NVD cpe * ghostscript CVE-2023-38559: version is now higher than NVD cpe * libtirpc CVE-2021-46828: version is now higher than NVD cpe * unzip CVE-2008-0888: version is now higher than NVD cpe * ffmpeg CVE-2023-39018: cpe got corrected in nvd db * libxslt CVE-2022-29824: version is now higher than NVD cpe * libyaml * CVE-2024-35325: CVE is now rejected in NVD DB * CVE-2024-35326: CVE is now rejected in NVD DB * CVE-2024-35328: CVE is now rejected in NVD DB Also add comment for iputils regarding reports for FKIE/NVD2. Also remove some trailing spaces in python recipe. (From OE-Core rev: 73ee9789183aa95072af2b51ac9e08203f4e33f9) Signed-off-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: backport cstring-merging test fix for PowerPC targetsPeter Tatrai2025-08-142-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Rust cstring-merging assembly test was failing on PowerPC targets due to LLVM's GlobalMerge optimization pass merging all global string constants into a single merged global. This caused the test's CHECK directives to fail as they expected separate .Lanon labels for each string literal ("foo", "bar", "baz"). The test verifies that C-style string literals are correctly placed in mergeable read-only sections (.rodata.str1.1) with proper section flags (aMS - Allocatable, Merge, Strings) for linker optimization. This backports the upstream fix that disables the GlobalMerge pass (-Cllvm-args=-enable-global-merge=0) specifically for this test, allowing it to verify the expected assembly structure without interference from the optimization. Fixes test failure: - tests/assembly/cstring-merging.rs on powerpc-poky-linux-gnu Backport of https://github.com/rust-lang/rust/commit/2d51acd2fbcbadb6f30709c5dd305494d413d388 (From OE-Core rev: 2435b16b050ebdca0f70fe9ed1eebfdd3bacf19d) Signed-off-by: Peter Tatrai <peter.tatrai.ext@siemens.com> Tested-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: disable executable-no-mangle-strip test on PowerPC due to linker issuePeter Tatrai2025-08-141-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | The executable-no-mangle-strip test fails on PowerPC target with an undefined reference error when linking. The linker attempts to resolve this undefined symbol at link time, causing the test to fail with: undefined reference to `THIS_SYMBOL_SHOULD_BE_UNDEFINED' The test is designed to verify garbage collection behavior of #[no_mangle] functions and used(compiler)] statics. This appears to be a PowerPC-specific linker behavior issue. Temporarily disable this test on PowerPC until the underlying issue is resolved upstream. Related upstream issue: https://github.com/rust-lang/rust/issues/144777 Fixes oe-selftest failure: - tests/ui/linking/executable-no-mangle-strip.rs on powerpc-poky-linux-gnu (From OE-Core rev: 58ccb78de7e87f2f17d8ee47be545de49b8e2450) Signed-off-by: Peter Tatrai <peter.tatrai.ext@siemens.com> Tested-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cargo-c: Update patches to latest versionsKhem Raj2025-08-072-83/+51
| | | | | | | | | | | getrandom patch is accepted upstream with minor changes parking_lot patch has addressed upstream feedback (From OE-Core rev: 9f0f41d8e3fe00df37d926d99fb490614b51dde7) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libstd-rs: Fix build regression on rv32Khem Raj2025-08-042-0/+50
| | | | | | | | | | This started to fail with rust 1.88, due to rust libc upgrade (From OE-Core rev: f9145bc8bec77e1f454f80c4e5576567daa99ac8) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Upgrade 1.87.0 -> 1.88.0Jayasurya Maganuru2025-07-3111-165/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rust stable version updated to 1.88.0. https://blog.rust-lang.org/2025/06/26/Rust-1.88.0/ * Rebase existing patches with v1.88.0 * Exclude tidy and coverage-dump from OE self-tests due to test failures Although the build completes successfully, OE self-tests fail: tools/coverage-dump panics during test execution. tools/tidy fails due to a mismatched GCC submodule commit. These tests are excluded to allow successful OE self-test runs. * Two tests from the`codegen` modules now fail only on riscv64. Enable them on arm32/64 and x86-32/64 targets, while restricting them on riscv64 via `only-<target_arch>` tags. Bugzilla link - https://bugzilla.yoctoproject.org/show_bug.cgi?id=15944 Test Results Summary: +-----------+--------+---------+ | Machine | Passed | Ignored | +-----------+--------+---------+ | arm-32 | 28,664 | 1,451 | | arm-64 | 28,748 | 1,396 | | x86-32 | 28,657 | 1,432 | | x86-64 | 28,904 | 1,213 | | riscv-64 | 28,722 | 1,421 | +-----------+--------+---------+ (From OE-Core rev: 5afc9bdbabfdbcb784ceb637926111e6c7648f41) Signed-off-by: Jayasurya Maganuru <Maganuru.Jayasurya@windriver.com> Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cargo-c: Upgrade to 0.10.14+cargo-0.89.0Khem Raj2025-07-284-238/+386
| | | | | | | | | Fix build on riscv32 while here. (From OE-Core rev: 34b07ad6330173fc8319b8db69410cf72af48395) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Update riscv32 patch with the backportKhem Raj2025-07-281-68/+307
| | | | | | | | | This is the patch that got merged into libc finally (From OE-Core rev: eb79f29c5c2bf8fce13c02c7d7ca362c61e2b0ff) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cargo-c-native: Update 0.10.5 -> 0.10.13Yash Shinde2025-06-263-446/+505
| | | | | | | | | | | | | cargo-c native version updated to stable version 0.10.13+cargo-0.88.0. https://crates.io/crates/cargo-c Drop the merged patch defining ioctl codes for riscv32 after the verion upgrade. (From OE-Core rev: 56abe99a953873853c726ee5a6458c4a65298a9c) Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Upgrade 1.86.0 -> 1.87.0Yash Shinde2025-06-2612-129/+184
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rust stable version updated to 1.87.0. https://blog.rust-lang.org/2025/05/15/Rust-1.87.0/ * Update LLVM data-layout for arm64. LLVM requires matching data layouts and the aarch64 llvm data-layout was updated to to allow using 32-bit signed/unsigned pointers when building 64-bit targets using 270, 271 and 272 address spaces. https://github.com/rust-lang/rust/commit/e9853961452b56997cc127b51308879b9cd09482 https://github.com/llvm/llvm-project/commit/c9f27275c1330a325661bdf14fb3bc444a5e3648 * Rebase existing patches with v1.87.0. * Two tests from the `ui` and `codegen` modules now fail only on riscv64. Enable them on arm32/64 and x86-32/64 targets, while restricting them on riscv64 via `only-<target_arch>` tags. Test Results Summary: +-----------+--------+---------+ | Machine | Passed | Ignored | +-----------+--------+---------+ | arm-32 | 28,320 | 901 | | arm-64 | 28,400 | 849 | | x86-32 | 28,285 | 885 | | x86-64 | 28,518 | 676 | | riscv-64 | 27,845 | 868 | +-----------+--------+---------+ * Backport triagebot.patch to skip tidy linkcheck when triagebot.toml is not present. Distribution tarballs won't include triagebot.toml, which causes tidy checks to fail. This backport ensures tidy checks can still run successfully even when the file is missing. https://github.com/rust-lang/rust/pull/142666/commits * During rust installation, some binaries were installed from 'stage2-tools' built path to '${D}${bindir}'. However, from v1.87 the stage2-tools are no longer built by default. Update logic to install from `stage1-tools` instead. (From OE-Core rev: 16ce25e6970b4a50f6433606a0c87d22ec74ea5a) Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Drop obsolete rust-lld and extended tools dependenciesYash Shinde2025-06-261-8/+3
| | | | | | | | | | | | | | | | Some dependencies introduced during the v1.86 upgrade were needed only for rust-lld and certain LLVM extended tools, not for the Rust compiler itself. Since rust-lld and the extended tools are now disabled, these dependencies have become obsolete. Additionally, related tasks such as packaging zsh files and removing cargo binaries are no longer relevant. They can be re-enabled later if needed. (From OE-Core rev: 42141da566c9512b338900967e7e81e9e8b49150) Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: remove consecutive blank linesAlexander Kanavin2025-06-201-1/+0
| | | | | | | | | | | | | | | | | Some of them were introduced by mass-removal of S = WORKDIR/git assignments; rather than try to fix up (or redo) just these, I've run this sed command over the whole tree: sed -i -z -E 's/([ \t\f\v\r]*\n){3,}/\n\n/g' `find . -name *.bb -o -name *.inc` The rationale is that more than one empty line is wasting vertical screen space, and does nothing for readability. (From OE-Core rev: cedc4ff7c9bcfb22a20e43e47f9759f4007a4f1a) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: set S from UNPACKDIR in recipes that use only local filesAlexander Kanavin2025-06-201-2/+1
| | | | | | | | | | | | | | | There is no need to have two assignments; also setting S from UNPACKDIR (and not vice versa) is more logical as unpack task comes first, and tasks that come after unpack use S to access unpack results. Also adjust reference test data in selftest/recipeutils to reflect changes in test recipes. (From OE-Core rev: f64b7e5fb3181734c8dde87b27e872a026261a74) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: set S to be in UNPACKDIR in recipes that explicitly set SAlexander Kanavin2025-06-201-1/+1
| | | | | | | | (From OE-Core rev: 7321cc17ae5483f17fe9cdffea7b62acd9d9c3a2) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Upgrade 1.85.1->1.86.0Yash Shinde2025-06-1211-157/+150
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rust stable version updated to 1.86.0. https://blog.rust-lang.org/2025/04/03/Rust-1.86.0.html * Add pkgconfig-native and openssl to resolve openssl-sys crate dependency on pkg-config. As per rust document this is a required dependency. Fixes: | error: failed to run custom build command for `openssl-sys v0.9.106` | Could not find openssl via pkg-config: | The pkg-config command could not be found. | | Most likely, you need to install a pkg-config package for your OS. | Try `apt install pkg-config`, or `yum install pkg-config`, | or `pkg install pkg-config`, or `apk add pkgconfig` depending on your distribution https://crates.io/crates/openssl-sys/0.9.108/dependencies https://github.com/rust-lang/rust/blob/master/INSTALL.md#dependencies * Add Ninja as a dependency for building Rust to prevent bootstrap build regression. Fixes: | Building LLD for x86_64-unknown-linux-gnu | | Couldn't find required command: ninja (or ninja-build) | | You should install ninja as described at | <https://github.com/ninja-build/ninja/wiki/Pre-built-Ninja-packages>, | or set `ninja = false` in the `[llvm]` section of `config.toml`. | Alternatively, set `download-ci-llvm = true` in that `[llvm]` section | to download LLVM rather than building it. * Add bash to DEPENDS to resolve missing dependency for subtree-sync.sh Fixes: ERROR: rust-1.86.0-r0 do_package_qa: QA Issue: /usr/lib/rustlib/src/rust/library/portable-simd/subtree-sync.sh contained in package rust requires /bin/bash, but no providers found in RDEPENDS:rust? [file-rdeps] * Add do_install:append() task to remove cargo bin from rust native builds. This resolves the following conflict: Fixes: ERROR: libstd-rs-1.86.0-r0 do_prepare_recipe_sysroot: The file /usr/bin/cargo is installed by both rust-native and cargo-native, aborting * Update Unicode-3.0 license checksums. License-Update: Copyright and license files to distributions are updated. https://github.com/rust-lang/rust/commit/f9c16997dc016a3ef1456f56df2ab564a1c48cb2 It adds copyright and license files (including HTML versions) to distributions, aligns with license compliance tools like reuse, and ensures all required license texts are properly included and formatted. * Disable building of extended Rust tools to reduce build time and filesystem usage. Update config.toml to disable building of extended Rust tools that are not required. This helps minimize unnecessary build time and filesystem usage. * The "remote-test-server" bin is now generated in stage2-tools-bin dir rather than stage1. Update the test suite accordingly. * Fix do_package QA issue by packing missing zsh files and directories: Fixes: do_package: QA Issue: rust: Files/directories were installed but not shipped in any package: /usr/share/zsh /usr/share/zsh/site-functions /usr/share/zsh/site-functions/_cargo Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install * From v1.86.0, a "self-contained" LLD is built as part of rust bootstrap build. This results in additional build time and installations. Disable rust-lld in config.toml to prevent it. References: https://github.com/rust-lang/rust/pull/135001 https://github.com/rust-lang/rust/commit/8744b44e6bde053f7656a3c727c968177ee8e4b6 * Drop Zdual-proc-macros-additional-check.patch patch since it's merged with v1.86.0 https://github.com/rust-lang/rust/commit/139d6ba054a1a4cc5fe64981ad46fd5547bd4916 * LTO config is applied to rustdoc from v1.86.0. Rebase 0001-src-core-build_steps-tool.rs-switch-off-lto-for-rust.patch which disables it to avoid suffixes in binaries causing non-reproducibility. https://github.com/rust-lang/rust/commit/1fe351b * Restrict tests using "//@only <target_arch>" to avoid failures on riscv64, which is now part of default AB testing. Since riscv64 is Tier 2 with no automated testing, some tests may fail. This approach ensures tests continue running on supported architectures while skipping them on riscv64. https://doc.rust-lang.org/rustc/platform-support.html#tier-2-with-host-tools (From OE-Core rev: c064ef18343a956aea397d36d2e7665d6c8afd7d) Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Disable cross-unwinding support in llvm libunwindKhem Raj2025-05-292-0/+47
| | | | | | | | | | | | | This is default in LLVM but rust does not use cmake to build itself so it needs to replicate the behavior Fixes rust build with clang/musl for aarch64 (From OE-Core rev: f05d42d11e56cbbda6034bd7f773dc690b68bdbd) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: remove file-native DEPENDSRoss Burton2025-05-271-1/+1
| | | | | | | | | | | | | | It's unclear what this was for: there's no use of "file" or libmagic in the recipe, and the guide to building Rust from source doesn't list file as a dependency[1]. [1] https://github.com/rust-lang/rust/blob/master/INSTALL.md#dependencies (From OE-Core rev: 79dcbed250cfe8ab05dd6e075905ad37de6d3bc4) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: consolidate rust-llvm dependenciesRoss Burton2025-05-271-6/+1
| | | | | | | | | | | There's no need to have multiple overrides for this, as BBCLASSEXTEND will automatically map the dependencies as needed. (From OE-Core rev: ffa699332551fbbb95a0e388385667dc2706da6a) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: remove python3-native DEPENDSRoss Burton2025-05-271-1/+1
| | | | | | | | | | | | | | | | This dependency has always existed in the oe-core recipes but isn't explicitly needed here: the host Python is sufficient. Note that rust-common still inherits on python3native[1] so this doesn't yet actually have a meaningful change to the dependency tree. [1] oe-core 4abd6ee9d48 ("rust-common.bbclass: rewrite toolchain wrappers in (native) python") (From OE-Core rev: aee45fc067b2ccf3e365deb94584089b60cc7d4e) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Use patchelf in place of chrpath to edit rpathsKhem Raj2025-05-221-5/+6
| | | | | | | | | | | | | | | | | | | | | chrpath has limitations e.g. the original rpath in ELF have to bigger in size than the one being edited into it by chrpath, some toolchains do not use RPATH but emit the RUNPATHs into ELF files and chrpath is not able to handle the runpaths, this is the case with mips and pp32 build of rust, especially when using clang compiler to build them. patchelf can do more: Modify RUNPATH entries Add RPATH/RUNPATH where none existed Set longer paths than the original Convert between RPATH and RUNPATH (From OE-Core rev: 22b903f6620455e142e836412d3f7f6a4f03bea7) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: re-enable the unit tests that are previously ignoredDeepesh Varatharajan2025-05-151-44/+0
| | | | | | | | | | | | Some unit tests were previously marked as ignored due to failures in earlier versions of Rust. With the upgrade to Rust 1.85.1, these tests are now passing consistently. They've been re-enabled and verified to run successfully on the latest version. (From OE-Core rev: 56149c8c2108973666251e21609a7210a91984cf) Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Fix build with GCC-15 on aarch64/muslKhem Raj2025-05-012-0/+67
| | | | | | | | | | | | | GCC-15 has _CHKFEAT_GCS defined in arm_acle.h to indicate gcs intrinsics support, this trips llvm libunwind gcs feature detection logic to set gcs feature on. However the contructs used in unwindlib are assuming clang and the needed target attribute is not available in gcc it should be +gcs to work with both clang and gcc (From OE-Core rev: aa5b42b32093fdd10e0a8f8a124322610c84f60b) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: re-enable the unit tests that are ignoredDeepesh Varatharajan2025-04-231-100/+0
| | | | | | | | | | | | Some unit tests were previously marked as ignored due to failures in earlier versions of Rust. With the upgrade to Rust 1.85.1, these tests are now passing consistently. They've been re-enabled and verified to run successfully on the latest version. (From OE-Core rev: 65c207fb034848f9ef0de8cf8725c5eded363aca) Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: Switch prefix mapping to use -ffile-prefix-mapKhem Raj2025-04-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | -ffile-prefix map is more comprehensive when it comes to reproducible builds and its superset of all prefix-mapping options in compilers This makes is cleaner and workable across gcc and clang, clang does not support -fcanon-prefix-map and it has to be explicitly omitted when using clang. There are lambdas generated in templates by clang which still get the absolute paths despite -fdebug-prefix-map, this helps with that as well. nasm is an outlier and we have fixed it by adding -fdebug-prefix-map option luckily we do not pass DEBUG_PREFIX_MAP to nasm, in all recipes which use nasm either pass -fdebug-prefix-map explicitly to nasm or they rewrite it to use nasm flags syntax. We have discussed this in past [1] [1] https://patchwork.yoctoproject.org/project/oe-core/patch/20230428032030.2047920-1-raj.khem@gmail.com/#10281 (From OE-Core rev: ff73fa7ef7666a6dbe34f15515bc3ab6e574c5b0) Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Jacob Kroon <jacob.kroon@gmail.com> Cc: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: re-enable the unit tests that are ignoredDeepesh Varatharajan2025-04-201-95/+0
| | | | | | | | | | | | | Some unit tests were previously marked as ignored due to failures in earlier versions of Rust. With the upgrade to Rust 1.85.1, these tests are now passing consistently. They've been re-enabled and verified to run successfully on the latest version. (From OE-Core rev: 775108f131412122beb2b844dc5e2a4d47ce3b89) Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cargo-c: Update patch Upstream-StatusYoann Congal2025-04-161-1/+1
| | | | | | | | | | https://github.com/rust-lang/libc/pull/4382 was merge as https://github.com/rust-lang/libc/commit/4b439b0953573e0383da7e092b1f516ba21f3398 (From OE-Core rev: d34f49cc604733c7d714a72b3a3d66a99aa65c79) Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libstd-rs: Correct the license to use Unicode-3.0Peter Kjellerstedt2025-04-161-1/+1
| | | | | | | | | | This was missed in commit 3130069fdebb92f20b962fa8074564a27c3fb6b9. (From OE-Core rev: 1378a4b39e7a0c38c74e0133f31df7f70ed7d6ea) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cargo-c,rust: Fix build on risv32Khem Raj2025-04-105-237/+152
| | | | | | | | | | Apply fix in libc that are needed for rustix-0.38 to build. (From OE-Core rev: c21fd6f1c0b6a9df9950c541025f24e342b7a118) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust-llvm: Disable benchmarks by cmake optionsKhem Raj2025-04-082-26/+1
| | | | | | | | | | | | | Drop patch to exclusively disable it in code It seems to be fixed upstream [1] [1] https://github.com/rust-lang/cmake-rs/pull/158 (From OE-Core rev: 60b4b0808a3b961917ed8abe16b9f7df2a311952) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust-llvm: Disable libeditRichard Purdie2025-04-021-0/+1
| | | | | | | | | | | | This option currently floats and is leading to non-deterministic builds. It is used for commandline option tab completion which we don't need in our builds in general, let alone internally within rust's llvm. This should fix autobuilder deterministic build issues. (From OE-Core rev: c31859be39c68f215576ba73b8a3d66c8ea590d3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Upgrade 1.85.0->1.85.1Yash Shinde2025-04-017-43/+1
| | | | | | | | | | | | | Rust stable version updated to 1.85.1 https://blog.rust-lang.org/2025/03/18/Rust-1.85.1.html Dropped patches: downgrade-bootstrap-cc.patch since it's merged with v1.85.1. (From OE-Core rev: b141115b9c8e052df096e55d92972b1db4c84f4e) Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Upgrade 1.84.1->1.85.0Yash Shinde2025-04-0114-342/+412
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rust stable version updated to 1.85.0 https://blog.rust-lang.org/2025/02/20/Rust-1.85.0.html Some of the major updates: - Update LIC_FILES_CHKSUM in libstd-rs and rust recipes. License-Update: Unicode license text is updated to Unicode-3.0 License. https://github.com/rust-lang/rust/commit/6d2a3e9786ec43a0e0af20386e7046328296ac86 [RP: Update LICENSE to reference Unicode-3.0] - Pass '-Zforce-unstable-if-unmarked' to RUSTFLAGS in libstd-rs.bb Fix: https://github.com/rust-lang/rust/issues/133857#issuecomment-2526341227 - Downgrade bootstrap cc version causing bootstrap to fail on custom targets. (Backported from v1.85.1) Fix: https://github.com/rust-lang/rust/pull/137460/commits/e4ca11f87ffca8c63aa56d45b46e62b6acc58bd7 - Explicitly set float ABI for all ARM 32 bits targets. Fix: https://github.com/rust-lang/rust/commit/a51fefcaab835b310e2e26005b50982d0049d905 - Rust v1.85.0 tarball doesn't ship gcc tree. Drop "remove_gcc_directory" postfunc which removed it and prevented the bloat. Fix: https://github.com/rust-lang/rust/commit/13c3f9b9498013837782b46120085ea19ca75518 Adapted the patch changes with v1.85.0: repro-issue-fix-with-cc-crate-hashmap.patch revert-link-std-statically-in-rustc_driver-feature.patch rust-oe-selftest.patch rv32-cargo-rustix-0.38.40-fix.patch Dropped patches: fix-tidy-check-failure.patch since it's merged with v1.85.0. (From OE-Core rev: 3130069fdebb92f20b962fa8074564a27c3fb6b9) Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Update "do_update_snapshot" task for rust-snapshot.incYash Shinde2025-04-011-17/+30
| | | | | | | | | | | | | | | | The 'do_update_snapshot' task is failed with below error: Exception: FileNotFoundError: [Errno 2] No such file or directory: '.../rustc-1.83.0-src/src/stage0.json' There are changes in use of key-value format in stage0 file in rust sources and the rust recipe should be apdated for that. Changes in rust: https://github.com/rust-lang/rust/commit/1adfffd07f8704ca722f3897719ace079944b0c5 (From OE-Core rev: d64456f6ea58d683993b0bc7294baa889bafdf7b) Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust-llvm: Compile llvm to use dynamic librariesRichard Purdie2025-04-011-0/+2
| | | | | | | | | | | Our main llvm recipe uses dynamic linking already but rust-llvm does not. Enabling this significanly reduces the size of llvm-rust to about a third of what it was, which is a bettter configuration for us leading to smaller TMPDIR and sstate objects. (From OE-Core rev: 2b6a6d4199e4eed65f20351d077a04a7cf9da460) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust-source: Fix remove_gcc_directoryRichard Purdie2025-03-291-1/+1
| | | | | | | | | | The patch works for rust-native but not other recipes which change ${S}. Set it to use the correct path so it works for llvm-rust, cargo and others, maximising the space saving. (From OE-Core rev: 1aee0bc109c1457159440c279ddc1fe5a8d89586) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Oe-selftest changes for rust v1.84.1Deepesh Varatharajan2025-03-273-0/+32
| | | | | | | | | | | | | | Ignore the failing unit test. The tidy check failed due to a typo, which was already reported and fixed in the Rust upstream. Upstream-Status: Backport [https://github.com/rust-lang/rust/commit/8e7734978245522cbbd14e53e08e888faf031ded] (From OE-Core rev: 94a244a14075ead1b3b5e966c0fe713cd448cad8) Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Fix build failure when multilibs are enabledDeepesh Varatharajan2025-03-272-0/+32
| | | | | | | | | | | | | | | When multilibs are enabled, building rust is failing because of the following commit https://github.com/rust-lang/rust/commit/68034f837a39387e49fc7d7c5b088f5372a1127e with stage1/rustc cannot able to find dependent *.so files. The issue is been fixed inrust-master with the following commit by passing the necessary library paths before executing stage1/rustc Upstream-Status: Backport [https://github.com/rust-lang/rust/commit/139d6ba054a1a4cc5fe64981ad46fd5547bd4916] (From OE-Core rev: ab29b970ba7e08eabca92018d103af5f249ed2c5) Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Upgrade 1.83.0->1.84.1Deepesh Varatharajan2025-03-2713-290/+297
| | | | | | | | | | | | | | | | | | | | | | | | | Rust stable version updated to 1.84.1. https://blog.rust-lang.org/2025/01/30/Rust-1.84.1.html Renamed and modified the below patch to adapt the new version. rv32-cargo-rustix-0.38.37-fix.patch->rv32-cargo-rustix-0.38.38-fix.patch Modified the below patches to adapt the new version. repro-issue-fix-with-cc-crate-hashmap.patch revert-link-std-statically-in-rustc_driver-feature.patch Dropped the below patches : 0001-NFC-fix-build-failure-100993.patch https://github.com/llvm/llvm-project/commit/6ee49080e4bb43efe7ede10bed15935853bbd434 revert-Zdual-proc-macros-additional-check.patch Issue is fixed in rust-master and the fix is backported in the subsequent patch of the series. (From OE-Core rev: 4265f668de8c6708cb3a003ad655559031724149) Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Fix build break because of "download-rustc" and "llvm-tools"Deepesh Varatharajan2025-03-271-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | >From Rust 1.84, the download-rustc and llvm-tools options were set to True (previously they were False) https://github.com/rust-lang/rust/commit/cce6f03754f096f8a2bdfb357e3739b855e29366 (download-rustc) https://github.com/rust-lang/rust/commit/38f0c099b2e684ea689633eb424d8737a1063a5e (llvm-tools) For tarball sources, the download-rustc option should be False, so it has been reverted back to False. Setting llvm-tools to True caused issues with finding llvm-objcopy, so this has been changed back to False. Upstream-Status: https://github.com/rust-lang/rust/pull/134240/ (From OE-Core rev: 2eb952d839e72c24a4180a57631c77910a0da980) Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Fix bloat issue in recent rust updatesDeepesh Varatharajan2025-03-271-0/+11
| | | | | | | | | | | | | | | | | Remove the "src/gcc" directory from the Rust source code to reduce the filesystem build space. In Rust 1.83 (and 1.84), a full GCC-14 tree was included, which caused the tar.xz archive to increase by 128 MB and the unpacked sources to grow by 1.3 GB. This was an upstream error that has been resolved in Rust 1.85. After updating to Rust 1.85 we can revert this removal of "src/gcc" (From OE-Core rev: 26a345adc8e050657bfa0b51ea92a3d89e698d9a) Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>