/linux-4.4.14/arch/um/kernel/ |
H A D | dyn.lds.S | 30 .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 D | uml.lds.S | 55 .rela.plt : { 56 *(.rela.plt) 58 *(.rela.iplt)
|
/linux-4.4.14/arch/h8300/kernel/ |
H A D | module.c | 15 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 D | module.c | 52 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 D | module.c | 26 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 D | module.c | 49 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 D | zImage.lds.S | 38 .rela.dyn : 43 *(.rela*)
|
/linux-4.4.14/arch/hexagon/kernel/ |
H A D | module.c | 55 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 D | module.c | 41 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 D | module.c | 56 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 D | module_32.c | 36 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 D | reloc_64.S | 29 add r9,r9,r12 /* r9 has runtime addr of .rela.dyn section */ 59 * cur_offset [r7] = rela.run [r9] - rela.link [r7]
|
H A D | reloc_32.S | 44 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 D | module_64.c | 210 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 D | vmlinux.lds.S | 180 .rela.dyn : AT(ADDR(.rela.dyn) - LOAD_OFFSET) 183 *(.rela*)
|
/linux-4.4.14/arch/s390/kernel/ |
H A D | module.c | 58 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 D | module.c | 28 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 D | vdso32.lds.S | 45 .rela.dyn ALIGN(8) : { *(.rela.dyn) }
|
/linux-4.4.14/arch/s390/kernel/vdso64/ |
H A D | vdso64.lds.S | 45 .rela.dyn ALIGN(8) : { *(.rela.dyn) }
|
/linux-4.4.14/arch/metag/kernel/ |
H A D | module.c | 25 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 D | module.c | 319 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 D | vdso64.lds.S | 61 .rela.dyn ALIGN(8) : { *(.rela.dyn) }
|
/linux-4.4.14/arch/parisc/kernel/ |
H A D | module.c | 227 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 D | module.c | 82 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 D | module.c | 264 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 D | Makefile | 34 obj-$(CONFIG_MODULES_USE_ELF_RELA) += module-rela.o
|
/linux-4.4.14/scripts/mod/ |
H A D | modpost.c | 1782 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 D | module.c | 194 pr_err("%s: Unknown rela relocation: %llu\n", apply_relocate_add()
|
H A D | machine_kexec_64.c | 526 pr_err("Unknown rela relocation: %llu\n", arch_kexec_apply_relocations_add()
|
/linux-4.4.14/tools/perf/util/ |
H A D | symbol-elf.c | 246 ".rela.plt", NULL); dso__synthesize_plt_symbols()
|