Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Aug 2016 19:51:00 +0000 (UTC)
From:      Mark Johnston <markj@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r304055 - head/cddl/contrib/opensolaris/tools/ctf/cvt
Message-ID:  <201608131951.u7DJp0OH026752@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: markj
Date: Sat Aug 13 19:51:00 2016
New Revision: 304055
URL: https://svnweb.freebsd.org/changeset/base/304055

Log:
  Fix handling of forward enum declarations in the CTF tools.
  
  Reported by:	mmacy
  MFC after:	2 weeks

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

Modified: head/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c
==============================================================================
--- head/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c	Sat Aug 13 19:49:32 2016	(r304054)
+++ head/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c	Sat Aug 13 19:51:00 2016	(r304055)
@@ -816,6 +816,11 @@ die_enum_create(dwarf_t *dw, Dwarf_Die d
 	Dwarf_Unsigned uval;
 	Dwarf_Signed sval;
 
+	if (die_isdecl(dw, die)) {
+		tdp->t_type = FORWARD;
+		return;
+	}
+
 	debug(3, "die %llu: creating enum\n", off);
 
 	tdp->t_type = ENUM;

Modified: head/cddl/contrib/opensolaris/tools/ctf/cvt/merge.c
==============================================================================
--- head/cddl/contrib/opensolaris/tools/ctf/cvt/merge.c	Sat Aug 13 19:49:32 2016	(r304054)
+++ head/cddl/contrib/opensolaris/tools/ctf/cvt/merge.c	Sat Aug 13 19:51:00 2016	(r304055)
@@ -338,7 +338,8 @@ fwd_equiv(tdesc_t *ctdp, tdesc_t *mtdp)
 {
 	tdesc_t *defn = (ctdp->t_type == FORWARD ? mtdp : ctdp);
 
-	return (defn->t_type == STRUCT || defn->t_type == UNION);
+	return (defn->t_type == STRUCT || defn->t_type == UNION ||
+	    defn->t_type == ENUM);
 }
 
 static int



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