summaryrefslogtreecommitdiffstats
path: root/llvm/include
diff options
context:
space:
mode:
authorAlexey Samsonov <vonosmas@gmail.com>2015-10-29 23:49:19 +0000
committerAlexey Samsonov <vonosmas@gmail.com>2015-10-29 23:49:19 +0000
commit76f7ecb83a72da43c0da871c8d9937ad0679c93a (patch)
tree84b6efc7ec0566623afe6c898d53ffd844fe0a16 /llvm/include
parent7a33621fa576cfd75864dbacef3391e1aa9cca28 (diff)
downloadbcm5719-llvm-76f7ecb83a72da43c0da871c8d9937ad0679c93a.tar.gz
bcm5719-llvm-76f7ecb83a72da43c0da871c8d9937ad0679c93a.zip
[LLVMSymbolize] Move printing the description of a global into a separate function. NFC.
llvm-svn: 251669
Diffstat (limited to 'llvm/include')
-rw-r--r--llvm/include/llvm/DebugInfo/DIContext.h9
-rw-r--r--llvm/include/llvm/DebugInfo/Symbolize/SymbolizableModule.h3
-rw-r--r--llvm/include/llvm/DebugInfo/Symbolize/Symbolize.h2
3 files changed, 12 insertions, 2 deletions
diff --git a/llvm/include/llvm/DebugInfo/DIContext.h b/llvm/include/llvm/DebugInfo/DIContext.h
index fa927d9d6bd..e98665f2b0d 100644
--- a/llvm/include/llvm/DebugInfo/DIContext.h
+++ b/llvm/include/llvm/DebugInfo/DIContext.h
@@ -65,6 +65,15 @@ class DIInliningInfo {
}
};
+/// DIGlobal - container for description of a global variable.
+struct DIGlobal {
+ std::string Name;
+ uint64_t Start;
+ uint64_t Size;
+
+ DIGlobal() : Name("<invalid>"), Start(0), Size(0) {}
+};
+
/// A DINameKind is passed to name search methods to specify a
/// preference regarding the type of name resolution the caller wants.
enum class DINameKind { None, ShortName, LinkageName };
diff --git a/llvm/include/llvm/DebugInfo/Symbolize/SymbolizableModule.h b/llvm/include/llvm/DebugInfo/Symbolize/SymbolizableModule.h
index 94a72faa944..ff9cc808875 100644
--- a/llvm/include/llvm/DebugInfo/Symbolize/SymbolizableModule.h
+++ b/llvm/include/llvm/DebugInfo/Symbolize/SymbolizableModule.h
@@ -37,8 +37,7 @@ public:
virtual DIInliningInfo symbolizeInlinedCode(uint64_t ModuleOffset,
FunctionNameKind FNKind,
bool UseSymbolTable) const = 0;
- virtual bool symbolizeData(uint64_t ModuleOffset, std::string &Name,
- uint64_t &Start, uint64_t &Size) const = 0;
+ virtual DIGlobal symbolizeData(uint64_t ModuleOffset) const = 0;
// Return true if this is a 32-bit x86 PE COFF module.
virtual bool isWin32Module() const = 0;
diff --git a/llvm/include/llvm/DebugInfo/Symbolize/Symbolize.h b/llvm/include/llvm/DebugInfo/Symbolize/Symbolize.h
index e3de8c732e1..98e0b198da8 100644
--- a/llvm/include/llvm/DebugInfo/Symbolize/Symbolize.h
+++ b/llvm/include/llvm/DebugInfo/Symbolize/Symbolize.h
@@ -80,6 +80,8 @@ private:
std::string printDILineInfo(DILineInfo LineInfo,
const SymbolizableModule *ModInfo) const;
+ std::string printDIGlobal(DIGlobal Global,
+ const SymbolizableModule *ModInfo) const;
// Owns all the parsed binaries and object files.
SmallVector<std::unique_ptr<Binary>, 4> ParsedBinariesAndObjects;
OpenPOWER on IntegriCloud