/arch/um/kernel/ |
D | dyn.lds.S | 35 .rel.init : { *(.rel.init) } 37 .rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) } 39 .rel.fini : { *(.rel.fini) } 41 .rel.rodata : { *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) } 43 .rel.data : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) } 45 .rel.tdata : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) } 47 .rel.tbss : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) } 49 .rel.ctors : { *(.rel.ctors) } 51 .rel.dtors : { *(.rel.dtors) } 53 .rel.got : { *(.rel.got) } [all …]
|
D | uml.lds.S | 59 .rel.plt : { 60 *(.rel.plt) 62 *(.rel.iplt)
|
/arch/m68k/kernel/ |
D | module.c | 29 Elf32_Rel *rel = (void *)sechdrs[relsec].sh_addr; in apply_relocate() local 35 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocate() 38 + rel[i].r_offset; in apply_relocate() 42 + ELF32_R_SYM(rel[i].r_info); in apply_relocate() 44 switch (ELF32_R_TYPE(rel[i].r_info)) { in apply_relocate() 55 ELF32_R_TYPE(rel[i].r_info)); in apply_relocate() 69 Elf32_Rela *rel = (void *)sechdrs[relsec].sh_addr; in apply_relocate_add() local 75 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocate_add() 78 + rel[i].r_offset; in apply_relocate_add() 82 + ELF32_R_SYM(rel[i].r_info); in apply_relocate_add() [all …]
|
/arch/nds32/kernel/ |
D | module.c | 90 struct module *module, Elf32_Rela * rel, in exceed_limit() argument 98 module->name, ELF32_R_TYPE(rel->r_info)); in exceed_limit() 100 relindex, reloc_order, rel->r_offset, offset); in exceed_limit() 120 Elf32_Rela *rel = (void *)relsec->sh_addr; in apply_relocate_add() local 123 for (i = 0; i < relsec->sh_size / sizeof(Elf32_Rela); i++, rel++) { in apply_relocate_add() 129 offset = ELF32_R_SYM(rel->r_info); in apply_relocate_add() 139 if (rel->r_offset < 0 in apply_relocate_add() 140 || rel->r_offset > dstsec->sh_size - sizeof(u16)) { in apply_relocate_add() 143 relindex, i, rel->r_offset, dstsec->sh_size); in apply_relocate_add() 147 loc = (Elf32_Addr *) (dstsec->sh_addr + rel->r_offset); in apply_relocate_add() [all …]
|
/arch/csky/kernel/ |
D | module.c | 54 Elf32_Rela *rel = (void *) sechdrs[relsec].sh_addr; in apply_relocate_add() local 59 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocate_add() 62 + rel[i].r_offset; in apply_relocate_add() 64 + ELF32_R_SYM(rel[i].r_info); in apply_relocate_add() 66 switch (ELF32_R_TYPE(rel[i].r_info)) { in apply_relocate_add() 69 *location = rel[i].r_addend + sym->st_value; in apply_relocate_add() 73 *location = rel[i].r_addend + sym->st_value in apply_relocate_add() 84 ((rel[i].r_addend + sym->st_value) >> 16); in apply_relocate_add() 89 ((rel[i].r_addend + sym->st_value) & 0xffff); in apply_relocate_add() 93 me->name, ELF32_R_TYPE(rel[i].r_info)); in apply_relocate_add()
|
/arch/unicore32/kernel/ |
D | module.c | 36 Elf32_Rel *rel = (void *)relsec->sh_addr; in apply_relocate() local 39 for (i = 0; i < relsec->sh_size / sizeof(Elf32_Rel); i++, rel++) { in apply_relocate() 44 offset = ELF32_R_SYM(rel->r_info); in apply_relocate() 55 if (rel->r_offset < 0 || rel->r_offset > in apply_relocate() 59 module->name, relindex, i, rel->r_offset, in apply_relocate() 64 loc = dstsec->sh_addr + rel->r_offset; in apply_relocate() 66 switch (ELF32_R_TYPE(rel->r_info)) { in apply_relocate() 101 module->name, ELF32_R_TYPE(rel->r_info)); in apply_relocate()
|
/arch/openrisc/kernel/ |
D | module.c | 23 Elf32_Rela *rel = (void *)sechdrs[relsec].sh_addr; in apply_relocate_add() local 30 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocate_add() 33 + rel[i].r_offset; in apply_relocate_add() 38 + ELF32_R_SYM(rel[i].r_info); in apply_relocate_add() 39 value = sym->st_value + rel[i].r_addend; in apply_relocate_add() 41 switch (ELF32_R_TYPE(rel[i].r_info)) { in apply_relocate_add() 60 me->name, ELF32_R_TYPE(rel[i].r_info)); in apply_relocate_add()
|
/arch/x86/kernel/ |
D | module.c | 96 Elf32_Rel *rel = (void *)sechdrs[relsec].sh_addr; in apply_relocate() local 102 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocate() 105 + rel[i].r_offset; in apply_relocate() 109 + ELF32_R_SYM(rel[i].r_info); in apply_relocate() 111 switch (ELF32_R_TYPE(rel[i].r_info)) { in apply_relocate() 123 me->name, ELF32_R_TYPE(rel[i].r_info)); in apply_relocate() 137 Elf64_Rela *rel = (void *)sechdrs[relsec].sh_addr; in apply_relocate_add() local 144 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocate_add() 147 + rel[i].r_offset; in apply_relocate_add() 152 + ELF64_R_SYM(rel[i].r_info); in apply_relocate_add() [all …]
|
/arch/sh/kernel/ |
D | module.c | 31 Elf32_Rela *rel = (void *)sechdrs[relsec].sh_addr; in apply_relocate_add() local 39 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocate_add() 42 + rel[i].r_offset; in apply_relocate_add() 46 + ELF32_R_SYM(rel[i].r_info); in apply_relocate_add() 47 relocation = sym->st_value + rel[i].r_addend; in apply_relocate_add() 58 switch (ELF32_R_TYPE(rel[i].r_info)) { in apply_relocate_add() 92 me->name, ELF32_R_TYPE(rel[i].r_info)); in apply_relocate_add()
|
/arch/mips/include/asm/ |
D | module.h | 51 #define ELF_MIPS_R_SYM(rel) ELF32_R_SYM((rel).r_info) argument 52 #define ELF_MIPS_R_TYPE(rel) ELF32_R_TYPE((rel).r_info) argument 69 #define ELF_MIPS_R_SYM(rel) ((rel).r_sym) argument 70 #define ELF_MIPS_R_TYPE(rel) ((rel).r_type) argument
|
/arch/c6x/kernel/ |
D | module.c | 47 Elf32_Rela *rel = (void *) sechdrs[relsec].sh_addr; in apply_relocate_add() local 57 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocate_add() 60 + rel[i].r_offset - offset; in apply_relocate_add() 65 + ELF32_R_SYM(rel[i].r_info); in apply_relocate_add() 68 v = sym->st_value + rel[i].r_addend; in apply_relocate_add() 70 switch (ELF32_R_TYPE(rel[i].r_info)) { in apply_relocate_add() 113 me->name, ELF32_R_TYPE(rel[i].r_info)); in apply_relocate_add()
|
/arch/arm/kernel/ |
D | module.c | 72 Elf32_Rel *rel = (void *)relsec->sh_addr; in apply_relocate() local 75 for (i = 0; i < relsec->sh_size / sizeof(Elf32_Rel); i++, rel++) { in apply_relocate() 85 offset = ELF32_R_SYM(rel->r_info); in apply_relocate() 95 if (rel->r_offset < 0 || rel->r_offset > dstsec->sh_size - sizeof(u32)) { in apply_relocate() 98 rel->r_offset, dstsec->sh_size); in apply_relocate() 102 loc = dstsec->sh_addr + rel->r_offset; in apply_relocate() 104 switch (ELF32_R_TYPE(rel->r_info)) { in apply_relocate() 147 ELF32_R_TYPE(rel->r_info), loc, in apply_relocate() 174 ELF32_R_TYPE(rel->r_info), loc, in apply_relocate() 189 if (ELF32_R_TYPE(rel->r_info) == R_ARM_MOVT_ABS) in apply_relocate() [all …]
|
D | module-plts.c | 115 static bool is_zero_addend_relocation(Elf32_Addr base, const Elf32_Rel *rel) in is_zero_addend_relocation() argument 117 u32 *tval = (u32 *)(base + rel->r_offset); in is_zero_addend_relocation() 125 switch (ELF32_R_TYPE(rel->r_info)) { in is_zero_addend_relocation() 143 static bool duplicate_rel(Elf32_Addr base, const Elf32_Rel *rel, int num) in duplicate_rel() argument 155 prev = rel + num - 1; in duplicate_rel() 156 return cmp_rel(rel + num, prev) == 0 && in duplicate_rel() 162 const Elf32_Rel *rel, int num, Elf32_Word dstidx) in count_plts() argument 169 switch (ELF32_R_TYPE(rel[i].r_info)) { in count_plts() 186 s = syms + ELF32_R_SYM(rel[i].r_info); in count_plts() 205 if (!is_zero_addend_relocation(base, rel + i) || in count_plts() [all …]
|
/arch/mips/mm/ |
D | uasm.c | 490 void uasm_r_mips_pc16(struct uasm_reloc **rel, u32 *addr, int lid) in uasm_r_mips_pc16() argument 492 (*rel)->addr = addr; in uasm_r_mips_pc16() 493 (*rel)->type = R_MIPS_PC16; in uasm_r_mips_pc16() 494 (*rel)->lab = lid; in uasm_r_mips_pc16() 495 (*rel)++; in uasm_r_mips_pc16() 499 static inline void __resolve_relocs(struct uasm_reloc *rel, 502 void uasm_resolve_relocs(struct uasm_reloc *rel, in uasm_resolve_relocs() argument 507 for (; rel->lab != UASM_LABEL_INVALID; rel++) in uasm_resolve_relocs() 509 if (rel->lab == l->lab) in uasm_resolve_relocs() 510 __resolve_relocs(rel, l); in uasm_resolve_relocs() [all …]
|
/arch/x86/realmode/ |
D | init.c | 70 const u32 *rel; in setup_real_mode() local 97 rel = (u32 *) real_mode_relocs; in setup_real_mode() 100 count = *rel++; in setup_real_mode() 102 u16 *seg = (u16 *) (base + *rel++); in setup_real_mode() 107 count = *rel++; in setup_real_mode() 109 u32 *ptr = (u32 *) (base + *rel++); in setup_real_mode()
|
/arch/h8300/include/asm/ |
D | flat.h | 18 #define flat_get_relocate_addr(rel) (rel & ~0x00000001) argument 29 static inline int flat_put_addr_at_rp(u32 __user *rp, u32 addr, u32 rel) in flat_put_addr_at_rp() argument
|
/arch/sparc/kernel/ |
D | module.c | 90 Elf_Rela *rel = (void *)sechdrs[relsec].sh_addr; in apply_relocate_add() local 95 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocate_add() 100 + rel[i].r_offset; in apply_relocate_add() 110 + ELF_R_SYM(rel[i].r_info); in apply_relocate_add() 111 v = sym->st_value + rel[i].r_addend; in apply_relocate_add() 113 switch (ELF_R_TYPE(rel[i].r_info) & 0xff) { in apply_relocate_add() 139 (ELF_R_TYPE(rel[i].r_info) >> 8)) in apply_relocate_add() 176 (int) (ELF_R_TYPE(rel[i].r_info) & 0xff)); in apply_relocate_add()
|
/arch/arm64/include/asm/ |
D | atomic_ll_sc.h | 42 #define ATOMIC_OP_RETURN(name, mb, acq, rel, cl, op, asm_op, constraint)\ argument 53 " st" #rel "xr %w1, %w0, %2\n" \ 63 #define ATOMIC_FETCH_OP(name, mb, acq, rel, cl, op, asm_op, constraint) \ argument 74 " st" #rel "xr %w2, %w1, %3\n" \ 138 #define ATOMIC64_OP_RETURN(name, mb, acq, rel, cl, op, asm_op, constraint)\ argument 149 " st" #rel "xr %w1, %0, %2\n" \ 159 #define ATOMIC64_FETCH_OP(name, mb, acq, rel, cl, op, asm_op, constraint)\ argument 170 " st" #rel "xr %w2, %1, %3\n" \ 239 #define __CMPXCHG_CASE(w, sfx, name, sz, mb, acq, rel, cl, constraint) \ argument 261 " st" #rel "xr" #sfx "\t%w[tmp], %" #w "[new], %[v]\n" \ [all …]
|
/arch/x86/tools/ |
D | relocs.c | 525 Elf_Rel *rel = &sec->reltab[j]; in read_relocs() local 526 rel->r_offset = elf_addr_to_cpu(rel->r_offset); in read_relocs() 527 rel->r_info = elf_xword_to_cpu(rel->r_info); in read_relocs() 529 rel->r_addend = elf_xword_to_cpu(rel->r_addend); in read_relocs() 611 Elf_Rel *rel; in print_absolute_relocs() local 614 rel = &sec->reltab[j]; in print_absolute_relocs() 615 sym = &sh_symtab[ELF_R_SYM(rel->r_info)]; in print_absolute_relocs() 646 rel->r_offset, in print_absolute_relocs() 647 rel->r_info, in print_absolute_relocs() 648 rel_type(ELF_R_TYPE(rel->r_info)), in print_absolute_relocs() [all …]
|
/arch/mips/kernel/ |
D | vpe.c | 237 int rel; in apply_r_mips_gprel16() local 240 rel = (int)v - gp_addr; in apply_r_mips_gprel16() 244 rel = (int)(short)((int)v + gp_offs + in apply_r_mips_gprel16() 248 if ((rel > 32768) || (rel < -32768)) { in apply_r_mips_gprel16() 250 rel); in apply_r_mips_gprel16() 254 *location = (*location & 0xffff0000) | (rel & 0xffff); in apply_r_mips_gprel16() 262 int rel; in apply_r_mips_pc16() local 263 rel = (((unsigned int)v - (unsigned int)location)); in apply_r_mips_pc16() 264 rel >>= 2; /* because the offset is in _instructions_ not bytes. */ in apply_r_mips_pc16() 265 rel -= 1; /* and one instruction less due to the branch delay slot. */ in apply_r_mips_pc16() [all …]
|
/arch/mips/boot/tools/ |
D | relocs.c | 386 Elf_Rel *rel = &sec->reltab[j]; in read_relocs() local 388 rel->r_offset = elf_addr_to_cpu(rel->r_offset); in read_relocs() 390 rel->r_offset -= base; in read_relocs() 392 rel->r_info = elf_xword_to_cpu(rel->r_info); in read_relocs() 397 rel->r_info = rel->r_info; in read_relocs() 398 ELF_R_SYM(rel->r_info) = elf32_to_cpu(ELF_R_SYM(rel->r_info)); in read_relocs() 401 rel->r_addend = elf_xword_to_cpu(rel->r_addend); in read_relocs() 467 static void walk_relocs(int (*process)(struct section *sec, Elf_Rel *rel, in walk_relocs() argument 491 Elf_Rel *rel = &sec->reltab[j]; in walk_relocs() local 492 Elf_Sym *sym = &sh_symtab[ELF_R_SYM(rel->r_info)]; in walk_relocs() [all …]
|
/arch/riscv/kernel/ |
D | module.c | 311 Elf_Rela *rel = (void *) sechdrs[relsec].sh_addr; in apply_relocate_add() local 322 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocate_add() 325 + rel[i].r_offset; in apply_relocate_add() 328 + ELF_RISCV_R_SYM(rel[i].r_info); in apply_relocate_add() 338 type = ELF_RISCV_R_TYPE(rel[i].r_info); in apply_relocate_add() 351 v = sym->st_value + rel[i].r_addend; in apply_relocate_add() 356 for (j = 0; j < sechdrs[relsec].sh_size / sizeof(*rel); j++) { in apply_relocate_add() 359 + rel[j].r_offset; in apply_relocate_add() 360 u32 hi20_type = ELF_RISCV_R_TYPE(rel[j].r_info); in apply_relocate_add() 369 + ELF_RISCV_R_SYM(rel[j].r_info); in apply_relocate_add() [all …]
|
D | vmlinux.lds.S | 74 .rel.dyn : { 75 *(.rel.dyn*)
|
/arch/arm64/kernel/ |
D | module.c | 268 Elf64_Rela *rel = (void *)sechdrs[relsec].sh_addr; in apply_relocate_add() local 270 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocate_add() 273 + rel[i].r_offset; in apply_relocate_add() 277 + ELF64_R_SYM(rel[i].r_info); in apply_relocate_add() 280 val = sym->st_value + rel[i].r_addend; in apply_relocate_add() 286 switch (ELF64_R_TYPE(rel[i].r_info)) { in apply_relocate_add() 447 val = module_emit_plt_entry(me, sechdrs, loc, &rel[i], sym); in apply_relocate_add() 457 me->name, ELF64_R_TYPE(rel[i].r_info)); in apply_relocate_add() 470 me->name, (int)ELF64_R_TYPE(rel[i].r_info), val); in apply_relocate_add()
|
/arch/microblaze/include/asm/ |
D | flat.h | 82 #define flat_get_relocate_addr(rel) (rel & 0x7fffffff) argument
|