52 #if !defined (_RTEMS_RTL_UNRESOLVED_H_) 53 #define _RTEMS_RTL_UNRESOLVED_H_ 100 rtems_rtl_word_t rel[3];
157 size_t block_records);
185 const uint16_t flags,
188 const rtems_rtl_word_t* rel);
206 const rtems_rtl_word_t* rel);
rtems_chain_node link
Blocks are chained.
Definition: rtl-unresolved.h:121
This is used to manage each element (node) which is placed on a chain.
Definition: chain.h:65
uint16_t flags
Format specific flags.
Definition: rtl-unresolved.h:97
struct rtems_rtl_unresolv_rec_s rtems_rtl_unresolv_rec_t
Unresolved externals records.
The record is a name.
Definition: rtl-unresolved.h:74
uint16_t refs
The number of references to this name.
Definition: rtl-unresolved.h:85
bool rtems_rtl_unresolved_table_open(rtems_rtl_unresolved_t *unresolved, size_t block_records)
Open an unresolved relocation table.
Definition: rtl-unresolved.c:297
Unresolved externals symbols require the relocation records to be held and references.
Definition: rtl-unresolved.h:94
uint16_t sect
The target section.
Definition: rtl-unresolved.h:99
The records is empty.
Definition: rtl-unresolved.h:73
Unresolved blocks.
Definition: rtl-unresolved.h:119
bool rtems_rtl_unresolved_add(rtems_rtl_obj_t *obj, const uint16_t flags, const char *name, const uint16_t sect, const rtems_rtl_word_t *rel)
Add a relocation to the list of unresolved relocations.
Definition: rtl-unresolved.c:345
This is used to manage a chain.
Definition: chain.h:83
uint32_t rtems_rtl_word_t
Hack to work around machine size.
Definition: rtl-unresolved.h:66
The record is a relocation record.
Definition: rtl-unresolved.h:75
struct rtems_rtl_unresolv_name_s rtems_rtl_unresolv_name_t
Unresolved externals symbol names.
Unresolved externals records.
Definition: rtl-unresolved.h:106
rtems_rtl_unresolv_rec_t rec
The records.
Definition: rtl-unresolved.h:123
struct rtems_rtl_unresolv_block_s rtems_rtl_unresolv_block_t
Unresolved blocks.
uint16_t name
The symbol's name.
Definition: rtl-unresolved.h:98
uint16_t length
The length of this name.
Definition: rtl-unresolved.h:86
void rtems_rtl_unresolved_resolve(void)
Resolve the unresolved symbols.
Definition: rtl-unresolved.c:447
rtems_rtl_unresolved_rtype_e
The types of records in the blocks.
Definition: rtl-unresolved.h:71
void rtems_rtl_unresolved_table_close(rtems_rtl_unresolved_t *unresolved)
Close the table and erase the blocks.
Definition: rtl-unresolved.c:307
rtems_chain_control blocks
List of blocks.
Definition: rtl-unresolved.h:133
uint32_t recs
The number of records in the block.
Definition: rtl-unresolved.h:122
bool rtems_rtl_unresolved_iterator_t(rtems_rtl_unresolv_rec_t *rec, void *data)
The iterator function used to iterate over the unresolved table.
Definition: rtl-unresolved.h:144
RTL Object.
Definition: rtl-obj.h:156
rtems_rtl_unresolv_reloc_t reloc
the relocation record.
Definition: rtl-unresolved.h:112
bool rtems_rtl_unresolved_remove(rtems_rtl_obj_t *obj, const char *name, const uint16_t sect, const rtems_rtl_word_t *rel)
Remove a relocation from the list of unresolved relocations.
Definition: rtl-unresolved.c:460
bool rtems_rtl_unresolved_interate(rtems_rtl_unresolved_iterator_t iterator, void *data)
Iterate over the table of unresolved entries.
Definition: rtl-unresolved.c:319
struct rtems_rtl_unresolv_reloc_s rtems_rtl_unresolv_reloc_t
Unresolved externals symbols require the relocation records to be held and references.
Unresolved table holds the names and relocations.
Definition: rtl-unresolved.h:129
struct rtems_rtl_unresolved_s rtems_rtl_unresolved_t
Unresolved table holds the names and relocations.
rtems_rtl_unresolv_name_t name
The name, or.
Definition: rtl-unresolved.h:111
size_t block_recs
The records per blocks allocated.
Definition: rtl-unresolved.h:132
RTEMS Run-Time Linker ELF Headers.
Unresolved externals symbol names.
Definition: rtl-unresolved.h:83
rtems_rtl_obj_t * obj
The relocation's object file.
Definition: rtl-unresolved.h:96
enum rtems_rtl_unresolved_rtype_e rtems_rtl_unresolved_rtype_t
The types of records in the blocks.