ruby-elf 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
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
+ -->