diff options
Diffstat (limited to 'cddl/contrib/opensolaris/tools/ctf/cvt/merge.c')
-rw-r--r-- | cddl/contrib/opensolaris/tools/ctf/cvt/merge.c | 81 |
1 files changed, 39 insertions, 42 deletions
diff --git a/cddl/contrib/opensolaris/tools/ctf/cvt/merge.c b/cddl/contrib/opensolaris/tools/ctf/cvt/merge.c index 2ef37d4..2af28b6 100644 --- a/cddl/contrib/opensolaris/tools/ctf/cvt/merge.c +++ b/cddl/contrib/opensolaris/tools/ctf/cvt/merge.c @@ -132,7 +132,7 @@ typedef struct merge_cb_data merge_cb_data_t; * own traversal mechanism and ops vector here for those two cases. */ typedef struct tdesc_ops { - const char *name; + char *name; int (*equiv)(tdesc_t *, tdesc_t *, equiv_data_t *); tdesc_t *(*conjure)(tdesc_t *, int, merge_cb_data_t *); } tdesc_ops_t; @@ -179,21 +179,21 @@ struct merge_cb_data { static void add_mapping(alist_t *ta, tid_t srcid, tid_t tgtid) { - debug(3, "Adding mapping %u <%x> => %u <%x>\n", srcid, srcid, tgtid, tgtid); + debug(3, "Adding mapping %u => %u\n", srcid, tgtid); - assert(!alist_find(ta, (void *)(uintptr_t)srcid, NULL)); + assert(!alist_find(ta, (void *)srcid, NULL)); assert(srcid != 0 && tgtid != 0); - alist_add(ta, (void *)(uintptr_t)srcid, (void *)(uintptr_t)tgtid); + alist_add(ta, (void *)srcid, (void *)tgtid); } static tid_t get_mapping(alist_t *ta, int srcid) { - void *ltgtid; + long ltgtid; - if (alist_find(ta, (void *)(uintptr_t)srcid, (void **)<gtid)) - return ((uintptr_t)ltgtid); + if (alist_find(ta, (void *)srcid, (void **)<gtid)) + return ((int)ltgtid); else return (0); } @@ -216,7 +216,7 @@ static int equiv_node(tdesc_t *, tdesc_t *, equiv_data_t *); /*ARGSUSED2*/ static int -equiv_intrinsic(tdesc_t *stdp, tdesc_t *ttdp, equiv_data_t *ed __unused) +equiv_intrinsic(tdesc_t *stdp, tdesc_t *ttdp, equiv_data_t *ed) { intr_t *si = stdp->t_intr; intr_t *ti = ttdp->t_intr; @@ -256,7 +256,7 @@ equiv_function(tdesc_t *stdp, tdesc_t *ttdp, equiv_data_t *ed) if (!equiv_node(fn1->fn_ret, fn2->fn_ret, ed)) return (0); - for (i = 0; i < (int) fn1->fn_nargs; i++) { + for (i = 0; i < fn1->fn_nargs; i++) { if (!equiv_node(fn1->fn_args[i], fn2->fn_args[i], ed)) return (0); } @@ -313,7 +313,7 @@ equiv_su(tdesc_t *stdp, tdesc_t *ttdp, equiv_data_t *ed) /*ARGSUSED2*/ static int -equiv_enum(tdesc_t *stdp, tdesc_t *ttdp, equiv_data_t *ed __unused) +equiv_enum(tdesc_t *stdp, tdesc_t *ttdp, equiv_data_t *ed) { elist_t *el1 = stdp->t_emem; elist_t *el2 = ttdp->t_emem; @@ -335,7 +335,7 @@ equiv_enum(tdesc_t *stdp, tdesc_t *ttdp, equiv_data_t *ed __unused) /*ARGSUSED*/ static int -equiv_assert(tdesc_t *stdp __unused, tdesc_t *ttdp __unused, equiv_data_t *ed __unused) +equiv_assert(tdesc_t *stdp, tdesc_t *ttdp, equiv_data_t *ed) { /* foul, evil, and very bad - this is a "shouldn't happen" */ assert(1 == 0); @@ -354,7 +354,7 @@ fwd_equiv(tdesc_t *ctdp, tdesc_t *mtdp) static int equiv_node(tdesc_t *ctdp, tdesc_t *mtdp, equiv_data_t *ed) { - int (*equiv)(tdesc_t *, tdesc_t *, equiv_data_t *); + int (*equiv)(); int mapping; if (ctdp->t_emark > ed->ed_clear_mark || @@ -418,8 +418,7 @@ equiv_cb(void *bucket, void *arg) ed->ed_cur_mark = ed->ed_clear_mark + 1; if (equiv_node(ctdp, mtdp, ed)) { - debug(3, "equiv_node matched %d <%x> %d <%x>\n", - ctdp->t_id, ctdp->t_id, mtdp->t_id, mtdp->t_id); + debug(3, "equiv_node matched %d %d\n", ctdp->t_id, mtdp->t_id); ed->ed_tgt = mtdp; /* matched. stop looking */ return (-1); @@ -430,7 +429,7 @@ equiv_cb(void *bucket, void *arg) /*ARGSUSED1*/ static int -map_td_tree_pre(tdesc_t *ctdp, tdesc_t **ctdpp __unused, void *private) +map_td_tree_pre(tdesc_t *ctdp, tdesc_t **ctdpp, void *private) { merge_cb_data_t *mcd = private; @@ -442,7 +441,7 @@ map_td_tree_pre(tdesc_t *ctdp, tdesc_t **ctdpp __unused, void *private) /*ARGSUSED1*/ static int -map_td_tree_post(tdesc_t *ctdp, tdesc_t **ctdpp __unused, void *private) +map_td_tree_post(tdesc_t *ctdp, tdesc_t **ctdpp, void *private) { merge_cb_data_t *mcd = private; equiv_data_t ed; @@ -453,7 +452,7 @@ map_td_tree_post(tdesc_t *ctdp, tdesc_t **ctdpp __unused, void *private) ed.ed_node = ctdp; ed.ed_selfuniquify = 0; - debug(3, "map_td_tree_post on %d <%x> %s\n", ctdp->t_id, ctdp->t_id,tdesc_name(ctdp)); + debug(3, "map_td_tree_post on %d %s\n", ctdp->t_id, tdesc_name(ctdp)); if (hash_find_iter(mcd->md_parent->td_layouthash, ctdp, equiv_cb, &ed) < 0) { @@ -461,7 +460,7 @@ map_td_tree_post(tdesc_t *ctdp, tdesc_t **ctdpp __unused, void *private) if (ed.ed_tgt->t_type == FORWARD && ctdp->t_type != FORWARD) { int id = mcd->md_tgt->td_nextid++; - debug(3, "Creating new defn type %d <%x>\n", id, id); + debug(3, "Creating new defn type %d\n", id); add_mapping(mcd->md_ta, ctdp->t_id, id); alist_add(mcd->md_fdida, (void *)(ulong_t)ed.ed_tgt, (void *)(ulong_t)id); @@ -482,7 +481,7 @@ map_td_tree_post(tdesc_t *ctdp, tdesc_t **ctdpp __unused, void *private) } else { int id = mcd->md_tgt->td_nextid++; - debug(3, "Creating new type %d <%x>\n", id, id); + debug(3, "Creating new type %d\n", id); add_mapping(mcd->md_ta, ctdp->t_id, id); hash_add(mcd->md_tdtba, ctdp); } @@ -494,7 +493,7 @@ map_td_tree_post(tdesc_t *ctdp, tdesc_t **ctdpp __unused, void *private) /*ARGSUSED1*/ static int -map_td_tree_self_post(tdesc_t *ctdp, tdesc_t **ctdpp __unused, void *private) +map_td_tree_self_post(tdesc_t *ctdp, tdesc_t **ctdpp, void *private) { merge_cb_data_t *mcd = private; equiv_data_t ed; @@ -507,8 +506,8 @@ map_td_tree_self_post(tdesc_t *ctdp, tdesc_t **ctdpp __unused, void *private) ed.ed_tgt = NULL; if (hash_find_iter(mcd->md_tdtba, ctdp, equiv_cb, &ed) < 0) { - debug(3, "Self check found %d <%x> in %d <%x>\n", ctdp->t_id, - ctdp->t_id, ed.ed_tgt->t_id, ed.ed_tgt->t_id); + debug(3, "Self check found %d in %d\n", ctdp->t_id, + ed.ed_tgt->t_id); add_mapping(mcd->md_ta, ctdp->t_id, get_mapping(mcd->md_ta, ed.ed_tgt->t_id)); } else if (debug_level > 1 && hash_iter(mcd->md_tdtba, @@ -519,13 +518,12 @@ map_td_tree_self_post(tdesc_t *ctdp, tdesc_t **ctdpp __unused, void *private) * through the entire hash. This usually means that the hash * function is broken. */ - aborterr("Self-unique second pass for %d <%x> (%s) == %d <%x>\n", - ctdp->t_id, ctdp->t_id, tdesc_name(ctdp), ed.ed_tgt->t_id, - ed.ed_tgt->t_id); + aborterr("Self-unique second pass for %d (%s) == %d\n", + ctdp->t_id, tdesc_name(ctdp), ed.ed_tgt->t_id); } else { int id = mcd->md_tgt->td_nextid++; - debug(3, "Creating new type %d <%x>\n", id, id); + debug(3, "Creating new type %d\n", id); add_mapping(mcd->md_ta, ctdp->t_id, id); hash_add(mcd->md_tdtba, ctdp); } @@ -698,14 +696,14 @@ remap_node(tdesc_t **tgtp, tdesc_t *oldtgt, int selftid, tdesc_t *newself, } if ((template.t_id = get_mapping(mcd->md_ta, oldid)) == 0) - aborterr("failed to get mapping for tid %d <%x>\n", oldid, oldid); + aborterr("failed to get mapping for tid %d\n", oldid); if (!hash_find(mcd->md_parent->td_idhash, (void *)&template, (void *)&tgt) && (!(mcd->md_flags & MCD_F_REFMERGE) || !hash_find(mcd->md_tgt->td_idhash, (void *)&template, (void *)&tgt))) { - debug(3, "Remap couldn't find %d <%x> (from %d <%x>)\n", template.t_id, - template.t_id, oldid, oldid); + debug(3, "Remap couldn't find %d (from %d)\n", template.t_id, + oldid); *tgtp = oldtgt; list_add(mcd->md_tdtbr, tgtp); return (0); @@ -731,7 +729,7 @@ conjure_template(tdesc_t *old, int newselfid) /*ARGSUSED2*/ static tdesc_t * -conjure_intrinsic(tdesc_t *old, int newselfid, merge_cb_data_t *mcd __unused) +conjure_intrinsic(tdesc_t *old, int newselfid, merge_cb_data_t *mcd) { tdesc_t *new = conjure_template(old, newselfid); @@ -767,7 +765,7 @@ conjure_function(tdesc_t *old, int newselfid, merge_cb_data_t *mcd) if (nfn->fn_nargs > 0) nfn->fn_args = xcalloc(sizeof (tdesc_t *) * ofn->fn_nargs); - for (i = 0; i < (int) ofn->fn_nargs; i++) { + for (i = 0; i < ofn->fn_nargs; i++) { (void) remap_node(&nfn->fn_args[i], ofn->fn_args[i], old->t_id, new, mcd); } @@ -807,7 +805,7 @@ conjure_su(tdesc_t *old, int newselfid, merge_cb_data_t *mcd) *nmemp = xmalloc(sizeof (mlist_t)); (*nmemp)->ml_offset = omem->ml_offset; (*nmemp)->ml_size = omem->ml_size; - (*nmemp)->ml_name = xstrdup(omem->ml_name ? omem->ml_name : "empty omem->ml_name"); + (*nmemp)->ml_name = xstrdup(omem->ml_name); (void) remap_node(&((*nmemp)->ml_type), omem->ml_type, old->t_id, new, mcd); } @@ -818,7 +816,7 @@ conjure_su(tdesc_t *old, int newselfid, merge_cb_data_t *mcd) /*ARGSUSED2*/ static tdesc_t * -conjure_enum(tdesc_t *old, int newselfid, merge_cb_data_t *mcd __unused) +conjure_enum(tdesc_t *old, int newselfid, merge_cb_data_t *mcd) { tdesc_t *new = conjure_template(old, newselfid); elist_t *oel, **nelp; @@ -847,7 +845,7 @@ conjure_forward(tdesc_t *old, int newselfid, merge_cb_data_t *mcd) /*ARGSUSED*/ static tdesc_t * -conjure_assert(tdesc_t *old __unused, int newselfid __unused, merge_cb_data_t *mcd __unused) +conjure_assert(tdesc_t *old, int newselfid, merge_cb_data_t *mcd) { assert(1 == 0); return (NULL); @@ -872,7 +870,7 @@ static int fwd_redir(tdesc_t *fwd, tdesc_t **fwdp, void *private) { alist_t *map = private; - void *defn; + tdesc_t *defn; if (!alist_find(map, (void *)fwd, (void **)&defn)) return (0); @@ -910,7 +908,7 @@ static int redir_mstr_fwd_cb(void *name, void *value, void *arg) { tdesc_t *fwd = name; - int defnid = (uintptr_t)value; + int defnid = (int)value; redir_mstr_data_t *rmd = arg; tdesc_t template; tdesc_t *defn; @@ -989,9 +987,8 @@ add_tdesc(tdesc_t *oldtdp, int newid, merge_cb_data_t *mcd) assert(hash_find(mcd->md_parent->td_idhash, (void *)&template, NULL) == 0); - debug(3, "trying to conjure %d %s (%d, <%x>) as %d, <%x>\n", - oldtdp->t_type, tdesc_name(oldtdp), oldtdp->t_id, - oldtdp->t_id, newid, newid); + debug(3, "trying to conjure %d %s (%d) as %d\n", + oldtdp->t_type, tdesc_name(oldtdp), oldtdp->t_id, newid); if ((newtdp = tdesc_ops[oldtdp->t_type].conjure(oldtdp, newid, mcd)) == NULL) @@ -1052,16 +1049,16 @@ merge_types(hash_t *src, merge_cb_data_t *mcd) (void) hash_iter(src, merge_type_cb, mcd); - tdrc = hash_iter(mcd->md_tdtba, add_tdtba_cb, mcd); + tdrc = hash_iter(mcd->md_tdtba, add_tdtba_cb, (void *)mcd); debug(3, "add_tdtba_cb added %d items\n", tdrc); - iirc = list_iter(*mcd->md_iitba, add_iitba_cb, mcd); + iirc = list_iter(*mcd->md_iitba, add_iitba_cb, (void *)mcd); debug(3, "add_iitba_cb added %d items\n", iirc); assert(list_count(*mcd->md_iitba) == 0 && hash_count(mcd->md_tdtba) == 0); - tdrc = list_iter(*mcd->md_tdtbr, add_tdtbr_cb, mcd); + tdrc = list_iter(*mcd->md_tdtbr, add_tdtbr_cb, (void *)mcd); debug(3, "add_tdtbr_cb added %d items\n", tdrc); if (list_count(*mcd->md_tdtbr) != 0) |