freebsd-skq/cddl
Mark Johnston f810bf0eaf When copying a type from a source CTF container to a destination container,
ctf_add_type() first performs a by-name lookup of the type in the
destination container. If this lookup returns a forward declaration for an
enum, struct, or union, reset dst_type back to CTF_ERR, indicating that the
source type is not in fact present in the destination container. This
ensures that ctf_add_type() will also search the destination container's
dynamic type list for the source type.

Without this change, a pair of mutually recursive struct definitions could
cause infinite recursion in ctf_add_type() if the destination container
only contained forward declarations for the struct types: ctf_add_type()
recursively calls itself on each struct member's type, and the forward
declarations meant that the dynamic type list search would be skipped.

MFC after:	2 weeks
Sponsored by:	EMC / Isilon Storage Division
2015-03-11 00:01:39 +00:00
..
compat/opensolaris Use calloc() instead of malloc() + bzero(). This also gets rid of a warning 2014-12-08 06:10:47 +00:00
contrib When copying a type from a source CTF container to a destination container, 2015-03-11 00:01:39 +00:00
lib Initial version of DTrace on ARM32. 2015-02-10 19:41:30 +00:00
sbin MFV r267565: 2014-07-01 06:43:15 +00:00
tests Add placeholder Kyuafiles for various top-level hierarchies. 2014-04-21 21:39:25 +00:00
usr.bin These CTF tools do not use anything from libctf, so no need to link with it. 2015-02-27 22:10:31 +00:00
usr.sbin Add infrastructure to integrate the DTrace test suite with Kyua. 2015-02-28 23:30:06 +00:00
Makefile Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
Makefile.inc Make DTrace stuff compile with C99 standard. 2014-08-22 20:04:51 +00:00