[llvm] [bazel] Add linker flags to clang equivalent to those added in CMake for plugin support (PR #194897)

Tom Murray via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 29 10:57:29 PDT 2026


https://github.com/TomMurray updated https://github.com/llvm/llvm-project/pull/194897

>From d20b899012f77c506f6ce32588732f2af07d25ed Mon Sep 17 00:00:00 2001
From: Tom Murray <tom.paul.murray at gmail.com>
Date: Wed, 29 Apr 2026 16:19:50 +0100
Subject: [PATCH 1/2] Add export_executable_symbols equivalent linker flags to
 clang

---
 utils/bazel/llvm-project-overlay/clang/BUILD.bazel | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/utils/bazel/llvm-project-overlay/clang/BUILD.bazel b/utils/bazel/llvm-project-overlay/clang/BUILD.bazel
index 819b6b9dcfbfd..730d1fb7452a0 100644
--- a/utils/bazel/llvm-project-overlay/clang/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/clang/BUILD.bazel
@@ -2334,6 +2334,14 @@ llvm_driver_cc_binary(
     needs_posix_utility_signal_handling = True,
     stamp = 0,
     deps = [":clang-driver"],
+    # Linker options added in CMake by `export_executable_symbols` function
+    # from `llvm/cmake/modules/AddLLVM.cmake` to some tools/drivers for
+    # plugin support.
+    linkopts = select({
+        "@platforms//os:linux": ["-Wl,--export-dynamic"],
+        "@platforms//os:macos": ["-rdynamic"],
+        "//conditions:default": [],
+    }),
 )
 
 cc_binary(

>From 46d9f879da32830d71d2d5f471b22ac449435e1d Mon Sep 17 00:00:00 2001
From: Tom Murray <tom.paul.murray at gmail.com>
Date: Wed, 29 Apr 2026 18:55:28 +0100
Subject: [PATCH 2/2] Run buildifier

---
 utils/bazel/llvm-project-overlay/clang/BUILD.bazel | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/utils/bazel/llvm-project-overlay/clang/BUILD.bazel b/utils/bazel/llvm-project-overlay/clang/BUILD.bazel
index 730d1fb7452a0..2275e37cd7d76 100644
--- a/utils/bazel/llvm-project-overlay/clang/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/clang/BUILD.bazel
@@ -2331,9 +2331,6 @@ cc_library(
 
 llvm_driver_cc_binary(
     name = "clang",
-    needs_posix_utility_signal_handling = True,
-    stamp = 0,
-    deps = [":clang-driver"],
     # Linker options added in CMake by `export_executable_symbols` function
     # from `llvm/cmake/modules/AddLLVM.cmake` to some tools/drivers for
     # plugin support.
@@ -2342,6 +2339,9 @@ llvm_driver_cc_binary(
         "@platforms//os:macos": ["-rdynamic"],
         "//conditions:default": [],
     }),
+    needs_posix_utility_signal_handling = True,
+    stamp = 0,
+    deps = [":clang-driver"],
 )
 
 cc_binary(



More information about the llvm-commits mailing list