/freebsd/cddl/contrib/opensolaris/lib/libdtrace/powerpc/ |
H A D | dt_isadep.c | 43 fasttrap_probe_spec_t *ftp, const GElf_Sym *symp) in dt_pid_create_entry_probe() argument 46 ftp->ftps_pc = (uintptr_t)symp->st_value; in dt_pid_create_entry_probe() 47 ftp->ftps_size = (size_t)symp->st_size; in dt_pid_create_entry_probe() 62 fasttrap_probe_spec_t *ftp, const GElf_Sym *symp, uint64_t *stret) in dt_pid_create_return_probe() argument 70 if ((text = malloc(symp->st_size + 4)) == NULL) { in dt_pid_create_return_probe() 75 if (Pread(P, text, symp->st_size, symp->st_value) != symp->st_size) { in dt_pid_create_return_probe() 85 text[symp->st_size / 4] = 0; in dt_pid_create_return_probe() 88 ftp->ftps_pc = symp->st_value; in dt_pid_create_return_probe() 89 ftp->ftps_size = symp->st_size; in dt_pid_create_return_probe() 92 for (i = 0; i < symp->st_size / 4; i++) { in dt_pid_create_return_probe() [all …]
|
/freebsd/cddl/contrib/opensolaris/lib/libdtrace/i386/ |
H A D | dt_isadep.c | 67 fasttrap_probe_spec_t *ftp, const GElf_Sym *symp) in dt_pid_create_entry_probe() argument 70 ftp->ftps_pc = (uintptr_t)symp->st_value; in dt_pid_create_entry_probe() 71 ftp->ftps_size = (size_t)symp->st_size; in dt_pid_create_entry_probe() 86 uint8_t *text, fasttrap_probe_spec_t *ftp, const GElf_Sym *symp) in dt_pid_has_jump_table() argument 104 size = dt_instr_size(&text[i], dtp, pid, symp->st_value + i, in dt_pid_has_jump_table() 137 fasttrap_probe_spec_t *ftp, const GElf_Sym *symp, uint64_t *stret) in dt_pid_create_return_probe() argument 154 if ((text = calloc(1, symp->st_size + 4)) == NULL) { in dt_pid_create_return_probe() 159 if (Pread(P, text, symp->st_size, symp->st_value) != symp->st_size) { in dt_pid_create_return_probe() 166 ftp->ftps_pc = (uintptr_t)symp->st_value; in dt_pid_create_return_probe() 167 ftp->ftps_size = (size_t)symp->st_size; in dt_pid_create_return_probe() [all …]
|
/freebsd/cddl/contrib/opensolaris/lib/libdtrace/arm/ |
H A D | dt_isadep.c | 61 fasttrap_probe_spec_t *ftp, const GElf_Sym *symp) in dt_pid_create_entry_probe() argument 64 ftp->ftps_pc = (uintptr_t)symp->st_value; in dt_pid_create_entry_probe() 65 ftp->ftps_size = (size_t)symp->st_size; in dt_pid_create_entry_probe() 80 fasttrap_probe_spec_t *ftp, const GElf_Sym *symp, uint64_t *stret) in dt_pid_create_return_probe() argument 90 if ((text = malloc(symp->st_size + 4)) == NULL) { in dt_pid_create_return_probe() 95 if (Pread(P, text, symp->st_size, symp->st_value) != symp->st_size) { in dt_pid_create_return_probe() 105 text[symp->st_size / 4] = 0; in dt_pid_create_return_probe() 108 ftp->ftps_pc = symp->st_value; in dt_pid_create_return_probe() 109 ftp->ftps_size = symp->st_size; in dt_pid_create_return_probe() 129 fasttrap_probe_spec_t *ftp, const GElf_Sym *symp, ulong_t off) in dt_pid_create_offset_probe() argument [all …]
|
/freebsd/cddl/contrib/opensolaris/lib/libdtrace/sparc/ |
H A D | dt_isadep.c | 54 fasttrap_probe_spec_t *ftp, const GElf_Sym *symp) in dt_pid_create_entry_probe() argument 57 ftp->ftps_pc = (uintptr_t)symp->st_value; in dt_pid_create_entry_probe() 58 ftp->ftps_size = (size_t)symp->st_size; in dt_pid_create_entry_probe() 73 fasttrap_probe_spec_t *ftp, const GElf_Sym *symp, uint64_t *stret) in dt_pid_create_return_probe() argument 80 if ((text = malloc(symp->st_size + 4)) == NULL) { in dt_pid_create_return_probe() 85 if (Pread(P, text, symp->st_size, symp->st_value) != symp->st_size) { in dt_pid_create_return_probe() 95 text[symp->st_size / 4] = 0; in dt_pid_create_return_probe() 98 ftp->ftps_pc = symp->st_value; in dt_pid_create_return_probe() 99 ftp->ftps_size = symp->st_size; in dt_pid_create_return_probe() 102 for (i = 0; i < symp->st_size / 4; i++) { in dt_pid_create_return_probe() [all …]
|
/freebsd/cddl/contrib/opensolaris/lib/libdtrace/riscv/ |
H A D | dt_isadep.c | 48 fasttrap_probe_spec_t *ftp, const GElf_Sym *symp) in dt_pid_create_entry_probe() argument 52 ftp->ftps_pc = (uintptr_t)symp->st_value; in dt_pid_create_entry_probe() 53 ftp->ftps_size = (size_t)symp->st_size; in dt_pid_create_entry_probe() 68 fasttrap_probe_spec_t *ftp, const GElf_Sym *symp, uint64_t *stret) in dt_pid_create_return_probe() argument 79 fasttrap_probe_spec_t *ftp, const GElf_Sym *symp, ulong_t off) in dt_pid_create_offset_probe() argument 86 ftp->ftps_pc = (uintptr_t)symp->st_value; in dt_pid_create_offset_probe() 87 ftp->ftps_size = (size_t)symp->st_size; in dt_pid_create_offset_probe() 103 fasttrap_probe_spec_t *ftp, const GElf_Sym *symp, const char *pattern) in dt_pid_create_glob_offset_probes() argument 108 ftp->ftps_pc = (uintptr_t)symp->st_value; in dt_pid_create_glob_offset_probes() 109 ftp->ftps_size = (size_t)symp->st_size; in dt_pid_create_glob_offset_probes() [all …]
|
/freebsd/cddl/contrib/opensolaris/lib/libdtrace/aarch64/ |
H A D | dt_isadep.c | 48 fasttrap_probe_spec_t *ftp, const GElf_Sym *symp) in dt_pid_create_entry_probe() argument 52 ftp->ftps_pc = (uintptr_t)symp->st_value; in dt_pid_create_entry_probe() 53 ftp->ftps_size = (size_t)symp->st_size; in dt_pid_create_entry_probe() 68 fasttrap_probe_spec_t *ftp, const GElf_Sym *symp, uint64_t *stret) in dt_pid_create_return_probe() argument 79 fasttrap_probe_spec_t *ftp, const GElf_Sym *symp, ulong_t off) in dt_pid_create_offset_probe() argument 86 ftp->ftps_pc = (uintptr_t)symp->st_value; in dt_pid_create_offset_probe() 87 ftp->ftps_size = (size_t)symp->st_size; in dt_pid_create_offset_probe() 103 fasttrap_probe_spec_t *ftp, const GElf_Sym *symp, const char *pattern) in dt_pid_create_glob_offset_probes() argument 108 ftp->ftps_pc = (uintptr_t)symp->st_value; in dt_pid_create_glob_offset_probes() 109 ftp->ftps_size = (size_t)symp->st_size; in dt_pid_create_glob_offset_probes() [all …]
|
/freebsd/cddl/contrib/opensolaris/cmd/lockstat/ |
H A D | sym.c | 172 GElf_Sym *symtab, *symp, *lastsym; in symtab_init() local 213 for (symp = symtab; symp < lastsym; symp++) in symtab_init() 214 if ((uint_t)ELF32_ST_TYPE(symp->st_info) <= STT_FUNC && in symtab_init() 215 symp->st_size != 0) in symtab_init() 216 add_symbol(symp->st_name + strtab, in symtab_init() 217 (uintptr_t)symp->st_value, (size_t)symp->st_size); in symtab_init()
|
/freebsd/sys/ddb/ |
H A D | db_ctf.c | 67 for (const Elf_Sym *symp = symtab; symp < symtab_end; symp++) { in sym_to_objtoff() local 73 if (symp->st_name == 0 || symp->st_shndx == SHN_UNDEF) { in sym_to_objtoff() 76 if (symp->st_shndx == SHN_ABS && symp->st_value == 0) { in sym_to_objtoff() 81 if (ELF_ST_TYPE(symp->st_info) != STT_OBJECT) { in sym_to_objtoff() 84 if (symp == sym) { in sym_to_objtoff()
|
/freebsd/sys/kern/ |
H A D | link_elf.c | 1518 const Elf_Sym* symp; in link_elf_lookup_symbol1() local 1538 symp = ef->symtab + symnum; in link_elf_lookup_symbol1() 1539 if (symp->st_name == 0) { in link_elf_lookup_symbol1() 1544 strp = ef->strtab + symp->st_name; in link_elf_lookup_symbol1() 1547 if (symp->st_shndx != SHN_UNDEF || in link_elf_lookup_symbol1() 1548 (symp->st_value != 0 && in link_elf_lookup_symbol1() 1549 (ELF_ST_TYPE(symp->st_info) == STT_FUNC || in link_elf_lookup_symbol1() 1550 ELF_ST_TYPE(symp->st_info) == STT_GNU_IFUNC))) { in link_elf_lookup_symbol1() 1552 ELF_ST_BIND(symp->st_info) != STB_LOCAL) { in link_elf_lookup_symbol1() 1553 *sym = (c_linker_sym_t) symp; in link_elf_lookup_symbol1() [all …]
|
H A D | link_elf_obj.c | 1471 const Elf_Sym *symp; in link_elf_lookup_symbol1() local 1475 for (i = 0, symp = ef->ddbsymtab; i < ef->ddbsymcnt; i++, symp++) { in link_elf_lookup_symbol1() 1476 strp = ef->ddbstrtab + symp->st_name; in link_elf_lookup_symbol1() 1477 if (symp->st_shndx != SHN_UNDEF && strcmp(name, strp) == 0) { in link_elf_lookup_symbol1() 1479 ELF_ST_BIND(symp->st_info) == STB_GLOBAL) { in link_elf_lookup_symbol1() 1480 *sym = (c_linker_sym_t) symp; in link_elf_lookup_symbol1() 1625 const Elf_Sym *symp; in link_elf_each_function_name() local 1629 for (i = 0, symp = ef->ddbsymtab; i < ef->ddbsymcnt; i++, symp++) { in link_elf_each_function_name() 1630 if (symp->st_value != 0 && in link_elf_each_function_name() 1631 (ELF_ST_TYPE(symp->st_info) == STT_FUNC || in link_elf_each_function_name() [all …]
|
H A D | linker_if.m | 39 c_linker_sym_t* symp; 45 c_linker_sym_t* symp; 63 c_linker_sym_t* symp;
|
/freebsd/cddl/contrib/opensolaris/common/ctf/ |
H A D | ctf_lookup.c | 194 const Elf32_Sym *symp = (Elf32_Sym *)sp->cts_data + symidx; in ctf_lookup_by_symbol() local 195 if (ELF32_ST_TYPE(symp->st_info) != STT_OBJECT) in ctf_lookup_by_symbol() 198 const Elf64_Sym *symp = (Elf64_Sym *)sp->cts_data + symidx; in ctf_lookup_by_symbol() local 199 if (ELF64_ST_TYPE(symp->st_info) != STT_OBJECT) in ctf_lookup_by_symbol() 263 const Elf32_Sym *symp = (Elf32_Sym *)sp->cts_data + symidx; in ctf_func_info() local 264 if (ELF32_ST_TYPE(symp->st_info) != STT_FUNC) in ctf_func_info() 267 const Elf64_Sym *symp = (Elf64_Sym *)sp->cts_data + symidx; in ctf_func_info() local 268 if (ELF64_ST_TYPE(symp->st_info) != STT_FUNC) in ctf_func_info()
|
H A D | ctf_open.c | 252 const uchar_t *symp = sp->cts_data; in init_symtab() local 271 for (; xp < xend; xp++, symp += sp->cts_entsize) { in init_symtab() 273 gsp = sym_to_gelf((Elf32_Sym *)(uintptr_t)symp, &sym); in init_symtab() 275 gsp = (Elf64_Sym *)(uintptr_t)symp; in init_symtab() 962 ctf_sect_t *ctp, *symp, *strp; in ctf_dup() local 996 symp = &symsect; in ctf_dup() 998 symp = NULL; in ctf_dup() 1017 fp = ctf_bufopen(ctp, symp, strp, &err); in ctf_dup()
|
/freebsd/cddl/contrib/opensolaris/lib/libdtrace/common/ |
H A D | dt_module.c | 312 GElf_Sym *symp, uint_t *idp) in dt_module_symname32() argument 333 return (dt_module_symgelf32(sym, symp)); in dt_module_symname32() 342 GElf_Sym *symp, uint_t *idp) in dt_module_symname64() argument 363 return (dt_module_symgelf64(sym, symp)); in dt_module_symname64() 372 GElf_Sym *symp, uint_t *idp) in dt_module_symaddr32() argument 406 return (dt_module_symgelf32(sym, symp)); in dt_module_symaddr32() 414 GElf_Sym *symp, uint_t *idp) in dt_module_symaddr64() argument 448 return (dt_module_symgelf64(sym, symp)); in dt_module_symaddr64() 1429 GElf_Sym *symp, dtrace_syminfo_t *sip) in dtrace_lookup_by_name() 1459 if (symp in dtrace_lookup_by_name() 1427 dtrace_lookup_by_name(dtrace_hdl_t * dtp,const char * object,const char * name,GElf_Sym * symp,dtrace_syminfo_t * sip) dtrace_lookup_by_name() argument 1509 dtrace_lookup_by_addr(dtrace_hdl_t * dtp,GElf_Addr addr,GElf_Sym * symp,dtrace_syminfo_t * sip) dtrace_lookup_by_addr() argument 1659 dtrace_symbol_type(dtrace_hdl_t * dtp,const GElf_Sym * symp,const dtrace_syminfo_t * sip,dtrace_typeinfo_t * tip) dtrace_symbol_type() argument [all...] |
H A D | dt_pid.c | 120 dt_pid_per_sym(dt_pid_probe_t *pp, const GElf_Sym *symp, const char *func) in dt_pid_per_sym() argument 144 (symp->st_size - 1) * sizeof (ftp->ftps_offs[0])); in dt_pid_per_sym() 158 if (dt_pid_create_return_probe(pp->dpp_pr, dtp, ftp, symp, in dt_pid_per_sym() 170 if (dt_pid_create_entry_probe(pp->dpp_pr, dtp, ftp, symp) < 0) { in dt_pid_per_sym() 188 if (off >= symp->st_size) { in dt_pid_per_sym() 195 symp, off); in dt_pid_per_sym() 214 pp->dpp_dtp, ftp, symp, pp->dpp_name) < 0) { in dt_pid_per_sym() 232 dt_pid_sym_filt(void *arg, const GElf_Sym *symp, const char *func) in dt_pid_sym_filt() argument 236 if (symp->st_shndx == SHN_UNDEF) in dt_pid_sym_filt() 239 if (symp->st_size == 0) { in dt_pid_sym_filt() [all …]
|
/freebsd/lib/libkldelf/ |
H A D | ef.c | 132 GElf_Sym *symp; in ef_lookup_symbol() local 146 symp = ef->ef_symtab + symnum; in ef_lookup_symbol() 147 if (symp->st_name == 0) { in ef_lookup_symbol() 153 strp = ef->ef_strtab + symp->st_name; in ef_lookup_symbol() 156 if (symp->st_shndx != SHN_UNDEF || in ef_lookup_symbol() 157 (symp->st_value != 0 && in ef_lookup_symbol() 158 GELF_ST_TYPE(symp->st_info) == STT_FUNC)) { in ef_lookup_symbol() 160 GELF_ST_BIND(symp->st_info) != STB_LOCAL) { in ef_lookup_symbol() 161 *sym = symp; in ef_lookup_symbol()
|
H A D | ef_obj.c | 135 GElf_Sym *symp; in ef_obj_lookup_symbol() local 139 for (i = 0, symp = ef->ddbsymtab; i < ef->ddbsymcnt; i++, symp++) { in ef_obj_lookup_symbol() 140 strp = ef->ddbstrtab + symp->st_name; in ef_obj_lookup_symbol() 141 if (symp->st_shndx != SHN_UNDEF && strcmp(name, strp) == 0) { in ef_obj_lookup_symbol() 143 GELF_ST_BIND(symp->st_info) != STB_LOCAL) { in ef_obj_lookup_symbol() 144 *sym = symp; in ef_obj_lookup_symbol()
|
H A D | elf.c | 383 GElf_Sym **symp) in elf_read_symbols() argument 413 *symp = sym; in elf_read_symbols()
|
H A D | kldelf.h | 238 size_t *nsymp, GElf_Sym **symp);
|
/freebsd/sys/dev/ksyms/ |
H A D | ksyms.c | 190 Elf_Sym *symp; in ksyms_add() local 221 symp = (Elf_Sym *) buf; in ksyms_add() 224 symp[i].st_name += to->to_stridx; in ksyms_add() 227 symp[i].st_value = (uintptr_t)symval.value; in ksyms_add()
|
/freebsd/sys/cddl/dev/fbt/ |
H A D | fbt.c | 366 const Elf_Sym *symp = lc->symtab; in fbt_ctfoff_init() local 392 for (i = 0; i < lc->nsym; i++, ctfoff++, symp++) { in fbt_ctfoff_init() 393 if (symp->st_name == 0 || symp->st_shndx == SHN_UNDEF) { in fbt_ctfoff_init() 398 switch (ELF_ST_TYPE(symp->st_info)) { in fbt_ctfoff_init() 401 (symp->st_shndx == SHN_ABS && symp->st_value == 0)) { in fbt_ctfoff_init()
|
/freebsd/lib/libproc/ |
H A D | proc_sym.c | 453 const char **namep, GElf_Sym *symp) in lookup_symbol_by_addr() argument 489 (void)gelf_getsym(data, symtab->index[i - 1], symp); in lookup_symbol_by_addr() 490 s = elf_strptr(e, symtab->stridx, symp->st_name); in lookup_symbol_by_addr()
|
/freebsd/libexec/rtld-elf/ |
H A D | rtld.c | 4870 const Elf_Sym *symp; in matched_symbol() local 4873 symp = obj->symtab + symnum; in matched_symbol() 4874 strp = obj->strtab + symp->st_name; in matched_symbol() 4876 switch (ELF_ST_TYPE(symp->st_info)) { in matched_symbol() 4882 if (symp->st_value == 0) in matched_symbol() 4886 if (symp->st_shndx != SHN_UNDEF) in matched_symbol() 4889 (ELF_ST_TYPE(symp->st_info) == STT_FUNC)) in matched_symbol() 4922 result->sym_out = symp; in matched_symbol() 4928 result->vsymp = symp; in matched_symbol() 4934 result->sym_out = symp; in matched_symbol() [all …]
|
/freebsd/stand/common/ |
H A D | load_elf.c | 1228 __elfN(lookup_symbol)(elf_file_t ef, const char* name, Elf_Sym *symp, 1261 *symp = sym;
|