• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/src/linux/linux-2.6/arch/ia64/kernel/

Lines Matching refs:plt

239 patch_plt (struct module *mod, struct plt_entry *plt, long target_ip, unsigned long target_gp)
241 if (apply_imm64(mod, (struct insn *) (plt->bundle[0] + 2), target_gp)
242 && apply_imm60(mod, (struct insn *) (plt->bundle[1] + 2),
243 (target_ip - (int64_t) plt->bundle[1]) / 16))
249 plt_target (struct plt_entry *plt)
251 uint64_t b0, b1, *b = (uint64_t *) plt->bundle[1];
258 return (long) plt->bundle[1] + 16*off;
289 patch_plt (struct module *mod, struct plt_entry *plt, long target_ip, unsigned long target_gp)
291 if (apply_imm64(mod, (struct insn *) (plt->bundle[0] + 2), target_ip)
292 && apply_imm64(mod, (struct insn *) (plt->bundle[1] + 2), target_gp))
298 plt_target (struct plt_entry *plt)
300 uint64_t b0, b1, *b = (uint64_t *) plt->bundle[0];
446 if (strcmp(".core.plt", secstrings + s->sh_name) == 0)
448 else if (strcmp(".init.plt", secstrings + s->sh_name) == 0)
494 DEBUGP("%s: core.plt=%lx, init.plt=%lx, got=%lx, fdesc=%lx\n",
554 struct plt_entry *plt, *plt_end;
561 plt = (void *) mod->arch.init_plt->sh_addr;
562 plt_end = (void *) plt + mod->arch.init_plt->sh_size;
564 plt = (void *) mod->arch.core_plt->sh_addr;
565 plt_end = (void *) plt + mod->arch.core_plt->sh_size;
573 while (plt->bundle[0][0]) {
574 if (plt_target(plt) == target_ip)
576 if (++plt >= plt_end)
579 *plt = ia64_plt_template;
580 if (!patch_plt(mod, plt, target_ip, target_gp)) {
585 if (plt_target(plt) != target_ip) {
587 __FUNCTION__, target_ip, plt_target(plt));
593 return (uint64_t) plt;
661 * if the branch won't reach, then allocate a plt for it.