| Index: courgette/encoded_program.h
|
| diff --git a/courgette/encoded_program.h b/courgette/encoded_program.h
|
| index d0ce945f34f9f0db01248516bce99c07b6701d2f..814a45cf35306bb8e3274dc87dec64b3bcdc0e05 100644
|
| --- a/courgette/encoded_program.h
|
| +++ b/courgette/encoded_program.h
|
| @@ -50,10 +50,11 @@ class EncodedProgram {
|
| // (1) The image base can be specified at any time.
|
| void set_image_base(uint64_t base) { image_base_ = base; }
|
|
|
| - // (2) Address tables and indexes defined first.
|
| - CheckBool DefineLabels(const RVAToLabel& abs32_labels,
|
| - const RVAToLabel& rel32_labels) WARN_UNUSED_RESULT;
|
| + // (2) Address tables and indexes imported first.
|
|
|
| + CheckBool ImportLabels(const LabelManager& abs32_label_manager,
|
| + const LabelManager& rel32_label_manager)
|
| + WARN_UNUSED_RESULT;
|
|
|
| // (3) Add instructions in the order needed to generate bytes of file.
|
| // NOTE: If any of these methods ever fail, the EncodedProgram instance
|
| @@ -114,6 +115,14 @@ class EncodedProgram {
|
| typedef NoThrowBuffer<OP> OPVector;
|
|
|
| void DebuggingSummary();
|
| +
|
| + // Helper for ImportLabels().
|
| + static CheckBool WriteRvasToList(const LabelManager& label_manager,
|
| + RvaVector* rvas);
|
| +
|
| + // Helper for ImportLabels().
|
| + static void FillUnassignedRvaSlots(RvaVector* rvas);
|
| +
|
| CheckBool GeneratePeRelocations(SinkStream* buffer,
|
| uint8_t type) WARN_UNUSED_RESULT;
|
| CheckBool GenerateElfRelocations(Elf32_Word pending_elf_relocation_table,
|
|
|