| /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() 51 ret = llext_lookup_symbol(ldr, ext, &sym_base_addr, rel, &sym, sym_name, shdr); in arch_elf_relocate() 58 sym_base_addr += rel->r_addend; in arch_elf_relocate() 60 int reloc_type = ELF32_R_TYPE(rel->r_info); 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() 116 ret = llext_lookup_symbol(ldr, ext, &sym_base_addr, rel, &sym, sym_name, shdr); in arch_elf_relocate() [all …]
|
| /arch/riscv/core/ |
| A D | elf.c | 204 elf_word reloc_type = ELF32_R_TYPE(rel->r_info); in arch_elf_relocate() 207 shdr->sh_info, rel); in arch_elf_relocate() 213 ret = llext_read_symbol(ldr, ext, rel, &sym); in arch_elf_relocate() 251 __typeof__(rel->r_addend) target_alignment = 1; in arch_elf_relocate() 398 imm8 = sym_base_addr + rel->r_addend; /* S + A */ in arch_elf_relocate() 411 tmp8 += sym_base_addr + rel->r_addend; /* V + S + A */ in arch_elf_relocate() 460 tmp8 = sym_base_addr + rel->r_addend; /* S + A */ in arch_elf_relocate() 465 tmp8 = sym_base_addr + rel->r_addend; /* S + A */ in arch_elf_relocate() 469 tmp16 = sym_base_addr + rel->r_addend; /* S + A */ in arch_elf_relocate() 473 tmp32 = sym_base_addr + rel->r_addend; /* S + A */ in arch_elf_relocate() [all …]
|
| /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() 56 ret = llext_lookup_symbol(ldr, ext, &sym_base_addr, rel, &sym, sym_name, shdr); in arch_elf_relocate() 63 sym_base_addr += rel->r_addend; in arch_elf_relocate() 65 int reloc_type = ELF32_R_TYPE(rel->r_info); in arch_elf_relocate() 78 value = (sym_base_addr + rel->r_addend - (loc & ~0x3)) >> 1; in arch_elf_relocate() 94 value = (sym_base_addr + rel->r_addend - (loc & ~0x3)) >> 2; in arch_elf_relocate()
|
| /arch/arm64/core/ |
| A D | elf.c | 140 x = reloc(AARCH64_RELOC_TYPE_ABS, loc, sym_base_addr, rel->r_addend); in data_reloc_handler() 148 x = reloc(AARCH64_RELOC_TYPE_ABS, loc, sym_base_addr, rel->r_addend); in data_reloc_handler() 258 x = reloc(type, loc, sym_base_addr, rel->r_addend); in movw_reloc_handler() 378 x = reloc(type, loc, sym_base_addr, rel->r_addend); in imm_reloc_handler() 439 elf_word reloc_type = ELF_R_TYPE(rel->r_info); in arch_elf_relocate() 445 ret = llext_read_symbol(ldr, ext, rel, &sym); in arch_elf_relocate() 474 ret = data_reloc_handler(rel, reloc_type, loc, sym_base_addr); in arch_elf_relocate() 495 ret = movw_reloc_handler(rel, reloc_type, loc, sym_base_addr); in arch_elf_relocate() 509 ret = imm_reloc_handler(rel, reloc_type, loc, sym_base_addr); in arch_elf_relocate() 515 ret = imm_reloc_handler(rel, reloc_type, loc, sym_base_addr); in arch_elf_relocate() [all …]
|
| /arch/xtensa/core/ |
| A D | elf.c | 36 const elf_rela_t *rel, uintptr_t addr, in xtensa_elf_relocate() argument 83 ELF_R_SYM(rel->r_info) * sizeof(elf_sym_t)); in xtensa_elf_relocate() 100 rsym.st_value + rel->r_addend; in xtensa_elf_relocate() 116 rel->r_info, rel->r_offset); in xtensa_elf_relocate() 139 int arch_elf_relocate_local(struct llext_loader *ldr, struct llext *ext, const elf_rela_t *rel, in arch_elf_relocate_local() argument 143 int type = ELF32_R_TYPE(rel->r_info); in arch_elf_relocate_local() 157 return xtensa_elf_relocate(ldr, ext, rel, sh_addr, rel_addr, type, in arch_elf_relocate_local() 164 int arch_elf_relocate_global(struct llext_loader *ldr, struct llext *ext, const elf_rela_t *rel, in arch_elf_relocate_global() argument 167 int type = ELF32_R_TYPE(rel->r_info); in arch_elf_relocate_global() 174 return xtensa_elf_relocate(ldr, ext, rel, (uintptr_t)link_addr, rel_addr, type, in arch_elf_relocate_global()
|
| /arch/x86/zefi/ |
| A D | efi.ld | 38 *(.data.rel*) 53 *(.rel.local)
|
| /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 330 elf_word reloc_type = ELF32_R_TYPE(rel->r_info); 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() 346 ret = llext_lookup_symbol(ldr, ext, &sym_base_addr, rel, &sym, sym_name, shdr); in arch_elf_relocate()
|