|
RetroLinker
Linker for several 8-bit, 16-bit and 32-bit formats
|
Public Types | |
| enum | section_type { Code = 0 , UnpackedData = 1 , PatternInitializedData = 2 , Constant = 3 , Loader = 4 , Debug = 5 , ExecutableData = 6 , Exception = 7 , Traceback = 8 } |
| enum | share_type { ProcessShare = 1 , GlobalShare = 4 , ProtectedShare = 5 } |
| enum | compression_level { Compression_None , Compression_Trivial } |
| Represents compression algorithm to be chosen. More... | |
Public Member Functions | |
| Section (section_type section_kind, share_type share_kind, std::shared_ptr< Linker::Contents > image) | |
| bool | IsInstantiated () const |
| offset_t | ExpectedAlignment () const |
| void | CompressData () |
| Compress data section into PatternInitializedData section according to default level. | |
| void | CompressData (compression_level level) |
| Compress data section into PatternInitializedData section according to level. | |
| void | ReadHeader (const std::shared_ptr< Linker::Reader > &rd) |
| void | ReadFile (PEFFormat &pef_format, const std::shared_ptr< Linker::Reader > &rd) |
| size_t | GetImageSize (PEFFormat &pef_format) |
| void | CalculateValues (PEFFormat &pef_format) |
| void | WriteHeader (const std::shared_ptr< Linker::Writer > &wr) const |
| void | WriteFile (const PEFFormat &pef_format, const std::shared_ptr< Linker::Writer > &wr) const |
Public Attributes | |
| uint32_t | name_offset = NoNameOffset |
| std::string | name = "" |
| uint32_t | default_address = 0 |
| uint32_t | total_size = 0 |
| uint32_t | unpacked_size = 0 |
| uint32_t | packed_size = 0 |
| uint32_t | container_offset = 0 |
| section_type | section_kind = Code |
| share_type | share_kind = ProcessShare |
| uint8_t | alignment = 0 |
| uint8_t | reserved = 0 |
| uint32_t | section_number = uint32_t(-1) |
| std::shared_ptr< Linker::Contents > | image |
| std::vector< PatternInitialization > | patterns |
| std::map< uint32_t, Relocation > | relocations |
| std::vector< RelocOpcode > | reloc_opcodes |
| bool | contains_relocations = false |
| uint16_t | reserved_a = 0 |
| uint32_t | reloc_instr_size = 0 |
| uint32_t | first_reloc_offset = 0 |
Static Public Attributes | |
| static constexpr uint32_t | NoNameOffset = uint32_t(-1) |
| static compression_level | DefaultCompressionLevel = Compression_None |
| Default compression level for data sections. | |