RTEMS Linker  0.0.1
RTEMS Tools Project
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
rld::rap::image Class Reference

Public Member Functions

 image ()
 
void layout (const files::object_list &app_objects, const std::string &init, const std::string &fini)
 
void collect_symbols (object &obj)
 
void write (compress::compressor &comp)
 
void write (compress::compressor &comp, sections sec)
 
void write (compress::compressor &comp, files::object &obj, const files::sections &secs, uint32_t &offset)
 
void write_externals (compress::compressor &comp)
 
void write_relocations (compress::compressor &comp)
 
uint32_t get_relocations (int sec) const
 
void clear ()
 
void update_section (int index, section &sec)
 
uint32_t section_size (sections sec) const
 
std::size_t find_in_strtab (const std::string &symname)
 

Detailed Description

The RAP image.

Constructor & Destructor Documentation

rld::rap::image::image ( )

Construct the image.

Member Function Documentation

void rld::rap::image::clear ( )

Clear the image values.

void rld::rap::image::collect_symbols ( object obj)

Collection the symbols from the object file.

Parameters
objThe object file to collection the symbol from.
std::size_t rld::rap::image::find_in_strtab ( const std::string &  symname)

Find a symbol name in the string table.

uint32_t rld::rap::image::get_relocations ( int  sec) const

The total number of relocations for a specific RAP section in the image.

void rld::rap::image::layout ( const files::object_list app_objects,
const std::string &  init,
const std::string &  fini 
)

Load the layout data from the object files.

Parameters
app_objectsThe object files in the application.
initThe initialisation entry point label.
finiThe finish entry point label.
uint32_t rld::rap::image::section_size ( sections  sec) const

Report the RAP section's size.

void rld::rap::image::update_section ( int  index,
section sec 
)

Update the section values.

Parameters
indexThe RAP section index to update.
secThe object's RAP section.
void rld::rap::image::write ( compress::compressor comp)

Write the compressed output file. This is the top level write interface.

Parameters
compThe compressor.
void rld::rap::image::write ( compress::compressor comp,
sections  sec 
)

Write the RAP section to the compressed output file given the object files. Check to make sure the size in the layout and the size written match.

Parameters
compThe compressor.
secThe RAP setion to write.
void rld::rap::image::write ( compress::compressor comp,
files::object obj,
const files::sections secs,
uint32_t &  offset 
)

Write the sections to the compressed output file. The file sections are used to ensure the alignment. The offset is used to ensure the alignment of the first section of the object when it is written.

Parameters
compThe compressor.
objThe object file the sections are part of.
secsThe container of file sections to write.
offsetThe current offset in the RAP section.
void rld::rap::image::write_externals ( compress::compressor comp)

Write the external symbols.

void rld::rap::image::write_relocations ( compress::compressor comp)

Write the relocation records for all the object files.


The documentation for this class was generated from the following file: