RTEMS 6.1-rc2
|
RTEMS Run-Time Linker Object File Unresolved Relocations Table. More...
#include <errno.h>
#include <inttypes.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <rtems/rtl/rtl.h>
#include "rtl-error.h"
#include <rtems/rtl/rtl-unresolved.h>
#include <rtems/rtl/rtl-trace.h>
#include "rtl-trampoline.h"
Data Structures | |
struct | rtl_unresolved_name_data |
struct | rtems_rtl_unresolved_reloc_data |
struct | rtems_rtl_unresolved_archive_reloc_data |
struct | rtems_rtl_unresolved_dump_data |
Typedefs | |
typedef struct rtems_rtl_unresolved_reloc_data | rtems_rtl_unresolved_reloc_data |
typedef struct rtems_rtl_unresolved_archive_reloc_data | rtems_rtl_unresolved_archive_reloc_data |
typedef struct rtems_rtl_unresolved_dump_data | rtems_rtl_unresolved_dump_data |
Functions | |
bool | rtems_rtl_unresolved_table_open (rtems_rtl_unresolved *unresolved, size_t block_recs) |
void | rtems_rtl_unresolved_table_close (rtems_rtl_unresolved *unresolved) |
bool | rtems_rtl_unresolved_iterate (rtems_rtl_unresolved_iterator iterator, void *data) |
bool | rtems_rtl_unresolved_add (rtems_rtl_obj *obj, const uint16_t flags, const char *name, const uint16_t sect, const rtems_rtl_word *rel) |
void | rtems_rtl_unresolved_resolve (void) |
bool | rtems_rtl_trampoline_add (rtems_rtl_obj *obj, const uint16_t flags, const uint16_t sect, const rtems_rtl_word symvalue, const rtems_rtl_word *rel) |
void | rtems_rtl_trampoline_remove (rtems_rtl_obj *obj) |
void | rtems_rtl_unresolved_dump (void) |
void | rtems_rtl_unresolved_set_archive_search (void) |
RTEMS Run-Time Linker Object File Unresolved Relocations Table.
Struct to pass archive relocation data in the iterator.
typedef struct rtems_rtl_unresolved_dump_data rtems_rtl_unresolved_dump_data |
Struct to pass relocation data in the iterator.
typedef struct rtems_rtl_unresolved_reloc_data rtems_rtl_unresolved_reloc_data |
Struct to pass relocation data in the iterator.
bool rtems_rtl_trampoline_add | ( | rtems_rtl_obj * | obj, |
const uint16_t | flags, | ||
const uint16_t | sect, | ||
const rtems_rtl_word | symvalue, | ||
const rtems_rtl_word * | rel | ||
) |
Add a relocation to the list of trampolinr relocations.
obj | The object table the relocation record is for. |
flags | Format specific flags. |
sect | The target section number the relocation references. |
symvalue | The symbol's value. |
rel | The format specific relocation data. |
true | The relocation has been added. |
false | The relocation could not be added. |
void rtems_rtl_trampoline_remove | ( | rtems_rtl_obj * | obj | ) |
Remove the relocation records for an object file.
obj | The object table the symbols are for. |
bool rtems_rtl_unresolved_add | ( | rtems_rtl_obj * | obj, |
const uint16_t | flags, | ||
const char * | name, | ||
const uint16_t | sect, | ||
const rtems_rtl_word * | 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. |
void rtems_rtl_unresolved_dump | ( | void | ) |
Dump the RTL unresolved data.
bool rtems_rtl_unresolved_iterate | ( | rtems_rtl_unresolved_iterator | iterator, |
void * | data | ||
) |
Iterate over the table of unresolved entries.
void rtems_rtl_unresolved_resolve | ( | void | ) |
Resolve the unresolved symbols.
void rtems_rtl_unresolved_set_archive_search | ( | void | ) |
Set all symbols to be archive searchable. This is done when the available archives have been refreshed and there are new archives to search for.
void rtems_rtl_unresolved_table_close | ( | rtems_rtl_unresolved * | unresolved | ) |
Close the table and erase the blocks.
unreolved | Close the unresolved table. |
bool rtems_rtl_unresolved_table_open | ( | rtems_rtl_unresolved * | 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. |