xref: /netbsd-src/external/gpl3/binutils/dist/gprofng/doc/gp-display-text.texi (revision cb63e24e8d6aae7ddac1859a9015f48b1d8bd90e)
1*cb63e24eSchristos@c ----------------------------------------------------------------------------
2*cb63e24eSchristos@c This is the Texinfo source file for the gp-display-text man page.
3*cb63e24eSchristos@c
4*cb63e24eSchristos@c Author: Ruud van der Pas
5*cb63e24eSchristos@c ----------------------------------------------------------------------------
6*cb63e24eSchristos@ifset man
7*cb63e24eSchristos\input texinfo @c -*-texinfo-*-
8*cb63e24eSchristos@setfilename gp-display-text
9*cb63e24eSchristos@settitle Display the performance data in plain text format
10*cb63e24eSchristos@include gp-macros.texi
11*cb63e24eSchristos@end ifset
12*cb63e24eSchristos
13*cb63e24eSchristos@c ----------------------------------------------------------------------------
14*cb63e24eSchristos@c This is from the man-pages(7) man page
15*cb63e24eSchristos@c
16*cb63e24eSchristos@c "The list below shows conventional or suggested sections.  Most manual pages
17*cb63e24eSchristos@c  should include at least the highlighted sections.  Arrange a new manual
18*cb63e24eSchristos@c  page so that sections are placed in the order shown in the list."
19*cb63e24eSchristos@c
20*cb63e24eSchristos@c              NAME
21*cb63e24eSchristos@c              SYNOPSIS
22*cb63e24eSchristos@c              CONFIGURATION    [Normally only in Section 4]
23*cb63e24eSchristos@c              DESCRIPTION
24*cb63e24eSchristos@c              OPTIONS          [Normally only in Sections 1, 8]
25*cb63e24eSchristos@c              EXIT STATUS      [Normally only in Sections 1, 8]
26*cb63e24eSchristos@c              RETURN VALUE     [Normally only in Sections 2, 3]
27*cb63e24eSchristos@c              ERRORS           [Typically only in Sections 2, 3]
28*cb63e24eSchristos@c              ENVIRONMENT
29*cb63e24eSchristos@c              FILES
30*cb63e24eSchristos@c              VERSIONS         [Normally only in Sections 2, 3]
31*cb63e24eSchristos@c              ATTRIBUTES       [Normally only in Sections 2, 3]
32*cb63e24eSchristos@c              CONFORMING TO
33*cb63e24eSchristos@c              NOTES
34*cb63e24eSchristos@c              BUGS
35*cb63e24eSchristos@c              EXAMPLES
36*cb63e24eSchristos@c              AUTHORS          [Discouraged]
37*cb63e24eSchristos@c              REPORTING BUGS   [Not used in man-pages]
38*cb63e24eSchristos@c              COPYRIGHT        [Not used in man-pages]
39*cb63e24eSchristos@c              SEE ALSO
40*cb63e24eSchristos@c
41*cb63e24eSchristos@c This is what the texi2pod.pl tool recognizes:
42*cb63e24eSchristos@c
43*cb63e24eSchristos@c for $sect (qw(NAME SYNOPSIS TARGET DESCRIPTION OPTIONS ENVIRONMENT FILES
44*cb63e24eSchristos@c               BUGS NOTES FOOTNOTES SEEALSO AUTHOR COPYRIGHT)) {
45*cb63e24eSchristos@c
46*cb63e24eSchristos@c What is interesting is that it places "SEE ALSO" before "COPYRIGHT", which
47*cb63e24eSchristos@c makes sense and adhered to for the other formats.
48*cb63e24eSchristos@c ----------------------------------------------------------------------------
49*cb63e24eSchristos
50*cb63e24eSchristos@c ----------------------------------------------------------------------------
51*cb63e24eSchristos@c NAME section
52*cb63e24eSchristos@c ----------------------------------------------------------------------------
53*cb63e24eSchristos
54*cb63e24eSchristos@ManPageStart{NAME}
55*cb63e24eSchristos@c man begin NAME
56*cb63e24eSchristos
57*cb63e24eSchristosgp-display-text - Display the performance data in plain text format
58*cb63e24eSchristos
59*cb63e24eSchristos@c man end
60*cb63e24eSchristos@ManPageEnd{}
61*cb63e24eSchristos
62*cb63e24eSchristos@c ----------------------------------------------------------------------------
63*cb63e24eSchristos@c SYNOPSIS section
64*cb63e24eSchristos@c ----------------------------------------------------------------------------
65*cb63e24eSchristos
66*cb63e24eSchristos@ManPageStart{SYNOPSIS}
67*cb63e24eSchristos@c man begin SYNOPSIS
68*cb63e24eSchristos
69*cb63e24eSchristos@command{gprofng display text} [@var{option(s)}] [@var{commands}]
70*cb63e24eSchristos[-script @var{script-file}] @var{experiment(s)}
71*cb63e24eSchristos
72*cb63e24eSchristos@c man end
73*cb63e24eSchristos@ManPageEnd{}
74*cb63e24eSchristos
75*cb63e24eSchristos@c ----------------------------------------------------------------------------
76*cb63e24eSchristos@c DESCRIPTION section
77*cb63e24eSchristos@c ----------------------------------------------------------------------------
78*cb63e24eSchristos
79*cb63e24eSchristos@ManPageStart{DESCRIPTION}
80*cb63e24eSchristos@c man begin DESCRIPTION
81*cb63e24eSchristos
82*cb63e24eSchristosPrint a plain text version of the various displays supported by gprofng.
83*cb63e24eSchristos
84*cb63e24eSchristosThe input consists of one or more experiment directories.  Through commands,
85*cb63e24eSchristosthe user controls the output.
86*cb63e24eSchristos
87*cb63e24eSchristosThere is a rich set of commands to control the display of the data.  The
88*cb63e24eSchristos@samp{NOTES} section lists the most common ones.  The gprofng user guide
89*cb63e24eSchristoslists all the commands supported.
90*cb63e24eSchristos
91*cb63e24eSchristosCommands specified on the command line need to be prepended with the dash ('-')
92*cb63e24eSchristossymbol.
93*cb63e24eSchristos
94*cb63e24eSchristosIn this example, a function overview will be shown, followed by the source
95*cb63e24eSchristoscode listing of function @samp{my-func}, annotated with the
96*cb63e24eSchristosperformance metrics that have been recorded during the data collection
97*cb63e24eSchristosand stored in experiment directory @samp{my-exp.er}:
98*cb63e24eSchristos
99*cb63e24eSchristos@smallexample
100*cb63e24eSchristos$ gprofng display text -functions -source my-func my-exp.er
101*cb63e24eSchristos@end smallexample
102*cb63e24eSchristos
103*cb63e24eSchristosInstead of, or in addition to, specifying these commands on the command line,
104*cb63e24eSchristoscommands may also be included in a file called the @var{script-file}.
105*cb63e24eSchristos
106*cb63e24eSchristosNote that the commands are processed and interpreted from left to right,
107*cb63e24eSchristos@emph{so the order matters}.
108*cb63e24eSchristos
109*cb63e24eSchristosIf this tool is invoked without options, commands, or a script file, it
110*cb63e24eSchristosstarts in interpreter mode.  The user can then issue the commands
111*cb63e24eSchristosinteractively.  The session is terminated with the @command{exit} command in
112*cb63e24eSchristosthe interpreter.
113*cb63e24eSchristos
114*cb63e24eSchristos@c man end
115*cb63e24eSchristos@ManPageEnd{}
116*cb63e24eSchristos
117*cb63e24eSchristos@c ----------------------------------------------------------------------------
118*cb63e24eSchristos@c OPTIONS section
119*cb63e24eSchristos@c ----------------------------------------------------------------------------
120*cb63e24eSchristos
121*cb63e24eSchristos@ManPageStart{OPTIONS}
122*cb63e24eSchristos@c man begin OPTIONS
123*cb63e24eSchristos
124*cb63e24eSchristos@table @gcctabopt
125*cb63e24eSchristos
126*cb63e24eSchristos@item --version
127*cb63e24eSchristos@ifclear man
128*cb63e24eSchristos@IndexSubentry{Options, @code{--version}}
129*cb63e24eSchristos@end ifclear
130*cb63e24eSchristos
131*cb63e24eSchristosPrint the version number and exit.
132*cb63e24eSchristos
133*cb63e24eSchristos@item --help
134*cb63e24eSchristos@ifclear man
135*cb63e24eSchristos@IndexSubentry{Options, @code{--help}}
136*cb63e24eSchristos@end ifclear
137*cb63e24eSchristos
138*cb63e24eSchristosPrint usage information and exit.
139*cb63e24eSchristos
140*cb63e24eSchristos@item -script @var{script-file}
141*cb63e24eSchristos@ifclear man
142*cb63e24eSchristos@IndexSubentry{Options,  @code{-script}}
143*cb63e24eSchristos@IndexSubentry{Commands, @code{script}}
144*cb63e24eSchristos@end ifclear
145*cb63e24eSchristos
146*cb63e24eSchristosExecute the commands stored in the script file.  This feature may be combined
147*cb63e24eSchristoswith commands specified at the command line.
148*cb63e24eSchristos
149*cb63e24eSchristos@end table
150*cb63e24eSchristos
151*cb63e24eSchristos@c man end
152*cb63e24eSchristos@ManPageEnd{}
153*cb63e24eSchristos
154*cb63e24eSchristos@c ----------------------------------------------------------------------------
155*cb63e24eSchristos@c NOTES section
156*cb63e24eSchristos@c ----------------------------------------------------------------------------
157*cb63e24eSchristos
158*cb63e24eSchristos@ManPageStart{NOTES}
159*cb63e24eSchristos@c man begin NOTES
160*cb63e24eSchristos
161*cb63e24eSchristosMany commands are supported.  Below, the more common ones are listed in
162*cb63e24eSchristosmostly alphabetical order, because sometimes it is more logical to
163*cb63e24eSchristosswap the order of two entries.
164*cb63e24eSchristos
165*cb63e24eSchristos@ifset man
166*cb63e24eSchristosThere are many more commands.  These are documented in the user guide.
167*cb63e24eSchristos@end ifset
168*cb63e24eSchristos
169*cb63e24eSchristos@table @code
170*cb63e24eSchristos
171*cb63e24eSchristos@item callers-callees
172*cb63e24eSchristos@ifclear man
173*cb63e24eSchristos@IndexSubentry{Options,  @code{-callers-callees}}
174*cb63e24eSchristos@IndexSubentry{Commands, @code{callers-callees}}
175*cb63e24eSchristos@end ifclear
176*cb63e24eSchristosIn a callers-callees panel, it is shown which function(s) call the target
177*cb63e24eSchristosfunction (the @emph{callers}) and what functions it is calling (the
178*cb63e24eSchristos@emph{callees}).
179*cb63e24eSchristosThis command prints the callers-callees panel for each of the functions,
180*cb63e24eSchristosin the order specified by the function sort metric.
181*cb63e24eSchristos
182*cb63e24eSchristos@item calltree
183*cb63e24eSchristos@ifclear man
184*cb63e24eSchristos@IndexSubentry{Options,  @code{-calltree}}
185*cb63e24eSchristos@IndexSubentry{Commands, @code{calltree}}
186*cb63e24eSchristos@end ifclear
187*cb63e24eSchristosDisplay the dynamic call graph from the experiment, showing the hierarchical
188*cb63e24eSchristosmetrics at each level.
189*cb63e24eSchristos
190*cb63e24eSchristos@item compare @{on | off | delta | ratio@}
191*cb63e24eSchristos@ifclear man
192*cb63e24eSchristos@IndexSubentry{Options,  @code{-compare}}
193*cb63e24eSchristos@IndexSubentry{Commands, @code{compare}}
194*cb63e24eSchristos@end ifclear
195*cb63e24eSchristosBy default, the results for multiple experiments are aggregated.  This
196*cb63e24eSchristoscommand changes this to enable the comparison of experiments for certain
197*cb63e24eSchristosviews (e.g. the function view).  The first experiment specified is defined
198*cb63e24eSchristosto be the reference.  The following options are supported:
199*cb63e24eSchristos
200*cb63e24eSchristos@table @code
201*cb63e24eSchristos
202*cb63e24eSchristos@item on
203*cb63e24eSchristosFor each experiment specified on the command line, print the values for
204*cb63e24eSchristosthe metrics that have been activated for the experiment.
205*cb63e24eSchristos
206*cb63e24eSchristos@item off
207*cb63e24eSchristosDisable the comparison of experiments.  This is the default.
208*cb63e24eSchristos
209*cb63e24eSchristos@item delta
210*cb63e24eSchristosPrint the values for the reference experiment.  The results for the other
211*cb63e24eSchristosexperiments are shown as a delta relative to the reference (current-reference).
212*cb63e24eSchristos
213*cb63e24eSchristos@item ratio
214*cb63e24eSchristosPrint the values for the reference experiment.  The results for the other
215*cb63e24eSchristosexperiments are shown as a ratio relative to the reference (current/reference).
216*cb63e24eSchristos
217*cb63e24eSchristos@end table
218*cb63e24eSchristos
219*cb63e24eSchristos@item disasm @var{function-name}
220*cb63e24eSchristos@ifclear man
221*cb63e24eSchristos@IndexSubentry{Options,  @code{-disasm}}
222*cb63e24eSchristos@IndexSubentry{Commands, @code{disasm}}
223*cb63e24eSchristos@end ifclear
224*cb63e24eSchristosList the source code and instructions for the function specified.  The
225*cb63e24eSchristosinstructions are annotated with the metrics used.
226*cb63e24eSchristos
227*cb63e24eSchristos@item fsingle @var{function-name} [@samp{n}]
228*cb63e24eSchristos@ifclear man
229*cb63e24eSchristos@IndexSubentry{Options,  @code{-fsingle}}
230*cb63e24eSchristos@IndexSubentry{Commands, @code{fsingle}}
231*cb63e24eSchristos@end ifclear
232*cb63e24eSchristosWrite a summary panel for the specified function.  The optional parameter
233*cb63e24eSchristos@var{n} is needed for those cases where several functions have the same name.
234*cb63e24eSchristos
235*cb63e24eSchristos@item fsummary
236*cb63e24eSchristos@ifclear man
237*cb63e24eSchristos@IndexSubentry{Options,  @code{-fsummary}}
238*cb63e24eSchristos@IndexSubentry{Commands, @code{fsummary}}
239*cb63e24eSchristos@end ifclear
240*cb63e24eSchristosWrite a summary panel for each function in the function list.
241*cb63e24eSchristos
242*cb63e24eSchristos@item functions
243*cb63e24eSchristos@ifclear man
244*cb63e24eSchristos@IndexSubentry{Options,  @code{-functions}}
245*cb63e24eSchristos@IndexSubentry{Commands, @code{functions}}
246*cb63e24eSchristos@end ifclear
247*cb63e24eSchristosDisplay a list of all functions executed.  For each function the used metrics
248*cb63e24eSchristos(e.g. the CPU time) are shown.
249*cb63e24eSchristos
250*cb63e24eSchristos@item header
251*cb63e24eSchristos@ifclear man
252*cb63e24eSchristos@IndexSubentry{Options,  @code{-header}}
253*cb63e24eSchristos@IndexSubentry{Commands, @code{header}}
254*cb63e24eSchristos@end ifclear
255*cb63e24eSchristosShows several operational characteristics of the experiment(s) specified
256*cb63e24eSchristoson the command line.
257*cb63e24eSchristos
258*cb63e24eSchristos@item limit @var{n}
259*cb63e24eSchristos@ifclear man
260*cb63e24eSchristos@IndexSubentry{Options,  @code{-limit}}
261*cb63e24eSchristos@IndexSubentry{Commands, @code{limit}}
262*cb63e24eSchristos@end ifclear
263*cb63e24eSchristosLimit the output to @var{n} lines.
264*cb63e24eSchristos
265*cb63e24eSchristos@item lines
266*cb63e24eSchristos@ifclear man
267*cb63e24eSchristos@IndexSubentry{Options,  @code{-lines}}
268*cb63e24eSchristos@IndexSubentry{Commands, @code{lines}}
269*cb63e24eSchristos@end ifclear
270*cb63e24eSchristosWrite a list of source lines and their metrics, ordered by the current
271*cb63e24eSchristossort metric.
272*cb63e24eSchristos
273*cb63e24eSchristos@item metric_list
274*cb63e24eSchristos@ifclear man
275*cb63e24eSchristos@IndexSubentry{Options,  @code{-metric_list}}
276*cb63e24eSchristos@IndexSubentry{Commands, @code{metric_list}}
277*cb63e24eSchristos@end ifclear
278*cb63e24eSchristosDisplay the currently selected metrics in the function view and a list
279*cb63e24eSchristosof all the metrics available for the target experiment(s).
280*cb63e24eSchristos
281*cb63e24eSchristos@item metrics @var{metric-spec}
282*cb63e24eSchristos@ifclear man
283*cb63e24eSchristos@IndexSubentry{Options,  @code{-metrics}}
284*cb63e24eSchristos@IndexSubentry{Commands, @code{metrics}}
285*cb63e24eSchristos@end ifclear
286*cb63e24eSchristosDefine the metrics to be displayed in the function and callers-callees
287*cb63e24eSchristosoverviews.
288*cb63e24eSchristos
289*cb63e24eSchristosThe @var{metric-spec} can either be the keyword @samp{default}
290*cb63e24eSchristosto restore the default metrics selection, or a colon separated list
291*cb63e24eSchristoswith metrics.
292*cb63e24eSchristos
293*cb63e24eSchristos@ifclear man
294*cb63e24eSchristos@IndexSubentry{Hardware event counters, @code{hwc} metric}
295*cb63e24eSchristos@end ifclear
296*cb63e24eSchristosA special metric is @code{hwc}.  It automatically expands to the active
297*cb63e24eSchristosset of hardware event counters used in the experiment(s).
298*cb63e24eSchristos
299*cb63e24eSchristos@ifclear man
300*cb63e24eSchristos@IndexSubentry{Hardware event counters, @code{IPC} metric}
301*cb63e24eSchristos@IndexSubentry{Hardware event counters, @code{CPI} metric}
302*cb63e24eSchristos@end ifclear
303*cb63e24eSchristosIf both instructions and clock cycles have been measured, the @code{CPI}
304*cb63e24eSchristosand @code{IPC} metrics can be used to see the Clockcycles Per Instruction
305*cb63e24eSchristosand Instructions Per Clockcyle values, respectively.
306*cb63e24eSchristos
307*cb63e24eSchristosThe gprofng user guide has more details how to define metrics.
308*cb63e24eSchristos
309*cb63e24eSchristos@item name @{short | long | mangled@}[:@{soname | nosoname@}]
310*cb63e24eSchristos@ifclear man
311*cb63e24eSchristos@IndexSubentry{Options,  @code{-name}}
312*cb63e24eSchristos@IndexSubentry{Commands, @code{name}}
313*cb63e24eSchristos@end ifclear
314*cb63e24eSchristosSpecify whether to use the short, long, or mangled form of function names.
315*cb63e24eSchristosOptionally, the load object that the function is part of can be included in
316*cb63e24eSchristosthe output by adding the @emph{soname} keyword.  It can also be ommitted
317*cb63e24eSchristos(@emph{nosoname}), which is the default.
318*cb63e24eSchristos
319*cb63e24eSchristosWhether there is an actual difference between these types of names depends
320*cb63e24eSchristoson the language.
321*cb63e24eSchristos
322*cb63e24eSchristosNote that there should be no (white)space to the left and right of the
323*cb63e24eSchristoscolon (@samp{:}).
324*cb63e24eSchristos
325*cb63e24eSchristosThis option should not be confused with the keyword @samp{name} in a
326*cb63e24eSchristosmetric definition, which is used to specify that the names of functions
327*cb63e24eSchristosshould be shown in the function overview.
328*cb63e24eSchristos
329*cb63e24eSchristos@item overview
330*cb63e24eSchristos@ifclear man
331*cb63e24eSchristos@IndexSubentry{Options,  @code{-overview}}
332*cb63e24eSchristos@IndexSubentry{Commands, @code{overview}}
333*cb63e24eSchristos@end ifclear
334*cb63e24eSchristosShows a summary of the recorded performance data for the experiment(s)
335*cb63e24eSchristosspecified on the command line.
336*cb63e24eSchristos
337*cb63e24eSchristos@item pcs
338*cb63e24eSchristos@ifclear man
339*cb63e24eSchristos@IndexSubentry{Options,  @code{-pcs}}
340*cb63e24eSchristos@IndexSubentry{Commands, @code{pcs}}
341*cb63e24eSchristos@end ifclear
342*cb63e24eSchristosWrite a list of program counters (PCs) and their metrics, ordered by
343*cb63e24eSchristosthe current sort metric.
344*cb63e24eSchristos
345*cb63e24eSchristos@item sort @var{metric-spec}
346*cb63e24eSchristos@ifclear man
347*cb63e24eSchristos@IndexSubentry{Options,  @code{-sort}}
348*cb63e24eSchristos@IndexSubentry{Commands, @code{sort}}
349*cb63e24eSchristos@end ifclear
350*cb63e24eSchristosSort the function list on the @var{metric-spec} given.
351*cb63e24eSchristos
352*cb63e24eSchristos@IndexSubentry{Sort, Reverse order}
353*cb63e24eSchristosThe data can be sorted in reverse order by prepending the metric definition
354*cb63e24eSchristoswith a minus (@samp{-}) sign.
355*cb63e24eSchristos
356*cb63e24eSchristos@noindent
357*cb63e24eSchristosFor example @command{sort -e.totalcpu}.
358*cb63e24eSchristos
359*cb63e24eSchristos@IndexSubentry{Sort, Reset to default}
360*cb63e24eSchristosA default metric for the sort operation has been defined and since this is
361*cb63e24eSchristosa persistent command, this default can be restored with @code{default} as
362*cb63e24eSchristosthe key (@command{sort default}).
363*cb63e24eSchristos
364*cb63e24eSchristos@item source @var{function-name}
365*cb63e24eSchristos@ifclear man
366*cb63e24eSchristos@IndexSubentry{Options,  @code{-source}}
367*cb63e24eSchristos@IndexSubentry{Commands, @code{source}}
368*cb63e24eSchristos@end ifclear
369*cb63e24eSchristosList the source code for the function specified, annotated with the metrics
370*cb63e24eSchristosused.
371*cb63e24eSchristos
372*cb63e24eSchristos@item viewmode @{user | expert | machine@}
373*cb63e24eSchristos@ifclear man
374*cb63e24eSchristos@IndexSubentry{Options,  @code{-viewmode}}
375*cb63e24eSchristos@IndexSubentry{Commands, @code{viewmode}}
376*cb63e24eSchristos@end ifclear
377*cb63e24eSchristosThis command is only relevant for Java programs.  For all other languages
378*cb63e24eSchristossupported, the viewmode setting has no effect.
379*cb63e24eSchristos
380*cb63e24eSchristosThe following options are supported:
381*cb63e24eSchristos
382*cb63e24eSchristos@table @code
383*cb63e24eSchristos
384*cb63e24eSchristos@item user
385*cb63e24eSchristosShow the Java call stacks for Java threads, but do not show housekeeping
386*cb63e24eSchristosthreads.  The function view includes a function called @samp{<JVM-System>}.
387*cb63e24eSchristosThis represents the aggregated time from non-Java threads.
388*cb63e24eSchristosIn case the JVM software does not report a Java call stack, time is reported
389*cb63e24eSchristosagainst the function @samp{<no Java callstack recorded>}.
390*cb63e24eSchristos
391*cb63e24eSchristos@item expert
392*cb63e24eSchristosShow the Java call stacks for Java threads when the user Java code is executed,
393*cb63e24eSchristosand machine call stacks when JVM code is executed, or when the JVM software
394*cb63e24eSchristosdoes not report a Java call stack.  Show the machine call stacks for
395*cb63e24eSchristoshousekeeping threads.
396*cb63e24eSchristos
397*cb63e24eSchristos@item machine
398*cb63e24eSchristosShow the actual native call stacks for all threads.  This is the view mode
399*cb63e24eSchristosfor C, C++, and Fortran.
400*cb63e24eSchristos
401*cb63e24eSchristos@end table
402*cb63e24eSchristos
403*cb63e24eSchristos@end table
404*cb63e24eSchristos
405*cb63e24eSchristos@c man end
406*cb63e24eSchristos@ManPageEnd{}
407*cb63e24eSchristos
408*cb63e24eSchristos@c ----------------------------------------------------------------------------
409*cb63e24eSchristos@c SEEALSO section
410*cb63e24eSchristos@c ----------------------------------------------------------------------------
411*cb63e24eSchristos
412*cb63e24eSchristos@ManPageStart{SEE ALSO}
413*cb63e24eSchristos@c man begin SEEALSO
414*cb63e24eSchristos
415*cb63e24eSchristosgprofng(1),
416*cb63e24eSchristosgp-archive(1),
417*cb63e24eSchristosgp-collect-app(1),
418*cb63e24eSchristosgp-display-gui(1),
419*cb63e24eSchristosgp-display-html(1),
420*cb63e24eSchristosgp-display-src(1)
421*cb63e24eSchristos
422*cb63e24eSchristos@iftex
423*cb63e24eSchristos@vspace{1}
424*cb63e24eSchristos@end iftex
425*cb63e24eSchristos
426*cb63e24eSchristosThe user guide for gprofng is maintained as a Texinfo manual.  If the
427*cb63e24eSchristos@command{info} and @command{gprofng} programs are correctly installed, the
428*cb63e24eSchristoscommand @command{info gprofng} should give access to this document.
429*cb63e24eSchristos
430*cb63e24eSchristos@c man end
431*cb63e24eSchristos@ManPageEnd{}
432*cb63e24eSchristos
433*cb63e24eSchristos@c ----------------------------------------------------------------------------
434*cb63e24eSchristos@c COPYRIGHT section
435*cb63e24eSchristos@c ----------------------------------------------------------------------------
436*cb63e24eSchristos
437*cb63e24eSchristos@ManPageStart{COPYRIGHT}
438*cb63e24eSchristos@c man begin COPYRIGHT
439*cb63e24eSchristos
440*cb63e24eSchristosCopyright @copyright{} 2022-2024 Free Software Foundation, Inc.
441*cb63e24eSchristos
442*cb63e24eSchristosPermission is granted to copy, distribute and/or modify this document
443*cb63e24eSchristosunder the terms of the GNU Free Documentation License, Version 1.3
444*cb63e24eSchristosor any later version published by the Free Software Foundation;
445*cb63e24eSchristoswith no Invariant Sections, with no Front-Cover Texts, and with no
446*cb63e24eSchristosBack-Cover Texts.  A copy of the license is included in the
447*cb63e24eSchristossection entitled ``GNU Free Documentation License''.
448*cb63e24eSchristos
449*cb63e24eSchristos@c man end
450*cb63e24eSchristos@ManPageEnd{}
451*cb63e24eSchristos
452*cb63e24eSchristos@c ----------------------------------------------------------------------------
453*cb63e24eSchristos@c If this text is used for a man page, exit.  Otherwise we need to continue.
454*cb63e24eSchristos@c ----------------------------------------------------------------------------
455*cb63e24eSchristos
456*cb63e24eSchristos@ifset man
457*cb63e24eSchristos@bye
458*cb63e24eSchristos@end ifset
459