[llvm] [bazel] Add support for lldb-server (PR #88989)
Keith Smiley via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 16 14:58:20 PDT 2024
https://github.com/keith updated https://github.com/llvm/llvm-project/pull/88989
>From 0befcf3daa42820f27d5f25d9b1a532f4027f56e Mon Sep 17 00:00:00 2001
From: Keith Smiley <keithbsmiley at gmail.com>
Date: Tue, 16 Apr 2024 21:16:11 +0000
Subject: [PATCH 1/2] [bazel] Add support for lldb-server
---
.../llvm-project-overlay/lldb/BUILD.bazel | 61 ++++++++++++++++++-
.../lldb/source/Plugins/BUILD.bazel | 19 ++++++
2 files changed, 79 insertions(+), 1 deletion(-)
diff --git a/utils/bazel/llvm-project-overlay/lldb/BUILD.bazel b/utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
index 6dfe8085b92857..8e41cf365cbc1e 100644
--- a/utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
@@ -702,6 +702,9 @@ cc_library(
"//lldb/source/Plugins:PluginSymbolLocatorDebugSymbols",
"//lldb/source/Plugins:PluginSymbolVendorMacOSX",
],
+ "@platforms//os:linux": [
+ "//lldb/source/Plugins:PluginProcessLinux",
+ ],
"//conditions:default": [],
}),
)
@@ -799,8 +802,8 @@ cc_library(
["tools/debugserver/source/**/*.cpp"],
exclude = ["tools/debugserver/source/debugserver.cpp"],
),
- tags = ["nobuildkite"],
local_defines = ["LLDB_USE_OS_LOG"],
+ tags = ["nobuildkite"],
deps = [
":DebugServerCommonHeaders",
":DebugServerCommonMacOSXHeaders",
@@ -852,3 +855,59 @@ cc_binary(
srcs = glob(["tools/argdumper/*.cpp"]),
deps = ["//llvm:Support"],
)
+
+gentbl_cc_library(
+ name = "lldb_server_opts_gen",
+ strip_include_prefix = ".",
+ tbl_outs = [(
+ ["-gen-opt-parser-defs"],
+ "LLGSOptions.inc",
+ )],
+ tblgen = "//llvm:llvm-tblgen",
+ td_file = "tools/lldb-server/LLGSOptions.td",
+ deps = ["//llvm:OptParserTdFiles"],
+)
+
+cc_binary(
+ name = "lldb-server",
+ srcs = glob([
+ "tools/lldb-server/*.cpp",
+ "tools/lldb-server/*.h",
+ ]),
+ target_compatible_with = select({
+ "@platforms//os:linux": [],
+ # TODO: This can theoretically support more platforms, but it hasn't been tested yet
+ "//conditions:default": ["@platforms//:incompatible"],
+ }),
+ deps = [
+ ":Host",
+ ":Initialization",
+ ":Utility",
+ ":Version",
+ ":lldb_server_opts_gen",
+ "//lldb:Target",
+ "//lldb:TargetHeaders",
+ "//lldb/source/Plugins:PluginCPlusPlusLanguage",
+ "//lldb/source/Plugins:PluginExpressionParserClang",
+ "//lldb/source/Plugins:PluginInstructionARM",
+ "//lldb/source/Plugins:PluginInstructionARM64",
+ "//lldb/source/Plugins:PluginInstructionLoongArch",
+ "//lldb/source/Plugins:PluginInstructionMIPS",
+ "//lldb/source/Plugins:PluginInstructionMIPS64",
+ "//lldb/source/Plugins:PluginInstructionRISCV",
+ "//lldb/source/Plugins:PluginObjCLanguage",
+ "//lldb/source/Plugins:PluginProcessGDBRemote",
+ "//lldb/source/Plugins:PluginSymbolFileDWARF",
+ "//lldb/source/Plugins:PluginSymbolFileNativePDB",
+ "//lldb/source/Plugins:PluginSymbolFilePDB",
+ "//lldb/source/Plugins:PluginTypeSystemClang",
+ "//llvm:Option",
+ "//llvm:Support",
+ ] + select({
+ "@platforms//os:linux": [
+ "//lldb/source/Plugins:PluginObjectFileELF",
+ "//lldb/source/Plugins:PluginProcessLinux",
+ ],
+ "//conditions:default": [],
+ }),
+)
diff --git a/utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel b/utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
index bbc523f54a190d..b5f5bed1698a6b 100644
--- a/utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
@@ -2100,6 +2100,25 @@ cc_library(
],
)
+cc_library(
+ name = "PluginProcessLinux",
+ srcs = glob(["Process/Linux/*.cpp"]),
+ hdrs = glob(["Process/Linux/*.h"]),
+ include_prefix = "Plugins",
+ deps = [
+ ":PluginProcessPOSIX",
+ ":PluginProcessUtility",
+ "//lldb:Core",
+ "//lldb:Headers",
+ "//lldb:Host",
+ "//lldb:SymbolHeaders",
+ "//lldb:TargetHeaders",
+ "//lldb:Utility",
+ "//llvm:Support",
+ "//llvm:TargetParser",
+ ],
+)
+
cc_library(
name = "PluginScriptedProcess",
srcs = glob(["Process/scripted/*.cpp"]),
>From c07a0dfb0469c7c7b60f66953279842d48dd9305 Mon Sep 17 00:00:00 2001
From: Keith Smiley <keithbsmiley at gmail.com>
Date: Tue, 16 Apr 2024 17:58:04 -0400
Subject: [PATCH 2/2] macOS support
---
utils/bazel/llvm-project-overlay/lldb/BUILD.bazel | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/utils/bazel/llvm-project-overlay/lldb/BUILD.bazel b/utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
index 8e41cf365cbc1e..1f2b5b476bcc11 100644
--- a/utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
@@ -755,7 +755,13 @@ cc_binary(
data = [
":lldb-argdumper",
] + select({
- "@platforms//os:macos": [":debugserver"],
+ "@platforms//os:macos": [
+ ":debugserver",
+ ":lldb-server",
+ ],
+ "@platforms//os:linux": [
+ ":lldb-server",
+ ],
"//conditions:default": [],
}),
deps = [
@@ -876,6 +882,7 @@ cc_binary(
]),
target_compatible_with = select({
"@platforms//os:linux": [],
+ "@platforms//os:macos": [],
# TODO: This can theoretically support more platforms, but it hasn't been tested yet
"//conditions:default": ["@platforms//:incompatible"],
}),
@@ -908,6 +915,9 @@ cc_binary(
"//lldb/source/Plugins:PluginObjectFileELF",
"//lldb/source/Plugins:PluginProcessLinux",
],
+ "@platforms//os:macos": [
+ "//lldb/source/Plugins:PluginObjectFileMachO",
+ ],
"//conditions:default": [],
}),
)
More information about the llvm-commits
mailing list