5#include "../linker/linker.h"
6#include "../linker/module.h"
7#include "../linker/segment.h"
8#include "../linker/writer.h"
28 FormatCombined = 0x10,
29 FormatSeparate = 0x20,
30 UnmappedZeroPage = 0x01,
45 static ::EndianType GetEndianType(cpu_type cpu);
47 ::EndianType GetEndianType()
const;
49 static constexpr size_t PAGE_SIZE = 0x1000;
51 MINIXFormat(format_type format, cpu_type cpu = cpu_type(0))
52 : format(format), cpu(cpu)
56 uint32_t code_base_address = 0;
58 uint32_t heap_top_address = 0;
61 std::shared_ptr<Linker::Segment> code, data, bss;
62 uint32_t entry_address = 0;
64 using LinkerManager::SetLinkScript;
66 void SetOptions(std::map<std::string, std::string>& options)
override;
68 void OnNewSegment(std::shared_ptr<Linker::Segment> segment)
override;
70 void CreateDefaultSegments();
A helper class to collect sections into segments.
Definition linker.h:19
Encodes an object module file as a collection of sections, symbols and relocations.
Definition module.h:20
A helper class, encapsulating functionality needed to import binary data.
Definition reader.h:16
A helper class, encapsulating functionality needed to export binary data.
Definition writer.h:15