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 | WriteFile (Linker::Writer &wr) |
void | GenerateModule (Linker::Module &module, Linker::Reader &rd) 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::Writable > | code_image = nullptr |
Code segment contents. | |
offset_t | data_base = 0 |
Base address of data segment. | |
std::shared_ptr< Linker::Writable > | 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.