Home
last modified time | relevance | path

Searched refs:rela (Results 1 – 25 of 40) sorted by relevance

12

/linux/arch/um/kernel/
A Ddyn.lds.S36 .rela.init : { *(.rela.init) }
38 .rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) }
40 .rela.fini : { *(.rela.fini) }
42 .rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) }
44 .rela.data : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) }
46 .rela.tdata : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) }
48 .rela.tbss : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) }
50 .rela.ctors : { *(.rela.ctors) }
52 .rela.dtors : { *(.rela.dtors) }
54 .rela.got : { *(.rela.got) }
[all …]
A Duml.lds.S64 .rela.plt : {
65 *(.rela.plt)
67 *(.rela.iplt)
/linux/arch/mips/kernel/
A Dmodule.c60 bool rela) in apply_r_mips_hi16() argument
64 if (rela) { in apply_r_mips_hi16()
105 if (rela) { in apply_r_mips_lo16()
221 if (WARN_ON(!rela)) in apply_r_mips_64()
231 if (WARN_ON(!rela)) in apply_r_mips_higher()
242 if (WARN_ON(!rela)) in apply_r_mips_highest()
269 Elf_Addr v, bool rela) in reloc_handler() argument
309 Elf_Mips_Rela *rela; in __apply_relocate() member
322 reloc_sz = rela ? sizeof(*r.rela) : sizeof(*r.rel); in __apply_relocate()
343 if (rela) { in __apply_relocate()
[all …]
/linux/arch/nios2/kernel/
A Dmodule.c28 Elf32_Rela *rela = (void *)sechdrs[relsec].sh_addr; in apply_relocate_add() local
33 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rela); i++) { in apply_relocate_add()
38 + rela[i].r_offset); in apply_relocate_add()
43 + ELF32_R_SYM(rela[i].r_info)); in apply_relocate_add()
44 uint32_t v = sym->st_value + rela[i].r_addend; in apply_relocate_add()
47 ELF32_R_TYPE(rela[i].r_info), in apply_relocate_add()
48 rela[i].r_offset, strtab + sym->st_name); in apply_relocate_add()
50 switch (ELF32_R_TYPE(rela[i].r_info)) { in apply_relocate_add()
104 mod->name, ELF32_R_TYPE(rela[i].r_info)); in apply_relocate_add()
/linux/arch/arm64/kernel/
A Dmodule-plts.c70 void *loc, const Elf64_Rela *rela, in module_emit_plt_entry() argument
78 u64 val = sym->st_value + rela->r_addend; in module_emit_plt_entry()
154 return num > 0 && cmp_rela(rela + num, rela + num - 1) == 0; in duplicate_rel()
167 switch (ELF64_R_TYPE(rela[i].r_info)) { in count_plts()
181 s = syms + ELF64_R_SYM(rela[i].r_info); in count_plts()
198 if (rela[i].r_addend != 0 || !duplicate_rel(rela, i)) in count_plts()
220 min_align = 2ULL << ffz(rela[i].r_offset | 0x7); in count_plts()
253 Elf64_Sym *s = syms + ELF64_R_SYM(rela->r_info); in branch_rela_needs_plt()
259 ELF64_R_TYPE(rela->r_info) == R_AARCH64_CALL26; in branch_rela_needs_plt()
269 if (branch_rela_needs_plt(syms, &rela[i], dstidx)) in partition_branch_plt_relas()
[all …]
/linux/arch/alpha/kernel/
A Dmodule.c29 process_reloc_for_got(Elf64_Rela *rela, in process_reloc_for_got() argument
32 unsigned long r_sym = ELF64_R_SYM (rela->r_info); in process_reloc_for_got()
33 unsigned long r_type = ELF64_R_TYPE (rela->r_info); in process_reloc_for_got()
34 Elf64_Sxword r_addend = rela->r_addend; in process_reloc_for_got()
60 rela->r_info |= g->got_offset << 8; in process_reloc_for_got()
68 Elf64_Rela *rela; in module_frob_arch_sections() local
113 rela = (void *)hdr + s->sh_offset; in module_frob_arch_sections()
115 process_reloc_for_got(rela+i, chains, in module_frob_arch_sections()
160 location = base + rela[i].r_offset; in apply_relocate_add()
165 value = sym->st_value + rela[i].r_addend; in apply_relocate_add()
[all …]
/linux/arch/xtensa/kernel/
A Dmodule.c54 Elf32_Rela *rela = (void *)sechdrs[relsec].sh_addr; in apply_relocate_add() local
62 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rela); i++) { in apply_relocate_add()
64 + rela[i].r_offset; in apply_relocate_add()
66 + ELF32_R_SYM(rela[i].r_info); in apply_relocate_add()
67 value = sym->st_value + rela[i].r_addend; in apply_relocate_add()
69 switch (ELF32_R_TYPE(rela[i].r_info)) { in apply_relocate_add()
158 ELF32_R_TYPE(rela[i].r_info)); in apply_relocate_add()
178 ELF32_R_TYPE(rela[i].r_info)); in apply_relocate_add()
184 ELF32_R_TYPE(rela[i].r_info)); in apply_relocate_add()
/linux/arch/microblaze/kernel/
A Dmodule.c23 Elf32_Rela *rela = (void *)sechdrs[relsec].sh_addr; in apply_relocate_add() local
31 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rela); i++) { in apply_relocate_add()
34 rela[i].r_offset; in apply_relocate_add()
36 ELF32_R_SYM(rela[i].r_info); in apply_relocate_add()
37 value = sym->st_value + rela[i].r_addend; in apply_relocate_add()
39 switch (ELF32_R_TYPE(rela[i].r_info)) { in apply_relocate_add()
84 ELF32_R_TYPE(rela[i].r_info)); in apply_relocate_add()
/linux/arch/arm64/kernel/pi/
A Drelocate.c19 for (const Elf64_Rela *rela = rela_start; rela < rela_end; rela++) { in relocate_kernel() local
20 if (ELF64_R_TYPE(rela->r_info) != R_AARCH64_RELATIVE) in relocate_kernel()
22 *(u64 *)(rela->r_offset + offset) = rela->r_addend + offset; in relocate_kernel()
A Drelacheck.c80 Elf64_Rela *rela; in main() local
105 rela = (void *)ehdr + swab_elfxword(shdr[i].sh_offset); in main()
106 numrela = swab_elfxword(shdr[i].sh_size) / sizeof(*rela); in main()
109 uint64_t info = swab_elfxword(rela[j].r_info); in main()
117 rela[j].r_info = swab_elfxword(info); in main()
/linux/arch/s390/kernel/
A Dmodule.c62 switch (ELF_R_TYPE (rela->r_info)) { in check_rela()
111 Elf_Rela *rela; in module_frob_arch_sections() local
157 check_rela(rela + j, me); in module_frob_arch_sections()
232 loc = base + rela->r_offset; in apply_rela()
235 r_sym = ELF_R_SYM(rela->r_info); in apply_rela()
250 val += rela->r_addend; in apply_rela()
269 val += rela->r_addend - loc; in apply_rela()
369 val += rela->r_addend - loc; in apply_rela()
387 val = val + rela->r_addend - in apply_rela()
399 rela->r_addend - loc; in apply_rela()
[all …]
/linux/arch/powerpc/kernel/
A Dmodule_32.c34 if (ELF32_R_TYPE(rela[i].r_info) == R_PPC_REL24 && in count_relocs()
35 (r_info != ELF32_R_SYM(rela[i].r_info) || in count_relocs()
36 r_addend != rela[i].r_addend)) { in count_relocs()
38 r_info = ELF32_R_SYM(rela[i].r_info); in count_relocs()
39 r_addend = rela[i].r_addend; in count_relocs()
203 Elf32_Rela *rela = (void *)sechdrs[relsec].sh_addr; in apply_relocate_add() local
213 + rela[i].r_offset; in apply_relocate_add()
217 + ELF32_R_SYM(rela[i].r_info); in apply_relocate_add()
219 value = sym->st_value + rela[i].r_addend; in apply_relocate_add()
221 switch (ELF32_R_TYPE(rela[i].r_info)) { in apply_relocate_add()
[all …]
A Dmodule_64.c174 r_addend != rela[i].r_addend)) { in count_relocs()
176 r_info = ELF64_R_SYM(rela[i].r_info); in count_relocs()
177 r_addend = rela[i].r_addend; in count_relocs()
273 + ELF64_R_SYM(rela[i].r_info); in count_pcpu_relocs()
277 r_addend != rela[i].r_addend)) { in count_pcpu_relocs()
279 r_info = ELF64_R_SYM(rela[i].r_info); in count_pcpu_relocs()
280 r_addend = rela[i].r_addend; in count_pcpu_relocs()
792 + rela[i].r_offset; in apply_relocate_add()
795 + ELF64_R_SYM(rela[i].r_info); in apply_relocate_add()
800 (long)rela[i].r_addend); in apply_relocate_add()
[all …]
/linux/arch/hexagon/kernel/
A Dmodule.c76 Elf32_Rela *rela = (void *)sechdrs[relsec].sh_addr; in apply_relocate_add() local
87 sym = sym_base + ELF32_R_SYM(rela[i].r_info); in apply_relocate_add()
90 location = loc_base + rela[i].r_offset; in apply_relocate_add()
93 value = sym->st_value + rela[i].r_addend; in apply_relocate_add()
96 i, value, location, ELF32_R_TYPE(rela[i].r_info), in apply_relocate_add()
100 switch (ELF32_R_TYPE(rela[i].r_info)) { in apply_relocate_add()
144 ELF32_R_TYPE(rela[i].r_info)); in apply_relocate_add()
/linux/arch/loongarch/kernel/
A Drelocate.c27 Elf64_Rela *rela, *rela_end; in relocate_relative() local
28 rela = (Elf64_Rela *)&__rela_dyn_begin; in relocate_relative()
31 for ( ; rela < rela_end; rela++) { in relocate_relative()
32 Elf64_Addr addr = rela->r_offset; in relocate_relative()
33 Elf64_Addr relocated_addr = rela->r_addend; in relocate_relative()
35 if (rela->r_info != R_LARCH_RELATIVE) in relocate_relative()
/linux/arch/arm64/kvm/hyp/nvhe/
A Dgen-hyprel.c329 static void emit_rela_abs64(Elf64_Rela *rela, const char *sh_orig_name) in emit_rela_abs64() argument
345 elf64toh(rela->r_offset)); in emit_rela_abs64()
367 Elf64_Rela *rela; in emit_rela_section() local
375 for_each_rela(sh_rela, rela) { in emit_rela_section()
376 uint32_t type = (uint32_t)elf64toh(rela->r_info); in emit_rela_section()
379 assert_lt(elf64toh(rela->r_offset), elf64toh(sh_orig->sh_size), "0x%lx"); in emit_rela_section()
387 emit_rela_abs64(rela, sh_orig_name); in emit_rela_section()
/linux/tools/objtool/
A Dorc_dump.c24 GElf_Rela rela; in orc_dump() local
112 if (!gelf_getrela(rela_orc_ip, i, &rela)) { in orc_dump()
117 if (!gelf_getsym(symtab, GELF_R_SYM(rela.r_info), &sym)) { in orc_dump()
147 printf("%s+%llx:", name, (unsigned long long)rela.r_addend); in orc_dump()
/linux/arch/x86/boot/compressed/
A Dvmlinux.lds.S116 .rela.dyn : {
117 *(.rela.*) *(.rela_*)
119 ASSERT(SIZEOF(.rela.dyn) == 0, "Unexpected run-time relocations (.rela) detected!")
/linux/arch/arm64/kernel/vdso/
A Dvdso.lds.S61 .rela.dyn : ALIGN(8) { *(.rela .rela*) }
/linux/arch/parisc/kernel/
A Dmodule.c176 static inline unsigned long count_gots(const Elf_Rela *rela, unsigned long n) in count_gots() argument
186 static inline unsigned long count_stubs(const Elf_Rela *rela, unsigned long n) in count_stubs() argument
190 for (; n > 0; n--, rela++) in count_stubs()
192 switch (ELF32_R_TYPE(rela->r_info)) { in count_stubs()
202 static inline unsigned long count_gots(const Elf_Rela *rela, unsigned long n) in count_gots() argument
206 for (; n > 0; n--, rela++) in count_gots()
208 switch (ELF64_R_TYPE(rela->r_info)) { in count_gots()
223 for (; n > 0; n--, rela++) in count_fdescs()
225 switch (ELF64_R_TYPE(rela->r_info)) { in count_fdescs()
238 for (; n > 0; n--, rela++) in count_stubs()
[all …]
/linux/Documentation/livepatch/
A Dmodule-elf-format.rst45 embedding special "dynrela" (dynamic rela) sections in the resulting patch
103 Every symbol referenced by a rela in a livepatch relocation section is a
120 .klp.rela.objname.section_name
126 The relocation section name is prefixed with the string ".klp.rela."
142 .klp.rela.ext4.text.ext4_attr_store
143 .klp.rela.vmlinux.text.cmdline_proc_show
153 …[29] .klp.rela.9p.text.caches.show RELA 0000000000000000 002d58 0000c0 18 AIo 6…
174 …Relocation section '.klp.rela.btrfs.text.btrfs_feature_attr_show' at offset 0x2ba0 contains 4 entr…
220 For example, take this particular rela from a livepatch module:::
222 …Relocation section '.klp.rela.btrfs.text.btrfs_feature_attr_show' at offset 0x2ba0 contains 4 entr…
[all …]
/linux/arch/s390/boot/
A Dvmlinux.lds.S159 .rela.dyn : {
160 *(.rela.*) *(.rela_*)
162 ASSERT(SIZEOF(.rela.dyn) == 0, "Unexpected run-time relocations (.rela) detected!")
/linux/arch/powerpc/kernel/vdso/
A Dvdso64.lds.S72 .rela.dyn ALIGN(8) : { *(.rela .rela*) }
A Dvdso32.lds.S77 .rela.dyn : { *(.rela .rela*) }
/linux/arch/riscv/kernel/
A Dvmlinux.lds.S106 .rela.dyn : ALIGN(8) {
108 *(.rela .rela*)

Completed in 40 milliseconds

12