5#include "../linker/module.h"
6#include "../linker/segment.h"
7#include "../linker/segment_manager.h"
8#include "../linker/writer.h"
26 std::shared_ptr<Linker::Contents>
image =
nullptr;
28 void Clear()
override;
40 ~GenericBinaryFormat()
45 void ReadFile(
const std::shared_ptr<Linker::Reader>& rd)
override;
50 offset_t
WriteFile(
const std::shared_ptr<Linker::Writer>& wr)
const override;
62 static std::vector<Linker::OptionDescription<void> *> ParameterNames;
65 void OnNewSegment(std::shared_ptr<Linker::Segment> segment)
override;
67 void CreateDefaultSegments();
69 virtual std::unique_ptr<Script::List> GetScript(
Linker::Module& module);
104 std::unique_ptr<Microsoft::MZFormat::PIF>
pif =
nullptr;
106 void Clear()
override;
108 BinaryFormat(uint64_t default_base_address = 0, std::string default_extension =
"")
123 void ReadFile(
const std::shared_ptr<Linker::Reader>& rd)
override;
128 offset_t
WriteFile(
const std::shared_ptr<Linker::Writer>& wr)
const override;
139 unsigned FormatAdditionalSectionFlags(std::string section_name)
const override;
158 static std::vector<Linker::OptionDescription<void>> MemoryModelNames;
160 static std::vector<Linker::OptionDescription<void> *> ParameterNames;
164 void SetModel(std::string model)
override;
166 std::unique_ptr<Script::List> GetScript(
Linker::Module& module)
override;
An abstract interface that separates structure and presentation of the data inside a file.
Definition dumper.h:1009
Encodes an object module file as a collection of sections, symbols and relocations.
Definition module.h:24
A representation of a value within some binary data that has to be fixed up once the exact position o...
Definition relocation.h:28
Representing a resolved relocation.
Definition resolution.h:17
A helper class to collect sections into segments.
Definition segment_manager.h:32