RTEMS CPU Kit with SuperCore
4.11.3
|
RTEMS Run-Time Linker Object File Unresolved Relocations Table. More...
#include <errno.h>
#include <inttypes.h>
#include <stdlib.h>
#include <stdio.h>
#include <rtems/rtl/rtl.h>
#include "rtl-error.h"
#include "rtl-unresolved.h"
#include "rtl-trace.h"
Data Structures | |
struct | rtems_rtl_unresolved_reloc_data_s |
Struct to pass relocation data in the interator. More... | |
Typedefs | |
typedef struct rtems_rtl_unresolved_reloc_data_s | rtems_rtl_unresolved_reloc_data_t |
Struct to pass relocation data in the interator. | |
Functions | |
bool | rtems_rtl_unresolved_table_open (rtems_rtl_unresolved_t *unresolved, size_t block_recs) |
Open an unresolved relocation table. More... | |
void | rtems_rtl_unresolved_table_close (rtems_rtl_unresolved_t *unresolved) |
Close the table and erase the blocks. More... | |
bool | rtems_rtl_unresolved_interate (rtems_rtl_unresolved_iterator_t iterator, void *data) |
Iterate over the table of unresolved entries. | |
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. More... | |
void | rtems_rtl_unresolved_resolve (void) |
Resolve the unresolved symbols. | |
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. More... | |
RTEMS Run-Time Linker Object File Unresolved Relocations Table.
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.
unresolved | The unresolved symbol table. |
obj | The object table the symbols are for. |
flags | Format specific flags. |
name | The symbol name the relocation references. |
sect | The target section number the relocation references. |
rel | The format specific relocation data. |
true | The relocation has been added. |
false | The relocation could not be added. |
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.
unresolved | The unresolved symbol table. |
obj | The object table the symbols are for. |
esyms | The exported symbol table. |
size | The size of the table in bytes. |
References rtems_rtl_unresolved().
void rtems_rtl_unresolved_table_close | ( | rtems_rtl_unresolved_t * | unresolved | ) |
Close the table and erase the blocks.
unreolved | Close the unresolved table. |
References rtems_rtl_unresolved_s::blocks, rtems_chain_first(), and rtems_chain_is_tail().
bool rtems_rtl_unresolved_table_open | ( | rtems_rtl_unresolved_t * | unresolved, |
size_t | block_records | ||
) |
Open an unresolved relocation table.
unresolv | The unresolved table to open. |
block_records | The number of records per block allocated. |
true | The table is open. |
false | The unresolved relocation table could not created. The RTL error has the error. |
References rtems_rtl_unresolved_s::block_recs, rtems_rtl_unresolved_s::blocks, and rtems_chain_initialize_empty().