[llvm] [Bazel] Configure ARMv7 as the native target (PR #218185)

Corentin Kerisit via llvm-commits llvm-commits at lists.llvm.org
Sat Aug 22 20:08:46 PDT 2026


https://github.com/cerisier created https://github.com/llvm/llvm-project/pull/218185

The linux_armv7 Bazel platform selects an armv7-linux-gnueabihf compiler, but LLVM configuration previously fell through to the x86-64 Linux default. Add an ARMv7 Linux selector and configure LLVM_NATIVE_ARCH as ARM with the toolchain ARMv7 triple. This follows the CMake arm-to-ARM mapping and leaves every existing platform selector unchanged.

>From 4ae1895bd621e745cdb579c2c338068636733b43 Mon Sep 17 00:00:00 2001
From: Corentin Kerisit <corentin.kerisit at gmail.com>
Date: Sun, 23 Aug 2026 01:33:57 +0900
Subject: [PATCH] [Bazel] Configure ARMv7 native target

---
 utils/bazel/llvm-project-overlay/llvm/BUILD.bazel | 9 +++++++++
 utils/bazel/llvm-project-overlay/llvm/config.bzl  | 1 +
 2 files changed, 10 insertions(+)

diff --git a/utils/bazel/llvm-project-overlay/llvm/BUILD.bazel b/utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
index 31eb5b3b0e2f5..3108670af2180 100644
--- a/utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
@@ -85,6 +85,15 @@ config_setting(
     visibility = ["//visibility:public"],
 )
 
+config_setting(
+    name = "linux_armv7",
+    constraint_values = [
+        "@platforms//os:linux",
+        "@platforms//cpu:armv7",
+    ],
+    visibility = ["//visibility:public"],
+)
+
 config_setting(
     name = "linux_ppc64le",
     constraint_values = [
diff --git a/utils/bazel/llvm-project-overlay/llvm/config.bzl b/utils/bazel/llvm-project-overlay/llvm/config.bzl
index 49f70f95d2c79..c4f4401582f6c 100644
--- a/utils/bazel/llvm-project-overlay/llvm/config.bzl
+++ b/utils/bazel/llvm-project-overlay/llvm/config.bzl
@@ -140,6 +140,7 @@ llvm_config_defines = os_defines + builtin_thread_pointer + select({
     Label("//llvm:darwin_arm64"): native_arch_defines("AArch64", "arm64-apple-darwin"),
     Label("//llvm:darwin_x86_64"): native_arch_defines("X86", "x86_64-unknown-darwin"),
     Label("//llvm:linux_aarch64"): native_arch_defines("AArch64", "aarch64-unknown-linux-gnu"),
+    Label("//llvm:linux_armv7"): native_arch_defines("ARM", "armv7-linux-gnueabihf"),
     Label("//llvm:linux_ppc64le"): native_arch_defines("PowerPC", "powerpc64le-unknown-linux-gnu"),
     Label("//llvm:linux_riscv64"): native_arch_defines("RISCV", "riscv64-unknown-linux-gnu"),
     Label("//llvm:linux_s390x"): native_arch_defines("SystemZ", "systemz-unknown-linux_gnu"),



More information about the llvm-commits mailing list