Lines Matching refs:dtp
63 dt_write(dtp, fd, (data), elf_file.shdr[(index)].sh_size) != \
108 prepare_elf32(dtrace_hdl_t *dtp, const dof_hdr_t *dof, dof_elf32_t *dep) in prepare_elf32() argument
154 if (dtp->dt_lazyload) { in prepare_elf32()
164 return (dt_set_errno(dtp, EDT_NOMEM)); in prepare_elf32()
169 return (dt_set_errno(dtp, EDT_NOMEM)); in prepare_elf32()
175 return (dt_set_errno(dtp, EDT_NOMEM)); in prepare_elf32()
259 if (dtp->dt_lazyload) { in prepare_elf32()
288 prepare_elf64(dtrace_hdl_t *dtp, const dof_hdr_t *dof, dof_elf64_t *dep) in prepare_elf64() argument
330 if (dtp->dt_lazyload) { in prepare_elf64()
340 return (dt_set_errno(dtp, EDT_NOMEM)); in prepare_elf64()
345 return (dt_set_errno(dtp, EDT_NOMEM)); in prepare_elf64()
351 return (dt_set_errno(dtp, EDT_NOMEM)); in prepare_elf64()
431 if (dtp->dt_lazyload) { in prepare_elf64()
452 dump_elf32(dtrace_hdl_t *dtp, const dof_hdr_t *dof, int fd) in dump_elf32() argument
465 if (prepare_elf32(dtp, dof, &de) != 0) in dump_elf32()
541 if (dt_write(dtp, fd, &elf_file, in dump_elf32()
547 ret = dt_set_errno(dtp, errno); in dump_elf32()
565 if (dt_write(dtp, fd, &elf_file, in dump_elf32()
572 ret = dt_set_errno(dtp, errno); in dump_elf32()
589 dump_elf64(dtrace_hdl_t *dtp, const dof_hdr_t *dof, int fd) in dump_elf64() argument
602 if (prepare_elf64(dtp, dof, &de) != 0) in dump_elf64()
678 if (dt_write(dtp, fd, &elf_file, in dump_elf64()
684 ret = dt_set_errno(dtp, errno); in dump_elf64()
698 if (dt_write(dtp, fd, &elf_file, in dump_elf64()
705 ret = dt_set_errno(dtp, errno); in dump_elf64()
757 dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, GElf_Rela *rela, in dt_modtext() argument
879 dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, GElf_Rela *rela, in dt_modtext() argument
915 } else if (dtp->dt_oflags & DTRACE_O_LP64) { in dt_modtext()
957 } else if (dtp->dt_oflags & DTRACE_O_LP64) { in dt_modtext()
982 dt_link_error(dtrace_hdl_t *dtp, Elf *elf, int fd, dt_link_pair_t *bufs, in dt_link_error() argument
989 dt_set_errmsg(dtp, NULL, NULL, NULL, 0, format, ap); in dt_link_error()
1000 dt_free(dtp, pair->dlp_str); in dt_link_error()
1001 dt_free(dtp, pair->dlp_sym); in dt_link_error()
1002 dt_free(dtp, pair); in dt_link_error()
1005 return (dt_set_errno(dtp, EDT_COMPILER)); in dt_link_error()
1009 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()
1402 if ((pvp = dt_provider_lookup(dtp, pname)) == NULL) { in process_obj()
1403 return (dt_link_error(dtp, elf, fd, bufs, in process_obj()
1410 return (dt_link_error(dtp, elf, fd, bufs, in process_obj()
1416 return (dt_link_error(dtp, elf, fd, bufs, in process_obj()
1423 if (dt_modtext(dtp, data_tgt->d_buf, eprobe, in process_obj()
1429 return (dt_link_error(dtp, elf, fd, bufs, in process_obj()
1458 dt_free(dtp, pair->dlp_str); in process_obj()
1459 dt_free(dtp, pair->dlp_sym); in process_obj()
1460 dt_free(dtp, pair); in process_obj()
1466 return (dt_link_error(dtp, elf, fd, bufs, in process_obj()
1471 dtrace_program_link(dtrace_hdl_t *dtp, dtrace_prog_t *pgp, uint_t dflags, in dtrace_program_link() argument
1489 len = snprintf(&tmp, 1, fmt, dtp->dt_ld_path, file) + 1; in dtrace_program_link()
1496 cur = snprintf(cmd, len, fmt, dtp->dt_ld_path, file); in dtrace_program_link()
1502 return (dt_link_error(dtp, NULL, -1, NULL, in dtrace_program_link()
1503 "failed to run %s: %s", dtp->dt_ld_path, in dtrace_program_link()
1508 return (dt_link_error(dtp, NULL, -1, NULL, in dtrace_program_link()
1510 file, dtp->dt_ld_path, WTERMSIG(status))); in dtrace_program_link()
1514 return (dt_link_error(dtp, NULL, -1, NULL, in dtrace_program_link()
1516 file, dtp->dt_ld_path, WEXITSTATUS(status))); in dtrace_program_link()
1528 if (process_obj(dtp, objv[i], &eprobes) != 0) in dtrace_program_link()
1539 if ((dof = dtrace_dof_create(dtp, pgp, dflags)) == NULL) in dtrace_program_link()
1548 return (dt_link_error(dtp, NULL, -1, NULL, in dtrace_program_link()
1556 switch (dtp->dt_linktype) { in dtrace_program_link()
1558 if (dt_write(dtp, fd, dof, dof->dofh_filesz) < dof->dofh_filesz) in dtrace_program_link()
1565 return (dt_link_error(dtp, NULL, -1, NULL, in dtrace_program_link()
1575 return (dt_link_error(dtp, NULL, -1, NULL, in dtrace_program_link()
1576 "invalid link type %u\n", dtp->dt_linktype)); in dtrace_program_link()
1580 if (!dtp->dt_lazyload) in dtrace_program_link()
1583 if (dtp->dt_oflags & DTRACE_O_LP64) in dtrace_program_link()
1584 status = dump_elf64(dtp, dof, fd); in dtrace_program_link()
1586 status = dump_elf32(dtp, dof, fd); in dtrace_program_link()
1589 return (dt_link_error(dtp, NULL, -1, NULL, in dtrace_program_link()
1593 if (!dtp->dt_lazyload) { in dtrace_program_link()
1596 if (dtp->dt_oflags & DTRACE_O_LP64) { in dtrace_program_link()
1604 len = snprintf(&tmp, 1, fmt, dtp->dt_ld_path, file, fd, in dtrace_program_link()
1609 (void) snprintf(cmd, len, fmt, dtp->dt_ld_path, file, fd, drti); in dtrace_program_link()
1612 ret = dt_link_error(dtp, NULL, -1, NULL, in dtrace_program_link()
1613 "failed to run %s: %s", dtp->dt_ld_path, in dtrace_program_link()
1621 ret = dt_link_error(dtp, NULL, -1, NULL, in dtrace_program_link()
1623 file, dtp->dt_ld_path, WTERMSIG(status)); in dtrace_program_link()
1628 ret = dt_link_error(dtp, NULL, -1, NULL, in dtrace_program_link()
1630 file, dtp->dt_ld_path, WEXITSTATUS(status)); in dtrace_program_link()
1638 dtrace_dof_destroy(dtp, dof); in dtrace_program_link()