Lines Matching refs:cmh
892 ctf_uniquify_types(ctf_merge_t *cmh, ctf_file_t *src, ctf_file_t **outp) in ctf_uniquify_types() argument
899 ctf_file_t *parent = cmh->cmh_unique; in ctf_uniquify_types()
902 out = ctf_fdcreate(cmh->cmh_ofd, &err); in ctf_uniquify_types()
906 out->ctf_parname = cmh->cmh_pname; in ctf_uniquify_types()
949 for (cmi = list_head(&cmh->cmh_inputs); cmi != NULL; in ctf_uniquify_types()
950 cmi = list_next(&cmh->cmh_inputs, cmi)) { in ctf_uniquify_types()
980 ctf_merge_fini(ctf_merge_t *cmh) in ctf_merge_fini() argument
985 if (cmh->cmh_label != NULL) { in ctf_merge_fini()
986 len = strlen(cmh->cmh_label) + 1; in ctf_merge_fini()
987 ctf_free(cmh->cmh_label, len); in ctf_merge_fini()
990 if (cmh->cmh_pname != NULL) { in ctf_merge_fini()
991 len = strlen(cmh->cmh_pname) + 1; in ctf_merge_fini()
992 ctf_free(cmh->cmh_pname, len); in ctf_merge_fini()
995 while ((cmi = list_remove_head(&cmh->cmh_inputs)) != NULL) in ctf_merge_fini()
998 ctf_free(cmh, sizeof (ctf_merge_t)); in ctf_merge_fini()
1042 ctf_merge_label(ctf_merge_t *cmh, const char *label) in ctf_merge_label() argument
1053 if (cmh->cmh_label != NULL) { in ctf_merge_label()
1054 size_t len = strlen(cmh->cmh_label) + 1; in ctf_merge_label()
1055 ctf_free(cmh->cmh_label, len); in ctf_merge_label()
1058 cmh->cmh_label = dup; in ctf_merge_label()
1114 ctf_merge_add(ctf_merge_t *cmh, ctf_file_t *input) in ctf_merge_add() argument
1134 if (cmh->cmh_msyms == B_TRUE) { in ctf_merge_add()
1148 list_insert_tail(&cmh->cmh_inputs, cmi); in ctf_merge_add()
1149 cmh->cmh_ninputs++; in ctf_merge_add()
1160 empty = ctf_fdcreate(cmh->cmh_ofd, &ret); in ctf_merge_add()
1170 list_insert_tail(&cmh->cmh_inputs, cmi); in ctf_merge_add()
1171 cmh->cmh_ninputs++; in ctf_merge_add()
1177 ctf_merge_uniquify(ctf_merge_t *cmh, ctf_file_t *u, const char *pname) in ctf_merge_uniquify() argument
1188 if (cmh->cmh_pname != NULL) { in ctf_merge_uniquify()
1189 size_t len = strlen(cmh->cmh_pname) + 1; in ctf_merge_uniquify()
1190 ctf_free(cmh->cmh_pname, len); in ctf_merge_uniquify()
1192 cmh->cmh_pname = dup; in ctf_merge_uniquify()
1193 cmh->cmh_unique = u; in ctf_merge_uniquify()
1198 ctf_merge_symbols(ctf_merge_t *cmh, ctf_file_t *fp) in ctf_merge_symbols() argument
1232 for (cmi = list_head(&cmh->cmh_inputs); cmi != NULL; in ctf_merge_symbols()
1233 cmi = list_next(&cmh->cmh_inputs, cmi)) { in ctf_merge_symbols()
1257 ctf_merge_functions(ctf_merge_t *cmh, ctf_file_t *fp) in ctf_merge_functions() argument
1292 for (cmi = list_head(&cmh->cmh_inputs); cmi != NULL; in ctf_merge_functions()
1293 cmi = list_next(&cmh->cmh_inputs, cmi)) { in ctf_merge_functions()
1316 ctf_merge_merge(ctf_merge_t *cmh, ctf_file_t **outp) in ctf_merge_merge() argument
1325 if (cmh->cmh_label != NULL && cmh->cmh_unique != NULL) { in ctf_merge_merge()
1326 const char *label = ctf_label_topmost(cmh->cmh_unique); in ctf_merge_merge()
1329 if (strcmp(label, cmh->cmh_label) != 0) in ctf_merge_merge()
1333 if (mergeq_init(&mqp, cmh->cmh_nthreads) == -1) { in ctf_merge_merge()
1337 VERIFY(cmh->cmh_ninputs % 2 == 0); in ctf_merge_merge()
1338 for (cmi = list_head(&cmh->cmh_inputs); cmi != NULL; in ctf_merge_merge()
1339 cmi = list_next(&cmh->cmh_inputs, cmi)) { in ctf_merge_merge()
1365 ctf_dprintf("preparing to uniquify against: %p\n", cmh->cmh_unique); in ctf_merge_merge()
1366 if (cmh->cmh_unique != NULL) { in ctf_merge_merge()
1368 err = ctf_uniquify_types(cmh, out, &u); in ctf_merge_merge()
1382 if (cmh->cmh_label != NULL && in ctf_merge_merge()
1383 ctf_add_label(out, cmh->cmh_label, ltype, 0) != 0) { in ctf_merge_merge()
1389 if (cmh->cmh_msyms == B_TRUE) { in ctf_merge_merge()
1390 err = ctf_merge_symbols(cmh, out); in ctf_merge_merge()
1396 err = ctf_merge_functions(cmh, out); in ctf_merge_merge()