Author: bdrewery
Date: Tue Apr 28 16:09:28 2020
New Revision: 360445
URL: https://svnweb.freebsd.org/changeset/base/360445

Log:
  ctfmerge: Assert that there is enough room for types.
  
  Sponsord by:          Dell EMC
  Differential Revision:        https://reviews.freebsd.org/D24537

Modified:
  head/cddl/contrib/opensolaris/tools/ctf/cvt/merge.c
  head/cddl/contrib/opensolaris/tools/ctf/cvt/util.c

Modified: head/cddl/contrib/opensolaris/tools/ctf/cvt/merge.c
==============================================================================
--- head/cddl/contrib/opensolaris/tools/ctf/cvt/merge.c Tue Apr 28 16:09:25 
2020        (r360444)
+++ head/cddl/contrib/opensolaris/tools/ctf/cvt/merge.c Tue Apr 28 16:09:28 
2020        (r360445)
@@ -452,6 +452,10 @@ map_td_tree_post(tdesc_t *ctdp, tdesc_t **ctdpp __unus
                if (ed.ed_tgt->t_type == FORWARD && ctdp->t_type != FORWARD) {
                        int id = mcd->md_tgt->td_nextid++;
 
+#ifdef __FreeBSD__
+                       if (CTF_TYPE_ISCHILD(id))
+                               terminate("No room for additional types\n");
+#endif
                        debug(3, "Creating new defn type %d <%x>\n", id, id);
                        add_mapping(mcd->md_ta, ctdp->t_id, id);
                        alist_add(mcd->md_fdida, (void *)(ulong_t)ed.ed_tgt,
@@ -473,6 +477,10 @@ map_td_tree_post(tdesc_t *ctdp, tdesc_t **ctdpp __unus
        } else {
                int id = mcd->md_tgt->td_nextid++;
 
+#ifdef __FreeBSD__
+               if (CTF_TYPE_ISCHILD(id))
+                       terminate("No room for additional types\n");
+#endif
                debug(3, "Creating new type %d <%x>\n", id, id);
                add_mapping(mcd->md_ta, ctdp->t_id, id);
                hash_add(mcd->md_tdtba, ctdp);

Modified: head/cddl/contrib/opensolaris/tools/ctf/cvt/util.c
==============================================================================
--- head/cddl/contrib/opensolaris/tools/ctf/cvt/util.c  Tue Apr 28 16:09:25 
2020        (r360444)
+++ head/cddl/contrib/opensolaris/tools/ctf/cvt/util.c  Tue Apr 28 16:09:28 
2020        (r360445)
@@ -148,17 +148,7 @@ terminate(const char *format, ...)
 
        if (getenv("CTF_ABORT_ON_TERMINATE") != NULL)
                abort();
-#if defined(__FreeBSD__)
-/*
- * For the time being just output the termination message, but don't
- * return an exit status that would cause the build to fail. We need
- * to get as much stuff built as possible before going back and
- * figuring out what is wrong with certain files.
- */
-       exit(0);
-#else
        exit(1);
-#endif
 }
 
 /*PRINTFLIKE1*/
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to