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