/Linux-v5.4/arch/arm/kernel/ |
D | module-plts.c | 41 struct plt_entries *plt = (struct plt_entries *)pltsec->plt->sh_addr; in get_module_plt() local 50 plt += (pltsec->plt_count - 1) / PLT_ENT_COUNT; in get_module_plt() 53 if (plt->lit[idx] == val) in get_module_plt() 54 return (u32)&plt->ldr[idx]; in get_module_plt() 58 plt++; in get_module_plt() 62 BUG_ON(pltsec->plt_count * PLT_ENT_SIZE > pltsec->plt->sh_size); in get_module_plt() 66 *plt = (struct plt_entries){ in get_module_plt() 71 plt->lit[idx] = val; in get_module_plt() 73 return (u32)&plt->ldr[idx]; in get_module_plt() 202 mod->arch.core.plt = s; in module_frob_arch_sections() [all …]
|
D | module.lds | 3 .plt : { BYTE(0) } 4 .init.plt : { BYTE(0) }
|
/Linux-v5.4/drivers/net/phy/ |
D | phy_led_triggers.c | 31 struct phy_led_trigger *plt; in phy_led_trigger_change_speed() local 39 plt = phy_speed_to_led_trigger(phy, phy->speed); in phy_led_trigger_change_speed() 40 if (!plt) { in phy_led_trigger_change_speed() 47 if (plt != phy->last_triggered) { in phy_led_trigger_change_speed() 54 led_trigger_event(&plt->trigger, LED_FULL); in phy_led_trigger_change_speed() 55 phy->last_triggered = plt; in phy_led_trigger_change_speed() 68 struct phy_led_trigger *plt, in phy_led_trigger_register() argument 71 plt->speed = speed; in phy_led_trigger_register() 72 phy_led_trigger_format_name(phy, plt->name, sizeof(plt->name), in phy_led_trigger_register() 74 plt->trigger.name = plt->name; in phy_led_trigger_register() [all …]
|
/Linux-v5.4/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 …]
|
D | module.lds | 5 .plt (NOLOAD) : { BYTE(0) } 7 .got.plt (NOLOAD) : { BYTE(0) }
|
/Linux-v5.4/arch/arm64/kernel/ |
D | module-plts.c | 26 struct plt_entry plt; in get_plt_entry() local 33 plt = __get_adrp_add_pair(dst, (u64)pc, AARCH64_INSN_REG_16); in get_plt_entry() 34 plt.br = cpu_to_le32(br); in get_plt_entry() 36 return plt; in get_plt_entry() 77 struct plt_entry *plt = (struct plt_entry *)sechdrs[pltsec->plt_shndx].sh_addr; in module_emit_plt_entry() local 82 if (is_forbidden_offset_for_adrp(&plt[i].adrp)) in module_emit_plt_entry() 85 plt[i] = get_plt_entry(val, &plt[i]); in module_emit_plt_entry() 92 if (j >= 0 && plt_entries_equal(plt + i, plt + j)) in module_emit_plt_entry() 93 return (u64)&plt[j]; in module_emit_plt_entry() 99 return (u64)&plt[i]; in module_emit_plt_entry() [all …]
|
D | module.lds | 2 .plt (NOLOAD) : { BYTE(0) } 3 .init.plt (NOLOAD) : { BYTE(0) }
|
/Linux-v5.4/arch/um/kernel/ |
D | uml.lds.S | 53 .rel.plt : { 54 *(.rel.plt) 59 .rela.plt : { 60 *(.rela.plt) 91 .got : { *(.got.plt) *(.got) }
|
D | dyn.lds.S | 51 .rel.plt : { 52 *(.rel.plt) 57 .rela.plt : { 58 *(.rela.plt) 66 .plt : { *(.plt) } 147 .got : { *(.got.plt) *(.got) }
|
/Linux-v5.4/arch/riscv/include/asm/ |
D | module.h | 24 struct mod_section plt; member 66 unsigned long plt, in emit_plt_entry() argument 81 unsigned long offset = got_plt - plt; in emit_plt_entry() 106 struct plt_entry *plt = (struct plt_entry *)sec_plt->shdr->sh_addr; in get_plt_entry() local 109 return plt + got_plt_idx; in get_plt_entry()
|
/Linux-v5.4/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 …]
|
/Linux-v5.4/arch/unicore32/boot/compressed/ |
D | vmlinux.lds.S | 47 .got.plt : { *(.got.plt) }
|
/Linux-v5.4/arch/nios2/boot/compressed/ |
D | vmlinux.lds.S | 28 *(.got.plt) 29 *(.igot.plt)
|
/Linux-v5.4/arch/ia64/ |
D | module.lds | 10 .core.plt : { BYTE(0) } 11 .init.plt : { BYTE(0) }
|
/Linux-v5.4/arch/nios2/kernel/ |
D | vmlinux.lds.S | 36 *(.got.plt) 37 *(.igot.plt)
|
/Linux-v5.4/arch/parisc/boot/compressed/ |
D | vmlinux.lds.S | 36 .plt : { 37 *(.plt)
|
/Linux-v5.4/arch/arm/vdso/ |
D | vdso.lds.S | 47 .rel.plt : { *(.rel.plt) }
|
/Linux-v5.4/arch/arm64/kernel/vdso32/ |
D | vdso.lds.S | 40 .rel.plt : { *(.rel.plt) }
|
/Linux-v5.4/arch/arm/boot/compressed/ |
D | vmlinux.lds.S | 66 .got.plt : { *(.got.plt) }
|
/Linux-v5.4/arch/parisc/kernel/ |
D | vmlinux.lds.S | 122 .plt : { 123 *(.plt)
|
/Linux-v5.4/arch/powerpc/kernel/vdso32/ |
D | vdso32.lds.S | 65 .plt : { *(.plt) }
|
/Linux-v5.4/arch/powerpc/kernel/ |
D | vmlinux.lds.S | 317 *(.got.plt) *(.got) 318 *(.plt) 391 *(.glink .iplt .plt .rela* .comment)
|
/Linux-v5.4/arch/xtensa/boot/boot-redboot/ |
D | boot.ld | 27 *(.got.plt)
|
/Linux-v5.4/arch/arm/include/asm/ |
D | module.h | 23 struct elf32_shdr *plt; member
|
/Linux-v5.4/arch/x86/boot/compressed/ |
D | vmlinux.lds.S | 47 KEEP(*(.got.plt))
|