Lines Matching defs:shdrp
179 Elf_Shdr *shdrp = NULL;
195 if ((shdrp = xmalloc(shdrsize, fn, "section header table")) == NULL)
197 if (xreadatoff(fd, shdrp, ehdr.e_shoff, shdrsize, fn) != shdrsize)
205 if (shdrp[i].sh_offset > maxoff) {
206 maxoff = shdrp[i].sh_offset;
208 switch (shdrp[i].sh_type) {
215 strtabsnum = shdrp[i].sh_link;
216 stroff = shdrp[strtabsnum].sh_offset;
245 if ((symtabp = xmalloc(shdrp[symtabsnum].sh_size, fn, "symbol table"))
248 if ((size_t)xreadatoff(fd, symtabp, shdrp[symtabsnum].sh_offset,
249 shdrp[symtabsnum].sh_size, fn) != shdrp[symtabsnum].sh_size)
253 if ((strtabp = xmalloc(shdrp[strtabsnum].sh_size, fn, "string table"))
256 if ((size_t)xreadatoff(fd, strtabp, shdrp[strtabsnum].sh_offset,
257 shdrp[strtabsnum].sh_size, fn) != shdrp[strtabsnum].sh_size)
260 nsyms = shdrp[symtabsnum].sh_size / shdrp[symtabsnum].sh_entsize;
304 shdrp[strtabsnum].sh_size = nstrtab_nextoff;
309 if (xwriteatoff(fd, shdrp, ehdr.e_shoff, shdrsize, fn) != shdrsize)
311 if ((size_t)xwriteatoff(fd, symtabp, shdrp[symtabsnum].sh_offset,
312 shdrp[symtabsnum].sh_size, fn) != shdrp[symtabsnum].sh_size)
314 if ((size_t)xwriteatoff(fd, nstrtabp, shdrp[strtabsnum].sh_offset,
315 shdrp[strtabsnum].sh_size, fn) != shdrp[strtabsnum].sh_size)
319 if (shdrp != NULL)
320 free(shdrp);