| /arch/xtensa/core/ |
| A D | elf.c | 35 static int xtensa_elf_relocate(struct llext_loader *ldr, struct llext *ext, in xtensa_elf_relocate() argument 52 for (sh_ndx = 0; sh_ndx < ext->sect_cnt; sh_ndx++) { in xtensa_elf_relocate() 53 if (ext->sect_hdrs[sh_ndx].sh_addr <= *got_entry && in xtensa_elf_relocate() 55 ext->sect_hdrs[sh_ndx].sh_addr + ext->sect_hdrs[sh_ndx].sh_size) { in xtensa_elf_relocate() 60 if (sh_ndx == ext->sect_cnt) { in xtensa_elf_relocate() 65 *got_entry += (uintptr_t)llext_loaded_sect_ptr(ldr, ext, sh_ndx) - in xtensa_elf_relocate() 66 ext->sect_hdrs[sh_ndx].sh_addr; in xtensa_elf_relocate() 147 elf_shdr_t *shdr = ext->sect_hdrs + sym->st_shndx; in arch_elf_relocate_local() 152 shdr->sh_addr : (uintptr_t)llext_loaded_sect_ptr(ldr, ext, sym->st_shndx); in arch_elf_relocate_local() 157 return xtensa_elf_relocate(ldr, ext, rel, sh_addr, rel_addr, type, in arch_elf_relocate_local() [all …]
|
| /arch/x86/core/ |
| A D | elf.c | 33 int arch_elf_relocate(struct llext_loader *ldr, struct llext *ext, elf_rela_t *rel, in arch_elf_relocate() argument 37 const uintptr_t loc = llext_get_reloc_instruction_location(ldr, ext, shdr->sh_info, rel); in arch_elf_relocate() 42 ret = llext_read_symbol(ldr, ext, rel, &sym); in arch_elf_relocate() 49 sym_name = llext_symbol_name(ldr, ext, &sym); in arch_elf_relocate() 51 ret = llext_lookup_symbol(ldr, ext, &sym_base_addr, rel, &sym, sym_name, shdr); in arch_elf_relocate() 95 int arch_elf_relocate(struct llext_loader *ldr, struct llext *ext, elf_rela_t *rel, in arch_elf_relocate() argument 99 const uintptr_t loc = llext_get_reloc_instruction_location(ldr, ext, shdr->sh_info, rel); in arch_elf_relocate() 107 ret = llext_read_symbol(ldr, ext, rel, &sym); in arch_elf_relocate() 114 sym_name = llext_symbol_name(ldr, ext, &sym); in arch_elf_relocate() 116 ret = llext_lookup_symbol(ldr, ext, &sym_base_addr, rel, &sym, sym_name, shdr); in arch_elf_relocate()
|
| /arch/arc/core/ |
| A D | elf.c | 36 int arch_elf_relocate(struct llext_loader *ldr, struct llext *ext, elf_rela_t *rel, in arch_elf_relocate() argument 41 const uintptr_t loc = llext_get_reloc_instruction_location(ldr, ext, shdr->sh_info, rel); in arch_elf_relocate() 47 ret = llext_read_symbol(ldr, ext, rel, &sym); in arch_elf_relocate() 54 sym_name = llext_symbol_name(ldr, ext, &sym); in arch_elf_relocate() 56 ret = llext_lookup_symbol(ldr, ext, &sym_base_addr, rel, &sym, sym_name, shdr); in arch_elf_relocate()
|
| /arch/riscv/core/ |
| A D | elf.c | 82 static int llext_riscv_find_sym_pcrel(struct llext_loader *ldr, struct llext *ext, in llext_riscv_find_sym_pcrel() argument 96 const uintptr_t sect_base = (uintptr_t)llext_loaded_sect_ptr(ldr, ext, shdr->sh_info); in llext_riscv_find_sym_pcrel() 178 symbol_name = llext_symbol_name(ldr, ext, &candidate_sym); in llext_riscv_find_sym_pcrel() 180 ret = llext_lookup_symbol(ldr, ext, &link_addr, &candidate, &candidate_sym, in llext_riscv_find_sym_pcrel() 200 int arch_elf_relocate(struct llext_loader *ldr, struct llext *ext, elf_rela_t *rel, in arch_elf_relocate() argument 205 const uintptr_t load_bias = (uintptr_t)ext->mem[LLEXT_MEM_TEXT]; in arch_elf_relocate() 206 const uintptr_t loc_unsigned = llext_get_reloc_instruction_location(ldr, ext, in arch_elf_relocate() 213 ret = llext_read_symbol(ldr, ext, rel, &sym); in arch_elf_relocate() 219 sym_name = llext_symbol_name(ldr, ext, &sym); in arch_elf_relocate() 220 ret = llext_lookup_symbol(ldr, ext, &sym_base_addr_unsigned, rel, &sym, sym_name, shdr); in arch_elf_relocate() [all …]
|
| /arch/arm64/core/ |
| A D | elf.c | 434 int arch_elf_relocate(struct llext_loader *ldr, struct llext *ext, elf_rela_t *rel, in arch_elf_relocate() argument 440 const uintptr_t loc = llext_get_reloc_instruction_location(ldr, ext, shdr->sh_info, rel); in arch_elf_relocate() 445 ret = llext_read_symbol(ldr, ext, rel, &sym); in arch_elf_relocate() 452 sym_name = llext_symbol_name(ldr, ext, &sym); in arch_elf_relocate() 454 ret = llext_lookup_symbol(ldr, ext, &sym_base_addr, rel, &sym, sym_name, shdr); in arch_elf_relocate()
|
| /arch/arm/core/ |
| A D | elf.c | 326 int arch_elf_relocate(struct llext_loader *ldr, struct llext *ext, elf_rela_t *rel, in arch_elf_relocate() argument 331 const uintptr_t load_bias = (uintptr_t)ext->mem[LLEXT_MEM_TEXT]; in arch_elf_relocate() 332 const uintptr_t loc = llext_get_reloc_instruction_location(ldr, ext, shdr->sh_info, rel); in arch_elf_relocate() 337 ret = llext_read_symbol(ldr, ext, rel, &sym); in arch_elf_relocate() 344 sym_name = llext_symbol_name(ldr, ext, &sym); in arch_elf_relocate() 346 ret = llext_lookup_symbol(ldr, ext, &sym_base_addr, rel, &sym, sym_name, shdr); in arch_elf_relocate()
|