|
RetroLinker
Linker for several 8-bit, 16-bit and 32-bit formats
|
A object file typically contains a single module. More...
#include <o65.h>
Classes | |
| struct | exported_global |
| struct | header_option |
| Additional entries in the header. More... | |
| struct | relocation |
| Relocation entries. More... | |
Public Member Functions | |
| void | Clear () |
| bool | IsPageRelocatable () const |
| Whether file can only be relocated according to a 256 byte page (MODE_PAGE_RELOC is set in mode_word) | |
| bool | IsChained () const |
| Whether another module follows this one (MODE_CHAIN is set in mode_word. | |
| int | GetWordSize () const |
| Return the size of address/offset values in the file, in bytes (2 or 4) | |
| offset_t | ReadUnsigned (Linker::Reader &rd) const |
| Reads a module dependent unsigned word, the size of which is given by GetWordSize() | |
| void | WriteWord (Linker::Writer &wr, offset_t value) const |
| Writes a module dependent word, the size of which is given by GetWordSize() | |
| void | ReadFile (Linker::Reader &rd) |
| void | CalculateValues () |
| void | WriteFile (Linker::Writer &wr) const |
| void | GenerateModule (Linker::Module &module) const |
Public Attributes | |
| uint16_t | mode_word = 0 |
| The file mode. | |
| offset_t | code_base = 0 |
| Base address of code segment. | |
| std::shared_ptr< Linker::Image > | code_image = nullptr |
| Code segment contents. | |
| offset_t | data_base = 0 |
| Base address of data segment. | |
| std::shared_ptr< Linker::Image > | data_image = nullptr |
| Data segment contents. | |
| offset_t | bss_base = 0 |
| Base address of bss segment. | |
| offset_t | bss_size = 0 |
| Bss segment size. | |
| offset_t | zero_base = 0 |
| Base address of zero segment. | |
| offset_t | zero_size = 0 |
| Zero segment size. | |
| offset_t | stack_size = 0 |
| Stack segment size. | |
| std::vector< header_option > | header_options |
| Additional header field entries. | |
| std::vector< std::string > | undefined_references |
| Undefined references appearing in file. | |
| std::map< offset_t, relocation > | code_relocations |
| Relocations within code segment. | |
| std::map< offset_t, relocation > | data_relocations |
| Relocations within data segment. | |
| std::vector< exported_global > | exported_globals |
| Exported global symbols. | |
Friends | |
| class | O65Format |
A object file typically contains a single module.