summaryrefslogtreecommitdiff
path: root/lib/MC/MCExternalSymbolizer.cpp
diff options
context:
space:
mode:
authorQuentin Colombet <qcolombet@apple.com>2013-05-24 22:51:52 +0000
committerQuentin Colombet <qcolombet@apple.com>2013-05-24 22:51:52 +0000
commitde7cbbfcce5c068f0699bdcb6dac093c0c91ba6f (patch)
tree5ab055706a3d1e3379dd568d4ee386fa2563f518 /lib/MC/MCExternalSymbolizer.cpp
parentfce7b6b5d9905bf35641ee7f001b6b66dbc26c2d (diff)
downloadllvm-de7cbbfcce5c068f0699bdcb6dac093c0c91ba6f.tar.gz
llvm-de7cbbfcce5c068f0699bdcb6dac093c0c91ba6f.tar.bz2
llvm-de7cbbfcce5c068f0699bdcb6dac093c0c91ba6f.tar.xz
Follow up of the introduction of MCSymbolizer.
- Ressurect old MCDisassemble API to soften transition. - Extend MCTargetDesc to set target specific symbolizer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182688 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC/MCExternalSymbolizer.cpp')
-rw-r--r--lib/MC/MCExternalSymbolizer.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/MC/MCExternalSymbolizer.cpp b/lib/MC/MCExternalSymbolizer.cpp
index 5fb52b3bf6..47ef6c41fe 100644
--- a/lib/MC/MCExternalSymbolizer.cpp
+++ b/lib/MC/MCExternalSymbolizer.cpp
@@ -144,3 +144,17 @@ void MCExternalSymbolizer::tryAddingPcLoadReferenceComment(raw_ostream &cStream,
cStream << "literal pool for: " << ReferenceName;
}
}
+
+namespace llvm {
+MCSymbolizer *createMCSymbolizer(StringRef TT, LLVMOpInfoCallback GetOpInfo,
+ LLVMSymbolLookupCallback SymbolLookUp,
+ void *DisInfo,
+ MCContext *Ctx,
+ MCRelocationInfo *RelInfo) {
+ assert(Ctx != 0 && "No MCContext given for symbolic disassembly");
+
+ OwningPtr<MCRelocationInfo> RelInfoOwingPtr(RelInfo);
+ return new MCExternalSymbolizer(*Ctx, RelInfoOwingPtr, GetOpInfo,
+ SymbolLookUp, DisInfo);
+}
+}