Zephyr API Documentation 4.2.99
A Scalable Open Source RTOS
 4.2.99
llext_internal.h File Reference

Private header for linkable loadable extensions. More...

Go to the source code of this file.

Functions

int arch_elf_relocate_local (struct llext_loader *loader, struct llext *ext, const elf_rela_t *rel, const elf_sym_t *sym, uint8_t *rel_addr, const struct llext_load_param *ldr_parm)
 Architecture specific function for local binding relocations.
int arch_elf_relocate_global (struct llext_loader *loader, struct llext *ext, const elf_rela_t *rel, const elf_sym_t *sym, uint8_t *rel_addr, const void *link_addr)
 Architecture specific function for global binding relocations.

Detailed Description

Private header for linkable loadable extensions.

Function Documentation

◆ arch_elf_relocate_global()

int arch_elf_relocate_global ( struct llext_loader * loader,
struct llext * ext,
const elf_rela_t * rel,
const elf_sym_t * sym,
uint8_t * rel_addr,
const void * link_addr )

Architecture specific function for global binding relocations.

Parameters
[in]loaderExtension loader data and context
[in]extExtension to call function in
[in]relRelocation data provided by elf
[in]symCorresponding symbol table entry
[in]rel_addrAddress where relocation should be performed
[in]link_addrtarget address for table-based relocations
Returns
0 on success or a negative error code

◆ arch_elf_relocate_local()

int arch_elf_relocate_local ( struct llext_loader * loader,
struct llext * ext,
const elf_rela_t * rel,
const elf_sym_t * sym,
uint8_t * rel_addr,
const struct llext_load_param * ldr_parm )

Architecture specific function for local binding relocations.

Parameters
[in]loaderExtension loader data and context
[in]extExtension to call function in
[in]relRelocation data provided by elf
[in]symCorresponding symbol table entry
[in]rel_addrAddress where relocation should be performed
[in]ldr_parmLoader parameters
Returns
0 on success or a negative error code