llext: move 2 prototypes to llext_internal.h

arch_elf_relocate_global() and arch_elf_relocate_local() aren't LLEXT
API functions, they're internal implementation functions, move them
to llext_internal.h

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
This commit is contained in:
Guennadi Liakhovetski 2025-06-13 12:21:04 +02:00 committed by Henrik Brix Andersen
commit 87e3e1fed2
2 changed files with 29 additions and 29 deletions

View file

@ -400,35 +400,6 @@ ssize_t llext_find_section(struct llext_loader *loader, const char *search_name)
int llext_get_section_header(struct llext_loader *loader, struct llext *ext,
const char *search_name, elf_shdr_t *shdr);
/**
* @brief Architecture specific function for local binding relocations
*
* @param[in] loader Extension loader data and context
* @param[in] ext Extension to call function in
* @param[in] rel Relocation data provided by elf
* @param[in] sym Corresponding symbol table entry
* @param[in] rel_addr Address where relocation should be performed
* @param[in] ldr_parm Loader parameters
* @returns 0 on success or a negative error code
*/
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);
/**
* @brief Architecture specific function for global binding relocations
*
* @param[in] loader Extension loader data and context
* @param[in] ext Extension to call function in
* @param[in] rel Relocation data provided by elf
* @param[in] sym Corresponding symbol table entry
* @param[in] rel_addr Address where relocation should be performed
* @param[in] link_addr target address for table-based relocations
* @returns 0 on success or a negative error code
*/
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);
/**
* @brief Initialize LLEXT heap dynamically
*

View file

@ -76,6 +76,35 @@ int llext_read_symbol(struct llext_loader *ldr, struct llext *ext, const elf_rel
/** @endcond */
/**
* @brief Architecture specific function for local binding relocations
*
* @param[in] loader Extension loader data and context
* @param[in] ext Extension to call function in
* @param[in] rel Relocation data provided by elf
* @param[in] sym Corresponding symbol table entry
* @param[in] rel_addr Address where relocation should be performed
* @param[in] ldr_parm Loader parameters
* @returns 0 on success or a negative error code
*/
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);
/**
* @brief Architecture specific function for global binding relocations
*
* @param[in] loader Extension loader data and context
* @param[in] ext Extension to call function in
* @param[in] rel Relocation data provided by elf
* @param[in] sym Corresponding symbol table entry
* @param[in] rel_addr Address where relocation should be performed
* @param[in] link_addr target address for table-based relocations
* @returns 0 on success or a negative error code
*/
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);
#ifdef __cplusplus
}
#endif