Lines Matching defs:sechdrs

108 	vfree(pi->sechdrs);
109 pi->sechdrs = NULL;
837 const Elf_Shdr *sechdrs;
843 sechdrs = (void *)pi->ehdr + pi->ehdr->e_shoff;
848 if (!(sechdrs[i].sh_flags & SHF_ALLOC))
851 align = sechdrs[i].sh_addralign;
852 if (sechdrs[i].sh_type != SHT_NOBITS) {
856 kbuf->bufsz += sechdrs[i].sh_size;
861 bss_sz += sechdrs[i].sh_size;
886 * kexec_purgatory_setup_sechdrs - prepares the pi->sechdrs buffer.
901 Elf_Shdr *sechdrs;
909 sechdrs = vzalloc(sechdrs_size);
910 if (!sechdrs)
912 memcpy(sechdrs, (void *)pi->ehdr + pi->ehdr->e_shoff, sechdrs_size);
913 pi->sechdrs = sechdrs;
923 if (!(sechdrs[i].sh_flags & SHF_ALLOC))
926 align = sechdrs[i].sh_addralign;
927 if (sechdrs[i].sh_type == SHT_NOBITS) {
929 sechdrs[i].sh_addr = bss_addr;
930 bss_addr += sechdrs[i].sh_size;
946 if (sechdrs[i].sh_flags & SHF_EXECINSTR &&
947 pi->ehdr->e_entry >= sechdrs[i].sh_addr &&
948 pi->ehdr->e_entry < (sechdrs[i].sh_addr
949 + sechdrs[i].sh_size) &&
951 kbuf->image->start -= sechdrs[i].sh_addr;
955 src = (void *)pi->ehdr + sechdrs[i].sh_offset;
957 memcpy(dst, src, sechdrs[i].sh_size);
959 sechdrs[i].sh_addr = kbuf->mem + offset;
960 sechdrs[i].sh_offset = offset;
961 offset += sechdrs[i].sh_size;
971 const Elf_Shdr *sechdrs;
973 sechdrs = (void *)pi->ehdr + pi->ehdr->e_shoff;
980 relsec = sechdrs + i;
996 section = pi->sechdrs + relsec->sh_info;
997 symtab = sechdrs + relsec->sh_link;
1032 * Allocates the memory needed for image->purgatory_info.sechdrs and
1062 vfree(pi->sechdrs);
1063 pi->sechdrs = NULL;
1080 const Elf_Shdr *sechdrs;
1090 sechdrs = (void *)ehdr + ehdr->e_shoff;
1093 if (sechdrs[i].sh_type != SHT_SYMTAB)
1096 if (sechdrs[i].sh_link >= ehdr->e_shnum)
1099 strtab = (void *)ehdr + sechdrs[sechdrs[i].sh_link].sh_offset;
1100 syms = (void *)ehdr + sechdrs[i].sh_offset;
1103 for (k = 0; k < sechdrs[i].sh_size/sizeof(Elf_Sym); k++) {
1135 sechdr = &pi->sechdrs[sym->st_shndx];
1166 sec = pi->sechdrs + sym->st_shndx;