Lines Matching refs:sechdrs
236 static int reloc_insn_adrp(struct module *mod, Elf64_Shdr *sechdrs, in reloc_insn_adrp() argument
252 val = module_emit_veneer_for_adrp(mod, sechdrs, place, val & ~0xfff); in reloc_insn_adrp()
263 int apply_relocate_add(Elf64_Shdr *sechdrs, in apply_relocate_add() argument
275 Elf64_Rela *rel = (void *)sechdrs[relsec].sh_addr; in apply_relocate_add()
277 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocate_add()
279 loc = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr in apply_relocate_add()
283 sym = (Elf64_Sym *)sechdrs[symindex].sh_addr in apply_relocate_add()
409 ovf = reloc_insn_adrp(me, sechdrs, loc, val); in apply_relocate_add()
454 val = module_emit_plt_entry(me, sechdrs, loc, &rel[i], sym); in apply_relocate_add()
482 const Elf_Shdr *sechdrs, in find_section() argument
486 const char *secstrs = (void *)hdr + sechdrs[hdr->e_shstrndx].sh_offset; in find_section()
488 for (s = sechdrs, se = sechdrs + hdr->e_shnum; s < se; s++) { in find_section()
502 const Elf_Shdr *sechdrs, in module_init_ftrace_plt() argument
509 s = find_section(hdr, sechdrs, ".text.ftrace_trampoline"); in module_init_ftrace_plt()
525 static int module_init_hyp(const Elf_Ehdr *hdr, const Elf_Shdr *sechdrs, in module_init_hyp() argument
535 s = find_section(hdr, sechdrs, ".hyp.text"); in module_init_hyp()
544 s = find_section(hdr, sechdrs, ".hyp.reloc"); in module_init_hyp()
551 s = find_section(hdr, sechdrs, ".hyp.bss"); in module_init_hyp()
559 s = find_section(hdr, sechdrs, ".hyp.rodata"); in module_init_hyp()
567 s = find_section(hdr, sechdrs, ".hyp.data"); in module_init_hyp()
579 const Elf_Shdr *sechdrs, in module_finalize() argument
585 s = find_section(hdr, sechdrs, ".altinstructions"); in module_finalize()
590 s = find_section(hdr, sechdrs, ".init.eh_frame"); in module_finalize()
595 err = module_init_ftrace_plt(hdr, sechdrs, me); in module_finalize()
599 return module_init_hyp(hdr, sechdrs, me); in module_finalize()