ctfmerge: Assert that there is enough room for types.

Sponsord by:		Dell EMC
Differential Revision:	https://reviews.freebsd.org/D24537
This commit is contained in:
Bryan Drewery 2020-04-28 16:09:28 +00:00
parent 265cef40f0
commit 6f63e88c01
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=360445
2 changed files with 8 additions and 10 deletions

View File

@ -452,6 +452,10 @@ 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++;
#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 __unused, void *private)
} 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);

View File

@ -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*/