Lines Matching refs:fptr
173 file_info_t *fptr; in file_info_new() local
178 if ((fptr = calloc(1, sizeof (file_info_t))) == NULL) in file_info_new()
181 list_link(fptr, &P->file_head); in file_info_new()
182 (void) strcpy(fptr->file_pname, mptr->map_pmap.pr_mapname); in file_info_new()
183 mptr->map_file = fptr; in file_info_new()
184 fptr->file_ref = 1; in file_info_new()
185 fptr->file_fd = -1; in file_info_new()
196 if ((fptr->file_saddrs = get_saddrs(P, mptr->map_pmap.pr_vaddr, in file_info_new()
197 &fptr->file_nsaddrs)) == NULL) in file_info_new()
198 return (fptr); in file_info_new()
202 while (mp < P->mappings + P->map_count && i < fptr->file_nsaddrs) { in file_info_new()
207 sstart = fptr->file_saddrs[i]; in file_info_new()
208 send = fptr->file_saddrs[i + 1]; in file_info_new()
222 mp->map_file = fptr; in file_info_new()
223 fptr->file_ref++; in file_info_new()
235 return (fptr); in file_info_new()
242 file_info_free(struct ps_prochandle *P, file_info_t *fptr) in file_info_free() argument
244 if (--fptr->file_ref == 0) { in file_info_free()
245 list_unlink(fptr); in file_info_free()
246 if (fptr->file_symtab.sym_elf) { in file_info_free()
247 (void) elf_end(fptr->file_symtab.sym_elf); in file_info_free()
248 free(fptr->file_symtab.sym_elfmem); in file_info_free()
250 if (fptr->file_symtab.sym_byname) in file_info_free()
251 free(fptr->file_symtab.sym_byname); in file_info_free()
252 if (fptr->file_symtab.sym_byaddr) in file_info_free()
253 free(fptr->file_symtab.sym_byaddr); in file_info_free()
255 if (fptr->file_dynsym.sym_elf) { in file_info_free()
256 (void) elf_end(fptr->file_dynsym.sym_elf); in file_info_free()
257 free(fptr->file_dynsym.sym_elfmem); in file_info_free()
259 if (fptr->file_dynsym.sym_byname) in file_info_free()
260 free(fptr->file_dynsym.sym_byname); in file_info_free()
261 if (fptr->file_dynsym.sym_byaddr) in file_info_free()
262 free(fptr->file_dynsym.sym_byaddr); in file_info_free()
264 if (fptr->file_lo) in file_info_free()
265 free(fptr->file_lo); in file_info_free()
266 if (fptr->file_lname) in file_info_free()
267 free(fptr->file_lname); in file_info_free()
268 if (fptr->file_rname) in file_info_free()
269 free(fptr->file_rname); in file_info_free()
270 if (fptr->file_elf) in file_info_free()
271 (void) elf_end(fptr->file_elf); in file_info_free()
272 if (fptr->file_elfmem != NULL) in file_info_free()
273 free(fptr->file_elfmem); in file_info_free()
274 if (fptr->file_fd >= 0) in file_info_free()
275 (void) close(fptr->file_fd); in file_info_free()
276 if (fptr->file_ctfp) { in file_info_free()
277 ctf_close(fptr->file_ctfp); in file_info_free()
278 free(fptr->file_ctf_buf); in file_info_free()
280 if (fptr->file_saddrs) in file_info_free()
281 free(fptr->file_saddrs); in file_info_free()
282 free(fptr); in file_info_free()
293 file_info_t *fptr; in map_info_free() local
295 if ((fptr = mptr->map_file) != NULL) { in map_info_free()
296 if (fptr->file_map == mptr) in map_info_free()
297 fptr->file_map = NULL; in map_info_free()
298 file_info_free(P, fptr); in map_info_free()
325 file_info_t *fptr; in map_iter() local
334 if ((fptr = mptr->map_file) == NULL && in map_iter()
335 (fptr = file_info_new(P, mptr)) == NULL) { in map_iter()
340 if ((fptr->file_lo == NULL) && in map_iter()
341 (fptr->file_lo = malloc(sizeof (rd_loadobj_t))) == NULL) { in map_iter()
343 file_info_free(P, fptr); in map_iter()
347 fptr->file_map = mptr; in map_iter()
348 *fptr->file_lo = *lop; in map_iter()
350 fptr->file_lo->rl_plt_base = fptr->file_plt_base; in map_iter()
351 fptr->file_lo->rl_plt_size = fptr->file_plt_size; in map_iter()
353 if (fptr->file_lname) { in map_iter()
354 free(fptr->file_lname); in map_iter()
355 fptr->file_lname = NULL; in map_iter()
356 fptr->file_lbase = NULL; in map_iter()
358 if (fptr->file_rname) { in map_iter()
359 free(fptr->file_rname); in map_iter()
360 fptr->file_rname = NULL; in map_iter()
361 fptr->file_rbase = NULL; in map_iter()
365 if ((fptr->file_lname = strdup(buf)) != NULL) in map_iter()
366 fptr->file_lbase = basename(fptr->file_lname); in map_iter()
373 ((fptr->file_rname = strdup(buf)) != NULL)) in map_iter()
374 fptr->file_rbase = basename(fptr->file_rname); in map_iter()
377 fptr->file_lname ? buf : "<NULL>", lop->rl_lmident); in map_iter()
384 file_info_t *fptr; in map_set() local
387 if ((fptr = mptr->map_file) == NULL && in map_set()
388 (fptr = file_info_new(P, mptr)) == NULL) in map_set()
391 fptr->file_map = mptr; in map_set()
393 if ((fptr->file_lo == NULL) && in map_set()
394 (fptr->file_lo = malloc(sizeof (rd_loadobj_t))) == NULL) { in map_set()
395 file_info_free(P, fptr); in map_set()
399 (void) memset(fptr->file_lo, 0, sizeof (rd_loadobj_t)); in map_set()
400 fptr->file_lo->rl_base = mptr->map_pmap.pr_vaddr; in map_set()
401 fptr->file_lo->rl_bend = in map_set()
404 fptr->file_lo->rl_plt_base = fptr->file_plt_base; in map_set()
405 fptr->file_lo->rl_plt_size = fptr->file_plt_size; in map_set()
407 if ((fptr->file_lname == NULL) && in map_set()
408 (fptr->file_lname = strdup(lname)) != NULL) in map_set()
409 fptr->file_lbase = basename(fptr->file_lname); in map_set()
412 ((fptr->file_rname = strdup(buf)) != NULL)) in map_set()
413 fptr->file_rbase = basename(fptr->file_rname); in map_set()
580 file_info_t *fptr; in Pupdate_syms() local
585 for (i = 0, fptr = list_next(&P->file_head); i < P->num_files; in Pupdate_syms()
586 i++, fptr = list_next(fptr)) { in Pupdate_syms()
587 Pbuild_file_symtab(P, fptr); in Pupdate_syms()
588 (void) Pbuild_file_ctf(P, fptr); in Pupdate_syms()
626 file_info_t *fptr = build_map_symtab(P, mptr); in Paddr_to_text_map() local
636 if (fptr != NULL && fptr->file_lo != NULL && in Paddr_to_text_map()
637 (fptr->file_lo->rl_data_base == NULL || in Paddr_to_text_map()
639 fptr->file_lo->rl_data_base)) in Paddr_to_text_map()
735 Pbuild_file_ctf(struct ps_prochandle *P, file_info_t *fptr) in Pbuild_file_ctf() argument
741 if (fptr->file_ctfp != NULL) in Pbuild_file_ctf()
742 return (fptr->file_ctfp); in Pbuild_file_ctf()
744 Pbuild_file_symtab(P, fptr); in Pbuild_file_ctf()
746 if (fptr->file_ctf_size == 0) in Pbuild_file_ctf()
749 symp = fptr->file_ctf_dyn ? &fptr->file_dynsym : &fptr->file_symtab; in Pbuild_file_ctf()
757 if (fptr->file_ctf_buf == NULL) { in Pbuild_file_ctf()
758 fptr->file_ctf_buf = malloc(fptr->file_ctf_size); in Pbuild_file_ctf()
759 if (fptr->file_ctf_buf == NULL) { in Pbuild_file_ctf()
764 if (pread(fptr->file_fd, fptr->file_ctf_buf, in Pbuild_file_ctf()
765 fptr->file_ctf_size, fptr->file_ctf_off) != in Pbuild_file_ctf()
766 fptr->file_ctf_size) { in Pbuild_file_ctf()
767 free(fptr->file_ctf_buf); in Pbuild_file_ctf()
768 fptr->file_ctf_buf = NULL; in Pbuild_file_ctf()
777 ctdata.cts_data = fptr->file_ctf_buf; in Pbuild_file_ctf()
778 ctdata.cts_size = fptr->file_ctf_size; in Pbuild_file_ctf()
782 symtab.cts_name = fptr->file_ctf_dyn ? ".dynsym" : ".symtab"; in Pbuild_file_ctf()
790 strtab.cts_name = fptr->file_ctf_dyn ? ".dynstr" : ".strtab"; in Pbuild_file_ctf()
798 fptr->file_ctfp = ctf_bufopen(&ctdata, &symtab, &strtab, &err); in Pbuild_file_ctf()
799 if (fptr->file_ctfp == NULL) { in Pbuild_file_ctf()
801 free(fptr->file_ctf_buf); in Pbuild_file_ctf()
802 fptr->file_ctf_buf = NULL; in Pbuild_file_ctf()
807 (ulong_t)fptr->file_ctf_size, fptr->file_pname); in Pbuild_file_ctf()
809 return (fptr->file_ctfp); in Pbuild_file_ctf()
816 file_info_t *fptr; in Paddr_to_ctf() local
822 (fptr = mptr->map_file) == NULL) in Paddr_to_ctf()
825 return (Pbuild_file_ctf(P, fptr)); in Paddr_to_ctf()
832 file_info_t *fptr; in Plmid_to_ctf() local
838 (fptr = mptr->map_file) == NULL) in Plmid_to_ctf()
841 return (Pbuild_file_ctf(P, fptr)); in Plmid_to_ctf()
943 is_mapping_in_file(struct ps_prochandle *P, map_info_t *mptr, file_info_t *fptr) in is_mapping_in_file() argument
946 rd_loadobj_t *lop = fptr->file_lo; in is_mapping_in_file()
975 if (fptr->file_saddrs == NULL && in is_mapping_in_file()
976 (fptr->file_saddrs = get_saddrs(P, in is_mapping_in_file()
977 fptr->file_map->map_pmap.pr_vaddr, &fptr->file_nsaddrs)) == NULL) in is_mapping_in_file()
982 for (i = 0; i < fptr->file_nsaddrs; i += 2) { in is_mapping_in_file()
984 sstart = fptr->file_saddrs[i]; in is_mapping_in_file()
985 send = fptr->file_saddrs[i + 1]; in is_mapping_in_file()
1000 file_info_t *fptr; in build_map_symtab() local
1003 if ((fptr = mptr->map_file) != NULL) { in build_map_symtab()
1004 Pbuild_file_symtab(P, fptr); in build_map_symtab()
1005 return (fptr); in build_map_symtab()
1015 for (i = 0, fptr = list_next(&P->file_head); i < P->num_files; in build_map_symtab()
1016 i++, fptr = list_next(fptr)) { in build_map_symtab()
1017 if (strcmp(fptr->file_pname, pmap->pr_mapname) == 0 && in build_map_symtab()
1018 fptr->file_lo && is_mapping_in_file(P, mptr, fptr)) { in build_map_symtab()
1019 mptr->map_file = fptr; in build_map_symtab()
1020 fptr->file_ref++; in build_map_symtab()
1021 Pbuild_file_symtab(P, fptr); in build_map_symtab()
1022 return (fptr); in build_map_symtab()
1033 if ((fptr = file_info_new(P, mptr)) == NULL) in build_map_symtab()
1042 fptr->file_map = mptr; in build_map_symtab()
1053 if (fptr->file_map == NULL) in build_map_symtab()
1054 fptr->file_map = mptr; in build_map_symtab()
1056 Pbuild_file_symtab(P, fptr); in build_map_symtab()
1058 return (fptr); in build_map_symtab()
1205 file_differs(struct ps_prochandle *P, Elf *elf, file_info_t *fptr) in file_differs() argument
1215 if (fptr->file_map == NULL) in file_differs()
1265 addr = fptr->file_map->map_pmap.pr_vaddr; in file_differs()
1348 fake_elf(struct ps_prochandle *P, file_info_t *fptr) in fake_elf() argument
1354 if (fptr->file_map == NULL) in fake_elf()
1361 addr = fptr->file_map->map_pmap.pr_vaddr; in fake_elf()
1371 elf = fake_elf32(P, fptr, addr, &ehdr, phnum, &phdr); in fake_elf()
1381 elf = fake_elf64(P, fptr, addr, &ehdr, phnum, &phdr); in fake_elf()
1591 build_fake_elf(struct ps_prochandle *P, file_info_t *fptr, GElf_Ehdr *ehdr, in build_fake_elf() argument
1598 if ((elf = fake_elf(P, fptr)) == NULL || in build_fake_elf()
1618 Pbuild_file_symtab(struct ps_prochandle *P, file_info_t *fptr) in Pbuild_file_symtab() argument
1637 if (fptr->file_init) in Pbuild_file_symtab()
1644 fptr->file_init = 1; in Pbuild_file_symtab()
1665 if (fptr->file_rname != NULL) in Pbuild_file_symtab()
1666 name = fptr->file_rname; in Pbuild_file_symtab()
1667 else if (fptr->file_lname != NULL) in Pbuild_file_symtab()
1668 name = fptr->file_lname; in Pbuild_file_symtab()
1670 name = fptr->file_pname; in Pbuild_file_symtab()
1675 procfs_path, (int)P->pid, fptr->file_pname); in Pbuild_file_symtab()
1687 fptr->file_pname); in Pbuild_file_symtab()
1689 if ((elf = build_fake_elf(P, fptr, &ehdr, &nshdrs, &shdata)) == in Pbuild_file_symtab()
1693 } else if ((fptr->file_fd = open(objectfile, O_RDONLY)) < 0) { in Pbuild_file_symtab()
1697 if ((elf = build_fake_elf(P, fptr, &ehdr, &nshdrs, &shdata)) == in Pbuild_file_symtab()
1701 } else if ((elf = elf_begin(fptr->file_fd, ELF_C_READ, NULL)) == NULL || in Pbuild_file_symtab()
1714 if ((elf = build_fake_elf(P, fptr, &ehdr, &nshdrs, &shdata)) == in Pbuild_file_symtab()
1718 } else if (file_differs(P, elf, fptr)) { in Pbuild_file_symtab()
1728 fptr->file_pname, in Pbuild_file_symtab()
1729 (ulong_t)fptr->file_map->map_pmap.pr_vaddr); in Pbuild_file_symtab()
1731 if ((newelf = build_fake_elf(P, fptr, &ehdr, &nshdrs, &shdata)) in Pbuild_file_symtab()
1745 fptr->file_class = ehdr.e_ident[EI_CLASS]; in Pbuild_file_symtab()
1746 fptr->file_etype = ehdr.e_type; in Pbuild_file_symtab()
1747 fptr->file_elf = elf; in Pbuild_file_symtab()
1748 fptr->file_shstrs = shdata->d_buf; in Pbuild_file_symtab()
1749 fptr->file_shstrsz = shdata->d_size; in Pbuild_file_symtab()
1786 &fptr->file_symtab : &fptr->file_dynsym; in Pbuild_file_symtab()
1815 if (fptr->file_dynsym.sym_data_aux == NULL) { in Pbuild_file_symtab()
1818 fptr->file_dynsym.sym_data_aux = cp->c_data; in Pbuild_file_symtab()
1819 fptr->file_dynsym.sym_symn_aux = in Pbuild_file_symtab()
1821 fptr->file_dynsym.sym_symn += in Pbuild_file_symtab()
1822 fptr->file_dynsym.sym_symn_aux; in Pbuild_file_symtab()
1823 fptr->file_dynsym.sym_hdr_aux = cp->c_shdr; in Pbuild_file_symtab()
1855 optimize_symtab(&fptr->file_symtab); in Pbuild_file_symtab()
1856 optimize_symtab(&fptr->file_dynsym); in Pbuild_file_symtab()
1862 if (fptr->file_etype == ET_DYN) { in Pbuild_file_symtab()
1863 fptr->file_dyn_base = fptr->file_map->map_pmap.pr_vaddr - in Pbuild_file_symtab()
1864 fptr->file_map->map_pmap.pr_offset; in Pbuild_file_symtab()
1866 objectfile, (long)fptr->file_dyn_base); in Pbuild_file_symtab()
1873 fptr->file_ctf_off = ctf->c_shdr.sh_offset; in Pbuild_file_symtab()
1874 fptr->file_ctf_size = ctf->c_shdr.sh_size; in Pbuild_file_symtab()
1877 fptr->file_ctf_dyn = 1; in Pbuild_file_symtab()
1880 if (fptr->file_lo == NULL) in Pbuild_file_symtab()
1887 if (fptr->file_etype == ET_DYN && in Pbuild_file_symtab()
1888 fptr->file_lo->rl_base != fptr->file_dyn_base) { in Pbuild_file_symtab()
1890 objectfile, (long)fptr->file_lo->rl_base); in Pbuild_file_symtab()
1891 fptr->file_dyn_base = fptr->file_lo->rl_base; in Pbuild_file_symtab()
1897 if (sym_by_name(&fptr->file_dynsym, "_PROCEDURE_LINKAGE_TABLE_", &s, in Pbuild_file_symtab()
1899 fptr->file_plt_base = s.st_value + fptr->file_dyn_base; in Pbuild_file_symtab()
1900 fptr->file_plt_size = (plt != NULL) ? plt->c_shdr.sh_size : 0; in Pbuild_file_symtab()
1908 fptr->file_lo->rl_plt_base = fptr->file_plt_base; in Pbuild_file_symtab()
1909 fptr->file_lo->rl_plt_size = fptr->file_plt_size; in Pbuild_file_symtab()
1912 (void *)fptr->file_plt_base, (ulong_t)fptr->file_plt_size); in Pbuild_file_symtab()
1919 uintptr_t dynaddr = dyn->c_shdr.sh_addr + fptr->file_dyn_base; in Pbuild_file_symtab()
1931 fptr->file_jmp_rel = in Pbuild_file_symtab()
1932 d.d_un.d_ptr + fptr->file_dyn_base; in Pbuild_file_symtab()
1958 (void *)dynaddr, (ulong_t)ndyn, (void *)fptr->file_jmp_rel); in Pbuild_file_symtab()
1970 fptr->file_elf = NULL; in Pbuild_file_symtab()
1971 if (fptr->file_elfmem != NULL) { in Pbuild_file_symtab()
1972 free(fptr->file_elfmem); in Pbuild_file_symtab()
1973 fptr->file_elfmem = NULL; in Pbuild_file_symtab()
1975 (void) close(fptr->file_fd); in Pbuild_file_symtab()
1976 fptr->file_fd = -1; in Pbuild_file_symtab()
2019 file_info_t *fptr; in exec_map() local
2026 if ((fptr = mptr->map_file) != NULL && in exec_map()
2027 fptr->file_lo != NULL) { in exec_map()
2028 base = fptr->file_lo->rl_base; in exec_map()
2434 file_info_t *fptr; in i_Pxlookup_by_addr() local
2439 (fptr = build_map_symtab(P, mptr)) == NULL || /* no mapped file */ in i_Pxlookup_by_addr()
2440 fptr->file_elf == NULL) /* not an ELF file */ in i_Pxlookup_by_addr()
2447 addr -= fptr->file_dyn_base; in i_Pxlookup_by_addr()
2452 if ((sym1p = sym_by_addr(&fptr->file_symtab, addr, &sym1, &i1)) != NULL) in i_Pxlookup_by_addr()
2453 name1 = fptr->file_symtab.sym_strs + sym1.st_name; in i_Pxlookup_by_addr()
2454 if ((sym2p = sym_by_addr(&fptr->file_dynsym, addr, &sym2, &i2)) != NULL) in i_Pxlookup_by_addr()
2455 name2 = fptr->file_dynsym.sym_strs + sym2.st_name; in i_Pxlookup_by_addr()
2469 if (lmresolve && (fptr->file_rname != NULL)) in i_Pxlookup_by_addr()
2470 sip->prs_object = fptr->file_rbase; in i_Pxlookup_by_addr()
2472 sip->prs_object = fptr->file_lbase; in i_Pxlookup_by_addr()
2475 sip->prs_lmid = (fptr->file_lo == NULL) ? LM_ID_BASE : in i_Pxlookup_by_addr()
2476 fptr->file_lo->rl_lmident; in i_Pxlookup_by_addr()
2480 symbolp->st_value += fptr->file_dyn_base; in i_Pxlookup_by_addr()
2522 file_info_t *fptr; in Pxlookup_by_name() local
2534 fptr = list_next(&P->file_head); in Pxlookup_by_name()
2538 (fptr = build_map_symtab(P, mptr)) == NULL) in Pxlookup_by_name()
2549 for (; cnt > 0; cnt--, fptr = list_next(fptr)) { in Pxlookup_by_name()
2550 Pbuild_file_symtab(P, fptr); in Pxlookup_by_name()
2552 if (fptr->file_elf == NULL) in Pxlookup_by_name()
2555 if (lmid != PR_LMID_EVERY && fptr->file_lo != NULL && in Pxlookup_by_name()
2556 lmid != fptr->file_lo->rl_lmident) in Pxlookup_by_name()
2559 if (fptr->file_symtab.sym_data_pri != NULL && in Pxlookup_by_name()
2560 sym_by_name(&fptr->file_symtab, sname, symp, &id)) { in Pxlookup_by_name()
2566 sip->prs_lmid = fptr->file_lo == NULL ? in Pxlookup_by_name()
2567 LM_ID_BASE : fptr->file_lo->rl_lmident; in Pxlookup_by_name()
2569 } else if (fptr->file_dynsym.sym_data_pri != NULL && in Pxlookup_by_name()
2570 sym_by_name(&fptr->file_dynsym, sname, symp, &id)) { in Pxlookup_by_name()
2576 sip->prs_lmid = fptr->file_lo == NULL ? in Pxlookup_by_name()
2577 LM_ID_BASE : fptr->file_lo->rl_lmident; in Pxlookup_by_name()
2584 symp->st_value += fptr->file_dyn_base; in Pxlookup_by_name()
2625 file_info_t *fptr; in i_Pmapping_iter() local
2634 if ((fptr = mptr->map_file) == NULL) in i_Pmapping_iter()
2636 else if (lmresolve && (fptr->file_rname != NULL)) in i_Pmapping_iter()
2637 object_name = fptr->file_rname; in i_Pmapping_iter()
2639 object_name = fptr->file_lname; in i_Pmapping_iter()
2666 file_info_t *fptr; in i_Pobject_iter() local
2673 for (cnt = P->num_files, fptr = list_next(&P->file_head); in i_Pobject_iter()
2674 cnt; cnt--, fptr = list_next(fptr)) { in i_Pobject_iter()
2677 if (lmresolve && (fptr->file_rname != NULL)) in i_Pobject_iter()
2678 lname = fptr->file_rname; in i_Pobject_iter()
2679 else if (fptr->file_lname != NULL) in i_Pobject_iter()
2680 lname = fptr->file_lname; in i_Pobject_iter()
2684 if ((mptr = fptr->file_map) == NULL) in i_Pobject_iter()
2713 file_info_t *fptr; in i_Pobjname() local
2722 if (((fptr = mptr->map_file) == NULL) || in i_Pobjname()
2723 (fptr->file_lname == NULL)) in i_Pobjname()
2725 (void) strlcpy(buffer, fptr->file_lname, bufsize); in i_Pobjname()
2771 file_info_t *fptr; in Plmid() local
2777 (fptr = mptr->map_file) != NULL && fptr->file_lo != NULL) { in Plmid()
2778 *lmidp = fptr->file_lo->rl_lmident; in Plmid()
2801 file_info_t *fptr; in Psymbol_iter_com() local
2813 if ((fptr = build_map_symtab(P, mptr)) == NULL || /* no mapped file */ in Psymbol_iter_com()
2814 fptr->file_elf == NULL) /* not an ELF file */ in Psymbol_iter_com()
2822 symtab = &fptr->file_symtab; in Psymbol_iter_com()
2826 symtab = &fptr->file_dynsym; in Psymbol_iter_com()
2834 si.prs_lmid = fptr->file_lo == NULL ? in Psymbol_iter_com()
2835 LM_ID_BASE : fptr->file_lo->rl_lmident; in Psymbol_iter_com()
2890 sym.st_value += fptr->file_dyn_base; in Psymbol_iter_com()
2899 fptr->file_shstrs != NULL && in Psymbol_iter_com()
2900 gelf_getshdr(elf_getscn(fptr->file_elf, in Psymbol_iter_com()
2903 shdr.sh_name < fptr->file_shstrsz) in Psymbol_iter_com()
2904 si.prs_name = fptr->file_shstrs + shdr.sh_name; in Psymbol_iter_com()