Lines Matching refs:sechdrs
268 CONST Elf_Shdr *sechdrs, in module_frob_arch_sections() argument
282 const Elf_Rela *rels = (void *)sechdrs[i].sh_addr; in module_frob_arch_sections()
283 unsigned long nrels = sechdrs[i].sh_size / sizeof(*rels); in module_frob_arch_sections()
286 if (strncmp(secstrings + sechdrs[i].sh_name, in module_frob_arch_sections()
290 if (sechdrs[i].sh_type != SHT_RELA) in module_frob_arch_sections()
310 s = sechdrs[i].sh_info; in module_frob_arch_sections()
489 int apply_relocate_add(Elf_Shdr *sechdrs, in apply_relocate_add() argument
496 Elf32_Rela *rel = (void *)sechdrs[relsec].sh_addr; in apply_relocate_add()
503 unsigned int targetsec = sechdrs[relsec].sh_info; in apply_relocate_add()
509 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocate_add()
511 loc = (void *)sechdrs[targetsec].sh_addr in apply_relocate_add()
514 loc0 = sechdrs[targetsec].sh_addr; in apply_relocate_add()
516 sym = (Elf32_Sym *)sechdrs[symindex].sh_addr in apply_relocate_add()
634 int apply_relocate_add(Elf_Shdr *sechdrs, in apply_relocate_add() argument
641 Elf64_Rela *rel = (void *)sechdrs[relsec].sh_addr; in apply_relocate_add()
649 unsigned int targetsec = sechdrs[relsec].sh_info; in apply_relocate_add()
653 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocate_add()
655 loc = (void *)sechdrs[targetsec].sh_addr in apply_relocate_add()
658 loc0 = sechdrs[targetsec].sh_addr; in apply_relocate_add()
660 sym = (Elf64_Sym *)sechdrs[symindex].sh_addr in apply_relocate_add()
803 const Elf_Shdr *sechdrs) in register_unwind_table() argument
811 table = (unsigned char *)sechdrs[me->arch.unwind_section].sh_addr; in register_unwind_table()
812 end = table + sechdrs[me->arch.unwind_section].sh_size; in register_unwind_table()
828 const Elf_Shdr *sechdrs, in module_finalize() argument
855 register_unwind_table(me, sechdrs); in module_finalize()
860 if(sechdrs[i].sh_type == SHT_SYMTAB in module_finalize()
861 && (sechdrs[i].sh_flags & SHF_ALLOC)) { in module_finalize()
862 int strindex = sechdrs[i].sh_link; in module_finalize()
867 symhdr = (Elf_Shdr *)&sechdrs[i]; in module_finalize()
868 strtab = (char *)sechdrs[strindex].sh_addr; in module_finalize()
911 secstrings = (void *)hdr + sechdrs[hdr->e_shstrndx].sh_offset; in module_finalize()
912 for (s = sechdrs; s < sechdrs + hdr->e_shnum; s++) { in module_finalize()
928 err = apply_relocate((Elf_Shdr *)sechdrs, in module_finalize()
930 s - sechdrs, me); in module_finalize()
932 err = apply_relocate_add((Elf_Shdr *)sechdrs, in module_finalize()
934 s - sechdrs, me); in module_finalize()