diff options
author | Alex Brachet <abrachet@google.com> | 2023-04-28 15:15:16 +0000 |
---|---|---|
committer | Alex Brachet <abrachet@google.com> | 2023-04-28 15:15:16 +0000 |
commit | e161fcde0622a0418b5b20317428dd93b52f31fc (patch) | |
tree | 52fc7e40acd1f94e37a3dfe55d95e590a70b626e | |
parent | 37cf4fc6cef9f2f50e15622a1bdecc89ea6ddd23 (diff) | |
download | llvm-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.txt | 2 | ||||
-rw-r--r-- | llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp | 3 | ||||
-rw-r--r-- | llvm/utils/gn/secondary/llvm/tools/llvm-gsymutil/BUILD.gn | 3 | ||||
-rw-r--r-- | utils/bazel/llvm-project-overlay/llvm/BUILD.bazel | 11 |
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 = [ |