Index: courgette/disassembler.cc |
diff --git a/courgette/disassembler.cc b/courgette/disassembler.cc |
index 31c23f1f64020c67c78abccf011103517922b76a..64ca27400aa06c944df5e9f9291b436b1178add2 100644 |
--- a/courgette/disassembler.cc |
+++ b/courgette/disassembler.cc |
@@ -54,7 +54,8 @@ const uint8_t* Disassembler::RVAToPointer(RVA rva) const { |
return FileOffsetToPointer(file_offset); |
} |
-std::unique_ptr<AssemblyProgram> Disassembler::Disassemble() { |
+std::unique_ptr<AssemblyProgram> Disassembler::Disassemble( |
+ bool annotate_labels) { |
if (!ok() || !ExtractAbs32Locations() || !ExtractRel32Locations()) |
return nullptr; |
@@ -64,8 +65,10 @@ std::unique_ptr<AssemblyProgram> Disassembler::Disassemble() { |
PrecomputeLabels(program.get()); |
RemoveUnusedRel32Locations(program.get()); |
- if (!program->GenerateInstructions(GetInstructionGenerator(program.get()))) |
+ if (!program->GenerateInstructions(GetInstructionGenerator(program.get()), |
+ annotate_labels)) { |
return nullptr; |
+ } |
program->DefaultAssignIndexes(); |
return program; |