Searched refs:rela (Results 1 - 30 of 30) sorted by relevance

/linux-4.4.14/arch/um/kernel/
H A Ddyn.lds.S30 .rela.init : { *(.rela.init) }
32 .rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) }
34 .rela.fini : { *(.rela.fini) }
36 .rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) }
38 .rela.data : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) }
40 .rela.tdata : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) }
42 .rela.tbss : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) }
44 .rela.ctors : { *(.rela.ctors) }
46 .rela.dtors : { *(.rela.dtors) }
48 .rela.got : { *(.rela.got) }
50 .rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) }
57 .rela.plt : {
58 *(.rela.plt)
60 *(.rela.iplt)
H A Duml.lds.S55 .rela.plt : {
56 *(.rela.plt)
58 *(.rela.iplt)
/linux-4.4.14/arch/h8300/kernel/
H A Dmodule.c15 Elf32_Rela *rela = (void *)sechdrs[relsec].sh_addr; apply_relocate_add() local
19 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rela); i++) { apply_relocate_add()
23 + rela[i].r_offset); apply_relocate_add()
27 + ELF32_R_SYM(rela[i].r_info); apply_relocate_add()
28 uint32_t v = sym->st_value + rela[i].r_addend; apply_relocate_add()
30 switch (ELF32_R_TYPE(rela[i].r_info)) { apply_relocate_add()
36 if (ELF32_R_SYM(rela[i].r_info)) apply_relocate_add()
61 me->name, ELF32_R_TYPE(rela[i].r_info)); apply_relocate_add()
68 me->name, rela[i].r_offset); apply_relocate_add()
/linux-4.4.14/arch/cris/kernel/
H A Dmodule.c52 Elf32_Rela *rela = (void *)sechdrs[relsec].sh_addr; apply_relocate_add() local
57 for (i = 0; i < sechdrs[relsec].sh_size / sizeof (*rela); i++) { apply_relocate_add()
61 + rela[i].r_offset); apply_relocate_add()
66 + ELF32_R_SYM (rela[i].r_info)); apply_relocate_add()
67 switch (ELF32_R_TYPE(rela[i].r_info)) { apply_relocate_add()
69 *loc = sym->st_value + rela[i].r_addend; apply_relocate_add()
72 *loc = sym->st_value - (unsigned)loc + rela[i].r_addend - 4; apply_relocate_add()
76 me->name, ELF32_R_TYPE(rela[i].r_info)); apply_relocate_add()
/linux-4.4.14/arch/microblaze/kernel/
H A Dmodule.c26 Elf32_Rela *rela = (void *)sechdrs[relsec].sh_addr; apply_relocate_add() local
37 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rela); i++) { apply_relocate_add()
40 rela[i].r_offset; apply_relocate_add()
42 ELF32_R_SYM(rela[i].r_info); apply_relocate_add()
43 value = sym->st_value + rela[i].r_addend; apply_relocate_add()
45 switch (ELF32_R_TYPE(rela[i].r_info)) { apply_relocate_add()
113 ELF32_R_TYPE(rela[i].r_info)); apply_relocate_add()
/linux-4.4.14/arch/nios2/kernel/
H A Dmodule.c49 Elf32_Rela *rela = (void *)sechdrs[relsec].sh_addr; apply_relocate_add() local
54 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rela); i++) { apply_relocate_add()
59 + rela[i].r_offset); apply_relocate_add()
64 + ELF32_R_SYM(rela[i].r_info)); apply_relocate_add()
65 uint32_t v = sym->st_value + rela[i].r_addend; apply_relocate_add()
68 ELF32_R_TYPE(rela[i].r_info), apply_relocate_add()
69 rela[i].r_offset, strtab + sym->st_name); apply_relocate_add()
71 switch (ELF32_R_TYPE(rela[i].r_info)) { apply_relocate_add()
125 mod->name, ELF32_R_TYPE(rela[i].r_info)); apply_relocate_add()
/linux-4.4.14/arch/powerpc/boot/
H A DzImage.lds.S38 .rela.dyn :
43 *(.rela*)
/linux-4.4.14/arch/hexagon/kernel/
H A Dmodule.c55 if (strcmp(secstrings + sechdrs[i].sh_name, ".rela.plt") == 0) module_frob_arch_sections()
71 * apply_relocate_add - perform rela relocations.
78 * Perform rela relocations.
89 Elf32_Rela *rela = (void *)sechdrs[relsec].sh_addr; apply_relocate_add() local
100 sym = sym_base + ELF32_R_SYM(rela[i].r_info); apply_relocate_add()
103 location = loc_base + rela[i].r_offset; apply_relocate_add()
106 value = sym->st_value + rela[i].r_addend; apply_relocate_add()
109 i, value, location, ELF32_R_TYPE(rela[i].r_info), apply_relocate_add()
113 switch (ELF32_R_TYPE(rela[i].r_info)) { apply_relocate_add()
157 ELF32_R_TYPE(rela[i].r_info)); apply_relocate_add()
/linux-4.4.14/arch/alpha/kernel/
H A Dmodule.c41 process_reloc_for_got(Elf64_Rela *rela, process_reloc_for_got() argument
44 unsigned long r_sym = ELF64_R_SYM (rela->r_info); process_reloc_for_got()
45 unsigned long r_type = ELF64_R_TYPE (rela->r_info); process_reloc_for_got()
46 Elf64_Sxword r_addend = rela->r_addend; process_reloc_for_got()
72 rela->r_info |= g->got_offset << 8; process_reloc_for_got()
80 Elf64_Rela *rela; module_frob_arch_sections() local
125 rela = (void *)hdr + s->sh_offset; module_frob_arch_sections()
127 process_reloc_for_got(rela+i, chains, module_frob_arch_sections()
149 Elf64_Rela *rela = (void *)sechdrs[relsec].sh_addr; apply_relocate_add() local
150 unsigned long i, n = sechdrs[relsec].sh_size / sizeof(*rela); apply_relocate_add()
167 unsigned long r_sym = ELF64_R_SYM (rela[i].r_info); apply_relocate_add()
168 unsigned long r_type = ELF64_R_TYPE (rela[i].r_info); apply_relocate_add()
174 location = base + rela[i].r_offset; apply_relocate_add()
179 value = sym->st_value + rela[i].r_addend; apply_relocate_add()
212 *(u16 *)(location + rela[i].r_addend) = lo; apply_relocate_add()
/linux-4.4.14/arch/xtensa/kernel/
H A Dmodule.c56 Elf32_Rela *rela = (void *)sechdrs[relsec].sh_addr; apply_relocate_add() local
65 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rela); i++) { apply_relocate_add()
67 + rela[i].r_offset; apply_relocate_add()
69 + ELF32_R_SYM(rela[i].r_info); apply_relocate_add()
70 value = sym->st_value + rela[i].r_addend; apply_relocate_add()
72 switch (ELF32_R_TYPE(rela[i].r_info)) { apply_relocate_add()
161 ELF32_R_TYPE(rela[i].r_info)); apply_relocate_add()
181 ELF32_R_TYPE(rela[i].r_info)); apply_relocate_add()
187 ELF32_R_TYPE(rela[i].r_info)); apply_relocate_add()
/linux-4.4.14/arch/powerpc/kernel/
H A Dmodule_32.c36 static unsigned int count_relocs(const Elf32_Rela *rela, unsigned int num) count_relocs() argument
45 if (ELF32_R_TYPE(rela[i].r_info) == R_PPC_REL24 && count_relocs()
46 (r_info != ELF32_R_SYM(rela[i].r_info) || count_relocs()
47 r_addend != rela[i].r_addend)) { count_relocs()
49 r_info = ELF32_R_SYM(rela[i].r_info); count_relocs()
50 r_addend = rela[i].r_addend; count_relocs()
219 Elf32_Rela *rela = (void *)sechdrs[relsec].sh_addr; apply_relocate_add() local
226 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rela); i++) { apply_relocate_add()
229 + rela[i].r_offset; apply_relocate_add()
233 + ELF32_R_SYM(rela[i].r_info); apply_relocate_add()
235 value = sym->st_value + rela[i].r_addend; apply_relocate_add()
237 switch (ELF32_R_TYPE(rela[i].r_info)) { apply_relocate_add()
293 ELF32_R_TYPE(rela[i].r_info)); apply_relocate_add()
H A Dreloc_64.S29 add r9,r9,r12 /* r9 has runtime addr of .rela.dyn section */
59 * cur_offset [r7] = rela.run [r9] - rela.link [r7]
H A Dreloc_32.S44 add r9, r9, r12 /* runtime address of .rela.dyn section */
61 lwz r7, 4(r11) /* r7 = rela.link */
87 * Work out the current offset from the link time address of .rela
89 * cur_offset[r7] = rela.run[r9] - rela.link [r7]
99 * Scan through the .rela table and process each entry
100 * r9 - points to the current .rela table entry
109 lwz r4, 4(r9) /* r4 = rela.r_info */
197 add r9, r9, r6 /* move to next entry in the .rela table */
H A Dmodule_64.c210 static unsigned int count_relocs(const Elf64_Rela *rela, unsigned int num) count_relocs() argument
220 if (ELF64_R_TYPE(rela[i].r_info) == R_PPC_REL24 && count_relocs()
221 (r_info != ELF64_R_SYM(rela[i].r_info) || count_relocs()
222 r_addend != rela[i].r_addend)) { count_relocs()
224 r_info = ELF64_R_SYM(rela[i].r_info); count_relocs()
225 r_addend = rela[i].r_addend; count_relocs()
494 Elf64_Rela *rela = (void *)sechdrs[relsec].sh_addr; apply_relocate_add() local
512 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rela); i++) { apply_relocate_add()
515 + rela[i].r_offset; apply_relocate_add()
518 + ELF64_R_SYM(rela[i].r_info); apply_relocate_add()
521 location, (long)ELF64_R_TYPE(rela[i].r_info), apply_relocate_add()
523 (long)rela[i].r_addend); apply_relocate_add()
526 value = sym->st_value + rela[i].r_addend; apply_relocate_add()
528 switch (ELF64_R_TYPE(rela[i].r_info)) { apply_relocate_add()
685 (unsigned long)ELF64_R_TYPE(rela[i].r_info)); apply_relocate_add()
H A Dvmlinux.lds.S180 .rela.dyn : AT(ADDR(.rela.dyn) - LOAD_OFFSET)
183 *(.rela*)
/linux-4.4.14/arch/s390/kernel/
H A Dmodule.c58 static void check_rela(Elf_Rela *rela, struct module *me) check_rela() argument
62 info = me->arch.syminfo + ELF_R_SYM (rela->r_info); check_rela()
63 switch (ELF_R_TYPE (rela->r_info)) { check_rela()
112 Elf_Rela *rela; module_frob_arch_sections() local
155 rela = (void *) hdr + sechdrs[i].sh_offset; module_frob_arch_sections()
157 check_rela(rela + j, me); module_frob_arch_sections()
209 static int apply_rela(Elf_Rela *rela, Elf_Addr base, Elf_Sym *symtab, apply_rela() argument
218 loc = base + rela->r_offset; apply_rela()
221 r_sym = ELF_R_SYM(rela->r_info); apply_rela()
222 r_type = ELF_R_TYPE(rela->r_info); apply_rela()
236 val += rela->r_addend; apply_rela()
255 val += rela->r_addend - loc; apply_rela()
287 val = info->got_offset + rela->r_addend; apply_rela()
331 info->plt_offset + rela->r_addend; apply_rela()
340 val += rela->r_addend - loc; apply_rela()
358 val = val + rela->r_addend - apply_rela()
370 rela->r_addend - loc; apply_rela()
404 Elf_Rela *rela; apply_relocate_add() local
412 rela = (Elf_Rela *) sechdrs[relsec].sh_addr; apply_relocate_add()
415 for (i = 0; i < n; i++, rela++) { apply_relocate_add()
416 rc = apply_rela(rela, base, symtab, strtab, me); apply_relocate_add()
/linux-4.4.14/arch/avr32/kernel/
H A Dmodule.c28 static inline int check_rela(Elf32_Rela *rela, struct module *module, check_rela() argument
33 info = module->arch.syminfo + ELF32_R_SYM(rela->r_info); check_rela()
34 switch (ELF32_R_TYPE(rela->r_info)) { check_rela()
41 if (rela->r_addend != 0) { check_rela()
44 strings + symbols[ELF32_R_SYM(rela->r_info)].st_name, check_rela()
45 rela->r_offset); check_rela()
53 strings + symbols[ELF32_R_SYM(rela->r_info)].st_name); check_rela()
65 Elf32_Rela *rela; module_frob_arch_sections() local
108 rela = (void *)hdr + sechdrs[i].sh_offset; module_frob_arch_sections()
110 ret = check_rela(rela + j, module, module_frob_arch_sections()
/linux-4.4.14/arch/s390/kernel/vdso32/
H A Dvdso32.lds.S45 .rela.dyn ALIGN(8) : { *(.rela.dyn) }
/linux-4.4.14/arch/s390/kernel/vdso64/
H A Dvdso64.lds.S45 .rela.dyn ALIGN(8) : { *(.rela.dyn) }
/linux-4.4.14/arch/metag/kernel/
H A Dmodule.c25 static unsigned int count_relocs(const Elf32_Rela *rela, unsigned int num) count_relocs() argument
34 if (ELF32_R_TYPE(rela[i].r_info) == R_METAG_RELBRANCH && count_relocs()
35 (r_info != ELF32_R_SYM(rela[i].r_info) || count_relocs()
36 r_addend != rela[i].r_addend)) { count_relocs()
38 r_info = ELF32_R_SYM(rela[i].r_info); count_relocs()
39 r_addend = rela[i].r_addend; count_relocs()
/linux-4.4.14/arch/ia64/kernel/
H A Dmodule.c319 duplicate_reloc (const Elf64_Rela *rela, unsigned int num) duplicate_reloc() argument
324 if (rela[i].r_info == rela[num].r_info && rela[i].r_addend == rela[num].r_addend) duplicate_reloc()
332 count_gots (const Elf64_Rela *rela, unsigned int num) count_gots() argument
339 switch (ELF64_R_TYPE(rela[i].r_info)) { count_gots()
349 if (!duplicate_reloc(rela, i)) count_gots()
359 count_plts (const Elf64_Rela *rela, unsigned int num) count_plts() argument
366 switch (ELF64_R_TYPE(rela[i].r_info)) { count_plts()
374 if (!duplicate_reloc(rela, i)) count_plts()
385 count_fdescs (const Elf64_Rela *rela, unsigned int num) count_fdescs() argument
391 switch (ELF64_R_TYPE(rela[i].r_info)) { count_fdescs()
412 if (!duplicate_reloc(rela, i)) count_fdescs()
791 Elf64_Rela *rela = (void *) sechdrs[relsec].sh_addr; apply_relocate_add() local
827 ret = do_reloc(mod, ELF64_R_TYPE(rela[i].r_info), apply_relocate_add()
829 + ELF64_R_SYM(rela[i].r_info)), apply_relocate_add()
830 rela[i].r_addend, target_sec, apply_relocate_add()
831 (void *) target_sec->sh_addr + rela[i].r_offset); apply_relocate_add()
/linux-4.4.14/arch/powerpc/kernel/vdso64/
H A Dvdso64.lds.S61 .rela.dyn ALIGN(8) : { *(.rela.dyn) }
/linux-4.4.14/arch/parisc/kernel/
H A Dmodule.c227 static inline unsigned long count_gots(const Elf_Rela *rela, unsigned long n) count_gots() argument
232 static inline unsigned long count_fdescs(const Elf_Rela *rela, unsigned long n) count_fdescs() argument
237 static inline unsigned long count_stubs(const Elf_Rela *rela, unsigned long n) count_stubs() argument
241 for (; n > 0; n--, rela++) count_stubs()
243 switch (ELF32_R_TYPE(rela->r_info)) { count_stubs()
253 static inline unsigned long count_gots(const Elf_Rela *rela, unsigned long n) count_gots() argument
257 for (; n > 0; n--, rela++) count_gots()
259 switch (ELF64_R_TYPE(rela->r_info)) { count_gots()
270 static inline unsigned long count_fdescs(const Elf_Rela *rela, unsigned long n) count_fdescs() argument
274 for (; n > 0; n--, rela++) count_fdescs()
276 switch (ELF64_R_TYPE(rela->r_info)) { count_fdescs()
285 static inline unsigned long count_stubs(const Elf_Rela *rela, unsigned long n) count_stubs() argument
289 for (; n > 0; n--, rela++) count_stubs()
291 switch (ELF64_R_TYPE(rela->r_info)) { count_stubs()
/linux-4.4.14/arch/arc/kernel/
H A Dmodule.c82 pr_debug("rela->r_off | rela->addend | sym->st_value | ADDR | VALUE\n"); apply_relocate_add()
/linux-4.4.14/arch/blackfin/kernel/
H A Dmodule.c264 if (!strcmp(".rela.l2.text", shname) || module_finalize()
265 !strcmp(".rela.l1.text", shname) || module_finalize()
266 (!strcmp(".rela.text", shname) && module_finalize()
/linux-4.4.14/arch/mips/kernel/
H A DMakefile34 obj-$(CONFIG_MODULES_USE_ELF_RELA) += module-rela.o
/linux-4.4.14/scripts/mod/
H A Dmodpost.c1782 Elf_Rela *rela; section_rela() local
1791 fromsec += strlen(".rela"); section_rela()
1796 for (rela = start; rela < stop; rela++) { section_rela()
1797 r.r_offset = TO_NATIVE(rela->r_offset); section_rela()
1801 r_sym = ELF64_MIPS_R_SYM(rela->r_info); section_rela()
1803 r_typ = ELF64_MIPS_R_TYPE(rela->r_info); section_rela()
1806 r.r_info = TO_NATIVE(rela->r_info); section_rela()
1810 r.r_info = TO_NATIVE(rela->r_info); section_rela()
1813 r.r_addend = TO_NATIVE(rela->r_addend); section_rela()
1818 if (is_second_extable_reloc(start, rela, fromsec)) section_rela()
/linux-4.4.14/arch/x86/kernel/
H A Dmodule.c194 pr_err("%s: Unknown rela relocation: %llu\n", apply_relocate_add()
H A Dmachine_kexec_64.c526 pr_err("Unknown rela relocation: %llu\n", arch_kexec_apply_relocations_add()
/linux-4.4.14/tools/perf/util/
H A Dsymbol-elf.c246 ".rela.plt", NULL); dso__synthesize_plt_symbols()

Completed in 946 milliseconds