summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Brachet <abrachet@google.com>2023-04-28 15:15:16 +0000
committerAlex Brachet <abrachet@google.com>2023-04-28 15:15:16 +0000
commite161fcde0622a0418b5b20317428dd93b52f31fc (patch)
tree52fc7e40acd1f94e37a3dfe55d95e590a70b626e
parent37cf4fc6cef9f2f50e15622a1bdecc89ea6ddd23 (diff)
downloadllvm-e161fcde0622a0418b5b20317428dd93b52f31fc.tar.gz
[llvm-gsymutil] Add gsymutil to llvm driver build
Differential Revision: https://reviews.llvm.org/D149283
-rw-r--r--llvm/tools/llvm-gsymutil/CMakeLists.txt2
-rw-r--r--llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp3
-rw-r--r--llvm/utils/gn/secondary/llvm/tools/llvm-gsymutil/BUILD.gn3
-rw-r--r--utils/bazel/llvm-project-overlay/llvm/BUILD.bazel11
4 files changed, 16 insertions, 3 deletions
diff --git a/llvm/tools/llvm-gsymutil/CMakeLists.txt b/llvm/tools/llvm-gsymutil/CMakeLists.txt
index 1ec959271a23..7f8a21a39d32 100644
--- a/llvm/tools/llvm-gsymutil/CMakeLists.txt
+++ b/llvm/tools/llvm-gsymutil/CMakeLists.txt
@@ -18,4 +18,6 @@ add_llvm_tool(llvm-gsymutil
DEPENDS
GSYMUtilOptsTableGen
+
+ GENERATE_DRIVER
)
diff --git a/llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp b/llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
index f3b79321759e..68d36f282dec 100644
--- a/llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
+++ b/llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
@@ -19,6 +19,7 @@
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/Format.h"
+#include "llvm/Support/LLVMDriver.h"
#include "llvm/Support/ManagedStatic.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/PrettyStackTrace.h"
@@ -492,7 +493,7 @@ static void doLookup(GsymReader &Gsym, uint64_t Addr, raw_ostream &OS) {
OS << "\n";
}
-int main(int argc, char **argv) {
+int llvm_gsymutil_main(int argc, char **argv, const llvm::ToolContext &) {
// Print a stack trace if we signal out.
sys::PrintStackTraceOnErrorSignal(argv[0]);
PrettyStackTraceProgram X(argc, argv);
diff --git a/llvm/utils/gn/secondary/llvm/tools/llvm-gsymutil/BUILD.gn b/llvm/utils/gn/secondary/llvm/tools/llvm-gsymutil/BUILD.gn
index 2fe25439618d..733e554c1758 100644
--- a/llvm/utils/gn/secondary/llvm/tools/llvm-gsymutil/BUILD.gn
+++ b/llvm/utils/gn/secondary/llvm/tools/llvm-gsymutil/BUILD.gn
@@ -1,11 +1,12 @@
import("//llvm/utils/TableGen/tablegen.gni")
+import("//llvm/utils/gn/build/driver_executable.gni")
tablegen("Opts") {
visibility = [ ":llvm-gsymutil" ]
args = [ "-gen-opt-parser-defs" ]
}
-executable("llvm-gsymutil") {
+driver_executable("llvm-gsymutil") {
deps = [
":Opts",
"//llvm/lib/DebugInfo/DWARF",
diff --git a/utils/bazel/llvm-project-overlay/llvm/BUILD.bazel b/utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
index b45d43644874..3ebc98e7fcfd 100644
--- a/utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
@@ -3461,12 +3461,21 @@ gentbl(
td_srcs = ["include/llvm/Option/OptParser.td"],
)
+expand_template(
+ name = "gsymutil_main",
+ out = "llvm-gsymutil-driver.cpp",
+ substitutions = {
+ "@TOOL_NAME@": "llvm_gsymutil",
+ },
+ template = "cmake/modules/llvm-driver-template.cpp.in",
+)
+
cc_binary(
name = "llvm-gsymutil",
srcs = glob([
"tools/llvm-gsymutil/*.cpp",
"tools/llvm-gsymutil/*.h",
- ]),
+ ]) + ["llvm-gsymutil-driver.cpp"],
copts = llvm_copts,
stamp = 0,
deps = [