X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FMC%2FMCDisassembler.cpp;fp=lib%2FMC%2FMCDisassembler.cpp;h=bfd51ab1af97accf07da2f66305fe9e07a6cc4d6;hb=de7cbbfcce5c068f0699bdcb6dac093c0c91ba6f;hp=c4cdbba26e2f10b1da66ffba39c8cca808ddcef2;hpb=fce7b6b5d9905bf35641ee7f001b6b66dbc26c2d;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,