X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FMC%2FMCObjectDisassembler.cpp;h=16a110f09bf8559154a1d9974614d502c8c1a6af;hb=6079f00035e029f12e4be0281aa2cbfbb4817141;hp=fa4663740d3488bd3567fdfc15cca7d304a4948e;hpb=9c3dd1b0d1e96ef408b68da3b06c6ebd6c943601;p=oota-llvm.git diff --git a/lib/MC/MCObjectDisassembler.cpp b/lib/MC/MCObjectDisassembler.cpp index fa4663740d3..16a110f09bf 100644 --- a/lib/MC/MCObjectDisassembler.cpp +++ b/lib/MC/MCObjectDisassembler.cpp @@ -135,11 +135,13 @@ void MCObjectDisassembler::buildSectionAtoms(MCModule *Module) { Text->addInst(Inst, InstSize); InvalidData = 0; } else { + assert(InstSize && "getInstruction() consumed no bytes"); if (!InvalidData) { Text = 0; - InvalidData = Module->createDataAtom(CurAddr, EndAddr); + InvalidData = Module->createDataAtom(CurAddr, CurAddr+InstSize - 1); } - InvalidData->addData(Contents[Index]); + for (uint64_t I = 0; I < InstSize; ++I) + InvalidData->addData(Contents[Index+I]); } } } else {