Lines Matching refs:symp
738 sym_tbl_t *symp;
749 symp = fptr->file_ctf_dyn ? &fptr->file_dynsym : &fptr->file_symtab;
750 if (symp->sym_data_pri == NULL)
783 symtab.cts_type = symp->sym_hdr_pri.sh_type;
784 symtab.cts_flags = symp->sym_hdr_pri.sh_flags;
785 symtab.cts_data = symp->sym_data_pri->d_buf;
786 symtab.cts_size = symp->sym_hdr_pri.sh_size;
787 symtab.cts_entsize = symp->sym_hdr_pri.sh_entsize;
788 symtab.cts_offset = symp->sym_hdr_pri.sh_offset;
791 strtab.cts_type = symp->sym_strhdr.sh_type;
792 strtab.cts_flags = symp->sym_strhdr.sh_flags;
793 strtab.cts_data = symp->sym_strs;
794 strtab.cts_size = symp->sym_strhdr.sh_size;
795 strtab.cts_entsize = symp->sym_strhdr.sh_entsize;
796 strtab.cts_offset = symp->sym_strhdr.sh_offset;
1505 GElf_Sym *symp, *syms;
1516 symp = syms = malloc(sizeof (GElf_Sym) * symn);
1517 if (symp == NULL) {
1527 for (i = 0, count = 0; i < symn; i++, symp++) {
1528 if (symtab_getsym(symtab, i, symp) != NULL &&
1529 symp->st_name < strsz &&
1530 IS_DATA_TYPE(GELF_ST_TYPE(symp->st_info)))
1533 symp->st_name = strsz;
1554 for (i = 0, symp = syms; i < symn; i++, symp++) {
1555 if (symp->st_name < strsz)
1785 sym_tbl_t *symp = shp->sh_type == SHT_SYMTAB ?
1797 if (symp->sym_data_pri == NULL) {
1800 symp->sym_data_pri = cp->c_data;
1801 symp->sym_symn +=
1803 symp->sym_strs =
1805 symp->sym_strsz =
1807 symp->sym_hdr_pri = cp->c_shdr;
1808 symp->sym_strhdr = cache[shp->sh_link].c_shdr;
2201 sym_by_addr_binary(sym_tbl_t *symtab, GElf_Addr addr, GElf_Sym *symp,
2260 *symp = sym;
2263 return (symp);
2275 GElf_Sym sym, *symp = NULL;
2283 if ((symp = symtab_getsym(symtab, i, &sym)) != NULL) {
2287 symp = sym_prefer(
2288 symp, strs + symp->st_name,
2290 if (symp != osymp) {
2316 sym_by_addr(sym_tbl_t *symtab, GElf_Addr addr, GElf_Sym *symp, uint_t *idp)
2319 return (sym_by_addr_linear(symtab, addr, symp, idp));
2321 return (sym_by_addr_binary(symtab, addr, symp, idp));
2329 sym_by_name_binary(sym_tbl_t *symtab, const char *name, GElf_Sym *symp,
2347 (void) symtab_getsym(symtab, i, symp);
2349 if ((cmp = strcmp(name, strs + symp->st_name)) == 0) {
2352 return (symp);
2368 sym_by_name_linear(sym_tbl_t *symtab, const char *name, GElf_Sym *symp,
2379 if (symtab_getsym(symtab, i, symp) &&
2380 strcmp(name, strs + symp->st_name) == 0) {
2383 return (symp);
2397 sym_by_name(sym_tbl_t *symtab, const char *name, GElf_Sym *symp, uint_t *idp)
2400 return (sym_by_name_linear(symtab, name, symp, idp));
2402 return (sym_by_name_binary(symtab, name, symp, idp));
2425 GElf_Sym *symp;
2457 if ((symp = sym_prefer(sym1p, name1, sym2p, name2)) == NULL)
2460 name = (symp == sym1p) ? name1 : name2;
2466 *symbolp = *symp;
2473 sip->prs_id = (symp == sym1p) ? i1 : i2;
2474 sip->prs_table = (symp == sym1p) ? PR_SYMTAB : PR_DYNSYM;
2487 size_t bufsize, GElf_Sym *symp, prsyminfo_t *sip)
2489 return (i_Pxlookup_by_addr(P, B_FALSE, addr, buf, bufsize, symp, sip));
2494 size_t bufsize, GElf_Sym *symp, prsyminfo_t *sip)
2496 return (i_Pxlookup_by_addr(P, B_TRUE, addr, buf, bufsize, symp, sip));
2501 size_t size, GElf_Sym *symp)
2503 return (i_Pxlookup_by_addr(P, B_FALSE, addr, buf, size, symp, NULL));
2518 GElf_Sym *symp, /* returned symbol table entry */
2560 sym_by_name(&fptr->file_symtab, sname, symp, &id)) {
2570 sym_by_name(&fptr->file_dynsym, sname, symp, &id)) {
2583 if (GELF_ST_TYPE(symp->st_info) != STT_TLS)
2584 symp->st_value += fptr->file_dyn_base;
2586 if (symp->st_shndx != SHN_UNDEF)
2592 sym = *symp;
2600 *symp = sym;
2612 const char *symbol, GElf_Sym *symp)
2614 return (Pxlookup_by_name(P, PR_LMID_EVERY, object, symbol, symp, NULL));