36#if !defined (_RTEMS_RTL_ELF_H_)
37#define _RTEMS_RTL_ELF_H_
54#if defined(__powerpc64__) || defined(__aarch64__) || (__riscv_xlen == 64)
66#include <sys/exec_elf.h>
100#define RTEMS_RTL_ELF_STRING_MAX (256)
112 const Elf_Shdr* shdr);
128 const Elf_Shdr* shdr,
129 const uint32_t flags);
188 const Elf_Byte syminfo,
189 const Elf_Word symvalue);
205 const Elf_Rela* rela,
208 const Elf_Byte syminfo,
209 const Elf_Word symvalue);
228 const Elf_Byte syminfo,
229 const Elf_Word symvalue);
245 const Elf_Rela* rela,
248 const Elf_Byte syminfo,
249 const Elf_Word symvalue);
rtems_rtl_loader_format * rtems_rtl_elf_file_sig(void)
Definition: rtl-elf.c:1841
bool rtems_rtl_elf_file_unload(rtems_rtl_obj *obj)
Definition: rtl-elf.c:1833
bool rtems_rtl_elf_rel_resolve_sym(Elf_Word type)
Definition: rtl-mdreloc-aarch64.c:218
uint32_t rtems_rtl_elf_section_flags(const rtems_rtl_obj *obj, const Elf_Shdr *shdr)
Definition: rtl-mdreloc-aarch64.c:179
size_t rtems_rtl_elf_relocate_tramp_max_size(void)
Definition: rtl-mdreloc-aarch64.c:173
struct rtems_rtl_mdreloc_trmap rtems_rtl_mdreloc_tramp
bool rtems_rtl_elf_arch_section_alloc(const rtems_rtl_obj *obj, rtems_rtl_obj_sect *sect)
Definition: rtl-mdreloc-aarch64.c:200
bool rtems_rtl_elf_file_load(rtems_rtl_obj *obj, int fd)
Definition: rtl-elf.c:1674
bool rtems_rtl_elf_arch_section_free(const rtems_rtl_obj *obj, rtems_rtl_obj_sect *sect)
Definition: rtl-mdreloc-aarch64.c:209
rtems_rtl_elf_rel_status rtems_rtl_elf_relocate_rela_tramp(rtems_rtl_obj *obj, const Elf_Rela *rela, const rtems_rtl_obj_sect *sect, const char *symname, const Elf_Byte syminfo, const Elf_Word symvalue)
Definition: rtl-mdreloc-aarch64.c:520
rtems_rtl_elf_rel_status rtems_rtl_elf_relocate_rela(rtems_rtl_obj *obj, const Elf_Rela *rela, const rtems_rtl_obj_sect *sect, const char *symname, const Elf_Byte syminfo, const Elf_Word symvalue)
Definition: rtl-mdreloc-aarch64.c:537
bool rtems_rtl_elf_file_check(rtems_rtl_obj *obj, int fd)
Definition: rtl-elf.c:1536
rtems_rtl_elf_rel_status rtems_rtl_elf_relocate_rel_tramp(rtems_rtl_obj *obj, const Elf_Rel *rel, const rtems_rtl_obj_sect *sect, const char *symname, const Elf_Byte syminfo, const Elf_Word symvalue)
Definition: rtl-mdreloc-aarch64.c:554
rtems_rtl_elf_rel_status
Definition: rtl-elf.h:78
@ rtems_rtl_elf_rel_no_error
Definition: rtl-elf.h:79
@ rtems_rtl_elf_rel_failure
Definition: rtl-elf.h:80
@ rtems_rtl_elf_rel_tramp_cache
Definition: rtl-elf.h:81
@ rtems_rtl_elf_rel_tramp_add
Definition: rtl-elf.h:82
uint32_t rtems_rtl_elf_arch_parse_section(const rtems_rtl_obj *obj, int section, const char *name, const Elf_Shdr *shdr, const uint32_t flags)
Definition: rtl-mdreloc-aarch64.c:186
rtems_rtl_elf_rel_status rtems_rtl_elf_relocate_rel(rtems_rtl_obj *obj, const Elf_Rel *rel, const rtems_rtl_obj_sect *sect, const char *symname, const Elf_Byte syminfo, const Elf_Word symvalue)
Definition: rtl-mdreloc-aarch64.c:566
RTEMS Run-Time Linker ELF Headers.
RTEMS Run-Time Linker ELF Headers.
RTEMS Run-Time Linker Object File Symbol Table.
bool parsing
Definition: rtl-elf.h:90
void * tampolines
Definition: rtl-elf.h:91
size_t size
Definition: rtl-elf.h:92
Definition: rtl-obj.h:146
Definition: rtl-obj.h:200