mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-26 05:32:25 +00:00
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:
parent
4306e87c61
commit
88e1e103de
@ -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
Block a user