rustc_target: Add OpenEmbedded/Yocto Linux base targets#157650
rustc_target: Add OpenEmbedded/Yocto Linux base targets#157650DeepeshWR wants to merge 1 commit into
Conversation
|
These commits modify compiler targets. Some changes occurred in src/doc/rustc/src/platform-support cc @Noratrieb |
|
can you elaborate a bit more on what this is useful for?
I don't understand this part, basically nothing about those targets here is copied as they seem to basically be identical. |
There's some context here - #yocto > custom targets @ 💬 |
This comment has been minimized.
This comment has been minimized.
502a11c to
8b216da
Compare
|
Could you reply just asserting that these targets comply with our target tier policy? (e.g. like #150863) |
This comment has been minimized.
This comment has been minimized.
8b216da to
977fb04
Compare
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
Thanks for pointing that out. I've updated the PR description with a "Tier 3 Policy Notes" section covering the target tier requirements. |
This comment has been minimized.
This comment has been minimized.
Add built-in OpenEmbedded/Yocto Linux targets for x86_64, i686, aarch64, armv7, and riscv64. These targets inherit from the corresponding upstream Linux GNU targets and provide OpenEmbedded-specific target triples and default linker settings. They are intended to serve as base targets for downstream Yocto/OpenEmbedded-generated targets, allowing vendor-specific targets to override metadata (for example, TARGET_VENDOR) while reusing a common target configuration. This reduces duplication in Yocto-based Rust integrations and avoids maintaining downstream copies of largely identical target specifications. Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>
977fb04 to
496d43c
Compare
Add built-in OpenEmbedded/Yocto Linux targets for x86_64, i686, aarch64, armv7, and riscv64.
These targets inherit from the corresponding upstream Linux GNU targets and provide OpenEmbedded-specific target triples and default linker settings. They are intended to serve as base targets for downstream Yocto/OpenEmbedded-generated targets, allowing vendor-specific targets to override metadata (for example, TARGET_VENDOR) while reusing a common target configuration.
This reduces duplication in Yocto-based Rust integrations and avoids maintaining downstream copies of largely identical target specifications.
Tier 3 Policy Notes
To cover the Tier 3 requirements:
These targets have a designated maintainer: @DeepeshWR, as documented in the platform support documentation added by this PR.
The targets follow the existing target naming conventions and are derived from the corresponding upstream Linux GNU targets:
The oe vendor component identifies OpenEmbedded/Yocto-based systems while preserving the established architecture/OS/ABI naming scheme.
These targets do not introduce any additional legal requirements. They use the standard OpenEmbedded/Yocto cross-compilation toolchains and are intended to behave similarly to the corresponding Linux GNU targets.
These targets inherit from the corresponding Linux GNU targets and support the standard library in the same manner as their upstream counterparts.
This PR adds platform-support documentation describing the targets, maintainership, requirements, and intended usage.
The targets are thin wrappers around existing Linux GNU targets and primarily provide canonical OpenEmbedded/Yocto target triples and default linker configuration. They do not require additional CI infrastructure or special maintenance beyond keeping them aligned with their upstream Linux GNU base targets.
Noted.
These targets use LLVM through the existing Rust code generation pipeline, just like their corresponding Linux GNU targets.
r? @davidtwco