16 #if !defined (_RTEMS_RTL_SYM_H_) 17 #define _RTEMS_RTL_SYM_H_ 87 const unsigned char* esyms,
This is used to manage each element (node) which is placed on a chain.
Definition: chain.h:65
bool rtems_rtl_symbol_table_open(rtems_rtl_symbols_t *symbols, size_t buckets)
Open a symbol table with the specified number of buckets.
Definition: rtl-sym.c:60
This is used to manage a chain.
Definition: chain.h:83
const char * name
The symbol's name.
Definition: rtl-sym.h:32
Table of symbols stored in a hash table.
Definition: rtl-sym.h:40
void rtems_rtl_symbol_table_close(rtems_rtl_symbols_t *symbols)
Close the table and erase the hash table.
Definition: rtl-sym.c:79
void rtems_rtl_symbol_obj_erase_local(rtems_rtl_obj_t *obj)
Erase the object file's local symbols.
Definition: rtl-sym.c:240
rtems_chain_node node
The node's link in the chain.
Definition: rtl-sym.h:31
An object file symbol.
Definition: rtl-sym.h:29
bool rtems_rtl_symbol_global_add(rtems_rtl_obj_t *obj, const unsigned char *esyms, unsigned int size)
Add a table of exported symbols to the symbol table.
Definition: rtl-sym.c:85
rtems_rtl_obj_sym_t * rtems_rtl_symbol_obj_find(rtems_rtl_obj_t *obj, const char *name)
Find a symbol given the symbol label in the local object file.
Definition: rtl-sym.c:203
struct rtems_rtl_obj_sym_s rtems_rtl_obj_sym_t
An object file symbol.
void rtems_rtl_symbol_obj_erase(rtems_rtl_obj_t *obj)
Erase the object file's symbols.
Definition: rtl-sym.c:252
RTL Object.
Definition: rtl-obj.h:156
uint32_t data
Format specific data.
Definition: rtl-sym.h:34
void rtems_rtl_symbol_obj_add(rtems_rtl_obj_t *obj)
Add the object file's symbols to the global table.
Definition: rtl-sym.c:227
void * value
The value of the symbol.
Definition: rtl-sym.h:33
RTEMS Run-Time Linker ELF Headers.
struct rtems_rtl_symbols_s rtems_rtl_symbols_t
Table of symbols stored in a hash table.
rtems_rtl_obj_sym_t * rtems_rtl_symbol_global_find(const char *name)
Find a symbol given the symbol label in the global symbol table.
Definition: rtl-sym.c:175