Index: courgette/disassembler_elf_32_arm.cc |
diff --git a/courgette/disassembler_elf_32_arm.cc b/courgette/disassembler_elf_32_arm.cc |
index 4106e283a98a14f0a9ad5da80296bced682af19f..0d9f340b70f79a34b289e4a09c8f8d898ffdbc33 100644 |
--- a/courgette/disassembler_elf_32_arm.cc |
+++ b/courgette/disassembler_elf_32_arm.cc |
@@ -100,7 +100,7 @@ CheckBool DisassemblerElf32ARM::Compress(ARM_RVA type, |
temp |= (S << 24) | (i1 << 23) | (i2 << 22); |
- if (temp & 0x01000000) // sign extension |
+ if (temp & 0x01000000) // sign extension |
temp |= 0xFE000000; |
uint32_t prefetch; |
if (toARM) { |
@@ -299,9 +299,9 @@ CheckBool DisassemblerElf32ARM::TypedRVAARM::ComputeRelativeTarget( |
} |
CheckBool DisassemblerElf32ARM::TypedRVAARM::EmitInstruction( |
- AssemblyProgram* program, |
- Label* label) { |
- return program->EmitRel32ARM(c_op(), label, arm_op_, op_size()); |
+ Label* label, |
+ InstructionReceptor* receptor) { |
+ return receptor->EmitRel32ARM(c_op(), label, arm_op_, op_size()); |
} |
DisassemblerElf32ARM::DisassemblerElf32ARM(const uint8_t* start, size_t length) |
@@ -332,7 +332,7 @@ CheckBool DisassemblerElf32ARM::RelToRVA(Elf32_Rel rel, RVA* result) const { |
CheckBool DisassemblerElf32ARM::ParseRelocationSection( |
const Elf32_Shdr* section_header, |
- AssemblyProgram* program) { |
+ InstructionReceptor* receptor) const { |
// This method compresses a contiguous stretch of R_ARM_RELATIVE entries in |
// the relocation table with a Courgette relocation table instruction. |
// It skips any entries at the beginning that appear in a section that |
@@ -372,9 +372,8 @@ CheckBool DisassemblerElf32ARM::ParseRelocationSection( |
if (section_relocs_iter->r_offset == *reloc_iter) |
break; |
- if (!ParseSimpleRegion(file_offset, |
- file_offset + sizeof(Elf32_Rel), |
- program)) { |
+ if (!ParseSimpleRegion(file_offset, file_offset + sizeof(Elf32_Rel), |
+ receptor)) { |
return false; |
} |
@@ -395,12 +394,12 @@ CheckBool DisassemblerElf32ARM::ParseRelocationSection( |
if (match) { |
// Skip over relocation tables |
- if (!program->EmitElfARMRelocationInstruction()) |
+ if (!receptor->EmitElfARMRelocation()) |
return false; |
} |
} |
- return ParseSimpleRegion(file_offset, section_end, program); |
+ return ParseSimpleRegion(file_offset, section_end, receptor); |
} |
// TODO(huangs): Detect and avoid overlap with abs32 addresses. |