From 0cd635f7509d60acd16b8267fa2ed0b47066e0fc Mon Sep 17 00:00:00 2001 From: Alexey Samsonov Date: Mon, 26 Oct 2015 17:56:12 +0000 Subject: [PATCH] Move parts of llvm-symbolizer tool into LLVMSymbolize library. Summary: See http://lists.llvm.org/pipermail/llvm-dev/2015-October/091624.html Reviewers: echristo Subscribers: llvm-commits, aizatsky Differential Revision: http://reviews.llvm.org/D13998 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@251316 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../llvm/DebugInfo/Symbolize/Symbolize.h | 12 +++++----- lib/DebugInfo/CMakeLists.txt | 3 +-- lib/DebugInfo/LLVMBuild.txt | 2 +- lib/DebugInfo/Makefile | 4 ++-- lib/DebugInfo/Symbolize/CMakeLists.txt | 6 +++++ lib/DebugInfo/Symbolize/LLVMBuild.txt | 22 +++++++++++++++++++ lib/DebugInfo/Symbolize/Makefile | 15 +++++++++++++ .../DebugInfo/Symbolize/Symbolize.cpp | 4 +++- tools/llvm-symbolizer/CMakeLists.txt | 2 +- tools/llvm-symbolizer/Makefile | 2 +- tools/llvm-symbolizer/llvm-symbolizer.cpp | 2 +- 11 files changed, 58 insertions(+), 16 deletions(-) rename tools/llvm-symbolizer/LLVMSymbolize.h => include/llvm/DebugInfo/Symbolize/Symbolize.h (95%) create mode 100644 lib/DebugInfo/Symbolize/CMakeLists.txt create mode 100644 lib/DebugInfo/Symbolize/LLVMBuild.txt create mode 100644 lib/DebugInfo/Symbolize/Makefile rename tools/llvm-symbolizer/LLVMSymbolize.cpp => lib/DebugInfo/Symbolize/Symbolize.cpp (99%) diff --git a/tools/llvm-symbolizer/LLVMSymbolize.h b/include/llvm/DebugInfo/Symbolize/Symbolize.h similarity index 95% rename from tools/llvm-symbolizer/LLVMSymbolize.h rename to include/llvm/DebugInfo/Symbolize/Symbolize.h index 17df56e695a..c58c51b0239 100644 --- a/tools/llvm-symbolizer/LLVMSymbolize.h +++ b/include/llvm/DebugInfo/Symbolize/Symbolize.h @@ -1,4 +1,4 @@ -//===-- LLVMSymbolize.h ----------------------------------------- C++ -----===// +//===-- Symbolize.h --------------------------------------------- C++ -----===// // // The LLVM Compiler Infrastructure // @@ -10,8 +10,8 @@ // Header for LLVM symbolization library. // //===----------------------------------------------------------------------===// -#ifndef LLVM_TOOLS_LLVM_SYMBOLIZER_LLVMSYMBOLIZE_H -#define LLVM_TOOLS_LLVM_SYMBOLIZER_LLVMSYMBOLIZE_H +#ifndef LLVM_DEBUGINFO_SYMBOLIZE_SYMBOLIZE_H +#define LLVM_DEBUGINFO_SYMBOLIZE_SYMBOLIZE_H #include "llvm/ADT/SmallVector.h" #include "llvm/DebugInfo/DIContext.h" @@ -24,12 +24,10 @@ #include namespace llvm { - -typedef DILineInfoSpecifier::FunctionNameKind FunctionNameKind; -using namespace object; - namespace symbolize { +using namespace object; +using FunctionNameKind = DILineInfoSpecifier::FunctionNameKind; class ModuleInfo; class LLVMSymbolizer { diff --git a/lib/DebugInfo/CMakeLists.txt b/lib/DebugInfo/CMakeLists.txt index 645d92fef22..86f0efe2226 100644 --- a/lib/DebugInfo/CMakeLists.txt +++ b/lib/DebugInfo/CMakeLists.txt @@ -1,4 +1,3 @@ - add_subdirectory(DWARF) add_subdirectory(PDB) - +add_subdirectory(Symbolize) diff --git a/lib/DebugInfo/LLVMBuild.txt b/lib/DebugInfo/LLVMBuild.txt index 7a8e8baec2c..fbffe3a0691 100644 --- a/lib/DebugInfo/LLVMBuild.txt +++ b/lib/DebugInfo/LLVMBuild.txt @@ -16,7 +16,7 @@ ;===------------------------------------------------------------------------===; [common] -subdirectories = DWARF PDB +subdirectories = DWARF PDB Symbolize [component_0] type = Group diff --git a/lib/DebugInfo/Makefile b/lib/DebugInfo/Makefile index 27a5e1f0f49..20e9495b433 100644 --- a/lib/DebugInfo/Makefile +++ b/lib/DebugInfo/Makefile @@ -10,6 +10,6 @@ LEVEL = ../.. include $(LEVEL)/Makefile.config -PARALLEL_DIRS := DWARF PDB +PARALLEL_DIRS := DWARF PDB Symbolize -include $(LEVEL)/Makefile.common \ No newline at end of file +include $(LEVEL)/Makefile.common diff --git a/lib/DebugInfo/Symbolize/CMakeLists.txt b/lib/DebugInfo/Symbolize/CMakeLists.txt new file mode 100644 index 00000000000..0e43eaa977c --- /dev/null +++ b/lib/DebugInfo/Symbolize/CMakeLists.txt @@ -0,0 +1,6 @@ +add_llvm_library(LLVMSymbolize + Symbolize.cpp + + ADDITIONAL_HEADER_DIRS + ${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/Symbolize + ) diff --git a/lib/DebugInfo/Symbolize/LLVMBuild.txt b/lib/DebugInfo/Symbolize/LLVMBuild.txt new file mode 100644 index 00000000000..f9ec6b32f6d --- /dev/null +++ b/lib/DebugInfo/Symbolize/LLVMBuild.txt @@ -0,0 +1,22 @@ +;===- ./lib/DebugInfo/Symbolize/LLVMBuild.txt ------------------*- Conf -*--===; +; +; The LLVM Compiler Infrastructure +; +; This file is distributed under the University of Illinois Open Source +; License. See LICENSE.TXT for details. +; +;===------------------------------------------------------------------------===; +; +; This is an LLVMBuild description file for the components in this subdirectory. +; +; For more information on the LLVMBuild system, please see: +; +; http://llvm.org/docs/LLVMBuild.html +; +;===------------------------------------------------------------------------===; + +[component_0] +type = Library +name = Symbolize +parent = DebugInfo +required_libraries = DebugInfoDWARF DebugInfoPDB Object Support diff --git a/lib/DebugInfo/Symbolize/Makefile b/lib/DebugInfo/Symbolize/Makefile new file mode 100644 index 00000000000..17aac939658 --- /dev/null +++ b/lib/DebugInfo/Symbolize/Makefile @@ -0,0 +1,15 @@ +##===- lib/DebugInfo/Symbolize/Makefile --------------------*- Makefile -*-===## +# +# The LLVM Compiler Infrastructure +# +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. +# +##===----------------------------------------------------------------------===## + +LEVEL = ../../.. +LIBRARYNAME = LLVMSymbolize +BUILD_ARCHIVE := 1 + +include $(LEVEL)/Makefile.common + diff --git a/tools/llvm-symbolizer/LLVMSymbolize.cpp b/lib/DebugInfo/Symbolize/Symbolize.cpp similarity index 99% rename from tools/llvm-symbolizer/LLVMSymbolize.cpp rename to lib/DebugInfo/Symbolize/Symbolize.cpp index 51bb965b8df..ffe3747db0c 100644 --- a/tools/llvm-symbolizer/LLVMSymbolize.cpp +++ b/lib/DebugInfo/Symbolize/Symbolize.cpp @@ -11,7 +11,8 @@ // //===----------------------------------------------------------------------===// -#include "LLVMSymbolize.h" +#include "llvm/DebugInfo/Symbolize/Symbolize.h" + #include "llvm/ADT/STLExtras.h" #include "llvm/Config/config.h" #include "llvm/DebugInfo/DWARF/DWARFContext.h" @@ -45,6 +46,7 @@ namespace llvm { namespace symbolize { +// FIXME: Move this to llvm-symbolizer tool. static bool error(std::error_code ec) { if (!ec) return false; diff --git a/tools/llvm-symbolizer/CMakeLists.txt b/tools/llvm-symbolizer/CMakeLists.txt index 5df3b17a065..b04c45ff744 100644 --- a/tools/llvm-symbolizer/CMakeLists.txt +++ b/tools/llvm-symbolizer/CMakeLists.txt @@ -8,9 +8,9 @@ set(LLVM_LINK_COMPONENTS DebugInfoPDB Object Support + Symbolize ) add_llvm_tool(llvm-symbolizer - LLVMSymbolize.cpp llvm-symbolizer.cpp ) diff --git a/tools/llvm-symbolizer/Makefile b/tools/llvm-symbolizer/Makefile index de75befb1c9..8272d61280c 100644 --- a/tools/llvm-symbolizer/Makefile +++ b/tools/llvm-symbolizer/Makefile @@ -9,7 +9,7 @@ LEVEL := ../.. TOOLNAME := llvm-symbolizer -LINK_COMPONENTS := DebugInfoDWARF DebugInfoPDB Object +LINK_COMPONENTS := DebugInfoDWARF DebugInfoPDB Object Support Symbolize # This tool has no plugins, optimize startup time. TOOL_NO_EXPORTS := 1 diff --git a/tools/llvm-symbolizer/llvm-symbolizer.cpp b/tools/llvm-symbolizer/llvm-symbolizer.cpp index e773f04f02e..5784e6ba5d9 100644 --- a/tools/llvm-symbolizer/llvm-symbolizer.cpp +++ b/tools/llvm-symbolizer/llvm-symbolizer.cpp @@ -15,8 +15,8 @@ // //===----------------------------------------------------------------------===// -#include "LLVMSymbolize.h" #include "llvm/ADT/StringRef.h" +#include "llvm/DebugInfo/Symbolize/Symbolize.h" #include "llvm/Support/COM.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/Debug.h" -- 2.34.1