[llvm] [bazel] Run lld unittests (PR #220340)

Keith Smiley via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 25 09:55:04 PDT 2026


https://github.com/keith updated https://github.com/llvm/llvm-project/pull/220340

>From e63aae2a64922872efcbdeb917db7b97bc77836f Mon Sep 17 00:00:00 2001
From: Keith Smiley <keithbsmiley at gmail.com>
Date: Tue, 1 Sep 2026 12:03:29 -0700
Subject: [PATCH 1/2] [bazel] Run lld unittests

---
 .../lld/unittests/BUILD.bazel                 | 52 +++++++++++++++++++
 1 file changed, 52 insertions(+)
 create mode 100644 utils/bazel/llvm-project-overlay/lld/unittests/BUILD.bazel

diff --git a/utils/bazel/llvm-project-overlay/lld/unittests/BUILD.bazel b/utils/bazel/llvm-project-overlay/lld/unittests/BUILD.bazel
new file mode 100644
index 0000000000000..08e0d96f45410
--- /dev/null
+++ b/utils/bazel/llvm-project-overlay/lld/unittests/BUILD.bazel
@@ -0,0 +1,52 @@
+# This file is licensed under the Apache License v2.0 with LLVM Exceptions.
+# See https://llvm.org/LICENSE.txt for license information.
+# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+
+load("@rules_cc//cc:defs.bzl", "cc_test")
+
+licenses(["notice"])
+
+_REPOSITORY_NAME = repository_name().lstrip("@")
+
+_LLD_SRC_DIR = "../%s/lld" % _REPOSITORY_NAME if _REPOSITORY_NAME else "lld"
+
+cc_test(
+    name = "LLDAsLibELFTests",
+    size = "small",
+    srcs = [
+        "AsLibELF/OutputStream.cpp",
+        "AsLibELF/ROCm.cpp",
+        "AsLibELF/SomeDrivers.cpp",
+    ],
+    data = [
+        "AsLibELF/Inputs/kernel1.o",
+        "AsLibELF/Inputs/kernel2.o",
+    ],
+    env = {"LLD_SRC_DIR": _LLD_SRC_DIR},
+    deps = [
+        "//lld:Common",
+        "//lld:ELF",
+        "//llvm:Support",
+        "//third-party/unittest:gmock",
+        "//third-party/unittest:gtest",
+        "//third-party/unittest:gtest_main",
+    ],
+)
+
+cc_test(
+    name = "LLDAsLibAllTests",
+    size = "small",
+    srcs = ["AsLibAll/AllDrivers.cpp"],
+    deps = [
+        "//lld:COFF",
+        "//lld:Common",
+        "//lld:ELF",
+        "//lld:MachO",
+        "//lld:MinGW",
+        "//lld:Wasm",
+        "//llvm:Support",
+        "//third-party/unittest:gmock",
+        "//third-party/unittest:gtest",
+        "//third-party/unittest:gtest_main",
+    ],
+)

>From 932a9e3f017f5c057fc2e699b6a489cea01266e9 Mon Sep 17 00:00:00 2001
From: Keith Smiley <keithbsmiley at gmail.com>
Date: Tue, 1 Sep 2026 15:09:22 -0700
Subject: [PATCH 2/2] if the other pr lands

---
 .../lld/unittests/BUILD.bazel                 | 24 ++++++++-----------
 1 file changed, 10 insertions(+), 14 deletions(-)

diff --git a/utils/bazel/llvm-project-overlay/lld/unittests/BUILD.bazel b/utils/bazel/llvm-project-overlay/lld/unittests/BUILD.bazel
index 08e0d96f45410..53e0b148c79cb 100644
--- a/utils/bazel/llvm-project-overlay/lld/unittests/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/lld/unittests/BUILD.bazel
@@ -6,27 +6,23 @@ load("@rules_cc//cc:defs.bzl", "cc_test")
 
 licenses(["notice"])
 
-_REPOSITORY_NAME = repository_name().lstrip("@")
-
-_LLD_SRC_DIR = "../%s/lld" % _REPOSITORY_NAME if _REPOSITORY_NAME else "lld"
+genrule(
+    name = "as_lib_elf_srcdir",
+    srcs = ["AsLibELF/CMakeLists.txt"],
+    outs = ["llvm.srcdir.txt"],
+    cmd = "p=$(rootpath AsLibELF/CMakeLists.txt); echo $${p%/*} > $@",
+)
 
 cc_test(
     name = "LLDAsLibELFTests",
     size = "small",
-    srcs = [
-        "AsLibELF/OutputStream.cpp",
-        "AsLibELF/ROCm.cpp",
-        "AsLibELF/SomeDrivers.cpp",
-    ],
-    data = [
-        "AsLibELF/Inputs/kernel1.o",
-        "AsLibELF/Inputs/kernel2.o",
-    ],
-    env = {"LLD_SRC_DIR": _LLD_SRC_DIR},
+    srcs = glob(["AsLibELF/*.cpp"]),
+    data = glob(["AsLibELF/Inputs/*"]) + [":as_lib_elf_srcdir"],
     deps = [
         "//lld:Common",
         "//lld:ELF",
         "//llvm:Support",
+        "//llvm:TestingSupport",
         "//third-party/unittest:gmock",
         "//third-party/unittest:gtest",
         "//third-party/unittest:gtest_main",
@@ -36,7 +32,7 @@ cc_test(
 cc_test(
     name = "LLDAsLibAllTests",
     size = "small",
-    srcs = ["AsLibAll/AllDrivers.cpp"],
+    srcs = glob(["AsLibAll/*.cpp"]),
     deps = [
         "//lld:COFF",
         "//lld:Common",



More information about the llvm-commits mailing list