/arch/arm/kernel/ |
D | module-plts.c | 36 static void prealloc_fixed(struct mod_plt_sec *pltsec, struct plt_entries *plt) in prealloc_fixed() argument 44 for (i = 0; i < ARRAY_SIZE(plt->ldr); ++i) in prealloc_fixed() 45 plt->ldr[i] = PLT_ENT_LDR; in prealloc_fixed() 47 BUILD_BUG_ON(sizeof(fixed_plts) > sizeof(plt->lit)); in prealloc_fixed() 48 memcpy(plt->lit, fixed_plts, sizeof(fixed_plts)); in prealloc_fixed() 55 struct plt_entries *plt; in get_module_plt() local 60 pltsec->plt_ent = (struct plt_entries *)pltsec->plt->sh_addr; in get_module_plt() 61 plt = pltsec->plt_ent; in get_module_plt() 63 prealloc_fixed(pltsec, plt); in get_module_plt() 66 if (plt->lit[idx] == val) in get_module_plt() [all …]
|
/arch/x86/boot/compressed/ |
D | vmlinux.lds.S | 83 .got.plt (INFO) : { 84 *(.got.plt) 86 ASSERT(SIZEOF(.got.plt) == 0 || 88 SIZEOF(.got.plt) == 0x18, 90 SIZEOF(.got.plt) == 0xc, 103 .plt : { 104 *(.plt) *(.plt.*) 106 ASSERT(SIZEOF(.plt) == 0, "Unexpected run-time procedure linkages detected!")
|
/arch/riscv/kernel/ |
D | module-sections.c | 36 struct mod_section *plt_sec = &mod->arch.plt; in module_emit_plt_entry() 37 struct plt_entry *plt = get_plt_entry(val, plt_sec, got_plt_sec); in module_emit_plt_entry() local 40 if (plt) in module_emit_plt_entry() 41 return (unsigned long)plt; in module_emit_plt_entry() 46 plt = (struct plt_entry *)plt_sec->shdr->sh_addr; in module_emit_plt_entry() 47 plt[i] = emit_plt_entry(val, in module_emit_plt_entry() 48 (unsigned long)&plt[i], in module_emit_plt_entry() 55 return (unsigned long)&plt[i]; in module_emit_plt_entry() 102 mod->arch.plt.shdr = sechdrs + i; in module_frob_arch_sections() 109 if (!mod->arch.plt.shdr) { in module_frob_arch_sections() [all …]
|
/arch/arm64/kernel/ |
D | module-plts.c | 28 struct plt_entry plt; in get_plt_entry() local 35 plt = __get_adrp_add_pair(dst, (u64)pc, AARCH64_INSN_REG_16); in get_plt_entry() 36 plt.br = cpu_to_le32(br); in get_plt_entry() 38 return plt; in get_plt_entry() 79 struct plt_entry *plt = (struct plt_entry *)sechdrs[pltsec->plt_shndx].sh_addr; in module_emit_plt_entry() local 84 if (is_forbidden_offset_for_adrp(&plt[i].adrp)) in module_emit_plt_entry() 87 plt[i] = get_plt_entry(val, &plt[i]); in module_emit_plt_entry() 94 if (j >= 0 && plt_entries_equal(plt + i, plt + j)) in module_emit_plt_entry() 95 return (u64)&plt[j]; in module_emit_plt_entry() 101 return (u64)&plt[i]; in module_emit_plt_entry() [all …]
|
D | ftrace.c | 69 struct plt_entry *plt = mod->arch.ftrace_trampolines; in get_ftrace_plt() local 72 return &plt[FTRACE_PLT_IDX]; in get_ftrace_plt() 75 return &plt[FTRACE_REGS_PLT_IDX]; in get_ftrace_plt() 95 struct plt_entry *plt; in ftrace_find_callable_addr() local 130 plt = get_ftrace_plt(mod, *addr); in ftrace_find_callable_addr() 131 if (!plt) { in ftrace_find_callable_addr() 136 *addr = (unsigned long)plt; in ftrace_find_callable_addr()
|
D | vmlinux.lds.S | 207 .got.plt : { *(.got.plt) } 208 ASSERT(SIZEOF(.got.plt) == 0 || SIZEOF(.got.plt) == 0x18, 354 .plt : { 355 *(.plt) *(.plt.*) *(.iplt) *(.igot .igot.plt) 357 ASSERT(SIZEOF(.plt) == 0, "Unexpected run-time procedure linkages detected!")
|
/arch/um/kernel/ |
D | uml.lds.S | 59 .rel.plt : { 60 *(.rel.plt) 65 .rela.plt : { 66 *(.rela.plt) 97 .got : { *(.got.plt) *(.got) }
|
D | dyn.lds.S | 57 .rel.plt : { 58 *(.rel.plt) 63 .rela.plt : { 64 *(.rela.plt) 72 .plt : { *(.plt) } 158 .got : { *(.got.plt) *(.got) }
|
/arch/riscv/include/asm/ |
D | module.h | 22 struct mod_section plt; member 64 unsigned long plt, in emit_plt_entry() argument 79 unsigned long offset = got_plt - plt; in emit_plt_entry() 104 struct plt_entry *plt = (struct plt_entry *)sec_plt->shdr->sh_addr; in get_plt_entry() local 107 return plt + got_plt_idx; in get_plt_entry()
|
D | module.lds.h | 5 .plt : { BYTE(0) } 7 .got.plt : { BYTE(0) }
|
/arch/x86/kernel/ |
D | vmlinux.lds.S | 459 .got.plt (INFO) : { *(.got.plt) } 460 ASSERT(SIZEOF(.got.plt) == 0 || 462 SIZEOF(.got.plt) == 0x18, 464 SIZEOF(.got.plt) == 0xc, 477 .plt : { 478 *(.plt) *(.plt.*) *(.iplt) 480 ASSERT(SIZEOF(.plt) == 0, "Unexpected run-time procedure linkages detected!")
|
/arch/arm/include/asm/ |
D | module.lds.h | 4 .plt : { BYTE(0) } 5 .init.plt : { BYTE(0) }
|
D | vmlinux.lds.h | 73 .plt : { \ 74 *(.iplt) *(.rel.iplt) *(.iplt) *(.igot.plt) \ 76 ASSERT(SIZEOF(.plt) == 0, \
|
/arch/ia64/kernel/ |
D | module.c | 235 patch_plt (struct module *mod, struct plt_entry *plt, long target_ip, unsigned long target_gp) in patch_plt() argument 237 if (apply_imm64(mod, (struct insn *) (plt->bundle[0] + 2), target_gp) in patch_plt() 238 && apply_imm60(mod, (struct insn *) (plt->bundle[1] + 2), in patch_plt() 239 (target_ip - (int64_t) plt->bundle[1]) / 16)) in patch_plt() 245 plt_target (struct plt_entry *plt) in plt_target() argument 247 uint64_t b0, b1, *b = (uint64_t *) plt->bundle[1]; in plt_target() 254 return (long) plt->bundle[1] + 16*off; in plt_target() 285 patch_plt (struct module *mod, struct plt_entry *plt, long target_ip, unsigned long target_gp) in patch_plt() argument 287 if (apply_imm64(mod, (struct insn *) (plt->bundle[0] + 2), target_ip) in patch_plt() 288 && apply_imm64(mod, (struct insn *) (plt->bundle[1] + 2), target_gp)) in patch_plt() [all …]
|
/arch/ia64/include/asm/ |
D | module.lds.h | 10 .core.plt : { BYTE(0) } 11 .init.plt : { BYTE(0) }
|
/arch/nios2/boot/compressed/ |
D | vmlinux.lds.S | 28 *(.got.plt) 29 *(.igot.plt)
|
/arch/nios2/kernel/ |
D | vmlinux.lds.S | 36 *(.got.plt) 37 *(.igot.plt)
|
/arch/arm64/include/asm/ |
D | module.lds.h | 6 .plt 0 : { BYTE(0) } 7 .init.plt 0 : { BYTE(0) }
|
/arch/parisc/boot/compressed/ |
D | vmlinux.lds.S | 36 .plt : { 37 *(.plt)
|
/arch/arm/vdso/ |
D | vdso.lds.S | 47 .rel.plt : { *(.rel.plt) }
|
/arch/arm64/kernel/vdso32/ |
D | vdso.lds.S | 43 .rel.plt : { *(.rel.plt) }
|
/arch/arm/boot/compressed/ |
D | vmlinux.lds.S | 71 .got.plt : { *(.got.plt) }
|
/arch/parisc/kernel/ |
D | vmlinux.lds.S | 123 .plt : { 124 *(.plt)
|
/arch/powerpc/kernel/vdso32/ |
D | vdso32.lds.S | 76 .plt : { *(.plt) }
|
/arch/s390/kernel/vdso64/ |
D | vdso64.lds.S | 54 .got.plt ALIGN(8) : { *(.got.plt) }
|