Lines Matching refs:sechdrs
71 u64 module_emit_plt_entry(struct module *mod, Elf64_Shdr *sechdrs, in module_emit_plt_entry() argument
77 struct plt_entry *plt = (struct plt_entry *)sechdrs[pltsec->plt_shndx].sh_addr; in module_emit_plt_entry()
103 u64 module_emit_veneer_for_adrp(struct module *mod, Elf64_Shdr *sechdrs, in module_emit_veneer_for_adrp() argument
108 struct plt_entry *plt = (struct plt_entry *)sechdrs[pltsec->plt_shndx].sh_addr; in module_emit_veneer_for_adrp()
255 int module_frob_arch_sections(Elf_Ehdr *ehdr, Elf_Shdr *sechdrs, in module_frob_arch_sections() argument
269 if (!strcmp(secstrings + sechdrs[i].sh_name, ".plt")) in module_frob_arch_sections()
271 else if (!strcmp(secstrings + sechdrs[i].sh_name, ".init.plt")) in module_frob_arch_sections()
274 !strcmp(secstrings + sechdrs[i].sh_name, in module_frob_arch_sections()
276 tramp = sechdrs + i; in module_frob_arch_sections()
277 else if (sechdrs[i].sh_type == SHT_SYMTAB) in module_frob_arch_sections()
278 syms = (Elf64_Sym *)sechdrs[i].sh_addr; in module_frob_arch_sections()
291 Elf64_Rela *rels = (void *)ehdr + sechdrs[i].sh_offset; in module_frob_arch_sections()
292 int numrels = sechdrs[i].sh_size / sizeof(Elf64_Rela); in module_frob_arch_sections()
293 Elf64_Shdr *dstsec = sechdrs + sechdrs[i].sh_info; in module_frob_arch_sections()
295 if (sechdrs[i].sh_type != SHT_RELA) in module_frob_arch_sections()
307 sechdrs[i].sh_info, dstsec); in module_frob_arch_sections()
310 sechdrs[i].sh_info, dstsec); in module_frob_arch_sections()
313 pltsec = sechdrs + mod->arch.core.plt_shndx; in module_frob_arch_sections()
321 pltsec = sechdrs + mod->arch.init.plt_shndx; in module_frob_arch_sections()