RetroLinker
Linker for several 8-bit, 16-bit and 32-bit formats
|
A class that provides a general interface to loading a module. More...
#include <format.h>
Public Member Functions | |
virtual void | SetupOptions (std::shared_ptr< OutputFormat > format) |
Initializes the reader for linking purposes. | |
virtual void | ProduceModule (ModuleCollector &linker, Reader &rd, std::string file_name) |
Reads a file and loads the information into a module object. | |
virtual void | ProduceModule (Module &module, Reader &rd) |
Reads a file and loads the information into a module object, a convenience method when there is a single module generated. | |
virtual void | GenerateModule (ModuleCollector &linker, std::string file_name, bool is_library=false) const |
Loads the information into a module object. | |
virtual void | GenerateModule (Module &module) const |
Loads the information into a module object, a convenience method when there is a single module generated. | |
virtual bool | FormatProvidesSegmentation () const |
Whether the format enables multiple x86 segments. | |
virtual bool | FormatRequiresDataStreamFix () const |
Whether the generated file might contain bugs that require fixing. | |
virtual bool | FormatProvidesResources () const |
Whether the format supports resources. | |
virtual bool | FormatProvidesLibraries () const |
Whether the format enables importing/exporting libraries. | |
![]() | |
Format (offset_t file_offset=0) | |
virtual void | Clear () |
Resets all fields to their default values, deallocate memory. | |
virtual void | ReadFile (Reader &rd)=0 |
Loads file into memory. | |
offset_t | WriteFile (Writer &wr) const override=0 |
Stores data in memory to file. | |
virtual void | Dump (Dumper::Dumper &dump) const |
Display file contents in a nice manner. | |
offset_t | ImageSize () const override |
Retrieves size of stored data. | |
offset_t | WriteFile (Writer &wr, offset_t count, offset_t offset=0) const override |
Writes data of non-zero filled sections. | |
![]() | |
virtual std::shared_ptr< const ActualImage > | AsImage () const |
Retrieves a randomly accessible image. | |
std::shared_ptr< ActualImage > | AsImage () |
Retrieves a randomly accessible image. | |
Additional Inherited Members | |
![]() | |
offset_t | file_offset |
A class that provides a general interface to loading a module.
|
virtual |
Whether the format supports resources.
Formats such as NE, LE/LX, PE and the Macintosh classic support including resources in the final binary. To simplify writing resources, the ELF parser permits incorporating them directly in the binary image as $$RSRC$_<type>$<id>.
|
virtual |
Whether the format enables multiple x86 segments.
This is typically true for Intel 8086 targets and false for non-Intel targets. The ELF parser uses this to provide extended relocations, including the following:
|
virtual |
Whether the generated file might contain bugs that require fixing.
Reimplemented in COFF::COFFFormat.
|
virtual |
Loads the information into a module object, a convenience method when there is a single module generated.
Reimplemented in AOut::AOutFormat, AS86Obj::AS86ObjFormat, COFF::COFFFormat, ELF::ELFFormat, O65::O65Format, and OMF::OMFFormat.
|
virtual |
Loads the information into a module object.
Reimplemented in Archive::ArchiveFormat.
|
virtual |
Initializes the reader for linking purposes.
format | The output format that will be used. This is required to know which extra special features need to be implemented (such as segmentation). |
Reimplemented in COFF::COFFFormat, and ELF::ELFFormat.