From 3324a7b93efc6c6acadfeaf2d010c36743bc3834 Mon Sep 17 00:00:00 2001 From: Peng Liu Date: Fri, 16 Oct 2026 11:24:51 -0700 Subject: [PATCH] Add Vega OS target (Tier 3) Adds 3 Vega OS targets: aarch64-vega-linux-gnu, armv7-vega-linux-gnueabihf and x86_64-vega-linux-gnu. They are essentially the *-unknown-linux-gnu* targets with target_vendor = vega, the in-tree LLVM libunwind by default (Vega OS has no libgcc_s), and a Cortex-A7/NEON baseline on armv7. Vega OS is Linux-based OS developed by Amazon. --- compiler/rustc_target/src/spec/mod.rs | 4 + .../spec/targets/aarch64_vega_linux_gnu.rs | 16 +++ .../targets/armv7_vega_linux_gnueabihf.rs | 25 +++++ .../src/spec/targets/x86_64_vega_linux_gnu.rs | 16 +++ library/unwind/src/lib.rs | 13 ++- src/bootstrap/src/core/config/config.rs | 4 +- src/bootstrap/src/core/sanity.rs | 3 + src/doc/rustc/src/SUMMARY.md | 1 + src/doc/rustc/src/platform-support.md | 3 + .../src/platform-support/vega-linux-gnu.md | 105 ++++++++++++++++++ tests/assembly-llvm/targets/targets-elf.rs | 9 ++ .../exhaustive-names-values.empty_cfg.stderr | 2 +- .../exhaustive-names-values.feature.stderr | 2 +- .../exhaustive-names-values.full.stderr | 2 +- tests/ui/check-cfg/well-known-values.stderr | 2 +- 15 files changed, 200 insertions(+), 7 deletions(-) create mode 100644 compiler/rustc_target/src/spec/targets/aarch64_vega_linux_gnu.rs create mode 100644 compiler/rustc_target/src/spec/targets/armv7_vega_linux_gnueabihf.rs create mode 100644 compiler/rustc_target/src/spec/targets/x86_64_vega_linux_gnu.rs create mode 100644 src/doc/rustc/src/platform-support/vega-linux-gnu.md diff --git a/compiler/rustc_target/src/spec/mod.rs b/compiler/rustc_target/src/spec/mod.rs index 6c7f5a7772323..a40e8be71de59 100644 --- a/compiler/rustc_target/src/spec/mod.rs +++ b/compiler/rustc_target/src/spec/mod.rs @@ -1705,6 +1705,10 @@ supported_targets! { ("riscv64-oe-linux-gnu", riscv64_oe_linux_gnu), ("x86_64-oe-linux-gnu", x86_64_oe_linux_gnu), + ("aarch64-vega-linux-gnu", aarch64_vega_linux_gnu), + ("armv7-vega-linux-gnueabihf", armv7_vega_linux_gnueabihf), + ("x86_64-vega-linux-gnu", x86_64_vega_linux_gnu), + ("aarch64-unknown-hyperlight", aarch64_unknown_hyperlight), ("x86_64-unknown-hyperlight", x86_64_unknown_hyperlight), } diff --git a/compiler/rustc_target/src/spec/targets/aarch64_vega_linux_gnu.rs b/compiler/rustc_target/src/spec/targets/aarch64_vega_linux_gnu.rs new file mode 100644 index 0000000000000..49c3e84596084 --- /dev/null +++ b/compiler/rustc_target/src/spec/targets/aarch64_vega_linux_gnu.rs @@ -0,0 +1,16 @@ +use crate::spec::{Target, TargetMetadata, TargetOptions}; + +pub(crate) fn target() -> Target { + let mut base = super::aarch64_unknown_linux_gnu::target(); + + base.metadata = TargetMetadata { + description: Some("ARM64 Vega OS (glibc 2.35)".into()), + tier: Some(3), + host_tools: Some(false), + std: Some(true), + }; + + base.options = TargetOptions { vendor: "vega".into(), ..base.options }; + + base +} diff --git a/compiler/rustc_target/src/spec/targets/armv7_vega_linux_gnueabihf.rs b/compiler/rustc_target/src/spec/targets/armv7_vega_linux_gnueabihf.rs new file mode 100644 index 0000000000000..d1e2415d37ec2 --- /dev/null +++ b/compiler/rustc_target/src/spec/targets/armv7_vega_linux_gnueabihf.rs @@ -0,0 +1,25 @@ +use crate::spec::{Target, TargetMetadata, TargetOptions}; + +// The Vega OS armv7 userspace, including the SDK sysroot, is built for Cortex-A7 +// with NEON and VFPv4, so unlike armv7-unknown-linux-gnueabihf this target +// assumes both. + +pub(crate) fn target() -> Target { + let mut base = super::armv7_unknown_linux_gnueabihf::target(); + + base.metadata = TargetMetadata { + description: Some("Armv7-A Vega OS, hardfloat, Cortex-A7 with NEON (glibc 2.35)".into()), + tier: Some(3), + host_tools: Some(false), + std: Some(true), + }; + + base.options = TargetOptions { + vendor: "vega".into(), + cpu: "cortex-a7".into(), + features: "+v7,+db,+dsp,+aclass,+perfmon,+vfp4,+neon,+thumb2".into(), + ..base.options + }; + + base +} diff --git a/compiler/rustc_target/src/spec/targets/x86_64_vega_linux_gnu.rs b/compiler/rustc_target/src/spec/targets/x86_64_vega_linux_gnu.rs new file mode 100644 index 0000000000000..32db898615fa6 --- /dev/null +++ b/compiler/rustc_target/src/spec/targets/x86_64_vega_linux_gnu.rs @@ -0,0 +1,16 @@ +use crate::spec::{Target, TargetMetadata, TargetOptions}; + +pub(crate) fn target() -> Target { + let mut base = super::x86_64_unknown_linux_gnu::target(); + + base.metadata = TargetMetadata { + description: Some("64-bit Vega OS (glibc 2.35)".into()), + tier: Some(3), + host_tools: Some(false), + std: Some(true), + }; + + base.options = TargetOptions { vendor: "vega".into(), ..base.options }; + + base +} diff --git a/library/unwind/src/lib.rs b/library/unwind/src/lib.rs index fb0acdab835a9..6fa8f74860ceb 100644 --- a/library/unwind/src/lib.rs +++ b/library/unwind/src/lib.rs @@ -171,7 +171,8 @@ unsafe extern "C" {} target_os = "linux", any(target_env = "gnu", target_env = "uclibc"), not(feature = "llvm-libunwind"), - not(feature = "system-llvm-libunwind") + not(feature = "system-llvm-libunwind"), + not(target_vendor = "vega") ))] #[link(name = "gcc_s", cfg(not(target_feature = "crt-static")))] unsafe extern "C" {} @@ -180,11 +181,19 @@ unsafe extern "C" {} target_os = "linux", any(target_env = "gnu", target_env = "uclibc"), not(feature = "llvm-libunwind"), - feature = "system-llvm-libunwind" + feature = "system-llvm-libunwind", + not(target_vendor = "vega") ))] #[link(name = "unwind", cfg(not(target_feature = "crt-static")))] unsafe extern "C" {} +// Vega OS has no shared `libgcc_s` for apps, so it always links LLVM's libunwind +// statically. With `llvm-libunwind`, that is the in-tree copy (see `libunwind.rs`). +// Otherwise, such as with `-Zbuild-std`, it is the `libunwind.a` in the Vega sysroot. +#[cfg(all(target_vendor = "vega", not(feature = "llvm-libunwind")))] +#[link(name = "unwind", kind = "static", modifiers = "-bundle")] +unsafe extern "C" {} + #[cfg(target_os = "redox")] #[link(name = "gcc_eh", kind = "static", modifiers = "-bundle", cfg(target_feature = "crt-static"))] #[link(name = "gcc_s", cfg(not(target_feature = "crt-static")))] diff --git a/src/bootstrap/src/core/config/config.rs b/src/bootstrap/src/core/config/config.rs index bc027fed8d24c..c0ca6059eb520 100644 --- a/src/bootstrap/src/core/config/config.rs +++ b/src/bootstrap/src/core/config/config.rs @@ -1963,9 +1963,11 @@ NOTE: Please add `--stage 2` to your command line, or if you're sure you want to .unwrap_or( if target.contains("fuchsia") || (target.contains("hexagon") && !target.contains("qurt")) + || target.contains("vega") { - // Fuchsia and Hexagon Linux use in-tree llvm-libunwind. + // Fuchsia, Hexagon Linux and Vega OS use in-tree llvm-libunwind. // Hexagon QuRT uses libc_eh from the Hexagon SDK instead. + // Vega OS has no shared libgcc_s for apps. LlvmLibunwind::InTree } else { LlvmLibunwind::No diff --git a/src/bootstrap/src/core/sanity.rs b/src/bootstrap/src/core/sanity.rs index ac44a4dfca9b1..1a6746ce22dae 100644 --- a/src/bootstrap/src/core/sanity.rs +++ b/src/bootstrap/src/core/sanity.rs @@ -37,6 +37,9 @@ pub struct Finder { const STAGE0_MISSING_TARGETS: &[&str] = &[ // just a dummy comment so the list doesn't get onelined "aarch64-unknown-qtee", + "aarch64-vega-linux-gnu", + "armv7-vega-linux-gnueabihf", + "x86_64-vega-linux-gnu", ]; /// Minimum version threshold for libstdc++ required when using prebuilt LLVM diff --git a/src/doc/rustc/src/SUMMARY.md b/src/doc/rustc/src/SUMMARY.md index 953789648485b..8bc221ec5f774 100644 --- a/src/doc/rustc/src/SUMMARY.md +++ b/src/doc/rustc/src/SUMMARY.md @@ -142,6 +142,7 @@ - [\*-unknown-openbsd](platform-support/openbsd.md) - [\*-unknown-redox](platform-support/redox.md) - [\*-unknown-uefi](platform-support/unknown-uefi.md) + - [\*-vega-linux-gnu\*](platform-support/vega-linux-gnu.md) - [\*-pc-windows-msvc](platform-support/windows-msvc.md) - [\*-uwp-windows-msvc](platform-support/uwp-windows-msvc.md) - [\*-wrs-vxworks](platform-support/vxworks.md) diff --git a/src/doc/rustc/src/platform-support.md b/src/doc/rustc/src/platform-support.md index 2321dec16b8eb..48272fd58512f 100644 --- a/src/doc/rustc/src/platform-support.md +++ b/src/doc/rustc/src/platform-support.md @@ -291,6 +291,7 @@ target | std | host | notes [`aarch64-unknown-qtee`](platform-support/aarch64-unknown-qtee.md) | ? | | ARM64 QTEE | [`aarch64-unknown-trusty`](platform-support/trusty.md) | ✓ | | [`aarch64-uwp-windows-msvc`](platform-support/uwp-windows-msvc.md) | ✓ | | +[`aarch64-vega-linux-gnu`](platform-support/vega-linux-gnu.md) | ✓ | | ARM64 Vega OS (glibc 2.35) [`aarch64-wrs-vxworks`](platform-support/vxworks.md) | ✓ | | ARM64 VxWorks OS [`aarch64v8r-unknown-none`](platform-support/aarch64v8r-unknown-none.md) | * | | Bare Armv8-R in AArch64 mode, hardfloat [`aarch64v8r-unknown-none-softfloat`](platform-support/aarch64v8r-unknown-none.md) | * | | Bare Armv8-R in AArch64 mode, softfloat @@ -325,6 +326,7 @@ target | std | host | notes [`armv7-unknown-linux-uclibceabihf`](platform-support/armv7-unknown-linux-uclibceabihf.md) | ✓ | ? | Armv7-A Linux with uClibc, hardfloat [`armv7-unknown-netbsd-eabihf`](platform-support/netbsd.md) | ✓ | ✓ | Armv7-A NetBSD w/hard-float [`armv7-unknown-trusty`](platform-support/trusty.md) | ✓ | | +[`armv7-vega-linux-gnueabihf`](platform-support/vega-linux-gnu.md) | ✓ | | Armv7-A Vega OS, hardfloat, Cortex-A7 with NEON (glibc 2.35) [`armv7-wrs-vxworks-eabihf`](platform-support/vxworks.md) | ✓ | | Armv7-A for VxWorks [`armv7a-kmc-solid_asp3-eabi`](platform-support/kmc-solid.md) | ✓ | | ARM SOLID with TOPPERS/ASP3 [`armv7a-kmc-solid_asp3-eabihf`](platform-support/kmc-solid.md) | ✓ | | ARM SOLID with TOPPERS/ASP3, hardfloat @@ -473,6 +475,7 @@ target | std | host | notes [`x86_64-unknown-trusty`](platform-support/trusty.md) | ✓ | | `x86_64-uwp-windows-gnu` | ✓ | | [`x86_64-uwp-windows-msvc`](platform-support/uwp-windows-msvc.md) | ✓ | | +[`x86_64-vega-linux-gnu`](platform-support/vega-linux-gnu.md) | ✓ | | 64-bit Vega OS (glibc 2.35) [`x86_64-win7-windows-gnu`](platform-support/win7-windows-gnu.md) | ✓ | | 64-bit Windows 7 support [`x86_64-win7-windows-msvc`](platform-support/win7-windows-msvc.md) | ✓ | ✓ | 64-bit Windows 7 support [`x86_64-wrs-vxworks`](platform-support/vxworks.md) | ✓ | | diff --git a/src/doc/rustc/src/platform-support/vega-linux-gnu.md b/src/doc/rustc/src/platform-support/vega-linux-gnu.md new file mode 100644 index 0000000000000..5d257af846e05 --- /dev/null +++ b/src/doc/rustc/src/platform-support/vega-linux-gnu.md @@ -0,0 +1,105 @@ +# `*-vega-linux-gnu*` + +**Tier: 3** + +Targets for [Vega OS], Amazon's Linux-based OS for Fire TV and other devices. + +[Vega OS]: https://developer.amazon.com/docs/vega/vega + +Target triplets available: + +- `aarch64-vega-linux-gnu` +- `armv7-vega-linux-gnueabihf` +- `x86_64-vega-linux-gnu` + +## Target maintainers + +[@aliiupeng](https://github.com/aliiupeng) +[@altrieu-amazon](https://github.com/altrieu-amazon) + +## Requirements + +These targets only support cross-compilation. They support `std`. + +Vega OS is glibc-based Linux. Binaries built for these targets use the same Linux kernel +interface, glibc ABI, ELF format and `extern "C"` calling convention as the corresponding +`*-unknown-linux-gnu*` targets. + +- glibc 2.35 or newer. +- There is no shared `libgcc_s`, so `std` for these targets links LLVM `libunwind` + statically: the in-tree copy when built with bootstrap (the default), or the Vega + sysroot's `libunwind.a` with `build-std`. +- Every Rust shared library (`cdylib` or `dylib`) and the executable get their own copy of + the unwinder, so unwinding across a `.so` boundary isn't supported. +- `armv7-vega-linux-gnueabihf` targets Cortex-A7 with NEON and VFPv4, which is what the + Vega OS userspace itself is built for. `armv7-unknown-linux-gnueabihf` assumes neither. + +The `cfg` values are the same as for the corresponding `*-unknown-linux-gnu*` targets but +with `target_vendor = "vega"`, so code written that only checks os("linux") and env +("gnu") for glibc Linux works as before. + +## Building the targets + +Add the targets to the `target` list in `bootstrap.toml`. Point each target's C toolchain +at a clang that targets the Vega sysroot, such as the one in the Vega SDK: + +```toml +[build] +target = ["aarch64-vega-linux-gnu", "armv7-vega-linux-gnueabihf", "x86_64-vega-linux-gnu"] + +[target.aarch64-vega-linux-gnu] +cc = "/path/to/vega-clang-aarch64" +cxx = "/path/to/vega-clang++-aarch64" +ar = "/path/to/llvm-ar" +linker = "/path/to/vega-clang-aarch64" +``` + +`llvm-libunwind` defaults to `"in-tree"` for these targets. + +## Building Rust programs + +Rust does not yet ship pre-compiled artifacts for these targets. To compile for these +targets, you will either need to build Rust with the targets enabled (see "Building the +targets" above), or build your own copy of `std` by using `build-std` or similar. + +The Vega SDK provides a clang toolchain and sysroot for each architecture, and a Cargo +configuration that sets the linker and sysroot. See [Install the Vega SDK]. + +[Install the Vega SDK]: https://developer.amazon.com/docs/vega/0.24/install-vega-sdk + +To link without the SDK's configuration, use clang with these flags: `--target= +--sysroot= -fuse-ld=lld -rtlib=compiler-rt -B -L` + +`` is the matching upstream triple (`aarch64-unknown-linux-gnu`, +`armv7-unknown-linux-gnueabihf` or `x86_64-unknown-linux-gnu`). +`` is the sysroot directory that holds GCC's `crtbeginS.o` and `libgcc.a`, which +the sysroot keeps in an OpenEmbedded-style path, +`/usr/lib///`. + +## Testing + +`x86_64-vega-linux-gnu` binaries run on a Linux x86_64 host using the host's glibc. +`aarch64-vega-linux-gnu` and `armv7-vega-linux-gnueabihf` binaries run under +`qemu-aarch64` / `qemu-arm` user-mode emulation with `-L` pointing at a Vega sysroot. + +Binaries can also run on the Vega Virtual Device (in the Vega SDK) when the binary's +architecture matches the host's, or on Fire TV devices running Vega OS. + +The Rust test suite has not been run against these targets. + +## Cross-compilation toolchains and C code + +The targets support C and C++ code. Compile it with clang using the same `--target` and +`--sysroot` as above. C++ code uses the sysroot's `libc++`. +When Cargo builds C code through the `cc` crate, set these for each target (below is +an example for `aarch64-vega-linux-gnu`): + +```sh +CC_aarch64_vega_linux_gnu=/path/to/clang +AR_aarch64_vega_linux_gnu=/path/to/llvm-ar +CFLAGS_aarch64_vega_linux_gnu="--sysroot=" +``` + +`cc` passes `--target=` to clang, which accepts the `vega` vendor. +For `armv7-vega-linux-gnueabihf`, also add `-mcpu=cortex-a7 -mfpu=neon-vfpv4` to +`CFLAGS_armv7_vega_linux_gnueabihf`. diff --git a/tests/assembly-llvm/targets/targets-elf.rs b/tests/assembly-llvm/targets/targets-elf.rs index 075863c673045..06ea558727dea 100644 --- a/tests/assembly-llvm/targets/targets-elf.rs +++ b/tests/assembly-llvm/targets/targets-elf.rs @@ -79,6 +79,9 @@ //@ revisions: aarch64_unknown_none_softfloat //@ [aarch64_unknown_none_softfloat] compile-flags: --target aarch64-unknown-none-softfloat //@ [aarch64_unknown_none_softfloat] needs-llvm-components: aarch64 +//@ revisions: aarch64_vega_linux_gnu +//@ [aarch64_vega_linux_gnu] compile-flags: --target aarch64-vega-linux-gnu +//@ [aarch64_vega_linux_gnu] needs-llvm-components: aarch64 //@ revisions: aarch64v8r_unknown_none //@ [aarch64v8r_unknown_none] compile-flags: --target aarch64v8r-unknown-none //@ [aarch64v8r_unknown_none] needs-llvm-components: aarch64 @@ -217,6 +220,9 @@ //@ revisions: armv7_unknown_trusty //@ [armv7_unknown_trusty] compile-flags: --target armv7-unknown-trusty //@ [armv7_unknown_trusty] needs-llvm-components: arm +//@ revisions: armv7_vega_linux_gnueabihf +//@ [armv7_vega_linux_gnueabihf] compile-flags: --target armv7-vega-linux-gnueabihf +//@ [armv7_vega_linux_gnueabihf] needs-llvm-components: arm //@ revisions: armv7_wrs_vxworks_eabihf //@ [armv7_wrs_vxworks_eabihf] compile-flags: --target armv7-wrs-vxworks-eabihf //@ [armv7_wrs_vxworks_eabihf] needs-llvm-components: arm @@ -784,6 +790,9 @@ //@ revisions: x86_64_unknown_trusty //@ [x86_64_unknown_trusty] compile-flags: --target x86_64-unknown-trusty //@ [x86_64_unknown_trusty] needs-llvm-components: x86 +//@ revisions: x86_64_vega_linux_gnu +//@ [x86_64_vega_linux_gnu] compile-flags: --target x86_64-vega-linux-gnu +//@ [x86_64_vega_linux_gnu] needs-llvm-components: x86 //@ revisions: x86_64_wrs_vxworks //@ [x86_64_wrs_vxworks] compile-flags: --target x86_64-wrs-vxworks //@ [x86_64_wrs_vxworks] needs-llvm-components: x86 diff --git a/tests/ui/check-cfg/exhaustive-names-values.empty_cfg.stderr b/tests/ui/check-cfg/exhaustive-names-values.empty_cfg.stderr index 229390ab4600c..5e094f6b94d1e 100644 --- a/tests/ui/check-cfg/exhaustive-names-values.empty_cfg.stderr +++ b/tests/ui/check-cfg/exhaustive-names-values.empty_cfg.stderr @@ -14,7 +14,7 @@ warning: unexpected `cfg` condition value: `value` LL | #[cfg(target_vendor = "value")] | ^^^^^^^^^^^^^^^^^^^^^^^ | - = note: expected values for `target_vendor` are: `amd`, `apple`, `espressif`, `fortanix`, `ibm`, `kmc`, `mti`, `nintendo`, `nvidia`, `openwrt`, `pc`, `risc0`, `sony`, `sun`, `unikraft`, `unknown`, `uwp`, `vex`, `win7`, and `wrs` + = note: expected values for `target_vendor` are: `amd`, `apple`, `espressif`, `fortanix`, `ibm`, `kmc`, `mti`, `nintendo`, `nvidia`, `openwrt`, `pc`, `risc0`, `sony`, `sun`, `unikraft`, `unknown`, `uwp`, `vega`, `vex`, `win7`, and `wrs` = note: see for more information about checking conditional configuration warning: unexpected `cfg` condition name: `feature` diff --git a/tests/ui/check-cfg/exhaustive-names-values.feature.stderr b/tests/ui/check-cfg/exhaustive-names-values.feature.stderr index 8e3825f098ff3..ba1b04d5130d0 100644 --- a/tests/ui/check-cfg/exhaustive-names-values.feature.stderr +++ b/tests/ui/check-cfg/exhaustive-names-values.feature.stderr @@ -15,7 +15,7 @@ warning: unexpected `cfg` condition value: `value` LL | #[cfg(target_vendor = "value")] | ^^^^^^^^^^^^^^^^^^^^^^^ | - = note: expected values for `target_vendor` are: `amd`, `apple`, `espressif`, `fortanix`, `ibm`, `kmc`, `mti`, `nintendo`, `nvidia`, `openwrt`, `pc`, `risc0`, `sony`, `sun`, `unikraft`, `unknown`, `uwp`, `vex`, `win7`, and `wrs` + = note: expected values for `target_vendor` are: `amd`, `apple`, `espressif`, `fortanix`, `ibm`, `kmc`, `mti`, `nintendo`, `nvidia`, `openwrt`, `pc`, `risc0`, `sony`, `sun`, `unikraft`, `unknown`, `uwp`, `vega`, `vex`, `win7`, and `wrs` = note: see for more information about checking conditional configuration warning: unexpected `cfg` condition value: `unk` diff --git a/tests/ui/check-cfg/exhaustive-names-values.full.stderr b/tests/ui/check-cfg/exhaustive-names-values.full.stderr index 8e3825f098ff3..ba1b04d5130d0 100644 --- a/tests/ui/check-cfg/exhaustive-names-values.full.stderr +++ b/tests/ui/check-cfg/exhaustive-names-values.full.stderr @@ -15,7 +15,7 @@ warning: unexpected `cfg` condition value: `value` LL | #[cfg(target_vendor = "value")] | ^^^^^^^^^^^^^^^^^^^^^^^ | - = note: expected values for `target_vendor` are: `amd`, `apple`, `espressif`, `fortanix`, `ibm`, `kmc`, `mti`, `nintendo`, `nvidia`, `openwrt`, `pc`, `risc0`, `sony`, `sun`, `unikraft`, `unknown`, `uwp`, `vex`, `win7`, and `wrs` + = note: expected values for `target_vendor` are: `amd`, `apple`, `espressif`, `fortanix`, `ibm`, `kmc`, `mti`, `nintendo`, `nvidia`, `openwrt`, `pc`, `risc0`, `sony`, `sun`, `unikraft`, `unknown`, `uwp`, `vega`, `vex`, `win7`, and `wrs` = note: see for more information about checking conditional configuration warning: unexpected `cfg` condition value: `unk` diff --git a/tests/ui/check-cfg/well-known-values.stderr b/tests/ui/check-cfg/well-known-values.stderr index e2f8f8cfb571f..4ad4aee835594 100644 --- a/tests/ui/check-cfg/well-known-values.stderr +++ b/tests/ui/check-cfg/well-known-values.stderr @@ -261,7 +261,7 @@ warning: unexpected `cfg` condition value: `_UNEXPECTED_VALUE` LL | target_vendor = "_UNEXPECTED_VALUE", | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | - = note: expected values for `target_vendor` are: `amd`, `apple`, `espressif`, `fortanix`, `ibm`, `kmc`, `mti`, `nintendo`, `nvidia`, `openwrt`, `pc`, `risc0`, `sony`, `sun`, `unikraft`, `unknown`, `uwp`, `vex`, `win7`, and `wrs` + = note: expected values for `target_vendor` are: `amd`, `apple`, `espressif`, `fortanix`, `ibm`, `kmc`, `mti`, `nintendo`, `nvidia`, `openwrt`, `pc`, `risc0`, `sony`, `sun`, `unikraft`, `unknown`, `uwp`, `vega`, `vex`, `win7`, and `wrs` = note: see for more information about checking conditional configuration warning: unexpected `cfg` condition value: `_UNEXPECTED_VALUE`