X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FMC%2FMCDisassembler.cpp;h=bfd51ab1af97accf07da2f66305fe9e07a6cc4d6;hb=318b7cc7f10d41370929ff93274de29c11f87b81;hp=c4cdbba26e2f10b1da66ffba39c8cca808ddcef2;hpb=2c94d0faa0e1c268893d5e04dc77e8a35889db00;p=oota-llvm.git diff --git a/lib/MC/MCDisassembler.cpp b/lib/MC/MCDisassembler.cpp index c4cdbba26e2..bfd51ab1af9 100644 --- a/lib/MC/MCDisassembler.cpp +++ b/lib/MC/MCDisassembler.cpp @@ -23,9 +23,14 @@ MCDisassembler::setupForSymbolicDisassembly( void *DisInfo, MCContext *Ctx, OwningPtr &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,