summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohnny Chen <johnny.chen@apple.com>2011-11-29 01:09:49 +0000
committerJohnny Chen <johnny.chen@apple.com>2011-11-29 01:09:49 +0000
commit62212f0e62e42bd3f9be4ff310380780602273fc (patch)
tree84aab9ef363004da634b07eeb59dd98b3ad9b189
parente756031a62a944a06c9fce904294bc55c529d755 (diff)
downloadbcm5719-llvm-62212f0e62e42bd3f9be4ff310380780602273fc.tar.gz
bcm5719-llvm-62212f0e62e42bd3f9be4ff310380780602273fc.zip
Patch from Daniel Dunbar for future-proof against http://llvm.org/viewvc/llvm-project?view=rev&revision=145331.
llvm-svn: 145345
-rw-r--r--lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVM.cpp11
-rw-r--r--lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp11
2 files changed, 22 insertions, 0 deletions
diff --git a/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVM.cpp b/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVM.cpp
index 4871c79f23d..40e5c89ecb0 100644
--- a/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVM.cpp
+++ b/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVM.cpp
@@ -10,6 +10,7 @@
#include "DisassemblerLLVM.h"
#include "llvm-c/EnhancedDisassembly.h"
+#include "llvm/Support/TargetSelect.h"
#include "lldb/Core/Address.h"
#include "lldb/Core/DataExtractor.h"
@@ -669,6 +670,16 @@ DisassemblerLLVM::DisassemblerLLVM(const ArchSpec &arch) :
m_disassembler (NULL),
m_disassembler_thumb (NULL) // For ARM only
{
+ // Initialize the LLVM objects needed to use the disassembler.
+ static struct InitializeLLVM {
+ InitializeLLVM() {
+ llvm::InitializeAllTargetInfos();
+ llvm::InitializeAllTargetMCs();
+ llvm::InitializeAllAsmParsers();
+ llvm::InitializeAllDisassemblers();
+ }
+ } InitializeLLVM;
+
const std::string &arch_triple = arch.GetTriple().str();
if (!arch_triple.empty())
{
diff --git a/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp b/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp
index 8382e3ea26f..1379207e68e 100644
--- a/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp
+++ b/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp
@@ -10,6 +10,7 @@
#include "UnwindAssembly-x86.h"
#include "llvm-c/EnhancedDisassembly.h"
+#include "llvm/Support/TargetSelect.h"
#include "lldb/Core/Address.h"
#include "lldb/Core/Error.h"
@@ -489,6 +490,16 @@ AssemblyParse_x86::instruction_length (Address addr, int &length)
else
triple = "x86_64-unknown-unknown";
+ // Initialize the LLVM objects needed to use the disassembler.
+ static struct InitializeLLVM {
+ InitializeLLVM() {
+ llvm::InitializeAllTargetInfos();
+ llvm::InitializeAllTargetMCs();
+ llvm::InitializeAllAsmParsers();
+ llvm::InitializeAllDisassemblers();
+ }
+ } InitializeLLVM;
+
EDDisassemblerRef disasm;
EDInstRef cur_insn;
OpenPOWER on IntegriCloud