]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
libctf: Handle CTFv3 containers
authorMark Johnston <markj@FreeBSD.org>
Mon, 7 Mar 2022 13:53:27 +0000 (08:53 -0500)
committerMark Johnston <markj@FreeBSD.org>
Thu, 7 Apr 2022 00:30:45 +0000 (20:30 -0400)
commita49aa9da7835742aa455c7eec4493f0034b4e197
treef9a9ef108d5f5fbc26839a17e4491d03b40a47f4
parent8409eb0251ce54b4a901b534198ca82f5048c7fe
libctf: Handle CTFv3 containers

In general, the patch adds indirection to minimize the amount of code
that needs to know about differences between v2 and v3.  Specifically,
some new ctf_get_ctt_* functions are added, and new LCTF_* macros are
added to use the underlying container's version to do the right thing.

CTF containers can have parent/child relationships, wherein a type ID in
one container refers to a type in the parent.  It is permitted for the
parent and child to have different versions.

Sponsored by: The FreeBSD Foundation

(cherry picked from commit a6fb86917362e3f6d24e95e940e80845c2cfde8a)
cddl/contrib/opensolaris/common/ctf/ctf_create.c
cddl/contrib/opensolaris/common/ctf/ctf_decl.c
cddl/contrib/opensolaris/common/ctf/ctf_hash.c
cddl/contrib/opensolaris/common/ctf/ctf_impl.h
cddl/contrib/opensolaris/common/ctf/ctf_lookup.c
cddl/contrib/opensolaris/common/ctf/ctf_open.c
cddl/contrib/opensolaris/common/ctf/ctf_types.c
cddl/contrib/opensolaris/lib/libctf/common/ctf_lib.c