Lines Matching refs:ftp
62 fasttrap_probe_spec_t *ftp, const GElf_Sym *symp) in dt_pid_create_entry_probe() argument
64 ftp->ftps_type = DTFTP_ENTRY; in dt_pid_create_entry_probe()
65 ftp->ftps_pc = (uintptr_t)symp->st_value; in dt_pid_create_entry_probe()
66 ftp->ftps_size = (size_t)symp->st_size; in dt_pid_create_entry_probe()
67 ftp->ftps_noffs = 1; in dt_pid_create_entry_probe()
68 ftp->ftps_offs[0] = 0; in dt_pid_create_entry_probe()
70 if (ioctl(dtp->dt_ftfd, FASTTRAPIOC_MAKEPROBE, ftp) != 0) { in dt_pid_create_entry_probe()
81 uint8_t *text, fasttrap_probe_spec_t *ftp, const GElf_Sym *symp) in dt_pid_has_jump_table() argument
93 for (i = 0; i < ftp->ftps_size; i += size) { in dt_pid_has_jump_table()
114 ftp->ftps_func, i); in dt_pid_has_jump_table()
125 fasttrap_probe_spec_t *ftp, const GElf_Sym *symp, uint64_t *stret) in dt_pid_create_return_probe() argument
148 ftp->ftps_type = DTFTP_RETURN; in dt_pid_create_return_probe()
149 ftp->ftps_pc = (uintptr_t)symp->st_value; in dt_pid_create_return_probe()
150 ftp->ftps_size = (size_t)symp->st_size; in dt_pid_create_return_probe()
151 ftp->ftps_noffs = 0; in dt_pid_create_return_probe()
166 if (dt_pid_has_jump_table(P, dtp, text, ftp, symp)) { in dt_pid_create_return_probe()
167 for (i = 0, end = ftp->ftps_size; i < end; i += size) { in dt_pid_create_return_probe()
177 ftp->ftps_offs[ftp->ftps_noffs++] = i + 1; in dt_pid_create_return_probe()
182 ftp->ftps_offs[ftp->ftps_noffs++] = i + 1; in dt_pid_create_return_probe()
188 ftp->ftps_offs[ftp->ftps_noffs++] = i + 3; in dt_pid_create_return_probe()
195 ftp->ftps_offs[ftp->ftps_noffs++] = i + 3; in dt_pid_create_return_probe()
200 for (i = 0, end = ftp->ftps_size; i < end; i += size) { in dt_pid_create_return_probe()
250 ftp->ftps_offs[ftp->ftps_noffs++] = i; in dt_pid_create_return_probe()
255 if (ftp->ftps_noffs > 0) { in dt_pid_create_return_probe()
256 if (ioctl(dtp->dt_ftfd, FASTTRAPIOC_MAKEPROBE, ftp) != 0) { in dt_pid_create_return_probe()
263 return (ftp->ftps_noffs); in dt_pid_create_return_probe()
269 fasttrap_probe_spec_t *ftp, const GElf_Sym *symp, ulong_t off) in dt_pid_create_offset_probe() argument
271 ftp->ftps_type = DTFTP_OFFSETS; in dt_pid_create_offset_probe()
272 ftp->ftps_pc = (uintptr_t)symp->st_value; in dt_pid_create_offset_probe()
273 ftp->ftps_size = (size_t)symp->st_size; in dt_pid_create_offset_probe()
274 ftp->ftps_noffs = 1; in dt_pid_create_offset_probe()
276 if (strcmp("-", ftp->ftps_func) == 0) { in dt_pid_create_offset_probe()
277 ftp->ftps_offs[0] = off; in dt_pid_create_offset_probe()
302 if (dt_pid_has_jump_table(P, dtp, text, ftp, symp)) { in dt_pid_create_offset_probe()
309 ftp->ftps_offs[0] = i; in dt_pid_create_offset_probe()
339 if (ioctl(dtp->dt_ftfd, FASTTRAPIOC_MAKEPROBE, ftp) != 0) { in dt_pid_create_offset_probe()
345 return (ftp->ftps_noffs); in dt_pid_create_offset_probe()
351 fasttrap_probe_spec_t *ftp, const GElf_Sym *symp, const char *pattern) in dt_pid_create_glob_offset_probes() argument
359 ftp->ftps_type = DTFTP_OFFSETS; in dt_pid_create_glob_offset_probes()
360 ftp->ftps_pc = (uintptr_t)symp->st_value; in dt_pid_create_glob_offset_probes()
361 ftp->ftps_size = (size_t)symp->st_size; in dt_pid_create_glob_offset_probes()
362 ftp->ftps_noffs = 0; in dt_pid_create_glob_offset_probes()
379 if (dt_pid_has_jump_table(P, dtp, text, ftp, symp)) { in dt_pid_create_glob_offset_probes()
386 ftp->ftps_offs[ftp->ftps_noffs++] = i; in dt_pid_create_glob_offset_probes()
401 ftp->ftps_offs[ftp->ftps_noffs++] = i; in dt_pid_create_glob_offset_probes()
413 if (ftp->ftps_noffs > 0) { in dt_pid_create_glob_offset_probes()
414 if (ioctl(dtp->dt_ftfd, FASTTRAPIOC_MAKEPROBE, ftp) != 0) { in dt_pid_create_glob_offset_probes()
421 return (ftp->ftps_noffs); in dt_pid_create_glob_offset_probes()