annotate usr/src/man/man1/ctfdump.1 @ 23918:f3c8f3a2a25c

13404 man page spelling errors Reviewed by: Ryan Zezeski <ryan@oxide.computer> Reviewed by: Robert Mustacchi <rm@fingolfin.org> Approved by: Richard Lowe <richlowe@richlowe.net>
author Peter Tribble <peter.tribble@gmail.com>
date Thu, 31 Dec 2020 10:47:42 +0000
parents 9a8bc2a52753
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
20646
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
1 .\"
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
2 .\" This file and its contents are supplied under the terms of the
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
3 .\" Common Development and Distribution License ("CDDL"), version 1.0.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
4 .\" You may only use this file in accordance with the terms of version
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
5 .\" 1.0 of the CDDL.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
6 .\"
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
7 .\" A full copy of the text of the CDDL should have accompanied this
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
8 .\" source. A copy of the CDDL is also available via the Internet at
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
9 .\" http://www.illumos.org/license/CDDL.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
10 .\"
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
11 .\"
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
12 .\" Copyright 2018, Joyent, Inc.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
13 .\"
23918
f3c8f3a2a25c 13404 man page spelling errors
Peter Tribble <peter.tribble@gmail.com>
parents: 20646
diff changeset
14 .Dd December 28, 2020
20646
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
15 .Dt CTFDUMP 1
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
16 .Os
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
17 .Sh NAME
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
18 .Nm ctfdump
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
19 .Nd dump parts of ctf data from files
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
20 .Sh SYNOPSIS
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
21 .Nm ctfdump
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
22 .Op Fl cdfhlsSt
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
23 .Op Fl p Ar parent
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
24 .Op Fl u Ar outfile
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
25 .Ar file
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
26 .Sh DESCRIPTION
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
27 The
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
28 .Nm
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
29 utility dumps and decodes the
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
30 .Sy CTF
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
31 data contained inside of
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
32 .Sy ELF
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
33 objects and raw
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
34 .Sy CTF
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
35 files.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
36 .Lp
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
37 .Nm
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
38 can dump information about the
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
39 .Sy CTF header ,
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
40 the
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
41 .Sy labels
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
42 encoded in the
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
43 .Sy CTF
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
44 container,
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
45 the types of
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
46 .Sy data objects ,
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
47 the internal
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
48 .Sy string
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
49 table,
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
50 the types of the return function and the arguments for
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
51 .Sy functions ,
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
52 and of course, it displays information about the
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
53 .Sy types
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
54 defined in the
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
55 .Sy CTF
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
56 container.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
57 .Lp
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
58 .Nm
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
59 can also be used to dump out the raw
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
60 .Sy CTF
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
61 data and send it to another file.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
62 When writing out data, it always ensures that the
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
63 .Sy CTF
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
64 data is decompressed.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
65 In this form, the
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
66 .Sy CTF
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
67 data can be inspected using
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
68 .Nm
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
69 and other tools such as
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
70 .Xr mdb 1 .
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
71 .Lp
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
72 .Nm
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
73 in
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
74 .Fl c
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
75 mode will generate C-style output, which can be used for comparison.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
76 Note that this output is not directly compilable.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
77 .Lp
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
78 When no options are specified,
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
79 .Nm
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
80 displays all information, except the C-style output.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
81 However, when the
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
82 .Fl u
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
83 option is used, then no information is displayed by default, unless
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
84 requested through the appropriate option.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
85 .Sh OPTIONS
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
86 The following options are supported:
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
87 .Bl -hang -width Ds
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
88 .It Fl c
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
89 .Bd -filled -compact
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
90 Generate C-style output.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
91 .Ed
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
92 .It Fl d
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
93 .Bd -filled -compact
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
94 Dump the types of symbols that correspond to objects.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
95 .Ed
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
96 .It Fl f
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
97 .Bd -filled -compact
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
98 Dump the types of the return values and arguments of the functions.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
99 .Ed
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
100 .It Fl h
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
101 .Bd -filled -compact
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
102 Dump the
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
103 .Sy CTF
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
104 header
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
105 .Ed
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
106 .It Fl l
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
107 .Bd -filled -compact
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
108 Dump all
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
109 .Sy CTF
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
110 labels associated with the file.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
111 .Ed
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
112 .It Fl p Ar parent
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
113 .Bd -filled -compact
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
114 Use the type information in
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
115 .Em parent
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
116 to supplement output.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
117 This is useful when a
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
118 .Nm CTF
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
119 container has been
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
120 .Sy uniquified
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
121 against
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
122 .Em parent .
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
123 This allows
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
124 .Nm
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
125 to use the names of types when used with
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
126 .Fl t .
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
127 .Ed
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
128 .It Fl s
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
129 .Bd -filled -compact
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
130 Dump the internal
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
131 .Sy CTF
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
132 string table
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
133 .Ed
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
134 .It Fl S
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
135 .Bd -filled -compact
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
136 Displays statistics about the
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
137 .Sy CTF
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
138 container.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
139 .Ed
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
140 .It Fl t
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
141 .Bd -filled -compact
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
142 Dump the type information contained in the
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
143 .Sy CTF
23918
f3c8f3a2a25c 13404 man page spelling errors
Peter Tribble <peter.tribble@gmail.com>
parents: 20646
diff changeset
144 container.
20646
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
145 .Ed
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
146 .It Fl u Ar outfile
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
147 .Bd -filled -compact
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
148 Copies the uncompressed
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
149 .Sy CTF
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
150 data to the file specified by
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
151 .Em outfile .
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
152 This can be used to make it easier to inspect the raw
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
153 .Sy CTF
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
154 data.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
155 .Ed
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
156 .El
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
157 .Sh OUTPUT
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
158 When the
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
159 .Nm
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
160 utility is executed with its default options, it prints out a textual
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
161 representation of the
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
162 .Sy CTF
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
163 information.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
164 Note, the output format of
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
165 .Nm
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
166 is subject to change at any time and should not be relied upon as a
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
167 stable format to be used for parsing.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
168 .Ss CTF Header
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
169 This section describes the values in the
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
170 .Sy CTF
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
171 header.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
172 Each line in the section describes the value of one of the
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
173 members of the header.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
174 For more information on the meaning and interpretation of these members,
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
175 see
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
176 .Xr ctf 4 .
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
177 .Ss Label Table
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
178 This section describes information about the labels present in the
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
179 .Sy CTF
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
180 information.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
181 Each entry in this section, if present, starts with a
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
182 number and is followed by a string.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
183 An example entry in the label section might look like:
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
184 .Bd -literal
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
185 \&...
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
186 2270 joyent_20151001T070028Z
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
187 \&...
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
188 .Ed
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
189 .Pp
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
190 The number,
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
191 .Em 2270 ,
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
192 represents the last type that the label applies to.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
193 The string,
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
194 .Em joyent_20151001T070028Z ,
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
195 is the name of the label.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
196 In this case, if there were no other labels,
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
197 it would indicate that the label applied to all types up to, and
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
198 including, the type number 2270.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
199 For more information on how labels are used with
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
200 .Sy CTF
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
201 information, see the section
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
202 .Em The Label Section
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
203 in
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
204 .Xr ctf 4 .
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
205 .Ss Data Objects
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
206 This section describes the type information relating to data objects
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
207 from the symbol table.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
208 An entry for a data object consists of four columns.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
209 The first column is just a monotonic ID.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
210 The second number is the type id of the object.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
211 The third column is the name of the symbol and the fourth column is the
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
212 corresponding index from the symbol table.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
213 .Pp
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
214 Take for example, the following couple of entries:
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
215 .Bd -literal
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
216 \&...
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
217 [0] 13 hz (48)
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
218 [1] 78 _nd (49)
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
219 [2] 1656 __pfmt_label (56)
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
220 [3] 926 _aio_hash (68)
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
221 [4] 13 _lio_free (70)
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
222 [5] 1321 u8_number_of_bytes (73)
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
223 \&...
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
224 .Ed
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
225 .Pp
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
226 Let's take the first entry in the list above.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
227 The symbol is named
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
228 .Sy hz .
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
229 It is the first data object, as indicated by the number zero in
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
230 brackets.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
231 It has a type id of 13 and in this case, it has a symbol table index of
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
232 48.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
233 .Ss Functions
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
234 This section describes the type information for functions.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
235 For each function present in the symbol table with type information, the
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
236 function's entry into the function section, the function's name, the
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
237 function's symbol table index, the function's return type, and the types
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
238 of the function's arguments are printed.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
239 If a function is a variadic function, then the variadic argument is
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
240 printed as the string
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
241 .Sy '...' .
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
242 .Pp
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
243 Take for example, the following couple of entries:
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
244 .Bd -literal
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
245 \&...
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
246 [687] pfprint_stack (3110) returns: 11 args: (385, 115, 29, 1704, 223, 116, 2)
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
247 [688] pfprint_stddev (3111) returns: 11 args: (385, 115, 29, 1704, 223, 116, 2)
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
248 [689] pfprint_quantize (3112) returns: 11 args: (385, 115, 29, 1704, 223, 116, 2)
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
249 [690] pfprint_lquantize (3113) returns: 11 args: (385, 115, 29, 1704, 223, 116, 2)
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
250 [691] pfprint_llquantize (3114) returns: 11 args: (385, 115, 29, 1704, 223, 116, 2)
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
251 \&...
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
252 .Ed
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
253 .Pp
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
254 The first column is the function's entry number in the function type
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
255 information section.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
256 It is enclosed in brackets.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
257 The next column is the function's name and it is followed in parenthesis
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
258 by the its index in the
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
259 symbol table.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
260 The following portions of this entry describe the return
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
261 type and then all of the arguments, in positional order.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
262 .Ss Types
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
263 The types section gives information about each type in the
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
264 .Sy CTF
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
265 container.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
266 Each entry begins with its type identifier.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
267 The type identifier may either be in square brackets or in angle
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
268 brackets.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
269 If the type identifier is enclosed in angle brackets, then that
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
270 represents that it is a root type or top-level type.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
271 If it is square brackets, then it is not.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
272 For more information on root types, see
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
273 .Xr ctf 4 .
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
274 .Pp
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
275 Next, the type will have its name and kind.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
276 If it is an array, it will be followed with a subscript that describes
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
277 the number of entries in the array.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
278 If it is a pointer, it will followed by the
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
279 .Sy *
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
280 symbol to indicate that it is a pointer.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
281 If the type has the
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
282 .Sy const ,
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
283 .Sy volatile ,
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
284 .Sy typedef ,
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
285 or
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
286 .Sy restrict
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
287 keyword applied to it, that will precede the name.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
288 All of these reference types, including pointer, will then be followed
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
289 with an example of the type that they refer to.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
290 .Pp
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
291 Types which are an integral or floating point value will be followed by
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
292 information about their encoding and the number of bits represented in
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
293 the type.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
294 .Pp
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
295 Arrays will be followed by two different entries, the contents and
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
296 index.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
297 The contents member contains the type id of the array's contents
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
298 and the index member describes a type which can represent the array's
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
299 index.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
300 .Pp
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
301 Structures and unions will be preceded with the corresponding C keyword,
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
302 .Sy struct
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
303 or
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
304 .Sy union .
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
305 After that, the size in bytes of the structure will be indicated.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
306 ON each subsequent line, a single member will be listed.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
307 That line will contain the member's name, it's type identifier, and the
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
308 offset into the structure that it can be found in, in bits.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
309 .Pp
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
310 The following show examples of type information for all of these
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
311 different types:
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
312 .Bd -literal
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
313 \&...
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
314 [5] char [12] contents: 1, index: 2
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
315 [6] short encoding=SIGNED offset=0 bits=16
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
316 <7> struct exit_status (4 bytes)
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
317 e_termination type=6 off=0
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
318 e_exit type=6 off=16
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
319
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
320 <8> typedef time_t refers to 2
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
321 <9> struct utmp (36 bytes)
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
322 ut_user type=3 off=0
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
323 ut_id type=4 off=64
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
324 ut_line type=5 off=96
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
325 ut_pid type=6 off=192
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
326 ut_type type=6 off=208
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
327 ut_exit type=7 off=224
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
328 ut_time type=8 off=256
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
329
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
330 <10> struct utmp * refers to 9
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
331 [11] const struct utmp refers to 9
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
332 [12] const struct utmp * refers to 11
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
333 <13> int encoding=SIGNED offset=0 bits=32
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
334 <14> typedef int32_t refers to 13
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
335 \&...
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
336 .Ed
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
337 .Ss String Table
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
338 This section describes all of the strings that are present in the
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
339 .Sy CTF
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
340 container.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
341 Each line represents an entry in the string table.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
342 First the byte offset into the string table is shown in brackets and
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
343 then the
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
344 string's value is displayed.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
345 Note the following examples:
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
346 .Bd -literal
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
347 [0] \0
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
348 [1] joyent_20151001T070028Z
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
349 [25] char
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
350 [30] long
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
351 [35] short
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
352 .Ed
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
353 .Ss Statistics
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
354 This section contains miscellaneous statistics about the
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
355 .Sy CTF
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
356 data present.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
357 Each line contains a single statistic.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
358 A brief explanation of the statistic is placed first, followed by an
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
359 equals sign, and then finally the value.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
360 .Sh EXIT STATUS
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
361 .Bl -inset
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
362 .It Sy 0
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
363 .Dl Execution completed successfully.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
364 .It Sy 1
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
365 .Dl A fatal error occurred.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
366 .It Sy 2
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
367 .Dl Invalid command line options were specified.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
368 .El
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
369 .Sh EXAMPLES
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
370 .Sy Example 1
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
371 Displaying the Type Section of a Single File
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
372 .Lp
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
373 The following example dumps the type section of the file
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
374 .Sy /usr/lib/libc.so.1 .
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
375 .Bd -literal -offset 6n
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
376 $ ctfdump -t /usr/lib/libc.so.1
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
377 - Types ----------------------------------------------------
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
378
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
379 <1> int encoding=SIGNED offset=0 bits=32
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
380 <2> long encoding=SIGNED offset=0 bits=32
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
381 <3> typedef pid_t refers to 2
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
382 <4> unsigned int encoding=0x0 offset=0 bits=32
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
383 <5> typedef uid_t refers to 4
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
384 <6> typedef gid_t refers to 5
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
385 <7> typedef uintptr_t refers to 4
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
386 \&...
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
387 .Ed
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
388 .Lp
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
389 .Sy Example 2
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
390 Dumping the CTF data to Another File
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
391 .Lp
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
392 The following example dumps the entire CTF data from the file
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
393 .Sy /usr/lib/libc.so.1
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
394 and places it into the file
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
395 .Sy ctf.out .
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
396 This then shows how you can use the
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
397 .Xr mdb 1
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
398 to inspect its contents.
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
399 .Bd -literal -offset 6n
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
400 $ ctfdump -u ctf.out /usr/lib/libc.so.1
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
401 $ mdb ./ctf.out
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
402 > ::typedef -r /usr/lib/libctf.so.1
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
403 > 0::print ctf_header_t
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
404 {
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
405 cth_preamble = {
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
406 ctp_magic = 0xcff1
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
407 ctp_version = 0x2
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
408 ctp_flags = 0
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
409 }
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
410 cth_parlabel = 0
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
411 cth_parname = 0
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
412 cth_lbloff = 0
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
413 cth_objtoff = 0x8
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
414 cth_funcoff = 0x5e0
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
415 cth_typeoff = 0x7178
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
416 cth_stroff = 0x12964
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
417 cth_strlen = 0x7c9c
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
418 }
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
419 .Ed
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
420 .Lp
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
421 .Sy Example 3
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
422 Dumping C-style output
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
423 .Bd -literal -offset 6n
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
424 $ ctfdump -c ./genunix | more
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
425 /* Types */
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
426
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
427 typedef Elf64_Addr Addr;
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
428
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
429 typedef unsigned char Bool;
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
430
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
431 typedef struct CK_AES_CCM_PARAMS CK_AES_CCM_PARAMS;
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
432
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
433 typedef struct CK_AES_GCM_PARAMS CK_AES_GCM_PARAMS;
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
434 \&...
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
435 .Ed
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
436 .Sh INTERFACE STABILITY
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
437 The command syntax is
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
438 .Sy Committed .
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
439 The output format is
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
440 .Sy Uncommitted .
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
441 .Sh SEE ALSO
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
442 .Xr ctfdiff 1 ,
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
443 .Xr dump 1 ,
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
444 .Xr elfdump 1 ,
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
445 .Xr mdb 1 ,
9a8bc2a52753 6885 CTF Everywhere Part 1
Robert Mustacchi <rm@joyent.com>
parents:
diff changeset
446 .Xr ctf 4