forked from OSchip/llvm-project
Create an atom with just the data that failed to disassemble.
Patch by Stephen Checkoway. llvm-svn: 192827
This commit is contained in:
parent
33304e3087
commit
6174e5ee68
|
@ -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 {
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
# .LBL0_1:
|
||||
# movq 8(%rsi), %rax
|
||||
# <invalid opcode: 06>
|
||||
# nop
|
||||
|
||||
!ELF
|
||||
FileHeader:
|
||||
|
@ -17,7 +18,7 @@ Sections:
|
|||
- Name: .text
|
||||
Type: SHT_PROGBITS
|
||||
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
|
||||
Content: "488B460806"
|
||||
Content: "488B46080690"
|
||||
|
||||
## 0000000000000000 <main>:
|
||||
|
||||
|
@ -39,10 +40,19 @@ Sections:
|
|||
## 4: 06 (bad)
|
||||
#CFG: Content: 06
|
||||
|
||||
#CFG: - StartAddress: 0x0000000000000005
|
||||
#CFG: Size: 1
|
||||
#CFG: Type: Text
|
||||
|
||||
## 5: 90 nop
|
||||
#CFG: - Inst: NOOP
|
||||
#CFG: Size: 1
|
||||
#CFG: Ops: [ ]
|
||||
|
||||
Symbols:
|
||||
Global:
|
||||
- Name: main
|
||||
Type: STT_FUNC
|
||||
Section: .text
|
||||
Value: 0x0
|
||||
Size: 5
|
||||
Size: 6
|
||||
|
|
Loading…
Reference in New Issue