RTEMS CPU Kit with SuperCore
Data Fields
rtems_rtl_obj_s Struct Reference

RTL Object. More...

#include <rtl-obj.h>

Collaboration diagram for rtems_rtl_obj_s:
Collaboration graph
[legend]

Data Fields

rtems_chain_node link
 The node's link in the chain. More...
 
uint32_t flags
 The status of the object file. More...
 
uint32_t users
 References to the object file. More...
 
int format
 The format of the object file. More...
 
const char * fname
 The file name for the object. More...
 
const char * oname
 The object file name. More...
 
const char * aname
 The archive name containing the object. More...
 
off_t ooffset
 The object offset in the archive. More...
 
size_t fsize
 Size of the object file. More...
 
rtems_chain_control sections
 The sections of interest in the object file. More...
 
rtems_rtl_obj_sym_tlocal_table
 Local symbol table. More...
 
size_t local_syms
 Local symbol count. More...
 
size_t local_size
 Local symbol memory usage. More...
 
rtems_rtl_obj_sym_tglobal_table
 Global symbol table. More...
 
size_t global_syms
 Global symbol count. More...
 
size_t global_size
 Global symbol memory usage. More...
 
uint32_t unresolved
 The number of unresolved relocations. More...
 
void * text_base
 The base address of the text section in memory. More...
 
size_t text_size
 The size of the text section. More...
 
void * const_base
 The base address of the const section in memory. More...
 
void * eh_base
 The base address of the eh section in memory. More...
 
size_t eh_size
 The size of the eh section. More...
 
void * data_base
 The base address of the data section in memory. More...
 
void * bss_base
 The base address of the bss section in memory. More...
 
size_t bss_size
 The size of the bss section. More...
 
size_t exec_size
 The amount of executable memory allocated.
 
void * entry
 The entry point of the module. More...
 
uint32_t checksum
 The checksum of the text sections. More...
 
uint32_t * sec_num
 The sec nums of each obj. More...
 
uint32_t obj_num
 The count of elf files in an rtl obj. More...
 
struct link_maplinkmap
 For GDB. More...
 
void * loader
 The file details specific to a loader. More...
 

Detailed Description

RTL Object.

There is one for each object module loaded plus one for the base kernel image.

Field Documentation

◆ aname

const char* rtems_rtl_obj_s::aname

The archive name containing the object.

NULL means the object is not in a lib

◆ bss_base

void* rtems_rtl_obj_s::bss_base

The base address of the bss section in memory.

Referenced by rtems_rtl_obj_free(), and rtems_rtl_obj_load_sections().

◆ bss_size

size_t rtems_rtl_obj_s::bss_size

The size of the bss section.

Referenced by rtems_rtl_obj_load_sections().

◆ checksum

uint32_t rtems_rtl_obj_s::checksum

The checksum of the text sections.

A zero means do not checksum.

◆ const_base

void* rtems_rtl_obj_s::const_base

The base address of the const section in memory.

Referenced by rtems_rtl_obj_free(), and rtems_rtl_obj_load_sections().

◆ data_base

void* rtems_rtl_obj_s::data_base

The base address of the data section in memory.

Referenced by rtems_rtl_obj_free(), and rtems_rtl_obj_load_sections().

◆ eh_base

void* rtems_rtl_obj_s::eh_base

The base address of the eh section in memory.

Referenced by rtems_rtl_obj_free(), and rtems_rtl_obj_load_sections().

◆ eh_size

size_t rtems_rtl_obj_s::eh_size

The size of the eh section.

Referenced by rtems_rtl_obj_load_sections().

◆ entry

void* rtems_rtl_obj_s::entry

The entry point of the module.

◆ flags

uint32_t rtems_rtl_obj_s::flags

The status of the object file.

Referenced by rtems_rtl_obj_free(), and rtems_rtl_obj_unresolved().

◆ fname

const char* rtems_rtl_obj_s::fname

The file name for the object.

◆ format

int rtems_rtl_obj_s::format

The format of the object file.

Referenced by rtems_rtl_obj_alloc().

◆ fsize

size_t rtems_rtl_obj_s::fsize

Size of the object file.

◆ global_size

size_t rtems_rtl_obj_s::global_size

Global symbol memory usage.

◆ global_syms

size_t rtems_rtl_obj_s::global_syms

Global symbol count.

◆ global_table

rtems_rtl_obj_sym_t* rtems_rtl_obj_s::global_table

Global symbol table.

Referenced by rtems_rtl_symbol_obj_erase().

◆ link

rtems_chain_node rtems_rtl_obj_s::link

The node's link in the chain.

Referenced by rtems_rtl_obj_free().

◆ linkmap

struct link_map* rtems_rtl_obj_s::linkmap

For GDB.

◆ loader

void* rtems_rtl_obj_s::loader

The file details specific to a loader.

Referenced by rtems_rtl_elf_unwind_deregister().

◆ local_size

size_t rtems_rtl_obj_s::local_size

Local symbol memory usage.

Referenced by rtems_rtl_symbol_obj_erase_local().

◆ local_syms

size_t rtems_rtl_obj_s::local_syms

Local symbol count.

Referenced by rtems_rtl_symbol_obj_erase_local().

◆ local_table

rtems_rtl_obj_sym_t* rtems_rtl_obj_s::local_table

Local symbol table.

Referenced by rtems_rtl_symbol_obj_erase_local().

◆ obj_num

uint32_t rtems_rtl_obj_s::obj_num

The count of elf files in an rtl obj.

◆ oname

const char* rtems_rtl_obj_s::oname

The object file name.

Can be relative.

Referenced by rtems_rtl_match_name().

◆ ooffset

off_t rtems_rtl_obj_s::ooffset

The object offset in the archive.

Referenced by rtems_rtl_elf_file_check(), rtems_rtl_elf_file_load(), and rtems_rtl_rap_file_load().

◆ sec_num

uint32_t* rtems_rtl_obj_s::sec_num

The sec nums of each obj.

◆ sections

rtems_chain_control rtems_rtl_obj_s::sections

The sections of interest in the object file.

Referenced by rtems_rtl_obj_alloc(), rtems_rtl_obj_erase_sections(), and rtems_rtl_obj_synchronize_cache().

◆ text_base

void* rtems_rtl_obj_s::text_base

The base address of the text section in memory.

Referenced by rtems_rtl_obj_free(), and rtems_rtl_obj_load_sections().

◆ text_size

size_t rtems_rtl_obj_s::text_size

The size of the text section.

Referenced by rtems_rtl_obj_load_sections().

◆ unresolved

uint32_t rtems_rtl_obj_s::unresolved

The number of unresolved relocations.

◆ users

uint32_t rtems_rtl_obj_s::users

References to the object file.

Referenced by rtems_rtl_obj_free().


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