From 5b7db8677f27ab6e38944ed34af1f49c8ebd209d Mon Sep 17 00:00:00 2001 From: Armando Montanez Date: Thu, 11 Dec 2025 12:57:59 -0800 Subject: [PATCH 1/3] Add common embedded target triple mappings Introduces a variety of commonly used tier-2 embedded baremetal target triple mappings. --- rust/platform/triple_mappings.bzl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/rust/platform/triple_mappings.bzl b/rust/platform/triple_mappings.bzl index 6070591e6b..22acf3b7b0 100644 --- a/rust/platform/triple_mappings.bzl +++ b/rust/platform/triple_mappings.bzl @@ -47,6 +47,7 @@ SUPPORTED_T2_PLATFORM_TRIPLES = { "aarch64-linux-android": _support(std = True, host_tools = False), "aarch64-pc-windows-msvc": _support(std = True, host_tools = True), "aarch64-unknown-fuchsia": _support(std = True, host_tools = False), + "aarch64-unknown-none": _support(std = False, host_tools = False), "aarch64-unknown-uefi": _support(std = True, host_tools = False), "arm-unknown-linux-gnueabi": _support(std = True, host_tools = True), "armv7-linux-androideabi": _support(std = True, host_tools = False), @@ -54,12 +55,16 @@ SUPPORTED_T2_PLATFORM_TRIPLES = { "i686-linux-android": _support(std = True, host_tools = False), "i686-unknown-freebsd": _support(std = True, host_tools = False), "powerpc-unknown-linux-gnu": _support(std = True, host_tools = True), + "riscv32imac-unknown-none-elf": _support(std = False, host_tools = False), "riscv32imc-unknown-none-elf": _support(std = True, host_tools = False), "riscv64gc-unknown-linux-gnu": _support(std = True, host_tools = False), "riscv64gc-unknown-none-elf": _support(std = True, host_tools = False), "s390x-unknown-linux-gnu": _support(std = True, host_tools = True), + "thumbv6m-none-eabi": _support(std = False, host_tools = False), "thumbv7em-none-eabi": _support(std = True, host_tools = False), + "thumbv7m-none-eabi": _support(std = False, host_tools = False), "thumbv8m.main-none-eabi": _support(std = True, host_tools = False), + "thumbv8m.main-none-eabihf": _support(std = False, host_tools = False), "wasm32-unknown-emscripten": _support(std = True, host_tools = False), "wasm32-unknown-unknown": _support(std = True, host_tools = False), "wasm32-wasip1": _support(std = True, host_tools = False), @@ -120,6 +125,7 @@ _CPU_ARCH_TO_BUILTIN_PLAT_SUFFIX = { "powerpc64": None, "powerpc64le": "ppc64le", "riscv32": "riscv32", + "riscv32imac": "riscv32", "riscv32imc": "riscv32", "riscv64": "riscv64", "riscv64gc": "riscv64", From dcf6ef2ac6efdad978bb0ea9d7ed0103c568d6bd Mon Sep 17 00:00:00 2001 From: Armando Montanez Date: Mon, 15 Dec 2025 10:52:41 -0800 Subject: [PATCH 2/3] Add remaning non-eabi Thumb variants --- rust/platform/triple_mappings.bzl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rust/platform/triple_mappings.bzl b/rust/platform/triple_mappings.bzl index 22acf3b7b0..4d31ebc1ed 100644 --- a/rust/platform/triple_mappings.bzl +++ b/rust/platform/triple_mappings.bzl @@ -62,7 +62,9 @@ SUPPORTED_T2_PLATFORM_TRIPLES = { "s390x-unknown-linux-gnu": _support(std = True, host_tools = True), "thumbv6m-none-eabi": _support(std = False, host_tools = False), "thumbv7em-none-eabi": _support(std = True, host_tools = False), + "thumbv7em-none-eabihf": _support(std = True, host_tools = False), "thumbv7m-none-eabi": _support(std = False, host_tools = False), + "thumbv8m.base-none-eabi": _support(std = True, host_tools = False), "thumbv8m.main-none-eabi": _support(std = True, host_tools = False), "thumbv8m.main-none-eabihf": _support(std = False, host_tools = False), "wasm32-unknown-emscripten": _support(std = True, host_tools = False), From 9ec39e8ffadd164bb817123cd3ce2f3bd68f03f6 Mon Sep 17 00:00:00 2001 From: Armando Montanez Date: Mon, 15 Dec 2025 10:55:28 -0800 Subject: [PATCH 3/3] Omit thumbv8m.base Arguably, ARMv8-M.base is not properly enumerated in @platforms. --- rust/platform/triple_mappings.bzl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/rust/platform/triple_mappings.bzl b/rust/platform/triple_mappings.bzl index 4d31ebc1ed..8328d241f1 100644 --- a/rust/platform/triple_mappings.bzl +++ b/rust/platform/triple_mappings.bzl @@ -62,9 +62,8 @@ SUPPORTED_T2_PLATFORM_TRIPLES = { "s390x-unknown-linux-gnu": _support(std = True, host_tools = True), "thumbv6m-none-eabi": _support(std = False, host_tools = False), "thumbv7em-none-eabi": _support(std = True, host_tools = False), - "thumbv7em-none-eabihf": _support(std = True, host_tools = False), + "thumbv7em-none-eabihf": _support(std = False, host_tools = False), "thumbv7m-none-eabi": _support(std = False, host_tools = False), - "thumbv8m.base-none-eabi": _support(std = True, host_tools = False), "thumbv8m.main-none-eabi": _support(std = True, host_tools = False), "thumbv8m.main-none-eabihf": _support(std = False, host_tools = False), "wasm32-unknown-emscripten": _support(std = True, host_tools = False),