Create an atom with just the data that failed to disassemble.

Patch by Stephen Checkoway.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192827 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola
2013-10-16 19:03:14 +00:00
parent 4306e87c61
commit 88e1e103de
2 changed files with 16 additions and 4 deletions

View File

@ -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 {