diff options
author | Quentin Colombet <qcolombet@apple.com> | 2013-05-24 22:51:52 +0000 |
---|---|---|
committer | Quentin Colombet <qcolombet@apple.com> | 2013-05-24 22:51:52 +0000 |
commit | f482805c285351648cbd2052ccf6b817b726fb0e (patch) | |
tree | 3a2acfbd646f1afb70d4bd1ae8a8e4103baf0f08 /llvm/lib/MC/MCDisassembler.cpp | |
parent | 251f49657897b38603d5aaac7f81d61228fe5728 (diff) | |
download | bcm5719-llvm-f482805c285351648cbd2052ccf6b817b726fb0e.tar.gz bcm5719-llvm-f482805c285351648cbd2052ccf6b817b726fb0e.zip |
Follow up of the introduction of MCSymbolizer.
- Ressurect old MCDisassemble API to soften transition.
- Extend MCTargetDesc to set target specific symbolizer.
llvm-svn: 182688
Diffstat (limited to 'llvm/lib/MC/MCDisassembler.cpp')
-rw-r--r-- | llvm/lib/MC/MCDisassembler.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/llvm/lib/MC/MCDisassembler.cpp b/llvm/lib/MC/MCDisassembler.cpp index c4cdbba26e2..bfd51ab1af9 100644 --- a/llvm/lib/MC/MCDisassembler.cpp +++ b/llvm/lib/MC/MCDisassembler.cpp @@ -23,9 +23,14 @@ MCDisassembler::setupForSymbolicDisassembly( void *DisInfo, MCContext *Ctx, OwningPtr<MCRelocationInfo> &RelInfo) { + this->GetOpInfo = GetOpInfo; + this->SymbolLookUp = SymbolLookUp; + this->DisInfo = DisInfo; + this->Ctx = Ctx; assert(Ctx != 0 && "No MCContext given for symbolic disassembly"); - Symbolizer.reset(new MCExternalSymbolizer(*Ctx, RelInfo, GetOpInfo, - SymbolLookUp, DisInfo)); + if (!Symbolizer) + Symbolizer.reset(new MCExternalSymbolizer(*Ctx, RelInfo, GetOpInfo, + SymbolLookUp, DisInfo)); } bool MCDisassembler::tryAddingSymbolicOperand(MCInst &Inst, int64_t Value, |