Lines Matching refs:dtp

64 	dt_write(dtp, fd, (data), elf_file.shdr[(index)].sh_size) != \
109 prepare_elf32(dtrace_hdl_t *dtp, const dof_hdr_t *dof, dof_elf32_t *dep) in prepare_elf32() argument
155 if (dtp->dt_lazyload) { in prepare_elf32()
165 return (dt_set_errno(dtp, EDT_NOMEM)); in prepare_elf32()
170 return (dt_set_errno(dtp, EDT_NOMEM)); in prepare_elf32()
176 return (dt_set_errno(dtp, EDT_NOMEM)); in prepare_elf32()
260 if (dtp->dt_lazyload) { in prepare_elf32()
289 prepare_elf64(dtrace_hdl_t *dtp, const dof_hdr_t *dof, dof_elf64_t *dep) in prepare_elf64() argument
331 if (dtp->dt_lazyload) { in prepare_elf64()
341 return (dt_set_errno(dtp, EDT_NOMEM)); in prepare_elf64()
346 return (dt_set_errno(dtp, EDT_NOMEM)); in prepare_elf64()
352 return (dt_set_errno(dtp, EDT_NOMEM)); in prepare_elf64()
432 if (dtp->dt_lazyload) { in prepare_elf64()
453 dump_elf32(dtrace_hdl_t *dtp, const dof_hdr_t *dof, int fd) in dump_elf32() argument
466 if (prepare_elf32(dtp, dof, &de) != 0) in dump_elf32()
542 if (dt_write(dtp, fd, &elf_file, in dump_elf32()
548 ret = dt_set_errno(dtp, errno); in dump_elf32()
566 if (dt_write(dtp, fd, &elf_file, in dump_elf32()
573 ret = dt_set_errno(dtp, errno); in dump_elf32()
590 dump_elf64(dtrace_hdl_t *dtp, const dof_hdr_t *dof, int fd) in dump_elf64() argument
603 if (prepare_elf64(dtp, dof, &de) != 0) in dump_elf64()
679 if (dt_write(dtp, fd, &elf_file, in dump_elf64()
685 ret = dt_set_errno(dtp, errno); in dump_elf64()
699 if (dt_write(dtp, fd, &elf_file, in dump_elf64()
706 ret = dt_set_errno(dtp, errno); in dump_elf64()
758 dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, GElf_Rela *rela, in dt_modtext() argument
880 dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, GElf_Rela *rela, in dt_modtext() argument
916 } else if (dtp->dt_oflags & DTRACE_O_LP64) { in dt_modtext()
958 } else if (dtp->dt_oflags & DTRACE_O_LP64) { in dt_modtext()
983 dt_link_error(dtrace_hdl_t *dtp, Elf *elf, int fd, dt_link_pair_t *bufs, in dt_link_error() argument
990 dt_set_errmsg(dtp, NULL, NULL, NULL, 0, format, ap); in dt_link_error()
1001 dt_free(dtp, pair->dlp_str); in dt_link_error()
1002 dt_free(dtp, pair->dlp_sym); in dt_link_error()
1003 dt_free(dtp, pair); in dt_link_error()
1006 return (dt_set_errno(dtp, EDT_COMPILER)); in dt_link_error()
1010 process_obj(dtrace_hdl_t *dtp, const char *obj, int *eprobesp) in process_obj() argument
1035 return (dt_link_error(dtp, elf, fd, bufs, in process_obj()
1040 return (dt_link_error(dtp, elf, fd, bufs, in process_obj()
1048 return (dt_link_error(dtp, elf, fd, bufs, "archives are not " in process_obj()
1052 return (dt_link_error(dtp, elf, fd, bufs, in process_obj()
1057 return (dt_link_error(dtp, elf, fd, bufs, "corrupt file: %s", in process_obj()
1061 if (dtp->dt_oflags & DTRACE_O_LP64) { in process_obj()
1081 return (dt_link_error(dtp, elf, fd, bufs, in process_obj()
1086 return (dt_link_error(dtp, elf, fd, bufs, in process_obj()
1096 return (dt_link_error(dtp, elf, fd, bufs, in process_obj()
1221 return (dt_link_error(dtp, elf, fd, bufs, in process_obj()
1227 if ((p = dt_alloc(dtp, len)) == NULL) { in process_obj()
1239 dt_free(dtp, p); in process_obj()
1262 if ((pair = dt_alloc(dtp, sizeof (*pair))) == NULL) in process_obj()
1265 if ((pair->dlp_str = dt_alloc(dtp, data_str->d_size + in process_obj()
1267 dt_free(dtp, pair); in process_obj()
1271 if ((pair->dlp_sym = dt_alloc(dtp, data_sym->d_size + in process_obj()
1273 dt_free(dtp, pair->dlp_str); in process_obj()
1274 dt_free(dtp, pair); in process_obj()
1404 if ((pvp = dt_provider_lookup(dtp, pname)) == NULL) { in process_obj()
1405 return (dt_link_error(dtp, elf, fd, bufs, in process_obj()
1410 return (dt_link_error(dtp, elf, fd, bufs, in process_obj()
1417 if (dt_modtext(dtp, data_tgt->d_buf, eprobe, in process_obj()
1423 return (dt_link_error(dtp, elf, fd, bufs, in process_obj()
1452 dt_free(dtp, pair->dlp_str); in process_obj()
1453 dt_free(dtp, pair->dlp_sym); in process_obj()
1454 dt_free(dtp, pair); in process_obj()
1460 return (dt_link_error(dtp, elf, fd, bufs, in process_obj()
1465 dtrace_program_link(dtrace_hdl_t *dtp, dtrace_prog_t *pgp, uint_t dflags, in dtrace_program_link() argument
1483 len = snprintf(&tmp, 1, fmt, dtp->dt_ld_path, file) + 1; in dtrace_program_link()
1490 cur = snprintf(cmd, len, fmt, dtp->dt_ld_path, file); in dtrace_program_link()
1496 return (dt_link_error(dtp, NULL, -1, NULL, in dtrace_program_link()
1497 "failed to run %s: %s", dtp->dt_ld_path, in dtrace_program_link()
1502 return (dt_link_error(dtp, NULL, -1, NULL, in dtrace_program_link()
1504 file, dtp->dt_ld_path, WTERMSIG(status))); in dtrace_program_link()
1508 return (dt_link_error(dtp, NULL, -1, NULL, in dtrace_program_link()
1510 file, dtp->dt_ld_path, WEXITSTATUS(status))); in dtrace_program_link()
1522 if (process_obj(dtp, objv[i], &eprobes) != 0) in dtrace_program_link()
1533 if ((dof = dtrace_dof_create(dtp, pgp, dflags)) == NULL) in dtrace_program_link()
1542 return (dt_link_error(dtp, NULL, -1, NULL, in dtrace_program_link()
1550 switch (dtp->dt_linktype) { in dtrace_program_link()
1552 if (dt_write(dtp, fd, dof, dof->dofh_filesz) < dof->dofh_filesz) in dtrace_program_link()
1559 return (dt_link_error(dtp, NULL, -1, NULL, in dtrace_program_link()
1569 return (dt_link_error(dtp, NULL, -1, NULL, in dtrace_program_link()
1570 "invalid link type %u\n", dtp->dt_linktype)); in dtrace_program_link()
1574 if (!dtp->dt_lazyload) in dtrace_program_link()
1577 if (dtp->dt_oflags & DTRACE_O_LP64) in dtrace_program_link()
1578 status = dump_elf64(dtp, dof, fd); in dtrace_program_link()
1580 status = dump_elf32(dtp, dof, fd); in dtrace_program_link()
1583 return (dt_link_error(dtp, NULL, -1, NULL, in dtrace_program_link()
1587 if (!dtp->dt_lazyload) { in dtrace_program_link()
1590 if (dtp->dt_oflags & DTRACE_O_LP64) { in dtrace_program_link()
1598 len = snprintf(&tmp, 1, fmt, dtp->dt_ld_path, file, fd, in dtrace_program_link()
1603 (void) snprintf(cmd, len, fmt, dtp->dt_ld_path, file, fd, drti); in dtrace_program_link()
1606 ret = dt_link_error(dtp, NULL, -1, NULL, in dtrace_program_link()
1607 "failed to run %s: %s", dtp->dt_ld_path, in dtrace_program_link()
1615 ret = dt_link_error(dtp, NULL, -1, NULL, in dtrace_program_link()
1617 file, dtp->dt_ld_path, WTERMSIG(status)); in dtrace_program_link()
1622 ret = dt_link_error(dtp, NULL, -1, NULL, in dtrace_program_link()
1624 file, dtp->dt_ld_path, WEXITSTATUS(status)); in dtrace_program_link()
1632 dtrace_dof_destroy(dtp, dof); in dtrace_program_link()