8#include "../dumper/dumper.h"
9#include "../linker/module.h"
10#include "../linker/segment.h"
11#include "../linker/segment_manager.h"
12#include "../linker/writer.h"
14namespace DigitalResearch
58 std::shared_ptr<Linker::Image>
image =
nullptr;
62 bool IsPresent()
const;
104 MAGIC_SEGMENTED_OBJECT = 0xEE00,
105 MAGIC_SEGMENTED = 0xEE01,
106 MAGIC_NONSHARED_OBJECT = 0xEE02,
107 MAGIC_NONSHARED = 0xEE03,
108 MAGIC_SHARED_OBJECT = 0xEE06,
109 MAGIC_SHARED = 0xEE07,
110 MAGIC_SPLIT_OBJECT = 0xEE0A,
111 MAGIC_SPLIT = 0xEE0B,
125 std::vector<Segment> segments;
126 std::vector<Relocation> relocations;
127 std::vector<Symbol> symbols;
129 magic_type GetSignature()
const;
131 void SetSignature(magic_type magic);
133 void Clear()
override;
158 std::vector<std::shared_ptr<Linker::Segment>>& Segments();
160 unsigned GetSegmentNumber(std::shared_ptr<Linker::Segment> segment);
162 void SetOptions(std::map<std::string, std::string>& options)
override;
164 void OnNewSegment(std::shared_ptr<Linker::Segment> segment)
override;
166 bool IsCombined()
const;
An abstract interface that separates structure and presentation of the data inside a file.
Definition dumper.h:586
Encodes an object module file as a collection of sections, symbols and relocations.
Definition module.h:24
A helper class, encapsulating functionality needed to import binary data.
Definition reader.h:16
A helper class to collect sections into segments.
Definition segment_manager.h:32
A helper class, encapsulating functionality needed to export binary data.
Definition writer.h:15