Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Apr 2020 16:09:28 +0000 (UTC)
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r360445 - head/cddl/contrib/opensolaris/tools/ctf/cvt
Message-ID:  <202004281609.03SG9S3n013323@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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*/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202004281609.03SG9S3n013323>