ruby-elf 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/manpages/elfgrep.1 CHANGED
@@ -31,7 +31,7 @@
31
31
  elfgrep \- Search for symbols matching an expression in ELF files
32
32
  .SH "SYNOPSIS"
33
33
  .HP \w'\fBelfgrep\fR\ 'u
34
- \fBelfgrep\fR [\fB\-\-fixed\-strings\fR] {\fB\-\-regexp\fR\ \fIPATTERN\fR...} [\fB\-\-ignore\-case\fR] [\fB\-\-match\-version\fR] [\fB\-\-no\-match\-undefined\fR | \fB\-\-no\-match\-defined\fR] [\fB\-\-invert\-match\fR] [\fB\-\-count\fR] [\fB\-\-files\-without\-match\fR | \fB\-\-files\-with\-matches\fR] [\fB\-\-with\-filename\fR | \fB\-\-no\-filename\fR] [\fB\-\-null\fR] [\fB\-\-quiet\fR] [\fB\-\-recursive\fR] [\fB@\fR\fIfile\fR | \fIfile\fR...]
34
+ \fBelfgrep\fR [\fB\-\-fixed\-strings\fR] [\fB\-\-ignore\-case\fR] [\fB\-\-match\-version\fR] [\fB\-\-no\-match\-undefined\fR | \fB\-\-no\-match\-defined\fR] [\fB\-\-invert\-match\fR] [\fB\-\-count\fR] [\fB\-\-files\-without\-match\fR | \fB\-\-files\-with\-matches\fR] [\fB\-\-with\-filename\fR | \fB\-\-no\-filename\fR] [\fB\-\-null\fR] [\fB\-\-quiet\fR] [\fB\-\-recursive\fR] {\fB\-\-regexp\fR\ \fIPATTERN\fR... | \fIPATTERN\fR} [\fB@\fR\fIfile\fR | \fIfile\fR...]
35
35
  .SH "DESCRIPTION"
36
36
  .PP
37
37
 
@@ -46,18 +46,14 @@ tool\&.
46
46
  .RS 4
47
47
  Interpret
48
48
  \fIPATTERN\fR
49
- as a fixed string\&.
49
+ as a list of fixed strings, separated by newlines, any of which is to be matched\&.
50
50
  .RE
51
51
  .PP
52
52
  \fB\-e\fR \fIPATTERN\fR, \fB\-\-regexp\fR \fIPATTERN\fR
53
53
  .RS 4
54
- Specifies the expression to match on the symbols\&. In contrast to regular
55
- \fBgrep\fR(1)
56
- you
57
- \fIhave\fR
58
- to provide at least an expression through the
59
- \fB\-\-regexp\fR
60
- option\&.
54
+ Use
55
+ \fIPATTERN\fR
56
+ as the pattern\&. This can be used to specify multiple search patterns, or to protect a pattern beginning with a hyphen (\-)\&.
61
57
  .RE
62
58
  .PP
63
59
  \fB\-i\fR, \fB\-\-ignore\-case\fR
@@ -154,12 +150,6 @@ uses standard Ruby regular expressions, which are neither the basic or extended
154
150
  \fBgrep\fR(1)
155
151
  nor the Perl (or compatible) regular expressions\&.
156
152
  .PP
157
- The
158
- \fB\-\-fixed\-strings\fR
159
- option does not conform completely with the equivalent option from
160
- \fBgrep\fR(1)
161
- as it doesn\*(Aqt take a newline\-separated list of strings, but only a single string\&.
162
- .PP
163
153
  Parsing of files to provide further arguments (\fB@\fR\fIfile\fR) is not entirely comforming to other tools handling of the same syntax\&. No options are parsed from the file, and filenames are expected to be separated by newlines rather than whitespace\&.
164
154
  .PP
165
155
  Symbolic links are only followed when they are passed directly to the command line, or through @\-lists; symbolic links are
@@ -0,0 +1,370 @@
1
+ <?xml version='1.0'?>
2
+ <!--
3
+ Copyright © 2011, Diego "Flameeyes" Pettenò <flameeyes@gmail.com>
4
+
5
+ This program is free software; you can redistribute it and/or modify
6
+ it under the terms of the GNU General Public License as published by
7
+ the Free Software Foundation; either version 2 of the License, or
8
+ (at your option) any later version.
9
+
10
+ This program is distributed in the hope that it will be useful,
11
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ GNU General Public License for more details.
14
+
15
+ You should have received a copy of the GNU General Public License
16
+ along with this generator; if not, write to the Free Software
17
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18
+ -->
19
+ <article xmlns="http://docbook.org/ns/docbook"
20
+ xmlns:xl="http://www.w3.org/1999/xlink"
21
+ xmlns:xi="http://www.w3.org/2001/XInclude"
22
+ version="5.0" xml:lang="en">
23
+ <info>
24
+ <title>elfgrep</title>
25
+
26
+ <xi:include parse="xml" href="author.xmli" />
27
+ </info>
28
+
29
+ <section>
30
+ <title>Reference</title>
31
+
32
+ <refentry>
33
+ <info>
34
+ <date>January 2011</date>
35
+ <productname>ruby-elf</productname>
36
+ </info>
37
+ <refmeta>
38
+ <refentrytitle>elfgrep</refentrytitle>
39
+ <manvolnum>1</manvolnum>
40
+ </refmeta>
41
+ <refnamediv>
42
+ <refname>elfgrep</refname>
43
+ <refpurpose>Search for symbols matching an expression in ELF files</refpurpose>
44
+ </refnamediv>
45
+ <refsynopsisdiv>
46
+ <cmdsynopsis>
47
+ <command>elfgrep</command>
48
+
49
+ <arg choice="opt">
50
+ <option>--fixed-strings</option>
51
+ </arg>
52
+
53
+ <arg choice="opt">
54
+ <option>--ignore-case</option>
55
+ </arg>
56
+
57
+ <arg choice="opt">
58
+ <option>--match-version</option>
59
+ </arg>
60
+
61
+ <group choice="opt">
62
+ <arg choice="plain">
63
+ <option>--no-match-undefined</option>
64
+ </arg>
65
+
66
+ <arg choice="plain">
67
+ <option>--no-match-defined</option>
68
+ </arg>
69
+ </group>
70
+
71
+ <arg choice="opt">
72
+ <option>--invert-match</option>
73
+ </arg>
74
+
75
+ <arg choice="opt">
76
+ <option>--count</option>
77
+ </arg>
78
+
79
+ <group choice="opt">
80
+ <arg choice="plain">
81
+ <option>--files-without-match</option>
82
+ </arg>
83
+
84
+ <arg choice="plain">
85
+ <option>--files-with-matches</option>
86
+ </arg>
87
+ </group>
88
+
89
+ <group choice="opt">
90
+ <arg choice="plain">
91
+ <option>--with-filename</option>
92
+ </arg>
93
+
94
+ <arg choice="plain">
95
+ <option>--no-filename</option>
96
+ </arg>
97
+ </group>
98
+
99
+ <arg choice="opt">
100
+ <option>--null</option>
101
+ </arg>
102
+
103
+ <xi:include href="common.xmli" xpointer="xpointer(id('filelist.synopsis.options')/*)" />
104
+
105
+ <group choice="req">
106
+ <arg choice="plain" rep="repeat">
107
+ <option>--regexp</option>
108
+ <replaceable>PATTERN</replaceable>
109
+ </arg>
110
+
111
+ <arg choice="plain">
112
+ <replaceable>PATTERN</replaceable>
113
+ </arg>
114
+ </group>
115
+
116
+ <xi:include href="common.xmli" xpointer="xpointer(id('filelist.synopsis.arguments')/*)" />
117
+ </cmdsynopsis>
118
+ </refsynopsisdiv>
119
+
120
+ <refsect1>
121
+ <title>Description</title>
122
+ <para>
123
+ <command>elfgrep</command> is a simple script that allows to earch for particular symbols
124
+ within a file, by matching regular expression on their name. It is insipired by the common
125
+ Unix
126
+ <citerefentry><refentrytitle>grep</refentrytitle><manvolnum>1</manvolnum></citerefentry>
127
+ tool.
128
+ </para>
129
+ </refsect1>
130
+
131
+ <refsect1>
132
+ <title>Options</title>
133
+
134
+ <refsect2>
135
+ <title>Matching Control</title>
136
+
137
+ <variablelist>
138
+ <varlistentry>
139
+ <term><option>-F</option></term>
140
+ <term><option>--fixed-strings</option></term>
141
+ <listitem>
142
+ <para>
143
+ Interpret <replaceable>PATTERN</replaceable> as a list of fixed strings, separated
144
+ by newlines, any of which is to be matched.
145
+ </para>
146
+ </listitem>
147
+ </varlistentry>
148
+
149
+ <varlistentry>
150
+ <term>
151
+ <option>-e</option>
152
+ <replaceable>PATTERN</replaceable>
153
+ </term>
154
+ <term>
155
+ <option>--regexp</option>
156
+ <replaceable>PATTERN</replaceable>
157
+ </term>
158
+
159
+ <listitem>
160
+ <para>
161
+ Use <replaceable>PATTERN</replaceable> as the pattern. This can be used to specify
162
+ multiple search patterns, or to protect a pattern beginning with a hyphen
163
+ (<literal>-</literal>).
164
+ </para>
165
+ </listitem>
166
+ </varlistentry>
167
+
168
+ <varlistentry>
169
+ <term><option>-i</option></term>
170
+ <term><option>--ignore-case</option></term>
171
+ <listitem>
172
+ <para>
173
+ Ignore case distinction in both the <replaceable>PATTERN</replaceable> and the
174
+ symbols' names.
175
+ </para>
176
+ </listitem>
177
+ </varlistentry>
178
+
179
+ <varlistentry>
180
+ <term><option>-V</option></term>
181
+ <term><option>--match-version</option></term>
182
+ <listitem>
183
+ <para>
184
+ Append the ELF version information for the symbol, separated by an @ symbol, before
185
+ testing the expression for match. This allows to match only symbols that are defined
186
+ with a particular version.
187
+ </para>
188
+ </listitem>
189
+ </varlistentry>
190
+
191
+ <varlistentry>
192
+ <term><option>-U</option></term>
193
+ <term><option>--no-match-undefined</option></term>
194
+ <listitem>
195
+ <para>
196
+ Do not report matches on undefined symbols; useful if you're looking for the objects
197
+ defining the symbol, and not those using it.
198
+ </para>
199
+ </listitem>
200
+ </varlistentry>
201
+
202
+ <varlistentry>
203
+ <term><option>-D</option></term>
204
+ <term><option>--no-match-defined</option></term>
205
+ <listitem>
206
+ <para>
207
+ Do not report matches on defined symbols; useful if you're looking for the objects
208
+ using the symbol, and not those defining it.
209
+ </para>
210
+ </listitem>
211
+ </varlistentry>
212
+
213
+ <varlistentry>
214
+ <term><option>-v</option></term>
215
+ <term><option>--invert-match</option></term>
216
+ <listitem>
217
+ <para>
218
+ Invert the sense of matching, to select non-matching symbols. This does not invert
219
+ the sense of <option>--no-match-undefined</option> and
220
+ <option>--no-match-defined</option>.
221
+ </para>
222
+ </listitem>
223
+ </varlistentry>
224
+ </variablelist>
225
+ </refsect2>
226
+
227
+ <refsect2>
228
+ <title>Output Control</title>
229
+
230
+ <variablelist>
231
+
232
+ <varlistentry>
233
+ <term><option>-c</option></term>
234
+ <term><option>--count</option></term>
235
+ <listitem>
236
+ <para>
237
+ Suppress normal output; instead print a count of matching lines for each input
238
+ file. With the <option>--invert-match</option> option, count non-matching lines.
239
+ </para>
240
+ </listitem>
241
+ </varlistentry>
242
+
243
+ <varlistentry>
244
+ <term><option>-L</option></term>
245
+ <term><option>--files-without-match</option></term>
246
+
247
+ <listitem>
248
+ <para>
249
+ Suppress normal output; instead print the name of each input file from which no
250
+ output would normally have been printed.
251
+ </para>
252
+ </listitem>
253
+ </varlistentry>
254
+
255
+ <varlistentry>
256
+ <term><option>-l</option></term>
257
+ <term><option>--files-with-matches</option></term>
258
+
259
+ <listitem>
260
+ <para>
261
+ Suppress normal output; instead print the name of each input file from which output
262
+ would normally have been printed. The scalling will stop on the first match.
263
+ </para>
264
+ </listitem>
265
+ </varlistentry>
266
+
267
+ <varlistentry>
268
+ <term><option>-H</option></term>
269
+ <term><option>--with-filename</option></term>
270
+
271
+ <listitem>
272
+ <para>
273
+ Print the file name for each match. This is the default when there is more than one
274
+ file to search.
275
+ </para>
276
+ </listitem>
277
+ </varlistentry>
278
+
279
+ <varlistentry>
280
+ <term><option>-h</option></term>
281
+ <term><option>--no-filename</option></term>
282
+
283
+ <listitem>
284
+ <para>
285
+ Suppress the prefixing of file names on output. This is the default when there is
286
+ only one file to search.
287
+ </para>
288
+ </listitem>
289
+ </varlistentry>
290
+
291
+ <varlistentry>
292
+ <term><option>-Z</option></term>
293
+ <term><option>--null</option></term>
294
+
295
+ <listitem>
296
+ <para>
297
+ Output a zero byte (the ASCII <literal>NUL</literal> character) instead of the
298
+ character that normally follows a file name. For example <command>elfgrep
299
+ -lZ</command> outputs a zero byte after each file name instead of the usual
300
+ newline. This option makes the output unambiguous, even in presence of file names
301
+ containing unusual characters like newlines, so that it can be used with commands
302
+ like <command>xargs -0</command>.
303
+ </para>
304
+ </listitem>
305
+ </varlistentry>
306
+ </variablelist>
307
+ </refsect2>
308
+
309
+ <refsect2>
310
+ <title>General Options</title>
311
+
312
+ <variablelist>
313
+ <xi:include href="common.xmli" xpointer="xpointer(id('filelist.option')/*)" />
314
+ </variablelist>
315
+ </refsect2>
316
+ </refsect1>
317
+
318
+ <refsect1>
319
+ <title>Bugs and Missing Features</title>
320
+
321
+ <para>
322
+ By default, <application>elfgrep</application> uses standard Ruby regular expressions,
323
+ which are neither the basic or extended regular expressions as implemented by
324
+ <citerefentry><refentrytitle>grep</refentrytitle><manvolnum>1</manvolnum></citerefentry>
325
+ nor the Perl (or compatible) regular expressions.
326
+ </para>
327
+
328
+ <xi:include href="common.xmli" xpointer="xpointer(id('filelist.bugpara')/*)" />
329
+ </refsect1>
330
+
331
+ <refsect1>
332
+ <title>See Also</title>
333
+ <para>
334
+ <citation xl:href="http://blog.flameeyes.eu/">Flameeyes's Weblog</citation>
335
+ http://blog.flameeyes.eu/
336
+ </para>
337
+
338
+ <para>
339
+ Related tools:
340
+
341
+ <citerefentry>
342
+ <refentrytitle>grep</refentrytitle>
343
+ <manvolnum>1</manvolnum>
344
+ </citerefentry>,
345
+
346
+ <citerefentry>
347
+ <refentrytitle>nm</refentrytitle>
348
+ <manvolnum>1</manvolnum>
349
+ </citerefentry>.
350
+ </para>
351
+
352
+ <para>
353
+ Lots of description of options above are lifted directly from the
354
+ <application>grep</application> man page, to avoid confusing with different
355
+ wordings.
356
+ </para>
357
+ </refsect1>
358
+ </refentry>
359
+ </section>
360
+ </article>
361
+ <!--
362
+ Local Variables:
363
+ mode: nxml
364
+ mode: auto-fill
365
+ mode: flyspell
366
+ ispell-local-dictionary: "english"
367
+ fill-column: 100
368
+ indent-tabs-mode: nil
369
+ End:
370
+ -->
@@ -0,0 +1,290 @@
1
+ <?xml version='1.0'?>
2
+ <!--
3
+ Copyright © 2008-2011, Diego "Flameeyes" Pettenò <flameeyes@gmail.com>
4
+
5
+ This program is free software; you can redistribute it and/or modify
6
+ it under the terms of the GNU General Public License as published by
7
+ the Free Software Foundation; either version 2 of the License, or
8
+ (at your option) any later version.
9
+
10
+ This program is distributed in the hope that it will be useful,
11
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ GNU General Public License for more details.
14
+
15
+ You should have received a copy of the GNU General Public License
16
+ along with this generator; if not, write to the Free Software
17
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18
+ -->
19
+ <article xmlns="http://docbook.org/ns/docbook"
20
+ xmlns:xl="http://www.w3.org/1999/xlink"
21
+ xmlns:xi="http://www.w3.org/2001/XInclude"
22
+ version="5.0" xml:lang="en">
23
+ <info>
24
+ <title>missingstatic</title>
25
+
26
+ <xi:include parse="xml" href="author.xmli" />
27
+ </info>
28
+
29
+ <section>
30
+ <title>Reference</title>
31
+
32
+ <refentry>
33
+ <info>
34
+ <date>October 2008</date>
35
+ <productname>ruby-elf</productname>
36
+ </info>
37
+ <refmeta>
38
+ <refentrytitle>missingstatic</refentrytitle>
39
+ <manvolnum>1</manvolnum>
40
+ </refmeta>
41
+ <refnamediv>
42
+ <refname>missingstatic</refname>
43
+ <refpurpose>ELF analyzer to identify missing static modifiers</refpurpose>
44
+ </refnamediv>
45
+ <refsynopsisdiv>
46
+ <cmdsynopsis>
47
+ <command>missingstatic</command>
48
+ <arg choice="opt"><option>--hidden-only</option></arg>
49
+ <arg choice="opt"><option>--show-type</option></arg>
50
+ <arg choice="opt">
51
+ <option>--exclude-regexp</option>
52
+ <replaceable>regular-expression</replaceable>
53
+ </arg>
54
+ <arg choice="opt">
55
+ <option>--exclude-tags</option>
56
+ <replaceable>tags-file</replaceable>
57
+ </arg>
58
+
59
+ <xi:include href="common.xmli" xpointer="xpointer(id('filelist.synopsis')/*)" />
60
+ </cmdsynopsis>
61
+ </refsynopsisdiv>
62
+
63
+ <refsect1>
64
+ <title>Description</title>
65
+ <para>
66
+ <command>missingstatic</command> is a script that analyses ELF object files to identify
67
+ symbols that are unused outside their compilation unit. Those symbols are usually
68
+ candidate for the <constant>static</constant> modifier, to make the symbol local to the
69
+ unit.
70
+ </para>
71
+
72
+ <para>
73
+ In addition to symbols that are used only internally to an unit, this script will most
74
+ likely report the almost entire set of externally-visible API in the case of
75
+ libraries. For this reason, options are provided to reduce the scope of action.
76
+ </para>
77
+ </refsect1>
78
+
79
+ <refsect1>
80
+ <title>Options</title>
81
+
82
+ <variablelist>
83
+ <varlistentry>
84
+ <term><option>-h</option></term>
85
+ <term><option>--hidden-only</option></term>
86
+ <listitem>
87
+ <para>
88
+ Only show symbols that have hidden visibility. Hidden symbols are not visible from
89
+ outside the module, and thus will ignore the external visible symbols that compose
90
+ the externally-visible API. This option is only useful for libraries that make
91
+ proper use of visibility attributes.
92
+ </para>
93
+ </listitem>
94
+ </varlistentry>
95
+
96
+ <varlistentry>
97
+ <term><option>-t</option></term>
98
+ <term><option>--show-type</option></term>
99
+ <listitem>
100
+ <para>
101
+ Show the type of the symbol. The symbols reported by the script might be functions,
102
+ variables, or constants. By default, only the name of the symbol, with this option,
103
+ a letter in front of the symbol will tell you the type of it; the letters are the
104
+ same as used by GNU
105
+ <citerefentry><refentrytitle>nm</refentrytitle><manvolnum>1</manvolnum></citerefentry>:
106
+
107
+ <variablelist>
108
+ <varlistentry>
109
+ <term>T</term>
110
+ <listitem>
111
+ <para>
112
+ The symbol is in the text (code) section, and is thus a function
113
+ </para>
114
+ </listitem>
115
+ </varlistentry>
116
+
117
+ <varlistentry>
118
+ <term>B</term>
119
+ <listitem>
120
+ <para>
121
+ The symbol is in the uninitialised data section (known as BSS), and is thus
122
+ a variable.
123
+ </para>
124
+ </listitem>
125
+ </varlistentry>
126
+
127
+ <varlistentry>
128
+ <term>D</term>
129
+ <listitem>
130
+ <para>
131
+ The symbol is in the initialised data section, and is thus a variable.
132
+ </para>
133
+ </listitem>
134
+ </varlistentry>
135
+
136
+ <varlistentry>
137
+ <term>R</term>
138
+ <listitem>
139
+ <para>
140
+ The symbol is in the read only data section, and is thus a constant.
141
+ </para>
142
+ </listitem>
143
+ </varlistentry>
144
+
145
+ </variablelist>
146
+
147
+ </para>
148
+ </listitem>
149
+ </varlistentry>
150
+
151
+ <varlistentry>
152
+ <term>
153
+ <option>-x</option>
154
+ <replaceable>regular-expression</replaceable>
155
+ </term>
156
+ <term>
157
+ <option>--exclude-regexp</option>
158
+ <replaceable>regular-expression</replaceable>
159
+ </term>
160
+ <listitem>
161
+ <para>
162
+ Ignore symbols whose name triggers the given regular expression. This option is
163
+ useful to hide all the symbols of the public API of a library if they all have the
164
+ same prefix. It can be used multiple times.
165
+ </para>
166
+ </listitem>
167
+ </varlistentry>
168
+
169
+ <varlistentry>
170
+ <term>
171
+ <option>-X</option>
172
+ <replaceable>tags-file</replaceable>
173
+ </term>
174
+ <term>
175
+ <option>--exclude-tags</option>
176
+ <replaceable>tags-file</replaceable>
177
+ </term>
178
+ <listitem>
179
+ <para>
180
+ Ignore symbols present in a tags file created by
181
+ <command>exuberant-ctags</command>. This option is useful to hide all the symbols in
182
+ the public header files of a project, by creating a list of public-visible
183
+ symbols. See the <link linkend="examples">EXAMPLES</link> section for how to
184
+ generate such a tags file. It can be used multiple times.
185
+ </para>
186
+
187
+ </listitem>
188
+ </varlistentry>
189
+
190
+ <xi:include href="common.xmli" xpointer="xpointer(id('filelist.option')/*)" />
191
+
192
+ </variablelist>
193
+ </refsect1>
194
+
195
+ <refsect1 xml:id="examples">
196
+ <title>Examples</title>
197
+
198
+ <refsect2>
199
+ <title>Generating the tags file</title>
200
+
201
+ <para>
202
+ To generate a tags file compatible with the <option>--exclude-tags</option> command-line
203
+ option, you can use
204
+ <citerefentry>
205
+ <refentrytitle>exuberant-ctags</refentrytitle>
206
+ <manvolnum>1</manvolnum>
207
+ </citerefentry>
208
+ with a command similar to the following:
209
+ </para>
210
+
211
+ <example>
212
+ <title>
213
+ Generate a tags file for public header files
214
+ </title>
215
+
216
+ <programlisting>
217
+ exuberant-ctags --c-kinds=px -f public-symbols include/public/*.h
218
+ </programlisting>
219
+ </example>
220
+ </refsect2>
221
+
222
+ <refsect2>
223
+ <title>Sorting <command>missingstatic</command> output</title>
224
+
225
+ <para>
226
+ Since sorting by translation unit is non-trivial inside the script, piping through
227
+ <citerefentry>
228
+ <refentrytitle>sort</refentrytitle>
229
+ <manvolnum>1</manvolnum>
230
+ </citerefentry>
231
+ is suggested. Using the <option>-k</option> option it's possible to sort for the desired
232
+ key, may it be the symbol name, the translation unit name or the symbol type.
233
+ </para>
234
+
235
+ <example>
236
+ <title>Sorting <command>missingstatic</command> output for translation unit name
237
+ </title>
238
+
239
+ <programlisting>
240
+ find . -name '*.o' | missingstatic -h | sort -k2
241
+ </programlisting>
242
+ </example>
243
+ </refsect2>
244
+ </refsect1>
245
+
246
+ <refsect1>
247
+ <title>Bugs and Missing Features</title>
248
+ <para>
249
+ <command>missingstatic</command> assumes that all the sources for a module and just that
250
+ module will be passed to it, if more or less sources will be passed to the command, the
251
+ results might not be the expected ones.
252
+ </para>
253
+
254
+ <xi:include href="common.xmli" xpointer="xpointer(id('filelist.bugpara')/*)" />
255
+ </refsect1>
256
+
257
+ <refsect1>
258
+ <title>See Also</title>
259
+ <para>
260
+ <citation xl:href="http://blog.flameeyes.eu/">Flameeyes's Weblog</citation>
261
+ http://blog.flameeyes.eu/
262
+ </para>
263
+
264
+ <para>
265
+ Related tools:
266
+
267
+ <citerefentry>
268
+ <refentrytitle>nm</refentrytitle>
269
+ <manvolnum>1</manvolnum>
270
+ </citerefentry>,
271
+
272
+ <citerefentry>
273
+ <refentrytitle>exuberant-ctags</refentrytitle>
274
+ <manvolnum>1</manvolnum>
275
+ </citerefentry>.
276
+ </para>
277
+ </refsect1>
278
+ </refentry>
279
+ </section>
280
+ </article>
281
+ <!--
282
+ Local Variables:
283
+ mode: nxml
284
+ mode: auto-fill
285
+ mode: flyspell
286
+ ispell-local-dictionary: "english"
287
+ fill-column: 100
288
+ indent-tabs-mode: nil
289
+ End:
290
+ -->