| /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/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 | 1544 const Elf_Sym* symp; in link_elf_lookup_symbol1() local 1564 symp = ef->symtab + symnum; in link_elf_lookup_symbol1() 1565 if (symp->st_name == 0) { in link_elf_lookup_symbol1() 1570 strp = ef->strtab + symp->st_name; in link_elf_lookup_symbol1() 1573 if (symp->st_shndx != SHN_UNDEF || in link_elf_lookup_symbol1() 1574 (symp->st_value != 0 && in link_elf_lookup_symbol1() 1575 (ELF_ST_TYPE(symp->st_info) == STT_FUNC || in link_elf_lookup_symbol1() 1576 ELF_ST_TYPE(symp->st_info) == STT_GNU_IFUNC))) { in link_elf_lookup_symbol1() 1578 ELF_ST_BIND(symp->st_info) != STB_LOCAL) { in link_elf_lookup_symbol1() 1579 *sym = (c_linker_sym_t) symp; in link_elf_lookup_symbol1() [all …]
|
| H A D | link_elf_obj.c | 1491 const Elf_Sym *symp; in link_elf_lookup_symbol1() local 1495 for (i = 0, symp = ef->ddbsymtab; i < ef->ddbsymcnt; i++, symp++) { in link_elf_lookup_symbol1() 1496 strp = ef->ddbstrtab + symp->st_name; in link_elf_lookup_symbol1() 1497 if (symp->st_shndx != SHN_UNDEF && strcmp(name, strp) == 0) { in link_elf_lookup_symbol1() 1499 ELF_ST_BIND(symp->st_info) == STB_GLOBAL) { in link_elf_lookup_symbol1() 1500 *sym = (c_linker_sym_t) symp; in link_elf_lookup_symbol1() 1670 const Elf_Sym *symp; in link_elf_each_function_name() local 1674 for (i = 0, symp = ef->ddbsymtab; i < ef->ddbsymcnt; i++, symp++) { in link_elf_each_function_name() 1675 if (symp->st_value != 0 && in link_elf_each_function_name() 1676 (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 | 308 GElf_Sym *symp, uint_t *idp) in dt_module_symname32() argument 329 return (dt_module_symgelf32(sym, symp)); in dt_module_symname32() 338 GElf_Sym *symp, uint_t *idp) in dt_module_symname64() argument 359 return (dt_module_symgelf64(sym, symp)); in dt_module_symname64() 368 GElf_Sym *symp, uint_t *idp) in dt_module_symaddr32() argument 402 return (dt_module_symgelf32(sym, symp)); in dt_module_symaddr32() 410 GElf_Sym *symp, uint_t *idp) in dt_module_symaddr64() argument 444 return (dt_module_symgelf64(sym, symp)); in dt_module_symaddr64() 1425 GElf_Sym *symp, dtrace_syminfo_t *sip) in dtrace_lookup_by_name() argument 1455 if (symp == NULL) in dtrace_lookup_by_name() [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 | 5021 const Elf_Sym *symp; in matched_symbol() local 5024 symp = obj->symtab + symnum; in matched_symbol() 5025 strp = obj->strtab + symp->st_name; in matched_symbol() 5027 switch (ELF_ST_TYPE(symp->st_info)) { in matched_symbol() 5033 if (symp->st_value == 0) in matched_symbol() 5037 if (symp->st_shndx != SHN_UNDEF) in matched_symbol() 5040 (ELF_ST_TYPE(symp->st_info) == STT_FUNC)) in matched_symbol() 5073 result->sym_out = symp; in matched_symbol() 5079 result->vsymp = symp; in matched_symbol() 5085 result->sym_out = symp; in matched_symbol() [all …]
|
| /freebsd/stand/common/ |
| H A D | load_elf.c | 1224 __elfN(lookup_symbol)(elf_file_t ef, const char* name, Elf_Sym *symp, 1257 *symp = sym;
|