mirror of
https://github.com/rtlduino/RTL8710AF_GCC.git
synced 2026-07-16 00:05:40 +00:00
motify compile link error
motify compile link error
This commit is contained in:
parent
923914edae
commit
03e74a8e50
5418 changed files with 1367914 additions and 206149 deletions
|
|
@ -0,0 +1,302 @@
|
|||
.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
|
||||
.\"
|
||||
.\" Standard preamble:
|
||||
.\" ========================================================================
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Vb \" Begin verbatim text
|
||||
.ft CW
|
||||
.nf
|
||||
.ne \\$1
|
||||
..
|
||||
.de Ve \" End verbatim text
|
||||
.ft R
|
||||
.fi
|
||||
..
|
||||
.\" Set up some character translations and predefined strings. \*(-- will
|
||||
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
||||
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
|
||||
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
|
||||
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
|
||||
.\" nothing in troff, for use with C<>.
|
||||
.tr \(*W-
|
||||
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
||||
.ie n \{\
|
||||
. ds -- \(*W-
|
||||
. ds PI pi
|
||||
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
||||
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
||||
. ds L" ""
|
||||
. ds R" ""
|
||||
. ds C` ""
|
||||
. ds C' ""
|
||||
'br\}
|
||||
.el\{\
|
||||
. ds -- \|\(em\|
|
||||
. ds PI \(*p
|
||||
. ds L" ``
|
||||
. ds R" ''
|
||||
'br\}
|
||||
.\"
|
||||
.\" Escape single quotes in literal strings from groff's Unicode transform.
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\"
|
||||
.\" If the F register is turned on, we'll generate index entries on stderr for
|
||||
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
|
||||
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
||||
.\" output yourself in some meaningful fashion.
|
||||
.ie \nF \{\
|
||||
. de IX
|
||||
. tm Index:\\$1\t\\n%\t"\\$2"
|
||||
..
|
||||
. nr % 0
|
||||
. rr F
|
||||
.\}
|
||||
.el \{\
|
||||
. de IX
|
||||
..
|
||||
.\}
|
||||
.\"
|
||||
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
||||
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
||||
. \" fudge factors for nroff and troff
|
||||
.if n \{\
|
||||
. ds #H 0
|
||||
. ds #V .8m
|
||||
. ds #F .3m
|
||||
. ds #[ \f1
|
||||
. ds #] \fP
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
||||
. ds #V .6m
|
||||
. ds #F 0
|
||||
. ds #[ \&
|
||||
. ds #] \&
|
||||
.\}
|
||||
. \" simple accents for nroff and troff
|
||||
.if n \{\
|
||||
. ds ' \&
|
||||
. ds ` \&
|
||||
. ds ^ \&
|
||||
. ds , \&
|
||||
. ds ~ ~
|
||||
. ds /
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
||||
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
||||
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
||||
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
||||
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
||||
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
||||
.\}
|
||||
. \" troff and (daisy-wheel) nroff accents
|
||||
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
||||
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
||||
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
||||
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
||||
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
||||
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
||||
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
||||
.ds ae a\h'-(\w'a'u*4/10)'e
|
||||
.ds Ae A\h'-(\w'A'u*4/10)'E
|
||||
. \" corrections for vroff
|
||||
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
||||
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
||||
. \" for low resolution devices (crt and lpr)
|
||||
.if \n(.H>23 .if \n(.V>19 \
|
||||
\{\
|
||||
. ds : e
|
||||
. ds 8 ss
|
||||
. ds o a
|
||||
. ds d- d\h'-1'\(ga
|
||||
. ds D- D\h'-1'\(hy
|
||||
. ds th \o'bp'
|
||||
. ds Th \o'LP'
|
||||
. ds ae ae
|
||||
. ds Ae AE
|
||||
.\}
|
||||
.rm #[ #] #H #V #F C
|
||||
.\" ========================================================================
|
||||
.\"
|
||||
.IX Title "ADDR2LINE 1"
|
||||
.TH ADDR2LINE 1 "2013-03-25" "binutils-2.23.2" "GNU Development Tools"
|
||||
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||||
.\" way too many mistakes in technical documents.
|
||||
.if n .ad l
|
||||
.nh
|
||||
.SH "NAME"
|
||||
addr2line \- convert addresses into file names and line numbers.
|
||||
.SH "SYNOPSIS"
|
||||
.IX Header "SYNOPSIS"
|
||||
addr2line [\fB\-a\fR|\fB\-\-addresses\fR]
|
||||
[\fB\-b\fR \fIbfdname\fR|\fB\-\-target=\fR\fIbfdname\fR]
|
||||
[\fB\-C\fR|\fB\-\-demangle\fR[=\fIstyle\fR]]
|
||||
[\fB\-e\fR \fIfilename\fR|\fB\-\-exe=\fR\fIfilename\fR]
|
||||
[\fB\-f\fR|\fB\-\-functions\fR] [\fB\-s\fR|\fB\-\-basename\fR]
|
||||
[\fB\-i\fR|\fB\-\-inlines\fR]
|
||||
[\fB\-p\fR|\fB\-\-pretty\-print\fR]
|
||||
[\fB\-j\fR|\fB\-\-section=\fR\fIname\fR]
|
||||
[\fB\-H\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR]
|
||||
[addr addr ...]
|
||||
.SH "DESCRIPTION"
|
||||
.IX Header "DESCRIPTION"
|
||||
\&\fBaddr2line\fR translates addresses into file names and line numbers.
|
||||
Given an address in an executable or an offset in a section of a relocatable
|
||||
object, it uses the debugging information to figure out which file name and
|
||||
line number are associated with it.
|
||||
.PP
|
||||
The executable or relocatable object to use is specified with the \fB\-e\fR
|
||||
option. The default is the file \fIa.out\fR. The section in the relocatable
|
||||
object to use is specified with the \fB\-j\fR option.
|
||||
.PP
|
||||
\&\fBaddr2line\fR has two modes of operation.
|
||||
.PP
|
||||
In the first, hexadecimal addresses are specified on the command line,
|
||||
and \fBaddr2line\fR displays the file name and line number for each
|
||||
address.
|
||||
.PP
|
||||
In the second, \fBaddr2line\fR reads hexadecimal addresses from
|
||||
standard input, and prints the file name and line number for each
|
||||
address on standard output. In this mode, \fBaddr2line\fR may be used
|
||||
in a pipe to convert dynamically chosen addresses.
|
||||
.PP
|
||||
The format of the output is \fB\s-1FILENAME:LINENO\s0\fR. The file name and
|
||||
line number for each input address is printed on separate lines.
|
||||
.PP
|
||||
If the \fB\-f\fR option is used, then each \fB\s-1FILENAME:LINENO\s0\fR
|
||||
line is preceded by \fB\s-1FUNCTIONNAME\s0\fR which is the name of the
|
||||
function containing the address.
|
||||
.PP
|
||||
If the \fB\-i\fR option is used and the code at the given address is
|
||||
present there because of inlining by the compiler then the
|
||||
\&\fB{\s-1FUNCTIONNAME\s0} \s-1FILENAME:LINENO\s0\fR information for the inlining
|
||||
function will be displayed afterwards. This continues recursively
|
||||
until there is no more inlining to report.
|
||||
.PP
|
||||
If the \fB\-a\fR option is used then the output is prefixed by the
|
||||
input address.
|
||||
.PP
|
||||
If the \fB\-p\fR option is used then the output for each input
|
||||
address is displayed on one, possibly quite long, line. If
|
||||
\&\fB\-p\fR is not used then the output is broken up into multiple
|
||||
lines, based on the paragraphs above.
|
||||
.PP
|
||||
If the file name or function name can not be determined,
|
||||
\&\fBaddr2line\fR will print two question marks in their place. If the
|
||||
line number can not be determined, \fBaddr2line\fR will print 0.
|
||||
.SH "OPTIONS"
|
||||
.IX Header "OPTIONS"
|
||||
The long and short forms of options, shown here as alternatives, are
|
||||
equivalent.
|
||||
.IP "\fB\-a\fR" 4
|
||||
.IX Item "-a"
|
||||
.PD 0
|
||||
.IP "\fB\-\-addresses\fR" 4
|
||||
.IX Item "--addresses"
|
||||
.PD
|
||||
Display the address before the function name, file and line number
|
||||
information. The address is printed with a \fB0x\fR prefix to easily
|
||||
identify it.
|
||||
.IP "\fB\-b\fR \fIbfdname\fR" 4
|
||||
.IX Item "-b bfdname"
|
||||
.PD 0
|
||||
.IP "\fB\-\-target=\fR\fIbfdname\fR" 4
|
||||
.IX Item "--target=bfdname"
|
||||
.PD
|
||||
Specify that the object-code format for the object files is
|
||||
\&\fIbfdname\fR.
|
||||
.IP "\fB\-C\fR" 4
|
||||
.IX Item "-C"
|
||||
.PD 0
|
||||
.IP "\fB\-\-demangle[=\fR\fIstyle\fR\fB]\fR" 4
|
||||
.IX Item "--demangle[=style]"
|
||||
.PD
|
||||
Decode (\fIdemangle\fR) low-level symbol names into user-level names.
|
||||
Besides removing any initial underscore prepended by the system, this
|
||||
makes \*(C+ function names readable. Different compilers have different
|
||||
mangling styles. The optional demangling style argument can be used to
|
||||
choose an appropriate demangling style for your compiler.
|
||||
.IP "\fB\-e\fR \fIfilename\fR" 4
|
||||
.IX Item "-e filename"
|
||||
.PD 0
|
||||
.IP "\fB\-\-exe=\fR\fIfilename\fR" 4
|
||||
.IX Item "--exe=filename"
|
||||
.PD
|
||||
Specify the name of the executable for which addresses should be
|
||||
translated. The default file is \fIa.out\fR.
|
||||
.IP "\fB\-f\fR" 4
|
||||
.IX Item "-f"
|
||||
.PD 0
|
||||
.IP "\fB\-\-functions\fR" 4
|
||||
.IX Item "--functions"
|
||||
.PD
|
||||
Display function names as well as file and line number information.
|
||||
.IP "\fB\-s\fR" 4
|
||||
.IX Item "-s"
|
||||
.PD 0
|
||||
.IP "\fB\-\-basenames\fR" 4
|
||||
.IX Item "--basenames"
|
||||
.PD
|
||||
Display only the base of each file name.
|
||||
.IP "\fB\-i\fR" 4
|
||||
.IX Item "-i"
|
||||
.PD 0
|
||||
.IP "\fB\-\-inlines\fR" 4
|
||||
.IX Item "--inlines"
|
||||
.PD
|
||||
If the address belongs to a function that was inlined, the source
|
||||
information for all enclosing scopes back to the first non-inlined
|
||||
function will also be printed. For example, if \f(CW\*(C`main\*(C'\fR inlines
|
||||
\&\f(CW\*(C`callee1\*(C'\fR which inlines \f(CW\*(C`callee2\*(C'\fR, and address is from
|
||||
\&\f(CW\*(C`callee2\*(C'\fR, the source information for \f(CW\*(C`callee1\*(C'\fR and \f(CW\*(C`main\*(C'\fR
|
||||
will also be printed.
|
||||
.IP "\fB\-j\fR" 4
|
||||
.IX Item "-j"
|
||||
.PD 0
|
||||
.IP "\fB\-\-section\fR" 4
|
||||
.IX Item "--section"
|
||||
.PD
|
||||
Read offsets relative to the specified section instead of absolute addresses.
|
||||
.IP "\fB\-p\fR" 4
|
||||
.IX Item "-p"
|
||||
.PD 0
|
||||
.IP "\fB\-\-pretty\-print\fR" 4
|
||||
.IX Item "--pretty-print"
|
||||
.PD
|
||||
Make the output more human friendly: each location are printed on one line.
|
||||
If option \fB\-i\fR is specified, lines for all enclosing scopes are
|
||||
prefixed with \fB(inlined by)\fR.
|
||||
.IP "\fB@\fR\fIfile\fR" 4
|
||||
.IX Item "@file"
|
||||
Read command-line options from \fIfile\fR. The options read are
|
||||
inserted in place of the original @\fIfile\fR option. If \fIfile\fR
|
||||
does not exist, or cannot be read, then the option will be treated
|
||||
literally, and not removed.
|
||||
.Sp
|
||||
Options in \fIfile\fR are separated by whitespace. A whitespace
|
||||
character may be included in an option by surrounding the entire
|
||||
option in either single or double quotes. Any character (including a
|
||||
backslash) may be included by prefixing the character to be included
|
||||
with a backslash. The \fIfile\fR may itself contain additional
|
||||
@\fIfile\fR options; any such options will be processed recursively.
|
||||
.SH "SEE ALSO"
|
||||
.IX Header "SEE ALSO"
|
||||
Info entries for \fIbinutils\fR.
|
||||
.SH "COPYRIGHT"
|
||||
.IX Header "COPYRIGHT"
|
||||
Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
|
||||
2010, 2011, 2012
|
||||
Free Software Foundation, Inc.
|
||||
.PP
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3
|
||||
or any later version published by the Free Software Foundation;
|
||||
with no Invariant Sections, with no Front-Cover Texts, and with no
|
||||
Back-Cover Texts. A copy of the license is included in the
|
||||
section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".
|
||||
|
|
@ -0,0 +1,452 @@
|
|||
.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
|
||||
.\"
|
||||
.\" Standard preamble:
|
||||
.\" ========================================================================
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Vb \" Begin verbatim text
|
||||
.ft CW
|
||||
.nf
|
||||
.ne \\$1
|
||||
..
|
||||
.de Ve \" End verbatim text
|
||||
.ft R
|
||||
.fi
|
||||
..
|
||||
.\" Set up some character translations and predefined strings. \*(-- will
|
||||
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
||||
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
|
||||
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
|
||||
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
|
||||
.\" nothing in troff, for use with C<>.
|
||||
.tr \(*W-
|
||||
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
||||
.ie n \{\
|
||||
. ds -- \(*W-
|
||||
. ds PI pi
|
||||
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
||||
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
||||
. ds L" ""
|
||||
. ds R" ""
|
||||
. ds C` ""
|
||||
. ds C' ""
|
||||
'br\}
|
||||
.el\{\
|
||||
. ds -- \|\(em\|
|
||||
. ds PI \(*p
|
||||
. ds L" ``
|
||||
. ds R" ''
|
||||
'br\}
|
||||
.\"
|
||||
.\" Escape single quotes in literal strings from groff's Unicode transform.
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\"
|
||||
.\" If the F register is turned on, we'll generate index entries on stderr for
|
||||
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
|
||||
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
||||
.\" output yourself in some meaningful fashion.
|
||||
.ie \nF \{\
|
||||
. de IX
|
||||
. tm Index:\\$1\t\\n%\t"\\$2"
|
||||
..
|
||||
. nr % 0
|
||||
. rr F
|
||||
.\}
|
||||
.el \{\
|
||||
. de IX
|
||||
..
|
||||
.\}
|
||||
.\"
|
||||
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
||||
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
||||
. \" fudge factors for nroff and troff
|
||||
.if n \{\
|
||||
. ds #H 0
|
||||
. ds #V .8m
|
||||
. ds #F .3m
|
||||
. ds #[ \f1
|
||||
. ds #] \fP
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
||||
. ds #V .6m
|
||||
. ds #F 0
|
||||
. ds #[ \&
|
||||
. ds #] \&
|
||||
.\}
|
||||
. \" simple accents for nroff and troff
|
||||
.if n \{\
|
||||
. ds ' \&
|
||||
. ds ` \&
|
||||
. ds ^ \&
|
||||
. ds , \&
|
||||
. ds ~ ~
|
||||
. ds /
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
||||
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
||||
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
||||
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
||||
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
||||
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
||||
.\}
|
||||
. \" troff and (daisy-wheel) nroff accents
|
||||
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
||||
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
||||
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
||||
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
||||
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
||||
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
||||
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
||||
.ds ae a\h'-(\w'a'u*4/10)'e
|
||||
.ds Ae A\h'-(\w'A'u*4/10)'E
|
||||
. \" corrections for vroff
|
||||
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
||||
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
||||
. \" for low resolution devices (crt and lpr)
|
||||
.if \n(.H>23 .if \n(.V>19 \
|
||||
\{\
|
||||
. ds : e
|
||||
. ds 8 ss
|
||||
. ds o a
|
||||
. ds d- d\h'-1'\(ga
|
||||
. ds D- D\h'-1'\(hy
|
||||
. ds th \o'bp'
|
||||
. ds Th \o'LP'
|
||||
. ds ae ae
|
||||
. ds Ae AE
|
||||
.\}
|
||||
.rm #[ #] #H #V #F C
|
||||
.\" ========================================================================
|
||||
.\"
|
||||
.IX Title "AR 1"
|
||||
.TH AR 1 "2013-03-25" "binutils-2.23.2" "GNU Development Tools"
|
||||
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||||
.\" way too many mistakes in technical documents.
|
||||
.if n .ad l
|
||||
.nh
|
||||
.SH "NAME"
|
||||
ar \- create, modify, and extract from archives
|
||||
.SH "SYNOPSIS"
|
||||
.IX Header "SYNOPSIS"
|
||||
ar [\fB\-\-plugin\fR \fIname\fR] [\fB\-X32_64\fR] [\fB\-\fR]\fIp\fR[\fImod\fR [\fIrelpos\fR] [\fIcount\fR]] [\fB\-\-target\fR \fIbfdname\fR] \fIarchive\fR [\fImember\fR...]
|
||||
.SH "DESCRIPTION"
|
||||
.IX Header "DESCRIPTION"
|
||||
The \s-1GNU\s0 \fBar\fR program creates, modifies, and extracts from
|
||||
archives. An \fIarchive\fR is a single file holding a collection of
|
||||
other files in a structure that makes it possible to retrieve
|
||||
the original individual files (called \fImembers\fR of the archive).
|
||||
.PP
|
||||
The original files' contents, mode (permissions), timestamp, owner, and
|
||||
group are preserved in the archive, and can be restored on
|
||||
extraction.
|
||||
.PP
|
||||
\&\s-1GNU\s0 \fBar\fR can maintain archives whose members have names of any
|
||||
length; however, depending on how \fBar\fR is configured on your
|
||||
system, a limit on member-name length may be imposed for compatibility
|
||||
with archive formats maintained with other tools. If it exists, the
|
||||
limit is often 15 characters (typical of formats related to a.out) or 16
|
||||
characters (typical of formats related to coff).
|
||||
.PP
|
||||
\&\fBar\fR is considered a binary utility because archives of this sort
|
||||
are most often used as \fIlibraries\fR holding commonly needed
|
||||
subroutines.
|
||||
.PP
|
||||
\&\fBar\fR creates an index to the symbols defined in relocatable
|
||||
object modules in the archive when you specify the modifier \fBs\fR.
|
||||
Once created, this index is updated in the archive whenever \fBar\fR
|
||||
makes a change to its contents (save for the \fBq\fR update operation).
|
||||
An archive with such an index speeds up linking to the library, and
|
||||
allows routines in the library to call each other without regard to
|
||||
their placement in the archive.
|
||||
.PP
|
||||
You may use \fBnm \-s\fR or \fBnm \-\-print\-armap\fR to list this index
|
||||
table. If an archive lacks the table, another form of \fBar\fR called
|
||||
\&\fBranlib\fR can be used to add just the table.
|
||||
.PP
|
||||
\&\s-1GNU\s0 \fBar\fR can optionally create a \fIthin\fR archive,
|
||||
which contains a symbol index and references to the original copies
|
||||
of the member files of the archives. Such an archive is useful
|
||||
for building libraries for use within a local build, where the
|
||||
relocatable objects are expected to remain available, and copying the
|
||||
contents of each object would only waste time and space. Thin archives
|
||||
are also \fIflattened\fR, so that adding one or more archives to a
|
||||
thin archive will add the elements of the nested archive individually.
|
||||
The paths to the elements of the archive are stored relative to the
|
||||
archive itself.
|
||||
.PP
|
||||
\&\s-1GNU\s0 \fBar\fR is designed to be compatible with two different
|
||||
facilities. You can control its activity using command-line options,
|
||||
like the different varieties of \fBar\fR on Unix systems; or, if you
|
||||
specify the single command-line option \fB\-M\fR, you can control it
|
||||
with a script supplied via standard input, like the \s-1MRI\s0 \*(L"librarian\*(R"
|
||||
program.
|
||||
.SH "OPTIONS"
|
||||
.IX Header "OPTIONS"
|
||||
\&\s-1GNU\s0 \fBar\fR allows you to mix the operation code \fIp\fR and modifier
|
||||
flags \fImod\fR in any order, within the first command-line argument.
|
||||
.PP
|
||||
If you wish, you may begin the first command-line argument with a
|
||||
dash.
|
||||
.PP
|
||||
The \fIp\fR keyletter specifies what operation to execute; it may be
|
||||
any of the following, but you must specify only one of them:
|
||||
.IP "\fBd\fR" 4
|
||||
.IX Item "d"
|
||||
\&\fIDelete\fR modules from the archive. Specify the names of modules to
|
||||
be deleted as \fImember\fR...; the archive is untouched if you
|
||||
specify no files to delete.
|
||||
.Sp
|
||||
If you specify the \fBv\fR modifier, \fBar\fR lists each module
|
||||
as it is deleted.
|
||||
.IP "\fBm\fR" 4
|
||||
.IX Item "m"
|
||||
Use this operation to \fImove\fR members in an archive.
|
||||
.Sp
|
||||
The ordering of members in an archive can make a difference in how
|
||||
programs are linked using the library, if a symbol is defined in more
|
||||
than one member.
|
||||
.Sp
|
||||
If no modifiers are used with \f(CW\*(C`m\*(C'\fR, any members you name in the
|
||||
\&\fImember\fR arguments are moved to the \fIend\fR of the archive;
|
||||
you can use the \fBa\fR, \fBb\fR, or \fBi\fR modifiers to move them to a
|
||||
specified place instead.
|
||||
.IP "\fBp\fR" 4
|
||||
.IX Item "p"
|
||||
\&\fIPrint\fR the specified members of the archive, to the standard
|
||||
output file. If the \fBv\fR modifier is specified, show the member
|
||||
name before copying its contents to standard output.
|
||||
.Sp
|
||||
If you specify no \fImember\fR arguments, all the files in the archive are
|
||||
printed.
|
||||
.IP "\fBq\fR" 4
|
||||
.IX Item "q"
|
||||
\&\fIQuick append\fR; Historically, add the files \fImember\fR... to the end of
|
||||
\&\fIarchive\fR, without checking for replacement.
|
||||
.Sp
|
||||
The modifiers \fBa\fR, \fBb\fR, and \fBi\fR do \fInot\fR affect this
|
||||
operation; new members are always placed at the end of the archive.
|
||||
.Sp
|
||||
The modifier \fBv\fR makes \fBar\fR list each file as it is appended.
|
||||
.Sp
|
||||
Since the point of this operation is speed, the archive's symbol table
|
||||
index is not updated, even if it already existed; you can use \fBar s\fR or
|
||||
\&\fBranlib\fR explicitly to update the symbol table index.
|
||||
.Sp
|
||||
However, too many different systems assume quick append rebuilds the
|
||||
index, so \s-1GNU\s0 \fBar\fR implements \fBq\fR as a synonym for \fBr\fR.
|
||||
.IP "\fBr\fR" 4
|
||||
.IX Item "r"
|
||||
Insert the files \fImember\fR... into \fIarchive\fR (with
|
||||
\&\fIreplacement\fR). This operation differs from \fBq\fR in that any
|
||||
previously existing members are deleted if their names match those being
|
||||
added.
|
||||
.Sp
|
||||
If one of the files named in \fImember\fR... does not exist, \fBar\fR
|
||||
displays an error message, and leaves undisturbed any existing members
|
||||
of the archive matching that name.
|
||||
.Sp
|
||||
By default, new members are added at the end of the file; but you may
|
||||
use one of the modifiers \fBa\fR, \fBb\fR, or \fBi\fR to request
|
||||
placement relative to some existing member.
|
||||
.Sp
|
||||
The modifier \fBv\fR used with this operation elicits a line of
|
||||
output for each file inserted, along with one of the letters \fBa\fR or
|
||||
\&\fBr\fR to indicate whether the file was appended (no old member
|
||||
deleted) or replaced.
|
||||
.IP "\fBs\fR" 4
|
||||
.IX Item "s"
|
||||
Add an index to the archive, or update it if it already exists. Note
|
||||
this command is an exception to the rule that there can only be one
|
||||
command letter, as it is possible to use it as either a command or a
|
||||
modifier. In either case it does the same thing.
|
||||
.IP "\fBt\fR" 4
|
||||
.IX Item "t"
|
||||
Display a \fItable\fR listing the contents of \fIarchive\fR, or those
|
||||
of the files listed in \fImember\fR... that are present in the
|
||||
archive. Normally only the member name is shown; if you also want to
|
||||
see the modes (permissions), timestamp, owner, group, and size, you can
|
||||
request that by also specifying the \fBv\fR modifier.
|
||||
.Sp
|
||||
If you do not specify a \fImember\fR, all files in the archive
|
||||
are listed.
|
||||
.Sp
|
||||
If there is more than one file with the same name (say, \fBfie\fR) in
|
||||
an archive (say \fBb.a\fR), \fBar t b.a fie\fR lists only the
|
||||
first instance; to see them all, you must ask for a complete
|
||||
listing\-\-\-in our example, \fBar t b.a\fR.
|
||||
.IP "\fBx\fR" 4
|
||||
.IX Item "x"
|
||||
\&\fIExtract\fR members (named \fImember\fR) from the archive. You can
|
||||
use the \fBv\fR modifier with this operation, to request that
|
||||
\&\fBar\fR list each name as it extracts it.
|
||||
.Sp
|
||||
If you do not specify a \fImember\fR, all files in the archive
|
||||
are extracted.
|
||||
.Sp
|
||||
Files cannot be extracted from a thin archive.
|
||||
.IP "\fB\-\-help\fR" 4
|
||||
.IX Item "--help"
|
||||
Displays the list of command line options supported by \fBar\fR
|
||||
and then exits.
|
||||
.IP "\fB\-\-version\fR" 4
|
||||
.IX Item "--version"
|
||||
Displays the version information of \fBar\fR and then exits.
|
||||
.PP
|
||||
A number of modifiers (\fImod\fR) may immediately follow the \fIp\fR
|
||||
keyletter, to specify variations on an operation's behavior:
|
||||
.IP "\fBa\fR" 4
|
||||
.IX Item "a"
|
||||
Add new files \fIafter\fR an existing member of the
|
||||
archive. If you use the modifier \fBa\fR, the name of an existing archive
|
||||
member must be present as the \fIrelpos\fR argument, before the
|
||||
\&\fIarchive\fR specification.
|
||||
.IP "\fBb\fR" 4
|
||||
.IX Item "b"
|
||||
Add new files \fIbefore\fR an existing member of the
|
||||
archive. If you use the modifier \fBb\fR, the name of an existing archive
|
||||
member must be present as the \fIrelpos\fR argument, before the
|
||||
\&\fIarchive\fR specification. (same as \fBi\fR).
|
||||
.IP "\fBc\fR" 4
|
||||
.IX Item "c"
|
||||
\&\fICreate\fR the archive. The specified \fIarchive\fR is always
|
||||
created if it did not exist, when you request an update. But a warning is
|
||||
issued unless you specify in advance that you expect to create it, by
|
||||
using this modifier.
|
||||
.IP "\fBD\fR" 4
|
||||
.IX Item "D"
|
||||
Operate in \fIdeterministic\fR mode. When adding files and the archive
|
||||
index use zero for UIDs, GIDs, timestamps, and use consistent file modes
|
||||
for all files. When this option is used, if \fBar\fR is used with
|
||||
identical options and identical input files, multiple runs will create
|
||||
identical output files regardless of the input files' owners, groups,
|
||||
file modes, or modification times.
|
||||
.Sp
|
||||
If \fIbinutils\fR was configured with
|
||||
\&\fB\-\-enable\-deterministic\-archives\fR, then this mode is on by default.
|
||||
It can be disabled with the \fBU\fR modifier, below.
|
||||
.IP "\fBf\fR" 4
|
||||
.IX Item "f"
|
||||
Truncate names in the archive. \s-1GNU\s0 \fBar\fR will normally permit file
|
||||
names of any length. This will cause it to create archives which are
|
||||
not compatible with the native \fBar\fR program on some systems. If
|
||||
this is a concern, the \fBf\fR modifier may be used to truncate file
|
||||
names when putting them in the archive.
|
||||
.IP "\fBi\fR" 4
|
||||
.IX Item "i"
|
||||
Insert new files \fIbefore\fR an existing member of the
|
||||
archive. If you use the modifier \fBi\fR, the name of an existing archive
|
||||
member must be present as the \fIrelpos\fR argument, before the
|
||||
\&\fIarchive\fR specification. (same as \fBb\fR).
|
||||
.IP "\fBl\fR" 4
|
||||
.IX Item "l"
|
||||
This modifier is accepted but not used.
|
||||
.IP "\fBN\fR" 4
|
||||
.IX Item "N"
|
||||
Uses the \fIcount\fR parameter. This is used if there are multiple
|
||||
entries in the archive with the same name. Extract or delete instance
|
||||
\&\fIcount\fR of the given name from the archive.
|
||||
.IP "\fBo\fR" 4
|
||||
.IX Item "o"
|
||||
Preserve the \fIoriginal\fR dates of members when extracting them. If
|
||||
you do not specify this modifier, files extracted from the archive
|
||||
are stamped with the time of extraction.
|
||||
.IP "\fBP\fR" 4
|
||||
.IX Item "P"
|
||||
Use the full path name when matching names in the archive. \s-1GNU\s0
|
||||
\&\fBar\fR can not create an archive with a full path name (such archives
|
||||
are not \s-1POSIX\s0 complaint), but other archive creators can. This option
|
||||
will cause \s-1GNU\s0 \fBar\fR to match file names using a complete path
|
||||
name, which can be convenient when extracting a single file from an
|
||||
archive created by another tool.
|
||||
.IP "\fBs\fR" 4
|
||||
.IX Item "s"
|
||||
Write an object-file index into the archive, or update an existing one,
|
||||
even if no other change is made to the archive. You may use this modifier
|
||||
flag either with any operation, or alone. Running \fBar s\fR on an
|
||||
archive is equivalent to running \fBranlib\fR on it.
|
||||
.IP "\fBS\fR" 4
|
||||
.IX Item "S"
|
||||
Do not generate an archive symbol table. This can speed up building a
|
||||
large library in several steps. The resulting archive can not be used
|
||||
with the linker. In order to build a symbol table, you must omit the
|
||||
\&\fBS\fR modifier on the last execution of \fBar\fR, or you must run
|
||||
\&\fBranlib\fR on the archive.
|
||||
.IP "\fBT\fR" 4
|
||||
.IX Item "T"
|
||||
Make the specified \fIarchive\fR a \fIthin\fR archive. If it already
|
||||
exists and is a regular archive, the existing members must be present
|
||||
in the same directory as \fIarchive\fR.
|
||||
.IP "\fBu\fR" 4
|
||||
.IX Item "u"
|
||||
Normally, \fBar r\fR... inserts all files
|
||||
listed into the archive. If you would like to insert \fIonly\fR those
|
||||
of the files you list that are newer than existing members of the same
|
||||
names, use this modifier. The \fBu\fR modifier is allowed only for the
|
||||
operation \fBr\fR (replace). In particular, the combination \fBqu\fR is
|
||||
not allowed, since checking the timestamps would lose any speed
|
||||
advantage from the operation \fBq\fR.
|
||||
.IP "\fBU\fR" 4
|
||||
.IX Item "U"
|
||||
Do \fInot\fR operate in \fIdeterministic\fR mode. This is the inverse
|
||||
of the \fBD\fR modifier, above: added files and the archive index will
|
||||
get their actual \s-1UID\s0, \s-1GID\s0, timestamp, and file mode values.
|
||||
.Sp
|
||||
This is the default unless \fIbinutils\fR was configured with
|
||||
\&\fB\-\-enable\-deterministic\-archives\fR.
|
||||
.IP "\fBv\fR" 4
|
||||
.IX Item "v"
|
||||
This modifier requests the \fIverbose\fR version of an operation. Many
|
||||
operations display additional information, such as filenames processed,
|
||||
when the modifier \fBv\fR is appended.
|
||||
.IP "\fBV\fR" 4
|
||||
.IX Item "V"
|
||||
This modifier shows the version number of \fBar\fR.
|
||||
.PP
|
||||
\&\fBar\fR ignores an initial option spelt \fB\-X32_64\fR, for
|
||||
compatibility with \s-1AIX\s0. The behaviour produced by this option is the
|
||||
default for \s-1GNU\s0 \fBar\fR. \fBar\fR does not support any of the other
|
||||
\&\fB\-X\fR options; in particular, it does not support \fB\-X32\fR
|
||||
which is the default for \s-1AIX\s0 \fBar\fR.
|
||||
.PP
|
||||
The optional command line switch \fB\-\-plugin\fR \fIname\fR causes
|
||||
\&\fBar\fR to load the plugin called \fIname\fR which adds support
|
||||
for more file formats. This option is only available if the toolchain
|
||||
has been built with plugin support enabled.
|
||||
.PP
|
||||
The optional command line switch \fB\-\-target\fR \fIbfdname\fR
|
||||
specifies that the archive members are in an object code format
|
||||
different from your system's default format. See
|
||||
.IP "\fB@\fR\fIfile\fR" 4
|
||||
.IX Item "@file"
|
||||
Read command-line options from \fIfile\fR. The options read are
|
||||
inserted in place of the original @\fIfile\fR option. If \fIfile\fR
|
||||
does not exist, or cannot be read, then the option will be treated
|
||||
literally, and not removed.
|
||||
.Sp
|
||||
Options in \fIfile\fR are separated by whitespace. A whitespace
|
||||
character may be included in an option by surrounding the entire
|
||||
option in either single or double quotes. Any character (including a
|
||||
backslash) may be included by prefixing the character to be included
|
||||
with a backslash. The \fIfile\fR may itself contain additional
|
||||
@\fIfile\fR options; any such options will be processed recursively.
|
||||
.SH "SEE ALSO"
|
||||
.IX Header "SEE ALSO"
|
||||
\&\fInm\fR\|(1), \fIranlib\fR\|(1), and the Info entries for \fIbinutils\fR.
|
||||
.SH "COPYRIGHT"
|
||||
.IX Header "COPYRIGHT"
|
||||
Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
|
||||
2010, 2011, 2012
|
||||
Free Software Foundation, Inc.
|
||||
.PP
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3
|
||||
or any later version published by the Free Software Foundation;
|
||||
with no Invariant Sections, with no Front-Cover Texts, and with no
|
||||
Back-Cover Texts. A copy of the license is included in the
|
||||
section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,339 @@
|
|||
.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
|
||||
.\"
|
||||
.\" Standard preamble:
|
||||
.\" ========================================================================
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Vb \" Begin verbatim text
|
||||
.ft CW
|
||||
.nf
|
||||
.ne \\$1
|
||||
..
|
||||
.de Ve \" End verbatim text
|
||||
.ft R
|
||||
.fi
|
||||
..
|
||||
.\" Set up some character translations and predefined strings. \*(-- will
|
||||
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
||||
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
|
||||
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
|
||||
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
|
||||
.\" nothing in troff, for use with C<>.
|
||||
.tr \(*W-
|
||||
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
||||
.ie n \{\
|
||||
. ds -- \(*W-
|
||||
. ds PI pi
|
||||
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
||||
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
||||
. ds L" ""
|
||||
. ds R" ""
|
||||
. ds C` ""
|
||||
. ds C' ""
|
||||
'br\}
|
||||
.el\{\
|
||||
. ds -- \|\(em\|
|
||||
. ds PI \(*p
|
||||
. ds L" ``
|
||||
. ds R" ''
|
||||
'br\}
|
||||
.\"
|
||||
.\" Escape single quotes in literal strings from groff's Unicode transform.
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\"
|
||||
.\" If the F register is turned on, we'll generate index entries on stderr for
|
||||
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
|
||||
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
||||
.\" output yourself in some meaningful fashion.
|
||||
.ie \nF \{\
|
||||
. de IX
|
||||
. tm Index:\\$1\t\\n%\t"\\$2"
|
||||
..
|
||||
. nr % 0
|
||||
. rr F
|
||||
.\}
|
||||
.el \{\
|
||||
. de IX
|
||||
..
|
||||
.\}
|
||||
.\"
|
||||
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
||||
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
||||
. \" fudge factors for nroff and troff
|
||||
.if n \{\
|
||||
. ds #H 0
|
||||
. ds #V .8m
|
||||
. ds #F .3m
|
||||
. ds #[ \f1
|
||||
. ds #] \fP
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
||||
. ds #V .6m
|
||||
. ds #F 0
|
||||
. ds #[ \&
|
||||
. ds #] \&
|
||||
.\}
|
||||
. \" simple accents for nroff and troff
|
||||
.if n \{\
|
||||
. ds ' \&
|
||||
. ds ` \&
|
||||
. ds ^ \&
|
||||
. ds , \&
|
||||
. ds ~ ~
|
||||
. ds /
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
||||
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
||||
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
||||
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
||||
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
||||
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
||||
.\}
|
||||
. \" troff and (daisy-wheel) nroff accents
|
||||
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
||||
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
||||
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
||||
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
||||
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
||||
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
||||
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
||||
.ds ae a\h'-(\w'a'u*4/10)'e
|
||||
.ds Ae A\h'-(\w'A'u*4/10)'E
|
||||
. \" corrections for vroff
|
||||
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
||||
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
||||
. \" for low resolution devices (crt and lpr)
|
||||
.if \n(.H>23 .if \n(.V>19 \
|
||||
\{\
|
||||
. ds : e
|
||||
. ds 8 ss
|
||||
. ds o a
|
||||
. ds d- d\h'-1'\(ga
|
||||
. ds D- D\h'-1'\(hy
|
||||
. ds th \o'bp'
|
||||
. ds Th \o'LP'
|
||||
. ds ae ae
|
||||
. ds Ae AE
|
||||
.\}
|
||||
.rm #[ #] #H #V #F C
|
||||
.\" ========================================================================
|
||||
.\"
|
||||
.IX Title "C++FILT 1"
|
||||
.TH C++FILT 1 "2013-03-25" "binutils-2.23.2" "GNU Development Tools"
|
||||
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||||
.\" way too many mistakes in technical documents.
|
||||
.if n .ad l
|
||||
.nh
|
||||
.SH "NAME"
|
||||
c++filt \- Demangle C++ and Java symbols.
|
||||
.SH "SYNOPSIS"
|
||||
.IX Header "SYNOPSIS"
|
||||
c++filt [\fB\-_\fR|\fB\-\-strip\-underscore\fR]
|
||||
[\fB\-n\fR|\fB\-\-no\-strip\-underscore\fR]
|
||||
[\fB\-p\fR|\fB\-\-no\-params\fR]
|
||||
[\fB\-t\fR|\fB\-\-types\fR]
|
||||
[\fB\-i\fR|\fB\-\-no\-verbose\fR]
|
||||
[\fB\-s\fR \fIformat\fR|\fB\-\-format=\fR\fIformat\fR]
|
||||
[\fB\-\-help\fR] [\fB\-\-version\fR] [\fIsymbol\fR...]
|
||||
.SH "DESCRIPTION"
|
||||
.IX Header "DESCRIPTION"
|
||||
The \*(C+ and Java languages provide function overloading, which means
|
||||
that you can write many functions with the same name, providing that
|
||||
each function takes parameters of different types. In order to be
|
||||
able to distinguish these similarly named functions \*(C+ and Java
|
||||
encode them into a low-level assembler name which uniquely identifies
|
||||
each different version. This process is known as \fImangling\fR. The
|
||||
\&\fBc++filt\fR
|
||||
[1]
|
||||
program does the inverse mapping: it decodes (\fIdemangles\fR) low-level
|
||||
names into user-level names so that they can be read.
|
||||
.PP
|
||||
Every alphanumeric word (consisting of letters, digits, underscores,
|
||||
dollars, or periods) seen in the input is a potential mangled name.
|
||||
If the name decodes into a \*(C+ name, the \*(C+ name replaces the
|
||||
low-level name in the output, otherwise the original word is output.
|
||||
In this way you can pass an entire assembler source file, containing
|
||||
mangled names, through \fBc++filt\fR and see the same source file
|
||||
containing demangled names.
|
||||
.PP
|
||||
You can also use \fBc++filt\fR to decipher individual symbols by
|
||||
passing them on the command line:
|
||||
.PP
|
||||
.Vb 1
|
||||
\& c++filt <symbol>
|
||||
.Ve
|
||||
.PP
|
||||
If no \fIsymbol\fR arguments are given, \fBc++filt\fR reads symbol
|
||||
names from the standard input instead. All the results are printed on
|
||||
the standard output. The difference between reading names from the
|
||||
command line versus reading names from the standard input is that
|
||||
command line arguments are expected to be just mangled names and no
|
||||
checking is performed to separate them from surrounding text. Thus
|
||||
for example:
|
||||
.PP
|
||||
.Vb 1
|
||||
\& c++filt \-n _Z1fv
|
||||
.Ve
|
||||
.PP
|
||||
will work and demangle the name to \*(L"f()\*(R" whereas:
|
||||
.PP
|
||||
.Vb 1
|
||||
\& c++filt \-n _Z1fv,
|
||||
.Ve
|
||||
.PP
|
||||
will not work. (Note the extra comma at the end of the mangled
|
||||
name which makes it invalid). This command however will work:
|
||||
.PP
|
||||
.Vb 1
|
||||
\& echo _Z1fv, | c++filt \-n
|
||||
.Ve
|
||||
.PP
|
||||
and will display \*(L"f(),\*(R", i.e., the demangled name followed by a
|
||||
trailing comma. This behaviour is because when the names are read
|
||||
from the standard input it is expected that they might be part of an
|
||||
assembler source file where there might be extra, extraneous
|
||||
characters trailing after a mangled name. For example:
|
||||
.PP
|
||||
.Vb 1
|
||||
\& .type _Z1fv, @function
|
||||
.Ve
|
||||
.SH "OPTIONS"
|
||||
.IX Header "OPTIONS"
|
||||
.IP "\fB\-_\fR" 4
|
||||
.IX Item "-_"
|
||||
.PD 0
|
||||
.IP "\fB\-\-strip\-underscore\fR" 4
|
||||
.IX Item "--strip-underscore"
|
||||
.PD
|
||||
On some systems, both the C and \*(C+ compilers put an underscore in front
|
||||
of every name. For example, the C name \f(CW\*(C`foo\*(C'\fR gets the low-level
|
||||
name \f(CW\*(C`_foo\*(C'\fR. This option removes the initial underscore. Whether
|
||||
\&\fBc++filt\fR removes the underscore by default is target dependent.
|
||||
.IP "\fB\-n\fR" 4
|
||||
.IX Item "-n"
|
||||
.PD 0
|
||||
.IP "\fB\-\-no\-strip\-underscore\fR" 4
|
||||
.IX Item "--no-strip-underscore"
|
||||
.PD
|
||||
Do not remove the initial underscore.
|
||||
.IP "\fB\-p\fR" 4
|
||||
.IX Item "-p"
|
||||
.PD 0
|
||||
.IP "\fB\-\-no\-params\fR" 4
|
||||
.IX Item "--no-params"
|
||||
.PD
|
||||
When demangling the name of a function, do not display the types of
|
||||
the function's parameters.
|
||||
.IP "\fB\-t\fR" 4
|
||||
.IX Item "-t"
|
||||
.PD 0
|
||||
.IP "\fB\-\-types\fR" 4
|
||||
.IX Item "--types"
|
||||
.PD
|
||||
Attempt to demangle types as well as function names. This is disabled
|
||||
by default since mangled types are normally only used internally in
|
||||
the compiler, and they can be confused with non-mangled names. For example,
|
||||
a function called \*(L"a\*(R" treated as a mangled type name would be
|
||||
demangled to \*(L"signed char\*(R".
|
||||
.IP "\fB\-i\fR" 4
|
||||
.IX Item "-i"
|
||||
.PD 0
|
||||
.IP "\fB\-\-no\-verbose\fR" 4
|
||||
.IX Item "--no-verbose"
|
||||
.PD
|
||||
Do not include implementation details (if any) in the demangled
|
||||
output.
|
||||
.IP "\fB\-s\fR \fIformat\fR" 4
|
||||
.IX Item "-s format"
|
||||
.PD 0
|
||||
.IP "\fB\-\-format=\fR\fIformat\fR" 4
|
||||
.IX Item "--format=format"
|
||||
.PD
|
||||
\&\fBc++filt\fR can decode various methods of mangling, used by
|
||||
different compilers. The argument to this option selects which
|
||||
method it uses:
|
||||
.RS 4
|
||||
.ie n .IP """auto""" 4
|
||||
.el .IP "\f(CWauto\fR" 4
|
||||
.IX Item "auto"
|
||||
Automatic selection based on executable (the default method)
|
||||
.ie n .IP """gnu""" 4
|
||||
.el .IP "\f(CWgnu\fR" 4
|
||||
.IX Item "gnu"
|
||||
the one used by the \s-1GNU\s0 \*(C+ compiler (g++)
|
||||
.ie n .IP """lucid""" 4
|
||||
.el .IP "\f(CWlucid\fR" 4
|
||||
.IX Item "lucid"
|
||||
the one used by the Lucid compiler (lcc)
|
||||
.ie n .IP """arm""" 4
|
||||
.el .IP "\f(CWarm\fR" 4
|
||||
.IX Item "arm"
|
||||
the one specified by the \*(C+ Annotated Reference Manual
|
||||
.ie n .IP """hp""" 4
|
||||
.el .IP "\f(CWhp\fR" 4
|
||||
.IX Item "hp"
|
||||
the one used by the \s-1HP\s0 compiler (aCC)
|
||||
.ie n .IP """edg""" 4
|
||||
.el .IP "\f(CWedg\fR" 4
|
||||
.IX Item "edg"
|
||||
the one used by the \s-1EDG\s0 compiler
|
||||
.ie n .IP """gnu\-v3""" 4
|
||||
.el .IP "\f(CWgnu\-v3\fR" 4
|
||||
.IX Item "gnu-v3"
|
||||
the one used by the \s-1GNU\s0 \*(C+ compiler (g++) with the V3 \s-1ABI\s0.
|
||||
.ie n .IP """java""" 4
|
||||
.el .IP "\f(CWjava\fR" 4
|
||||
.IX Item "java"
|
||||
the one used by the \s-1GNU\s0 Java compiler (gcj)
|
||||
.ie n .IP """gnat""" 4
|
||||
.el .IP "\f(CWgnat\fR" 4
|
||||
.IX Item "gnat"
|
||||
the one used by the \s-1GNU\s0 Ada compiler (\s-1GNAT\s0).
|
||||
.RE
|
||||
.RS 4
|
||||
.RE
|
||||
.IP "\fB\-\-help\fR" 4
|
||||
.IX Item "--help"
|
||||
Print a summary of the options to \fBc++filt\fR and exit.
|
||||
.IP "\fB\-\-version\fR" 4
|
||||
.IX Item "--version"
|
||||
Print the version number of \fBc++filt\fR and exit.
|
||||
.IP "\fB@\fR\fIfile\fR" 4
|
||||
.IX Item "@file"
|
||||
Read command-line options from \fIfile\fR. The options read are
|
||||
inserted in place of the original @\fIfile\fR option. If \fIfile\fR
|
||||
does not exist, or cannot be read, then the option will be treated
|
||||
literally, and not removed.
|
||||
.Sp
|
||||
Options in \fIfile\fR are separated by whitespace. A whitespace
|
||||
character may be included in an option by surrounding the entire
|
||||
option in either single or double quotes. Any character (including a
|
||||
backslash) may be included by prefixing the character to be included
|
||||
with a backslash. The \fIfile\fR may itself contain additional
|
||||
@\fIfile\fR options; any such options will be processed recursively.
|
||||
.SH "FOOTNOTES"
|
||||
.IX Header "FOOTNOTES"
|
||||
.IP "1." 4
|
||||
MS-DOS does not allow \f(CW\*(C`+\*(C'\fR characters in file names, so on
|
||||
MS-DOS this program is named \fB\s-1CXXFILT\s0\fR.
|
||||
.SH "SEE ALSO"
|
||||
.IX Header "SEE ALSO"
|
||||
the Info entries for \fIbinutils\fR.
|
||||
.SH "COPYRIGHT"
|
||||
.IX Header "COPYRIGHT"
|
||||
Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
|
||||
2010, 2011, 2012
|
||||
Free Software Foundation, Inc.
|
||||
.PP
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3
|
||||
or any later version published by the Free Software Foundation;
|
||||
with no Invariant Sections, with no Front-Cover Texts, and with no
|
||||
Back-Cover Texts. A copy of the license is included in the
|
||||
section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,532 @@
|
|||
.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
|
||||
.\"
|
||||
.\" Standard preamble:
|
||||
.\" ========================================================================
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Vb \" Begin verbatim text
|
||||
.ft CW
|
||||
.nf
|
||||
.ne \\$1
|
||||
..
|
||||
.de Ve \" End verbatim text
|
||||
.ft R
|
||||
.fi
|
||||
..
|
||||
.\" Set up some character translations and predefined strings. \*(-- will
|
||||
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
||||
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
|
||||
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
|
||||
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
|
||||
.\" nothing in troff, for use with C<>.
|
||||
.tr \(*W-
|
||||
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
||||
.ie n \{\
|
||||
. ds -- \(*W-
|
||||
. ds PI pi
|
||||
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
||||
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
||||
. ds L" ""
|
||||
. ds R" ""
|
||||
. ds C` ""
|
||||
. ds C' ""
|
||||
'br\}
|
||||
.el\{\
|
||||
. ds -- \|\(em\|
|
||||
. ds PI \(*p
|
||||
. ds L" ``
|
||||
. ds R" ''
|
||||
'br\}
|
||||
.\"
|
||||
.\" Escape single quotes in literal strings from groff's Unicode transform.
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\"
|
||||
.\" If the F register is turned on, we'll generate index entries on stderr for
|
||||
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
|
||||
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
||||
.\" output yourself in some meaningful fashion.
|
||||
.ie \nF \{\
|
||||
. de IX
|
||||
. tm Index:\\$1\t\\n%\t"\\$2"
|
||||
..
|
||||
. nr % 0
|
||||
. rr F
|
||||
.\}
|
||||
.el \{\
|
||||
. de IX
|
||||
..
|
||||
.\}
|
||||
.\"
|
||||
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
||||
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
||||
. \" fudge factors for nroff and troff
|
||||
.if n \{\
|
||||
. ds #H 0
|
||||
. ds #V .8m
|
||||
. ds #F .3m
|
||||
. ds #[ \f1
|
||||
. ds #] \fP
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
||||
. ds #V .6m
|
||||
. ds #F 0
|
||||
. ds #[ \&
|
||||
. ds #] \&
|
||||
.\}
|
||||
. \" simple accents for nroff and troff
|
||||
.if n \{\
|
||||
. ds ' \&
|
||||
. ds ` \&
|
||||
. ds ^ \&
|
||||
. ds , \&
|
||||
. ds ~ ~
|
||||
. ds /
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
||||
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
||||
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
||||
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
||||
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
||||
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
||||
.\}
|
||||
. \" troff and (daisy-wheel) nroff accents
|
||||
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
||||
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
||||
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
||||
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
||||
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
||||
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
||||
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
||||
.ds ae a\h'-(\w'a'u*4/10)'e
|
||||
.ds Ae A\h'-(\w'A'u*4/10)'E
|
||||
. \" corrections for vroff
|
||||
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
||||
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
||||
. \" for low resolution devices (crt and lpr)
|
||||
.if \n(.H>23 .if \n(.V>19 \
|
||||
\{\
|
||||
. ds : e
|
||||
. ds 8 ss
|
||||
. ds o a
|
||||
. ds d- d\h'-1'\(ga
|
||||
. ds D- D\h'-1'\(hy
|
||||
. ds th \o'bp'
|
||||
. ds Th \o'LP'
|
||||
. ds ae ae
|
||||
. ds Ae AE
|
||||
.\}
|
||||
.rm #[ #] #H #V #F C
|
||||
.\" ========================================================================
|
||||
.\"
|
||||
.IX Title "DLLTOOL 1"
|
||||
.TH DLLTOOL 1 "2013-03-25" "binutils-2.23.2" "GNU Development Tools"
|
||||
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||||
.\" way too many mistakes in technical documents.
|
||||
.if n .ad l
|
||||
.nh
|
||||
.SH "NAME"
|
||||
dlltool \- Create files needed to build and use DLLs.
|
||||
.SH "SYNOPSIS"
|
||||
.IX Header "SYNOPSIS"
|
||||
dlltool [\fB\-d\fR|\fB\-\-input\-def\fR \fIdef-file-name\fR]
|
||||
[\fB\-b\fR|\fB\-\-base\-file\fR \fIbase-file-name\fR]
|
||||
[\fB\-e\fR|\fB\-\-output\-exp\fR \fIexports-file-name\fR]
|
||||
[\fB\-z\fR|\fB\-\-output\-def\fR \fIdef-file-name\fR]
|
||||
[\fB\-l\fR|\fB\-\-output\-lib\fR \fIlibrary-file-name\fR]
|
||||
[\fB\-y\fR|\fB\-\-output\-delaylib\fR \fIlibrary-file-name\fR]
|
||||
[\fB\-\-export\-all\-symbols\fR] [\fB\-\-no\-export\-all\-symbols\fR]
|
||||
[\fB\-\-exclude\-symbols\fR \fIlist\fR]
|
||||
[\fB\-\-no\-default\-excludes\fR]
|
||||
[\fB\-S\fR|\fB\-\-as\fR \fIpath-to-assembler\fR] [\fB\-f\fR|\fB\-\-as\-flags\fR \fIoptions\fR]
|
||||
[\fB\-D\fR|\fB\-\-dllname\fR \fIname\fR] [\fB\-m\fR|\fB\-\-machine\fR \fImachine\fR]
|
||||
[\fB\-a\fR|\fB\-\-add\-indirect\fR]
|
||||
[\fB\-U\fR|\fB\-\-add\-underscore\fR] [\fB\-\-add\-stdcall\-underscore\fR]
|
||||
[\fB\-k\fR|\fB\-\-kill\-at\fR] [\fB\-A\fR|\fB\-\-add\-stdcall\-alias\fR]
|
||||
[\fB\-p\fR|\fB\-\-ext\-prefix\-alias\fR \fIprefix\fR]
|
||||
[\fB\-x\fR|\fB\-\-no\-idata4\fR] [\fB\-c\fR|\fB\-\-no\-idata5\fR]
|
||||
[\fB\-\-use\-nul\-prefixed\-import\-tables\fR]
|
||||
[\fB\-I\fR|\fB\-\-identify\fR \fIlibrary-file-name\fR] [\fB\-\-identify\-strict\fR]
|
||||
[\fB\-i\fR|\fB\-\-interwork\fR]
|
||||
[\fB\-n\fR|\fB\-\-nodelete\fR] [\fB\-t\fR|\fB\-\-temp\-prefix\fR \fIprefix\fR]
|
||||
[\fB\-v\fR|\fB\-\-verbose\fR]
|
||||
[\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR]
|
||||
[\fB\-\-no\-leading\-underscore\fR] [\fB\-\-leading\-underscore\fR]
|
||||
[object\-file ...]
|
||||
.SH "DESCRIPTION"
|
||||
.IX Header "DESCRIPTION"
|
||||
\&\fBdlltool\fR reads its inputs, which can come from the \fB\-d\fR and
|
||||
\&\fB\-b\fR options as well as object files specified on the command
|
||||
line. It then processes these inputs and if the \fB\-e\fR option has
|
||||
been specified it creates a exports file. If the \fB\-l\fR option
|
||||
has been specified it creates a library file and if the \fB\-z\fR option
|
||||
has been specified it creates a def file. Any or all of the \fB\-e\fR,
|
||||
\&\fB\-l\fR and \fB\-z\fR options can be present in one invocation of
|
||||
dlltool.
|
||||
.PP
|
||||
When creating a \s-1DLL\s0, along with the source for the \s-1DLL\s0, it is necessary
|
||||
to have three other files. \fBdlltool\fR can help with the creation of
|
||||
these files.
|
||||
.PP
|
||||
The first file is a \fI.def\fR file which specifies which functions are
|
||||
exported from the \s-1DLL\s0, which functions the \s-1DLL\s0 imports, and so on. This
|
||||
is a text file and can be created by hand, or \fBdlltool\fR can be used
|
||||
to create it using the \fB\-z\fR option. In this case \fBdlltool\fR
|
||||
will scan the object files specified on its command line looking for
|
||||
those functions which have been specially marked as being exported and
|
||||
put entries for them in the \fI.def\fR file it creates.
|
||||
.PP
|
||||
In order to mark a function as being exported from a \s-1DLL\s0, it needs to
|
||||
have an \fB\-export:<name_of_function>\fR entry in the \fB.drectve\fR
|
||||
section of the object file. This can be done in C by using the
|
||||
\&\fIasm()\fR operator:
|
||||
.PP
|
||||
.Vb 2
|
||||
\& asm (".section .drectve");
|
||||
\& asm (".ascii \e"\-export:my_func\e"");
|
||||
\&
|
||||
\& int my_func (void) { ... }
|
||||
.Ve
|
||||
.PP
|
||||
The second file needed for \s-1DLL\s0 creation is an exports file. This file
|
||||
is linked with the object files that make up the body of the \s-1DLL\s0 and it
|
||||
handles the interface between the \s-1DLL\s0 and the outside world. This is a
|
||||
binary file and it can be created by giving the \fB\-e\fR option to
|
||||
\&\fBdlltool\fR when it is creating or reading in a \fI.def\fR file.
|
||||
.PP
|
||||
The third file needed for \s-1DLL\s0 creation is the library file that programs
|
||||
will link with in order to access the functions in the \s-1DLL\s0 (an `import
|
||||
library'). This file can be created by giving the \fB\-l\fR option to
|
||||
dlltool when it is creating or reading in a \fI.def\fR file.
|
||||
.PP
|
||||
If the \fB\-y\fR option is specified, dlltool generates a delay-import
|
||||
library that can be used instead of the normal import library to allow
|
||||
a program to link to the dll only as soon as an imported function is
|
||||
called for the first time. The resulting executable will need to be
|
||||
linked to the static delayimp library containing _\|\fI_delayLoadHelper2()\fR,
|
||||
which in turn will import LoadLibraryA and GetProcAddress from kernel32.
|
||||
.PP
|
||||
\&\fBdlltool\fR builds the library file by hand, but it builds the
|
||||
exports file by creating temporary files containing assembler statements
|
||||
and then assembling these. The \fB\-S\fR command line option can be
|
||||
used to specify the path to the assembler that dlltool will use,
|
||||
and the \fB\-f\fR option can be used to pass specific flags to that
|
||||
assembler. The \fB\-n\fR can be used to prevent dlltool from deleting
|
||||
these temporary assembler files when it is done, and if \fB\-n\fR is
|
||||
specified twice then this will prevent dlltool from deleting the
|
||||
temporary object files it used to build the library.
|
||||
.PP
|
||||
Here is an example of creating a \s-1DLL\s0 from a source file \fBdll.c\fR and
|
||||
also creating a program (from an object file called \fBprogram.o\fR)
|
||||
that uses that \s-1DLL:\s0
|
||||
.PP
|
||||
.Vb 4
|
||||
\& gcc \-c dll.c
|
||||
\& dlltool \-e exports.o \-l dll.lib dll.o
|
||||
\& gcc dll.o exports.o \-o dll.dll
|
||||
\& gcc program.o dll.lib \-o program
|
||||
.Ve
|
||||
.PP
|
||||
\&\fBdlltool\fR may also be used to query an existing import library
|
||||
to determine the name of the \s-1DLL\s0 to which it is associated. See the
|
||||
description of the \fB\-I\fR or \fB\-\-identify\fR option.
|
||||
.SH "OPTIONS"
|
||||
.IX Header "OPTIONS"
|
||||
The command line options have the following meanings:
|
||||
.IP "\fB\-d\fR \fIfilename\fR" 4
|
||||
.IX Item "-d filename"
|
||||
.PD 0
|
||||
.IP "\fB\-\-input\-def\fR \fIfilename\fR" 4
|
||||
.IX Item "--input-def filename"
|
||||
.PD
|
||||
Specifies the name of a \fI.def\fR file to be read in and processed.
|
||||
.IP "\fB\-b\fR \fIfilename\fR" 4
|
||||
.IX Item "-b filename"
|
||||
.PD 0
|
||||
.IP "\fB\-\-base\-file\fR \fIfilename\fR" 4
|
||||
.IX Item "--base-file filename"
|
||||
.PD
|
||||
Specifies the name of a base file to be read in and processed. The
|
||||
contents of this file will be added to the relocation section in the
|
||||
exports file generated by dlltool.
|
||||
.IP "\fB\-e\fR \fIfilename\fR" 4
|
||||
.IX Item "-e filename"
|
||||
.PD 0
|
||||
.IP "\fB\-\-output\-exp\fR \fIfilename\fR" 4
|
||||
.IX Item "--output-exp filename"
|
||||
.PD
|
||||
Specifies the name of the export file to be created by dlltool.
|
||||
.IP "\fB\-z\fR \fIfilename\fR" 4
|
||||
.IX Item "-z filename"
|
||||
.PD 0
|
||||
.IP "\fB\-\-output\-def\fR \fIfilename\fR" 4
|
||||
.IX Item "--output-def filename"
|
||||
.PD
|
||||
Specifies the name of the \fI.def\fR file to be created by dlltool.
|
||||
.IP "\fB\-l\fR \fIfilename\fR" 4
|
||||
.IX Item "-l filename"
|
||||
.PD 0
|
||||
.IP "\fB\-\-output\-lib\fR \fIfilename\fR" 4
|
||||
.IX Item "--output-lib filename"
|
||||
.PD
|
||||
Specifies the name of the library file to be created by dlltool.
|
||||
.IP "\fB\-y\fR \fIfilename\fR" 4
|
||||
.IX Item "-y filename"
|
||||
.PD 0
|
||||
.IP "\fB\-\-output\-delaylib\fR \fIfilename\fR" 4
|
||||
.IX Item "--output-delaylib filename"
|
||||
.PD
|
||||
Specifies the name of the delay-import library file to be created by dlltool.
|
||||
.IP "\fB\-\-export\-all\-symbols\fR" 4
|
||||
.IX Item "--export-all-symbols"
|
||||
Treat all global and weak defined symbols found in the input object
|
||||
files as symbols to be exported. There is a small list of symbols which
|
||||
are not exported by default; see the \fB\-\-no\-default\-excludes\fR
|
||||
option. You may add to the list of symbols to not export by using the
|
||||
\&\fB\-\-exclude\-symbols\fR option.
|
||||
.IP "\fB\-\-no\-export\-all\-symbols\fR" 4
|
||||
.IX Item "--no-export-all-symbols"
|
||||
Only export symbols explicitly listed in an input \fI.def\fR file or in
|
||||
\&\fB.drectve\fR sections in the input object files. This is the default
|
||||
behaviour. The \fB.drectve\fR sections are created by \fBdllexport\fR
|
||||
attributes in the source code.
|
||||
.IP "\fB\-\-exclude\-symbols\fR \fIlist\fR" 4
|
||||
.IX Item "--exclude-symbols list"
|
||||
Do not export the symbols in \fIlist\fR. This is a list of symbol names
|
||||
separated by comma or colon characters. The symbol names should not
|
||||
contain a leading underscore. This is only meaningful when
|
||||
\&\fB\-\-export\-all\-symbols\fR is used.
|
||||
.IP "\fB\-\-no\-default\-excludes\fR" 4
|
||||
.IX Item "--no-default-excludes"
|
||||
When \fB\-\-export\-all\-symbols\fR is used, it will by default avoid
|
||||
exporting certain special symbols. The current list of symbols to avoid
|
||||
exporting is \fBDllMain@12\fR, \fBDllEntryPoint@0\fR,
|
||||
\&\fBimpure_ptr\fR. You may use the \fB\-\-no\-default\-excludes\fR option
|
||||
to go ahead and export these special symbols. This is only meaningful
|
||||
when \fB\-\-export\-all\-symbols\fR is used.
|
||||
.IP "\fB\-S\fR \fIpath\fR" 4
|
||||
.IX Item "-S path"
|
||||
.PD 0
|
||||
.IP "\fB\-\-as\fR \fIpath\fR" 4
|
||||
.IX Item "--as path"
|
||||
.PD
|
||||
Specifies the path, including the filename, of the assembler to be used
|
||||
to create the exports file.
|
||||
.IP "\fB\-f\fR \fIoptions\fR" 4
|
||||
.IX Item "-f options"
|
||||
.PD 0
|
||||
.IP "\fB\-\-as\-flags\fR \fIoptions\fR" 4
|
||||
.IX Item "--as-flags options"
|
||||
.PD
|
||||
Specifies any specific command line options to be passed to the
|
||||
assembler when building the exports file. This option will work even if
|
||||
the \fB\-S\fR option is not used. This option only takes one argument,
|
||||
and if it occurs more than once on the command line, then later
|
||||
occurrences will override earlier occurrences. So if it is necessary to
|
||||
pass multiple options to the assembler they should be enclosed in
|
||||
double quotes.
|
||||
.IP "\fB\-D\fR \fIname\fR" 4
|
||||
.IX Item "-D name"
|
||||
.PD 0
|
||||
.IP "\fB\-\-dll\-name\fR \fIname\fR" 4
|
||||
.IX Item "--dll-name name"
|
||||
.PD
|
||||
Specifies the name to be stored in the \fI.def\fR file as the name of
|
||||
the \s-1DLL\s0 when the \fB\-e\fR option is used. If this option is not
|
||||
present, then the filename given to the \fB\-e\fR option will be
|
||||
used as the name of the \s-1DLL\s0.
|
||||
.IP "\fB\-m\fR \fImachine\fR" 4
|
||||
.IX Item "-m machine"
|
||||
.PD 0
|
||||
.IP "\fB\-machine\fR \fImachine\fR" 4
|
||||
.IX Item "-machine machine"
|
||||
.PD
|
||||
Specifies the type of machine for which the library file should be
|
||||
built. \fBdlltool\fR has a built in default type, depending upon how
|
||||
it was created, but this option can be used to override that. This is
|
||||
normally only useful when creating DLLs for an \s-1ARM\s0 processor, when the
|
||||
contents of the \s-1DLL\s0 are actually encode using Thumb instructions.
|
||||
.IP "\fB\-a\fR" 4
|
||||
.IX Item "-a"
|
||||
.PD 0
|
||||
.IP "\fB\-\-add\-indirect\fR" 4
|
||||
.IX Item "--add-indirect"
|
||||
.PD
|
||||
Specifies that when \fBdlltool\fR is creating the exports file it
|
||||
should add a section which allows the exported functions to be
|
||||
referenced without using the import library. Whatever the hell that
|
||||
means!
|
||||
.IP "\fB\-U\fR" 4
|
||||
.IX Item "-U"
|
||||
.PD 0
|
||||
.IP "\fB\-\-add\-underscore\fR" 4
|
||||
.IX Item "--add-underscore"
|
||||
.PD
|
||||
Specifies that when \fBdlltool\fR is creating the exports file it
|
||||
should prepend an underscore to the names of \fIall\fR exported symbols.
|
||||
.IP "\fB\-\-no\-leading\-underscore\fR" 4
|
||||
.IX Item "--no-leading-underscore"
|
||||
.PD 0
|
||||
.IP "\fB\-\-leading\-underscore\fR" 4
|
||||
.IX Item "--leading-underscore"
|
||||
.PD
|
||||
Specifies whether standard symbol should be forced to be prefixed, or
|
||||
not.
|
||||
.IP "\fB\-\-add\-stdcall\-underscore\fR" 4
|
||||
.IX Item "--add-stdcall-underscore"
|
||||
Specifies that when \fBdlltool\fR is creating the exports file it
|
||||
should prepend an underscore to the names of exported \fIstdcall\fR
|
||||
functions. Variable names and non-stdcall function names are not modified.
|
||||
This option is useful when creating GNU-compatible import libs for third
|
||||
party DLLs that were built with MS-Windows tools.
|
||||
.IP "\fB\-k\fR" 4
|
||||
.IX Item "-k"
|
||||
.PD 0
|
||||
.IP "\fB\-\-kill\-at\fR" 4
|
||||
.IX Item "--kill-at"
|
||||
.PD
|
||||
Specifies that when \fBdlltool\fR is creating the exports file it
|
||||
should not append the string \fB@ <number>\fR. These numbers are
|
||||
called ordinal numbers and they represent another way of accessing the
|
||||
function in a \s-1DLL\s0, other than by name.
|
||||
.IP "\fB\-A\fR" 4
|
||||
.IX Item "-A"
|
||||
.PD 0
|
||||
.IP "\fB\-\-add\-stdcall\-alias\fR" 4
|
||||
.IX Item "--add-stdcall-alias"
|
||||
.PD
|
||||
Specifies that when \fBdlltool\fR is creating the exports file it
|
||||
should add aliases for stdcall symbols without \fB@ <number>\fR
|
||||
in addition to the symbols with \fB@ <number>\fR.
|
||||
.IP "\fB\-p\fR" 4
|
||||
.IX Item "-p"
|
||||
.PD 0
|
||||
.IP "\fB\-\-ext\-prefix\-alias\fR \fIprefix\fR" 4
|
||||
.IX Item "--ext-prefix-alias prefix"
|
||||
.PD
|
||||
Causes \fBdlltool\fR to create external aliases for all \s-1DLL\s0
|
||||
imports with the specified prefix. The aliases are created for both
|
||||
external and import symbols with no leading underscore.
|
||||
.IP "\fB\-x\fR" 4
|
||||
.IX Item "-x"
|
||||
.PD 0
|
||||
.IP "\fB\-\-no\-idata4\fR" 4
|
||||
.IX Item "--no-idata4"
|
||||
.PD
|
||||
Specifies that when \fBdlltool\fR is creating the exports and library
|
||||
files it should omit the \f(CW\*(C`.idata4\*(C'\fR section. This is for compatibility
|
||||
with certain operating systems.
|
||||
.IP "\fB\-\-use\-nul\-prefixed\-import\-tables\fR" 4
|
||||
.IX Item "--use-nul-prefixed-import-tables"
|
||||
Specifies that when \fBdlltool\fR is creating the exports and library
|
||||
files it should prefix the \f(CW\*(C`.idata4\*(C'\fR and \f(CW\*(C`.idata5\*(C'\fR by zero an
|
||||
element. This emulates old gnu import library generation of
|
||||
\&\f(CW\*(C`dlltool\*(C'\fR. By default this option is turned off.
|
||||
.IP "\fB\-c\fR" 4
|
||||
.IX Item "-c"
|
||||
.PD 0
|
||||
.IP "\fB\-\-no\-idata5\fR" 4
|
||||
.IX Item "--no-idata5"
|
||||
.PD
|
||||
Specifies that when \fBdlltool\fR is creating the exports and library
|
||||
files it should omit the \f(CW\*(C`.idata5\*(C'\fR section. This is for compatibility
|
||||
with certain operating systems.
|
||||
.IP "\fB\-I\fR \fIfilename\fR" 4
|
||||
.IX Item "-I filename"
|
||||
.PD 0
|
||||
.IP "\fB\-\-identify\fR \fIfilename\fR" 4
|
||||
.IX Item "--identify filename"
|
||||
.PD
|
||||
Specifies that \fBdlltool\fR should inspect the import library
|
||||
indicated by \fIfilename\fR and report, on \f(CW\*(C`stdout\*(C'\fR, the name(s)
|
||||
of the associated \s-1DLL\s0(s). This can be performed in addition to any
|
||||
other operations indicated by the other options and arguments.
|
||||
\&\fBdlltool\fR fails if the import library does not exist or is not
|
||||
actually an import library. See also \fB\-\-identify\-strict\fR.
|
||||
.IP "\fB\-\-identify\-strict\fR" 4
|
||||
.IX Item "--identify-strict"
|
||||
Modifies the behavior of the \fB\-\-identify\fR option, such
|
||||
that an error is reported if \fIfilename\fR is associated with
|
||||
more than one \s-1DLL\s0.
|
||||
.IP "\fB\-i\fR" 4
|
||||
.IX Item "-i"
|
||||
.PD 0
|
||||
.IP "\fB\-\-interwork\fR" 4
|
||||
.IX Item "--interwork"
|
||||
.PD
|
||||
Specifies that \fBdlltool\fR should mark the objects in the library
|
||||
file and exports file that it produces as supporting interworking
|
||||
between \s-1ARM\s0 and Thumb code.
|
||||
.IP "\fB\-n\fR" 4
|
||||
.IX Item "-n"
|
||||
.PD 0
|
||||
.IP "\fB\-\-nodelete\fR" 4
|
||||
.IX Item "--nodelete"
|
||||
.PD
|
||||
Makes \fBdlltool\fR preserve the temporary assembler files it used to
|
||||
create the exports file. If this option is repeated then dlltool will
|
||||
also preserve the temporary object files it uses to create the library
|
||||
file.
|
||||
.IP "\fB\-t\fR \fIprefix\fR" 4
|
||||
.IX Item "-t prefix"
|
||||
.PD 0
|
||||
.IP "\fB\-\-temp\-prefix\fR \fIprefix\fR" 4
|
||||
.IX Item "--temp-prefix prefix"
|
||||
.PD
|
||||
Makes \fBdlltool\fR use \fIprefix\fR when constructing the names of
|
||||
temporary assembler and object files. By default, the temp file prefix
|
||||
is generated from the pid.
|
||||
.IP "\fB\-v\fR" 4
|
||||
.IX Item "-v"
|
||||
.PD 0
|
||||
.IP "\fB\-\-verbose\fR" 4
|
||||
.IX Item "--verbose"
|
||||
.PD
|
||||
Make dlltool describe what it is doing.
|
||||
.IP "\fB\-h\fR" 4
|
||||
.IX Item "-h"
|
||||
.PD 0
|
||||
.IP "\fB\-\-help\fR" 4
|
||||
.IX Item "--help"
|
||||
.PD
|
||||
Displays a list of command line options and then exits.
|
||||
.IP "\fB\-V\fR" 4
|
||||
.IX Item "-V"
|
||||
.PD 0
|
||||
.IP "\fB\-\-version\fR" 4
|
||||
.IX Item "--version"
|
||||
.PD
|
||||
Displays dlltool's version number and then exits.
|
||||
.IP "\fB@\fR\fIfile\fR" 4
|
||||
.IX Item "@file"
|
||||
Read command-line options from \fIfile\fR. The options read are
|
||||
inserted in place of the original @\fIfile\fR option. If \fIfile\fR
|
||||
does not exist, or cannot be read, then the option will be treated
|
||||
literally, and not removed.
|
||||
.Sp
|
||||
Options in \fIfile\fR are separated by whitespace. A whitespace
|
||||
character may be included in an option by surrounding the entire
|
||||
option in either single or double quotes. Any character (including a
|
||||
backslash) may be included by prefixing the character to be included
|
||||
with a backslash. The \fIfile\fR may itself contain additional
|
||||
@\fIfile\fR options; any such options will be processed recursively.
|
||||
.SH "SEE ALSO"
|
||||
.IX Header "SEE ALSO"
|
||||
The Info pages for \fIbinutils\fR.
|
||||
.SH "COPYRIGHT"
|
||||
.IX Header "COPYRIGHT"
|
||||
Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
|
||||
2010, 2011, 2012
|
||||
Free Software Foundation, Inc.
|
||||
.PP
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3
|
||||
or any later version published by the Free Software Foundation;
|
||||
with no Invariant Sections, with no Front-Cover Texts, and with no
|
||||
Back-Cover Texts. A copy of the license is included in the
|
||||
section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".
|
||||
|
|
@ -0,0 +1,236 @@
|
|||
.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
|
||||
.\"
|
||||
.\" Standard preamble:
|
||||
.\" ========================================================================
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Vb \" Begin verbatim text
|
||||
.ft CW
|
||||
.nf
|
||||
.ne \\$1
|
||||
..
|
||||
.de Ve \" End verbatim text
|
||||
.ft R
|
||||
.fi
|
||||
..
|
||||
.\" Set up some character translations and predefined strings. \*(-- will
|
||||
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
||||
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
|
||||
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
|
||||
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
|
||||
.\" nothing in troff, for use with C<>.
|
||||
.tr \(*W-
|
||||
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
||||
.ie n \{\
|
||||
. ds -- \(*W-
|
||||
. ds PI pi
|
||||
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
||||
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
||||
. ds L" ""
|
||||
. ds R" ""
|
||||
. ds C` ""
|
||||
. ds C' ""
|
||||
'br\}
|
||||
.el\{\
|
||||
. ds -- \|\(em\|
|
||||
. ds PI \(*p
|
||||
. ds L" ``
|
||||
. ds R" ''
|
||||
'br\}
|
||||
.\"
|
||||
.\" Escape single quotes in literal strings from groff's Unicode transform.
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\"
|
||||
.\" If the F register is turned on, we'll generate index entries on stderr for
|
||||
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
|
||||
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
||||
.\" output yourself in some meaningful fashion.
|
||||
.ie \nF \{\
|
||||
. de IX
|
||||
. tm Index:\\$1\t\\n%\t"\\$2"
|
||||
..
|
||||
. nr % 0
|
||||
. rr F
|
||||
.\}
|
||||
.el \{\
|
||||
. de IX
|
||||
..
|
||||
.\}
|
||||
.\"
|
||||
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
||||
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
||||
. \" fudge factors for nroff and troff
|
||||
.if n \{\
|
||||
. ds #H 0
|
||||
. ds #V .8m
|
||||
. ds #F .3m
|
||||
. ds #[ \f1
|
||||
. ds #] \fP
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
||||
. ds #V .6m
|
||||
. ds #F 0
|
||||
. ds #[ \&
|
||||
. ds #] \&
|
||||
.\}
|
||||
. \" simple accents for nroff and troff
|
||||
.if n \{\
|
||||
. ds ' \&
|
||||
. ds ` \&
|
||||
. ds ^ \&
|
||||
. ds , \&
|
||||
. ds ~ ~
|
||||
. ds /
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
||||
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
||||
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
||||
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
||||
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
||||
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
||||
.\}
|
||||
. \" troff and (daisy-wheel) nroff accents
|
||||
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
||||
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
||||
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
||||
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
||||
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
||||
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
||||
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
||||
.ds ae a\h'-(\w'a'u*4/10)'e
|
||||
.ds Ae A\h'-(\w'A'u*4/10)'E
|
||||
. \" corrections for vroff
|
||||
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
||||
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
||||
. \" for low resolution devices (crt and lpr)
|
||||
.if \n(.H>23 .if \n(.V>19 \
|
||||
\{\
|
||||
. ds : e
|
||||
. ds 8 ss
|
||||
. ds o a
|
||||
. ds d- d\h'-1'\(ga
|
||||
. ds D- D\h'-1'\(hy
|
||||
. ds th \o'bp'
|
||||
. ds Th \o'LP'
|
||||
. ds ae ae
|
||||
. ds Ae AE
|
||||
.\}
|
||||
.rm #[ #] #H #V #F C
|
||||
.\" ========================================================================
|
||||
.\"
|
||||
.IX Title "ELFEDIT 1"
|
||||
.TH ELFEDIT 1 "2013-03-25" "binutils-2.23.2" "GNU Development Tools"
|
||||
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||||
.\" way too many mistakes in technical documents.
|
||||
.if n .ad l
|
||||
.nh
|
||||
.SH "NAME"
|
||||
elfedit \- Update the ELF header of ELF files.
|
||||
.SH "SYNOPSIS"
|
||||
.IX Header "SYNOPSIS"
|
||||
elfedit [\fB\-\-input\-mach=\fR\fImachine\fR]
|
||||
[\fB\-\-input\-type=\fR\fItype\fR]
|
||||
[\fB\-\-input\-osabi=\fR\fIosabi\fR]
|
||||
\fB\-\-output\-mach=\fR\fImachine\fR
|
||||
\fB\-\-output\-type=\fR\fItype\fR
|
||||
\fB\-\-output\-osabi=\fR\fIosabi\fR
|
||||
[\fB\-v\fR|\fB\-\-version\fR]
|
||||
[\fB\-h\fR|\fB\-\-help\fR]
|
||||
\fIelffile\fR...
|
||||
.SH "DESCRIPTION"
|
||||
.IX Header "DESCRIPTION"
|
||||
\&\fBelfedit\fR updates the \s-1ELF\s0 header of \s-1ELF\s0 files which have
|
||||
the matching \s-1ELF\s0 machine and file types. The options control how and
|
||||
which fields in the \s-1ELF\s0 header should be updated.
|
||||
.PP
|
||||
\&\fIelffile\fR... are the \s-1ELF\s0 files to be updated. 32\-bit and
|
||||
64\-bit \s-1ELF\s0 files are supported, as are archives containing \s-1ELF\s0 files.
|
||||
.SH "OPTIONS"
|
||||
.IX Header "OPTIONS"
|
||||
The long and short forms of options, shown here as alternatives, are
|
||||
equivalent. At least one of the \fB\-\-output\-mach\fR,
|
||||
\&\fB\-\-output\-type\fR and \fB\-\-output\-osabi\fR options must be given.
|
||||
.IP "\fB\-\-input\-mach=\fR\fImachine\fR" 4
|
||||
.IX Item "--input-mach=machine"
|
||||
Set the matching input \s-1ELF\s0 machine type to \fImachine\fR. If
|
||||
\&\fB\-\-input\-mach\fR isn't specified, it will match any \s-1ELF\s0
|
||||
machine types.
|
||||
.Sp
|
||||
The supported \s-1ELF\s0 machine types are, \fIL1OM\fR, \fIK1OM\fR and
|
||||
\&\fIx86\-64\fR.
|
||||
.IP "\fB\-\-output\-mach=\fR\fImachine\fR" 4
|
||||
.IX Item "--output-mach=machine"
|
||||
Change the \s-1ELF\s0 machine type in the \s-1ELF\s0 header to \fImachine\fR. The
|
||||
supported \s-1ELF\s0 machine types are the same as \fB\-\-input\-mach\fR.
|
||||
.IP "\fB\-\-input\-type=\fR\fItype\fR" 4
|
||||
.IX Item "--input-type=type"
|
||||
Set the matching input \s-1ELF\s0 file type to \fItype\fR. If
|
||||
\&\fB\-\-input\-type\fR isn't specified, it will match any \s-1ELF\s0 file types.
|
||||
.Sp
|
||||
The supported \s-1ELF\s0 file types are, \fIrel\fR, \fIexec\fR and \fIdyn\fR.
|
||||
.IP "\fB\-\-output\-type=\fR\fItype\fR" 4
|
||||
.IX Item "--output-type=type"
|
||||
Change the \s-1ELF\s0 file type in the \s-1ELF\s0 header to \fItype\fR. The
|
||||
supported \s-1ELF\s0 types are the same as \fB\-\-input\-type\fR.
|
||||
.IP "\fB\-\-input\-osabi=\fR\fIosabi\fR" 4
|
||||
.IX Item "--input-osabi=osabi"
|
||||
Set the matching input \s-1ELF\s0 file \s-1OSABI\s0 to \fIosabi\fR. If
|
||||
\&\fB\-\-input\-osabi\fR isn't specified, it will match any \s-1ELF\s0 OSABIs.
|
||||
.Sp
|
||||
The supported \s-1ELF\s0 OSABIs are, \fInone\fR, \fI\s-1HPUX\s0\fR, \fINetBSD\fR,
|
||||
\&\fI\s-1GNU\s0\fR, \fILinux\fR (alias for \fI\s-1GNU\s0\fR),
|
||||
\&\fISolaris\fR, \fI\s-1AIX\s0\fR, \fIIrix\fR,
|
||||
\&\fIFreeBSD\fR, \fI\s-1TRU64\s0\fR, \fIModesto\fR, \fIOpenBSD\fR, \fIOpenVMS\fR,
|
||||
\&\fI\s-1NSK\s0\fR, \fI\s-1AROS\s0\fR and \fIFenixOS\fR.
|
||||
.IP "\fB\-\-output\-osabi=\fR\fIosabi\fR" 4
|
||||
.IX Item "--output-osabi=osabi"
|
||||
Change the \s-1ELF\s0 \s-1OSABI\s0 in the \s-1ELF\s0 header to \fIosabi\fR. The
|
||||
supported \s-1ELF\s0 \s-1OSABI\s0 are the same as \fB\-\-input\-osabi\fR.
|
||||
.IP "\fB\-v\fR" 4
|
||||
.IX Item "-v"
|
||||
.PD 0
|
||||
.IP "\fB\-\-version\fR" 4
|
||||
.IX Item "--version"
|
||||
.PD
|
||||
Display the version number of \fBelfedit\fR.
|
||||
.IP "\fB\-h\fR" 4
|
||||
.IX Item "-h"
|
||||
.PD 0
|
||||
.IP "\fB\-\-help\fR" 4
|
||||
.IX Item "--help"
|
||||
.PD
|
||||
Display the command line options understood by \fBelfedit\fR.
|
||||
.IP "\fB@\fR\fIfile\fR" 4
|
||||
.IX Item "@file"
|
||||
Read command-line options from \fIfile\fR. The options read are
|
||||
inserted in place of the original @\fIfile\fR option. If \fIfile\fR
|
||||
does not exist, or cannot be read, then the option will be treated
|
||||
literally, and not removed.
|
||||
.Sp
|
||||
Options in \fIfile\fR are separated by whitespace. A whitespace
|
||||
character may be included in an option by surrounding the entire
|
||||
option in either single or double quotes. Any character (including a
|
||||
backslash) may be included by prefixing the character to be included
|
||||
with a backslash. The \fIfile\fR may itself contain additional
|
||||
@\fIfile\fR options; any such options will be processed recursively.
|
||||
.SH "SEE ALSO"
|
||||
.IX Header "SEE ALSO"
|
||||
\&\fIreadelf\fR\|(1), and the Info entries for \fIbinutils\fR.
|
||||
.SH "COPYRIGHT"
|
||||
.IX Header "COPYRIGHT"
|
||||
Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
|
||||
2010, 2011, 2012
|
||||
Free Software Foundation, Inc.
|
||||
.PP
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3
|
||||
or any later version published by the Free Software Foundation;
|
||||
with no Invariant Sections, with no Front-Cover Texts, and with no
|
||||
Back-Cover Texts. A copy of the license is included in the
|
||||
section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,680 @@
|
|||
.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
|
||||
.\"
|
||||
.\" Standard preamble:
|
||||
.\" ========================================================================
|
||||
.de Sh \" Subsection heading
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Vb \" Begin verbatim text
|
||||
.ft CW
|
||||
.nf
|
||||
.ne \\$1
|
||||
..
|
||||
.de Ve \" End verbatim text
|
||||
.ft R
|
||||
.fi
|
||||
..
|
||||
.\" Set up some character translations and predefined strings. \*(-- will
|
||||
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
||||
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
|
||||
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
|
||||
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
|
||||
.\" nothing in troff, for use with C<>.
|
||||
.tr \(*W-
|
||||
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
||||
.ie n \{\
|
||||
. ds -- \(*W-
|
||||
. ds PI pi
|
||||
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
||||
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
||||
. ds L" ""
|
||||
. ds R" ""
|
||||
. ds C` ""
|
||||
. ds C' ""
|
||||
'br\}
|
||||
.el\{\
|
||||
. ds -- \|\(em\|
|
||||
. ds PI \(*p
|
||||
. ds L" ``
|
||||
. ds R" ''
|
||||
'br\}
|
||||
.\"
|
||||
.\" Escape single quotes in literal strings from groff's Unicode transform.
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\"
|
||||
.\" If the F register is turned on, we'll generate index entries on stderr for
|
||||
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
|
||||
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
||||
.\" output yourself in some meaningful fashion.
|
||||
.ie \nF \{\
|
||||
. de IX
|
||||
. tm Index:\\$1\t\\n%\t"\\$2"
|
||||
..
|
||||
. nr % 0
|
||||
. rr F
|
||||
.\}
|
||||
.el \{\
|
||||
. de IX
|
||||
..
|
||||
.\}
|
||||
.\"
|
||||
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
||||
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
||||
. \" fudge factors for nroff and troff
|
||||
.if n \{\
|
||||
. ds #H 0
|
||||
. ds #V .8m
|
||||
. ds #F .3m
|
||||
. ds #[ \f1
|
||||
. ds #] \fP
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
||||
. ds #V .6m
|
||||
. ds #F 0
|
||||
. ds #[ \&
|
||||
. ds #] \&
|
||||
.\}
|
||||
. \" simple accents for nroff and troff
|
||||
.if n \{\
|
||||
. ds ' \&
|
||||
. ds ` \&
|
||||
. ds ^ \&
|
||||
. ds , \&
|
||||
. ds ~ ~
|
||||
. ds /
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
||||
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
||||
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
||||
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
||||
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
||||
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
||||
.\}
|
||||
. \" troff and (daisy-wheel) nroff accents
|
||||
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
||||
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
||||
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
||||
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
||||
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
||||
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
||||
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
||||
.ds ae a\h'-(\w'a'u*4/10)'e
|
||||
.ds Ae A\h'-(\w'A'u*4/10)'E
|
||||
. \" corrections for vroff
|
||||
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
||||
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
||||
. \" for low resolution devices (crt and lpr)
|
||||
.if \n(.H>23 .if \n(.V>19 \
|
||||
\{\
|
||||
. ds : e
|
||||
. ds 8 ss
|
||||
. ds o a
|
||||
. ds d- d\h'-1'\(ga
|
||||
. ds D- D\h'-1'\(hy
|
||||
. ds th \o'bp'
|
||||
. ds Th \o'LP'
|
||||
. ds ae ae
|
||||
. ds Ae AE
|
||||
.\}
|
||||
.rm #[ #] #H #V #F C
|
||||
.\" ========================================================================
|
||||
.\"
|
||||
.IX Title "GCOV 1"
|
||||
.TH GCOV 1 "2014-02-28" "gcc-4.8.3" "GNU"
|
||||
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||||
.\" way too many mistakes in technical documents.
|
||||
.if n .ad l
|
||||
.nh
|
||||
.SH "NAME"
|
||||
gcov \- coverage testing tool
|
||||
.SH "SYNOPSIS"
|
||||
.IX Header "SYNOPSIS"
|
||||
gcov [\fB\-v\fR|\fB\-\-version\fR] [\fB\-h\fR|\fB\-\-help\fR]
|
||||
[\fB\-a\fR|\fB\-\-all\-blocks\fR]
|
||||
[\fB\-b\fR|\fB\-\-branch\-probabilities\fR]
|
||||
[\fB\-c\fR|\fB\-\-branch\-counts\fR]
|
||||
[\fB\-u\fR|\fB\-\-unconditional\-branches\fR]
|
||||
[\fB\-n\fR|\fB\-\-no\-output\fR]
|
||||
[\fB\-l\fR|\fB\-\-long\-file\-names\fR]
|
||||
[\fB\-p\fR|\fB\-\-preserve\-paths\fR]
|
||||
[\fB\-r\fR|\fB\-\-relative\-only\fR]
|
||||
[\fB\-f\fR|\fB\-\-function\-summaries\fR]
|
||||
[\fB\-o\fR|\fB\-\-object\-directory\fR \fIdirectory|file\fR]
|
||||
[\fB\-s\fR|\fB\-\-source\-prefix\fR \fIdirectory\fR]
|
||||
[\fB\-d\fR|\fB\-\-display\-progress\fR]
|
||||
\fIfiles\fR
|
||||
.SH "DESCRIPTION"
|
||||
.IX Header "DESCRIPTION"
|
||||
\&\fBgcov\fR is a test coverage program. Use it in concert with \s-1GCC\s0
|
||||
to analyze your programs to help create more efficient, faster running
|
||||
code and to discover untested parts of your program. You can use
|
||||
\&\fBgcov\fR as a profiling tool to help discover where your
|
||||
optimization efforts will best affect your code. You can also use
|
||||
\&\fBgcov\fR along with the other profiling tool, \fBgprof\fR, to
|
||||
assess which parts of your code use the greatest amount of computing
|
||||
time.
|
||||
.PP
|
||||
Profiling tools help you analyze your code's performance. Using a
|
||||
profiler such as \fBgcov\fR or \fBgprof\fR, you can find out some
|
||||
basic performance statistics, such as:
|
||||
.IP "\(bu" 4
|
||||
how often each line of code executes
|
||||
.IP "\(bu" 4
|
||||
what lines of code are actually executed
|
||||
.IP "\(bu" 4
|
||||
how much computing time each section of code uses
|
||||
.PP
|
||||
Once you know these things about how your code works when compiled, you
|
||||
can look at each module to see which modules should be optimized.
|
||||
\&\fBgcov\fR helps you determine where to work on optimization.
|
||||
.PP
|
||||
Software developers also use coverage testing in concert with
|
||||
testsuites, to make sure software is actually good enough for a release.
|
||||
Testsuites can verify that a program works as expected; a coverage
|
||||
program tests to see how much of the program is exercised by the
|
||||
testsuite. Developers can then determine what kinds of test cases need
|
||||
to be added to the testsuites to create both better testing and a better
|
||||
final product.
|
||||
.PP
|
||||
You should compile your code without optimization if you plan to use
|
||||
\&\fBgcov\fR because the optimization, by combining some lines of code
|
||||
into one function, may not give you as much information as you need to
|
||||
look for `hot spots' where the code is using a great deal of computer
|
||||
time. Likewise, because \fBgcov\fR accumulates statistics by line (at
|
||||
the lowest resolution), it works best with a programming style that
|
||||
places only one statement on each line. If you use complicated macros
|
||||
that expand to loops or to other control structures, the statistics are
|
||||
less helpful\-\-\-they only report on the line where the macro call
|
||||
appears. If your complex macros behave like functions, you can replace
|
||||
them with inline functions to solve this problem.
|
||||
.PP
|
||||
\&\fBgcov\fR creates a logfile called \fI\fIsourcefile\fI.gcov\fR which
|
||||
indicates how many times each line of a source file \fI\fIsourcefile\fI.c\fR
|
||||
has executed. You can use these logfiles along with \fBgprof\fR to aid
|
||||
in fine-tuning the performance of your programs. \fBgprof\fR gives
|
||||
timing information you can use along with the information you get from
|
||||
\&\fBgcov\fR.
|
||||
.PP
|
||||
\&\fBgcov\fR works only on code compiled with \s-1GCC\s0. It is not
|
||||
compatible with any other profiling or test coverage mechanism.
|
||||
.SH "OPTIONS"
|
||||
.IX Header "OPTIONS"
|
||||
.IP "\fB\-h\fR" 4
|
||||
.IX Item "-h"
|
||||
.PD 0
|
||||
.IP "\fB\-\-help\fR" 4
|
||||
.IX Item "--help"
|
||||
.PD
|
||||
Display help about using \fBgcov\fR (on the standard output), and
|
||||
exit without doing any further processing.
|
||||
.IP "\fB\-v\fR" 4
|
||||
.IX Item "-v"
|
||||
.PD 0
|
||||
.IP "\fB\-\-version\fR" 4
|
||||
.IX Item "--version"
|
||||
.PD
|
||||
Display the \fBgcov\fR version number (on the standard output),
|
||||
and exit without doing any further processing.
|
||||
.IP "\fB\-a\fR" 4
|
||||
.IX Item "-a"
|
||||
.PD 0
|
||||
.IP "\fB\-\-all\-blocks\fR" 4
|
||||
.IX Item "--all-blocks"
|
||||
.PD
|
||||
Write individual execution counts for every basic block. Normally gcov
|
||||
outputs execution counts only for the main blocks of a line. With this
|
||||
option you can determine if blocks within a single line are not being
|
||||
executed.
|
||||
.IP "\fB\-b\fR" 4
|
||||
.IX Item "-b"
|
||||
.PD 0
|
||||
.IP "\fB\-\-branch\-probabilities\fR" 4
|
||||
.IX Item "--branch-probabilities"
|
||||
.PD
|
||||
Write branch frequencies to the output file, and write branch summary
|
||||
info to the standard output. This option allows you to see how often
|
||||
each branch in your program was taken. Unconditional branches will not
|
||||
be shown, unless the \fB\-u\fR option is given.
|
||||
.IP "\fB\-c\fR" 4
|
||||
.IX Item "-c"
|
||||
.PD 0
|
||||
.IP "\fB\-\-branch\-counts\fR" 4
|
||||
.IX Item "--branch-counts"
|
||||
.PD
|
||||
Write branch frequencies as the number of branches taken, rather than
|
||||
the percentage of branches taken.
|
||||
.IP "\fB\-n\fR" 4
|
||||
.IX Item "-n"
|
||||
.PD 0
|
||||
.IP "\fB\-\-no\-output\fR" 4
|
||||
.IX Item "--no-output"
|
||||
.PD
|
||||
Do not create the \fBgcov\fR output file.
|
||||
.IP "\fB\-l\fR" 4
|
||||
.IX Item "-l"
|
||||
.PD 0
|
||||
.IP "\fB\-\-long\-file\-names\fR" 4
|
||||
.IX Item "--long-file-names"
|
||||
.PD
|
||||
Create long file names for included source files. For example, if the
|
||||
header file \fIx.h\fR contains code, and was included in the file
|
||||
\&\fIa.c\fR, then running \fBgcov\fR on the file \fIa.c\fR will
|
||||
produce an output file called \fIa.c##x.h.gcov\fR instead of
|
||||
\&\fIx.h.gcov\fR. This can be useful if \fIx.h\fR is included in
|
||||
multiple source files and you want to see the individual
|
||||
contributions. If you use the \fB\-p\fR option, both the including
|
||||
and included file names will be complete path names.
|
||||
.IP "\fB\-p\fR" 4
|
||||
.IX Item "-p"
|
||||
.PD 0
|
||||
.IP "\fB\-\-preserve\-paths\fR" 4
|
||||
.IX Item "--preserve-paths"
|
||||
.PD
|
||||
Preserve complete path information in the names of generated
|
||||
\&\fI.gcov\fR files. Without this option, just the filename component is
|
||||
used. With this option, all directories are used, with \fB/\fR characters
|
||||
translated to \fB#\fR characters, \fI.\fR directory components
|
||||
removed and unremoveable \fI..\fR
|
||||
components renamed to \fB^\fR. This is useful if sourcefiles are in several
|
||||
different directories.
|
||||
.IP "\fB\-r\fR" 4
|
||||
.IX Item "-r"
|
||||
.PD 0
|
||||
.IP "\fB\-\-relative\-only\fR" 4
|
||||
.IX Item "--relative-only"
|
||||
.PD
|
||||
Only output information about source files with a relative pathname
|
||||
(after source prefix elision). Absolute paths are usually system
|
||||
header files and coverage of any inline functions therein is normally
|
||||
uninteresting.
|
||||
.IP "\fB\-f\fR" 4
|
||||
.IX Item "-f"
|
||||
.PD 0
|
||||
.IP "\fB\-\-function\-summaries\fR" 4
|
||||
.IX Item "--function-summaries"
|
||||
.PD
|
||||
Output summaries for each function in addition to the file level summary.
|
||||
.IP "\fB\-o\fR \fIdirectory|file\fR" 4
|
||||
.IX Item "-o directory|file"
|
||||
.PD 0
|
||||
.IP "\fB\-\-object\-directory\fR \fIdirectory\fR" 4
|
||||
.IX Item "--object-directory directory"
|
||||
.IP "\fB\-\-object\-file\fR \fIfile\fR" 4
|
||||
.IX Item "--object-file file"
|
||||
.PD
|
||||
Specify either the directory containing the gcov data files, or the
|
||||
object path name. The \fI.gcno\fR, and
|
||||
\&\fI.gcda\fR data files are searched for using this option. If a directory
|
||||
is specified, the data files are in that directory and named after the
|
||||
input file name, without its extension. If a file is specified here,
|
||||
the data files are named after that file, without its extension.
|
||||
.IP "\fB\-s\fR \fIdirectory\fR" 4
|
||||
.IX Item "-s directory"
|
||||
.PD 0
|
||||
.IP "\fB\-\-source\-prefix\fR \fIdirectory\fR" 4
|
||||
.IX Item "--source-prefix directory"
|
||||
.PD
|
||||
A prefix for source file names to remove when generating the output
|
||||
coverage files. This option is useful when building in a separate
|
||||
directory, and the pathname to the source directory is not wanted when
|
||||
determining the output file names. Note that this prefix detection is
|
||||
applied before determining whether the source file is absolute.
|
||||
.IP "\fB\-u\fR" 4
|
||||
.IX Item "-u"
|
||||
.PD 0
|
||||
.IP "\fB\-\-unconditional\-branches\fR" 4
|
||||
.IX Item "--unconditional-branches"
|
||||
.PD
|
||||
When branch probabilities are given, include those of unconditional branches.
|
||||
Unconditional branches are normally not interesting.
|
||||
.IP "\fB\-d\fR" 4
|
||||
.IX Item "-d"
|
||||
.PD 0
|
||||
.IP "\fB\-\-display\-progress\fR" 4
|
||||
.IX Item "--display-progress"
|
||||
.PD
|
||||
Display the progress on the standard output.
|
||||
.PP
|
||||
\&\fBgcov\fR should be run with the current directory the same as that
|
||||
when you invoked the compiler. Otherwise it will not be able to locate
|
||||
the source files. \fBgcov\fR produces files called
|
||||
\&\fI\fImangledname\fI.gcov\fR in the current directory. These contain
|
||||
the coverage information of the source file they correspond to.
|
||||
One \fI.gcov\fR file is produced for each source (or header) file
|
||||
containing code,
|
||||
which was compiled to produce the data files. The \fImangledname\fR part
|
||||
of the output file name is usually simply the source file name, but can
|
||||
be something more complicated if the \fB\-l\fR or \fB\-p\fR options are
|
||||
given. Refer to those options for details.
|
||||
.PP
|
||||
If you invoke \fBgcov\fR with multiple input files, the
|
||||
contributions from each input file are summed. Typically you would
|
||||
invoke it with the same list of files as the final link of your executable.
|
||||
.PP
|
||||
The \fI.gcov\fR files contain the \fB:\fR separated fields along with
|
||||
program source code. The format is
|
||||
.PP
|
||||
.Vb 1
|
||||
\& <execution_count>:<line_number>:<source line text>
|
||||
.Ve
|
||||
.PP
|
||||
Additional block information may succeed each line, when requested by
|
||||
command line option. The \fIexecution_count\fR is \fB\-\fR for lines
|
||||
containing no code. Unexecuted lines are marked \fB#####\fR or
|
||||
\&\fB====\fR, depending on whether they are reachable by
|
||||
non-exceptional paths or only exceptional paths such as \*(C+ exception
|
||||
handlers, respectively.
|
||||
.PP
|
||||
Some lines of information at the start have \fIline_number\fR of zero.
|
||||
These preamble lines are of the form
|
||||
.PP
|
||||
.Vb 1
|
||||
\& \-:0:<tag>:<value>
|
||||
.Ve
|
||||
.PP
|
||||
The ordering and number of these preamble lines will be augmented as
|
||||
\&\fBgcov\fR development progresses \-\-\- do not rely on them remaining
|
||||
unchanged. Use \fItag\fR to locate a particular preamble line.
|
||||
.PP
|
||||
The additional block information is of the form
|
||||
.PP
|
||||
.Vb 1
|
||||
\& <tag> <information>
|
||||
.Ve
|
||||
.PP
|
||||
The \fIinformation\fR is human readable, but designed to be simple
|
||||
enough for machine parsing too.
|
||||
.PP
|
||||
When printing percentages, 0% and 100% are only printed when the values
|
||||
are \fIexactly\fR 0% and 100% respectively. Other values which would
|
||||
conventionally be rounded to 0% or 100% are instead printed as the
|
||||
nearest non-boundary value.
|
||||
.PP
|
||||
When using \fBgcov\fR, you must first compile your program with two
|
||||
special \s-1GCC\s0 options: \fB\-fprofile\-arcs \-ftest\-coverage\fR.
|
||||
This tells the compiler to generate additional information needed by
|
||||
gcov (basically a flow graph of the program) and also includes
|
||||
additional code in the object files for generating the extra profiling
|
||||
information needed by gcov. These additional files are placed in the
|
||||
directory where the object file is located.
|
||||
.PP
|
||||
Running the program will cause profile output to be generated. For each
|
||||
source file compiled with \fB\-fprofile\-arcs\fR, an accompanying
|
||||
\&\fI.gcda\fR file will be placed in the object file directory.
|
||||
.PP
|
||||
Running \fBgcov\fR with your program's source file names as arguments
|
||||
will now produce a listing of the code along with frequency of execution
|
||||
for each line. For example, if your program is called \fItmp.c\fR, this
|
||||
is what you see when you use the basic \fBgcov\fR facility:
|
||||
.PP
|
||||
.Vb 5
|
||||
\& $ gcc \-fprofile\-arcs \-ftest\-coverage tmp.c
|
||||
\& $ a.out
|
||||
\& $ gcov tmp.c
|
||||
\& 90.00% of 10 source lines executed in file tmp.c
|
||||
\& Creating tmp.c.gcov.
|
||||
.Ve
|
||||
.PP
|
||||
The file \fItmp.c.gcov\fR contains output from \fBgcov\fR.
|
||||
Here is a sample:
|
||||
.PP
|
||||
.Vb 10
|
||||
\& \-: 0:Source:tmp.c
|
||||
\& \-: 0:Graph:tmp.gcno
|
||||
\& \-: 0:Data:tmp.gcda
|
||||
\& \-: 0:Runs:1
|
||||
\& \-: 0:Programs:1
|
||||
\& \-: 1:#include <stdio.h>
|
||||
\& \-: 2:
|
||||
\& \-: 3:int main (void)
|
||||
\& 1: 4:{
|
||||
\& 1: 5: int i, total;
|
||||
\& \-: 6:
|
||||
\& 1: 7: total = 0;
|
||||
\& \-: 8:
|
||||
\& 11: 9: for (i = 0; i < 10; i++)
|
||||
\& 10: 10: total += i;
|
||||
\& \-: 11:
|
||||
\& 1: 12: if (total != 45)
|
||||
\& #####: 13: printf ("Failure\en");
|
||||
\& \-: 14: else
|
||||
\& 1: 15: printf ("Success\en");
|
||||
\& 1: 16: return 0;
|
||||
\& \-: 17:}
|
||||
.Ve
|
||||
.PP
|
||||
When you use the \fB\-a\fR option, you will get individual block
|
||||
counts, and the output looks like this:
|
||||
.PP
|
||||
.Vb 10
|
||||
\& \-: 0:Source:tmp.c
|
||||
\& \-: 0:Graph:tmp.gcno
|
||||
\& \-: 0:Data:tmp.gcda
|
||||
\& \-: 0:Runs:1
|
||||
\& \-: 0:Programs:1
|
||||
\& \-: 1:#include <stdio.h>
|
||||
\& \-: 2:
|
||||
\& \-: 3:int main (void)
|
||||
\& 1: 4:{
|
||||
\& 1: 4\-block 0
|
||||
\& 1: 5: int i, total;
|
||||
\& \-: 6:
|
||||
\& 1: 7: total = 0;
|
||||
\& \-: 8:
|
||||
\& 11: 9: for (i = 0; i < 10; i++)
|
||||
\& 11: 9\-block 0
|
||||
\& 10: 10: total += i;
|
||||
\& 10: 10\-block 0
|
||||
\& \-: 11:
|
||||
\& 1: 12: if (total != 45)
|
||||
\& 1: 12\-block 0
|
||||
\& #####: 13: printf ("Failure\en");
|
||||
\& $$$$$: 13\-block 0
|
||||
\& \-: 14: else
|
||||
\& 1: 15: printf ("Success\en");
|
||||
\& 1: 15\-block 0
|
||||
\& 1: 16: return 0;
|
||||
\& 1: 16\-block 0
|
||||
\& \-: 17:}
|
||||
.Ve
|
||||
.PP
|
||||
In this mode, each basic block is only shown on one line \*(-- the last
|
||||
line of the block. A multi-line block will only contribute to the
|
||||
execution count of that last line, and other lines will not be shown
|
||||
to contain code, unless previous blocks end on those lines.
|
||||
The total execution count of a line is shown and subsequent lines show
|
||||
the execution counts for individual blocks that end on that line. After each
|
||||
block, the branch and call counts of the block will be shown, if the
|
||||
\&\fB\-b\fR option is given.
|
||||
.PP
|
||||
Because of the way \s-1GCC\s0 instruments calls, a call count can be shown
|
||||
after a line with no individual blocks.
|
||||
As you can see, line 13 contains a basic block that was not executed.
|
||||
.PP
|
||||
When you use the \fB\-b\fR option, your output looks like this:
|
||||
.PP
|
||||
.Vb 6
|
||||
\& $ gcov \-b tmp.c
|
||||
\& 90.00% of 10 source lines executed in file tmp.c
|
||||
\& 80.00% of 5 branches executed in file tmp.c
|
||||
\& 80.00% of 5 branches taken at least once in file tmp.c
|
||||
\& 50.00% of 2 calls executed in file tmp.c
|
||||
\& Creating tmp.c.gcov.
|
||||
.Ve
|
||||
.PP
|
||||
Here is a sample of a resulting \fItmp.c.gcov\fR file:
|
||||
.PP
|
||||
.Vb 10
|
||||
\& \-: 0:Source:tmp.c
|
||||
\& \-: 0:Graph:tmp.gcno
|
||||
\& \-: 0:Data:tmp.gcda
|
||||
\& \-: 0:Runs:1
|
||||
\& \-: 0:Programs:1
|
||||
\& \-: 1:#include <stdio.h>
|
||||
\& \-: 2:
|
||||
\& \-: 3:int main (void)
|
||||
\& function main called 1 returned 1 blocks executed 75%
|
||||
\& 1: 4:{
|
||||
\& 1: 5: int i, total;
|
||||
\& \-: 6:
|
||||
\& 1: 7: total = 0;
|
||||
\& \-: 8:
|
||||
\& 11: 9: for (i = 0; i < 10; i++)
|
||||
\& branch 0 taken 91% (fallthrough)
|
||||
\& branch 1 taken 9%
|
||||
\& 10: 10: total += i;
|
||||
\& \-: 11:
|
||||
\& 1: 12: if (total != 45)
|
||||
\& branch 0 taken 0% (fallthrough)
|
||||
\& branch 1 taken 100%
|
||||
\& #####: 13: printf ("Failure\en");
|
||||
\& call 0 never executed
|
||||
\& \-: 14: else
|
||||
\& 1: 15: printf ("Success\en");
|
||||
\& call 0 called 1 returned 100%
|
||||
\& 1: 16: return 0;
|
||||
\& \-: 17:}
|
||||
.Ve
|
||||
.PP
|
||||
For each function, a line is printed showing how many times the function
|
||||
is called, how many times it returns and what percentage of the
|
||||
function's blocks were executed.
|
||||
.PP
|
||||
For each basic block, a line is printed after the last line of the basic
|
||||
block describing the branch or call that ends the basic block. There can
|
||||
be multiple branches and calls listed for a single source line if there
|
||||
are multiple basic blocks that end on that line. In this case, the
|
||||
branches and calls are each given a number. There is no simple way to map
|
||||
these branches and calls back to source constructs. In general, though,
|
||||
the lowest numbered branch or call will correspond to the leftmost construct
|
||||
on the source line.
|
||||
.PP
|
||||
For a branch, if it was executed at least once, then a percentage
|
||||
indicating the number of times the branch was taken divided by the
|
||||
number of times the branch was executed will be printed. Otherwise, the
|
||||
message \*(L"never executed\*(R" is printed.
|
||||
.PP
|
||||
For a call, if it was executed at least once, then a percentage
|
||||
indicating the number of times the call returned divided by the number
|
||||
of times the call was executed will be printed. This will usually be
|
||||
100%, but may be less for functions that call \f(CW\*(C`exit\*(C'\fR or \f(CW\*(C`longjmp\*(C'\fR,
|
||||
and thus may not return every time they are called.
|
||||
.PP
|
||||
The execution counts are cumulative. If the example program were
|
||||
executed again without removing the \fI.gcda\fR file, the count for the
|
||||
number of times each line in the source was executed would be added to
|
||||
the results of the previous run(s). This is potentially useful in
|
||||
several ways. For example, it could be used to accumulate data over a
|
||||
number of program runs as part of a test verification suite, or to
|
||||
provide more accurate long-term information over a large number of
|
||||
program runs.
|
||||
.PP
|
||||
The data in the \fI.gcda\fR files is saved immediately before the program
|
||||
exits. For each source file compiled with \fB\-fprofile\-arcs\fR, the
|
||||
profiling code first attempts to read in an existing \fI.gcda\fR file; if
|
||||
the file doesn't match the executable (differing number of basic block
|
||||
counts) it will ignore the contents of the file. It then adds in the
|
||||
new execution counts and finally writes the data to the file.
|
||||
.Sh "Using \fBgcov\fP with \s-1GCC\s0 Optimization"
|
||||
.IX Subsection "Using gcov with GCC Optimization"
|
||||
If you plan to use \fBgcov\fR to help optimize your code, you must
|
||||
first compile your program with two special \s-1GCC\s0 options:
|
||||
\&\fB\-fprofile\-arcs \-ftest\-coverage\fR. Aside from that, you can use any
|
||||
other \s-1GCC\s0 options; but if you want to prove that every single line
|
||||
in your program was executed, you should not compile with optimization
|
||||
at the same time. On some machines the optimizer can eliminate some
|
||||
simple code lines by combining them with other lines. For example, code
|
||||
like this:
|
||||
.PP
|
||||
.Vb 4
|
||||
\& if (a != b)
|
||||
\& c = 1;
|
||||
\& else
|
||||
\& c = 0;
|
||||
.Ve
|
||||
.PP
|
||||
can be compiled into one instruction on some machines. In this case,
|
||||
there is no way for \fBgcov\fR to calculate separate execution counts
|
||||
for each line because there isn't separate code for each line. Hence
|
||||
the \fBgcov\fR output looks like this if you compiled the program with
|
||||
optimization:
|
||||
.PP
|
||||
.Vb 4
|
||||
\& 100: 12:if (a != b)
|
||||
\& 100: 13: c = 1;
|
||||
\& 100: 14:else
|
||||
\& 100: 15: c = 0;
|
||||
.Ve
|
||||
.PP
|
||||
The output shows that this block of code, combined by optimization,
|
||||
executed 100 times. In one sense this result is correct, because there
|
||||
was only one instruction representing all four of these lines. However,
|
||||
the output does not indicate how many times the result was 0 and how
|
||||
many times the result was 1.
|
||||
.PP
|
||||
Inlineable functions can create unexpected line counts. Line counts are
|
||||
shown for the source code of the inlineable function, but what is shown
|
||||
depends on where the function is inlined, or if it is not inlined at all.
|
||||
.PP
|
||||
If the function is not inlined, the compiler must emit an out of line
|
||||
copy of the function, in any object file that needs it. If
|
||||
\&\fIfileA.o\fR and \fIfileB.o\fR both contain out of line bodies of a
|
||||
particular inlineable function, they will also both contain coverage
|
||||
counts for that function. When \fIfileA.o\fR and \fIfileB.o\fR are
|
||||
linked together, the linker will, on many systems, select one of those
|
||||
out of line bodies for all calls to that function, and remove or ignore
|
||||
the other. Unfortunately, it will not remove the coverage counters for
|
||||
the unused function body. Hence when instrumented, all but one use of
|
||||
that function will show zero counts.
|
||||
.PP
|
||||
If the function is inlined in several places, the block structure in
|
||||
each location might not be the same. For instance, a condition might
|
||||
now be calculable at compile time in some instances. Because the
|
||||
coverage of all the uses of the inline function will be shown for the
|
||||
same source lines, the line counts themselves might seem inconsistent.
|
||||
.PP
|
||||
Long-running applications can use the \f(CW\*(C`_gcov_reset\*(C'\fR and \f(CW\*(C`_gcov_dump\*(C'\fR
|
||||
facilities to restrict profile collection to the program region of
|
||||
interest. Calling \f(CW\*(C`_gcov_reset(void)\*(C'\fR will clear all profile counters
|
||||
to zero, and calling \f(CW\*(C`_gcov_dump(void)\*(C'\fR will cause the profile information
|
||||
collected at that point to be dumped to \fI.gcda\fR output files.
|
||||
.SH "SEE ALSO"
|
||||
.IX Header "SEE ALSO"
|
||||
\&\fIgpl\fR\|(7), \fIgfdl\fR\|(7), \fIfsf\-funding\fR\|(7), \fIgcc\fR\|(1) and the Info entry for \fIgcc\fR.
|
||||
.SH "COPYRIGHT"
|
||||
.IX Header "COPYRIGHT"
|
||||
Copyright (c) 1996\-2013 Free Software Foundation, Inc.
|
||||
.PP
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 or
|
||||
any later version published by the Free Software Foundation; with the
|
||||
Invariant Sections being \*(L"\s-1GNU\s0 General Public License\*(R" and \*(L"Funding
|
||||
Free Software\*(R", the Front-Cover texts being (a) (see below), and with
|
||||
the Back-Cover Texts being (b) (see below). A copy of the license is
|
||||
included in the \fIgfdl\fR\|(7) man page.
|
||||
.PP
|
||||
(a) The \s-1FSF\s0's Front-Cover Text is:
|
||||
.PP
|
||||
.Vb 1
|
||||
\& A GNU Manual
|
||||
.Ve
|
||||
.PP
|
||||
(b) The \s-1FSF\s0's Back-Cover Text is:
|
||||
.PP
|
||||
.Vb 3
|
||||
\& You have freedom to copy and modify this GNU Manual, like GNU
|
||||
\& software. Copies published by the Free Software Foundation raise
|
||||
\& funds for GNU development.
|
||||
.Ve
|
||||
|
|
@ -0,0 +1,403 @@
|
|||
.\" Copyright (C) 1991-2013 Free Software Foundation, Inc.
|
||||
.\" See section COPYING for conditions for redistribution
|
||||
.\" $Id$
|
||||
.TH gdb 1 "22may2002" "GNU Tools" "GNU Tools"
|
||||
.SH NAME
|
||||
gdb \- The GNU Debugger
|
||||
.SH SYNOPSIS
|
||||
.na
|
||||
.TP
|
||||
.B gdb
|
||||
.RB "[\|" \-help "\|]"
|
||||
.RB "[\|" \-nh "\|]"
|
||||
.RB "[\|" \-nx "\|]"
|
||||
.RB "[\|" \-q "\|]"
|
||||
.RB "[\|" \-batch "\|]"
|
||||
.RB "[\|" \-cd=\c
|
||||
.I dir\c
|
||||
\|]
|
||||
.RB "[\|" \-f "\|]"
|
||||
.RB "[\|" "\-b\ "\c
|
||||
.IR bps "\|]"
|
||||
.RB "[\|" "\-tty="\c
|
||||
.IR dev "\|]"
|
||||
.RB "[\|" "\-s "\c
|
||||
.I symfile\c
|
||||
\&\|]
|
||||
.RB "[\|" "\-e "\c
|
||||
.I prog\c
|
||||
\&\|]
|
||||
.RB "[\|" "\-se "\c
|
||||
.I prog\c
|
||||
\&\|]
|
||||
.RB "[\|" "\-c "\c
|
||||
.I core\c
|
||||
\&\|]
|
||||
.RB "[\|" "\-x "\c
|
||||
.I file\c
|
||||
\&\|]
|
||||
.RB "[\|" "\-ex "\c
|
||||
.I cmd\c
|
||||
\&\|]
|
||||
.RB "[\|" "\-d "\c
|
||||
.I dir\c
|
||||
\&\|]
|
||||
.RB "[\|" \c
|
||||
.I prog\c
|
||||
.RB "[\|" \c
|
||||
.IR core \||\| procID\c
|
||||
\&\|]\&\|]
|
||||
.ad b
|
||||
.SH DESCRIPTION
|
||||
The purpose of a debugger such as GDB is to allow you to see what is
|
||||
going on ``inside'' another program while it executes\(em\&or what another
|
||||
program was doing at the moment it crashed.
|
||||
|
||||
GDB can do four main kinds of things (plus other things in support of
|
||||
these) to help you catch bugs in the act:
|
||||
|
||||
.TP
|
||||
\ \ \ \(bu
|
||||
Start your program, specifying anything that might affect its behavior.
|
||||
|
||||
.TP
|
||||
\ \ \ \(bu
|
||||
Make your program stop on specified conditions.
|
||||
|
||||
.TP
|
||||
\ \ \ \(bu
|
||||
Examine what has happened, when your program has stopped.
|
||||
|
||||
.TP
|
||||
\ \ \ \(bu
|
||||
Change things in your program, so you can experiment with correcting the
|
||||
effects of one bug and go on to learn about another.
|
||||
.PP
|
||||
|
||||
You can use GDB to debug programs written in C, C++, and Modula-2.
|
||||
Fortran support will be added when a GNU Fortran compiler is ready.
|
||||
|
||||
GDB is invoked with the shell command \c
|
||||
.B gdb\c
|
||||
\&. Once started, it reads
|
||||
commands from the terminal until you tell it to exit with the GDB
|
||||
command \c
|
||||
.B quit\c
|
||||
\&. You can get online help from \c
|
||||
.B gdb\c
|
||||
\& itself
|
||||
by using the command \c
|
||||
.B help\c
|
||||
\&.
|
||||
|
||||
You can run \c
|
||||
.B gdb\c
|
||||
\& with no arguments or options; but the most
|
||||
usual way to start GDB is with one argument or two, specifying an
|
||||
executable program as the argument:
|
||||
.sp
|
||||
.br
|
||||
gdb\ program
|
||||
.br
|
||||
.sp
|
||||
|
||||
You can also start with both an executable program and a core file specified:
|
||||
.sp
|
||||
.br
|
||||
gdb\ program\ core
|
||||
.br
|
||||
.sp
|
||||
|
||||
You can, instead, specify a process ID as a second argument, if you want
|
||||
to debug a running process:
|
||||
.sp
|
||||
.br
|
||||
gdb\ program\ 1234
|
||||
.br
|
||||
.sp
|
||||
|
||||
would attach GDB to process \c
|
||||
.B 1234\c
|
||||
\& (unless you also have a file
|
||||
named `\|\c
|
||||
.B 1234\c
|
||||
\&\|'; GDB does check for a core file first).
|
||||
|
||||
Here are some of the most frequently needed GDB commands:
|
||||
.TP
|
||||
.B break \fR[\|\fIfile\fB:\fR\|]\fIfunction
|
||||
\&
|
||||
Set a breakpoint at \c
|
||||
.I function\c
|
||||
\& (in \c
|
||||
.I file\c
|
||||
\&).
|
||||
.TP
|
||||
.B run \fR[\|\fIarglist\fR\|]
|
||||
Start your program (with \c
|
||||
.I arglist\c
|
||||
\&, if specified).
|
||||
.TP
|
||||
.B bt
|
||||
Backtrace: display the program stack.
|
||||
.TP
|
||||
.BI print " expr"\c
|
||||
\&
|
||||
Display the value of an expression.
|
||||
.TP
|
||||
.B c
|
||||
Continue running your program (after stopping, e.g. at a breakpoint).
|
||||
.TP
|
||||
.B next
|
||||
Execute next program line (after stopping); step \c
|
||||
.I over\c
|
||||
\& any
|
||||
function calls in the line.
|
||||
.TP
|
||||
.B edit \fR[\|\fIfile\fB:\fR\|]\fIfunction
|
||||
look at the program line where it is presently stopped.
|
||||
.TP
|
||||
.B list \fR[\|\fIfile\fB:\fR\|]\fIfunction
|
||||
type the text of the program in the vicinity of where it is presently stopped.
|
||||
.TP
|
||||
.B step
|
||||
Execute next program line (after stopping); step \c
|
||||
.I into\c
|
||||
\& any
|
||||
function calls in the line.
|
||||
.TP
|
||||
.B help \fR[\|\fIname\fR\|]
|
||||
Show information about GDB command \c
|
||||
.I name\c
|
||||
\&, or general information
|
||||
about using GDB.
|
||||
.TP
|
||||
.B quit
|
||||
Exit from GDB.
|
||||
.PP
|
||||
For full details on GDB, see \c
|
||||
.I
|
||||
Using GDB: A Guide to the GNU Source-Level Debugger\c
|
||||
\&, by Richard M. Stallman and Roland H. Pesch. The same text is available online
|
||||
as the \c
|
||||
.B gdb\c
|
||||
\& entry in the \c
|
||||
.B info\c
|
||||
\& program.
|
||||
.SH OPTIONS
|
||||
Any arguments other than options specify an executable
|
||||
file and core file (or process ID); that is, the first argument
|
||||
encountered with no
|
||||
associated option flag is equivalent to a `\|\c
|
||||
.B \-se\c
|
||||
\&\|' option, and the
|
||||
second, if any, is equivalent to a `\|\c
|
||||
.B \-c\c
|
||||
\&\|' option if it's the name of a file. Many options have
|
||||
both long and short forms; both are shown here. The long forms are also
|
||||
recognized if you truncate them, so long as enough of the option is
|
||||
present to be unambiguous. (If you prefer, you can flag option
|
||||
arguments with `\|\c
|
||||
.B +\c
|
||||
\&\|' rather than `\|\c
|
||||
.B \-\c
|
||||
\&\|', though we illustrate the
|
||||
more usual convention.)
|
||||
|
||||
All the options and command line arguments you give are processed
|
||||
in sequential order. The order makes a difference when the
|
||||
`\|\c
|
||||
.B \-x\c
|
||||
\&\|' option is used.
|
||||
|
||||
.TP
|
||||
.B \-help
|
||||
.TP
|
||||
.B \-h
|
||||
List all options, with brief explanations.
|
||||
|
||||
.TP
|
||||
.BI "\-symbols=" "file"\c
|
||||
.TP
|
||||
.BI "\-s " "file"\c
|
||||
\&
|
||||
Read symbol table from file \c
|
||||
.I file\c
|
||||
\&.
|
||||
|
||||
.TP
|
||||
.B \-write
|
||||
Enable writing into executable and core files.
|
||||
|
||||
.TP
|
||||
.BI "\-exec=" "file"\c
|
||||
.TP
|
||||
.BI "\-e " "file"\c
|
||||
\&
|
||||
Use file \c
|
||||
.I file\c
|
||||
\& as the executable file to execute when
|
||||
appropriate, and for examining pure data in conjunction with a core
|
||||
dump.
|
||||
|
||||
.TP
|
||||
.BI "\-se=" "file"\c
|
||||
\&
|
||||
Read symbol table from file \c
|
||||
.I file\c
|
||||
\& and use it as the executable
|
||||
file.
|
||||
|
||||
.TP
|
||||
.BI "\-core=" "file"\c
|
||||
.TP
|
||||
.BI "\-c " "file"\c
|
||||
\&
|
||||
Use file \c
|
||||
.I file\c
|
||||
\& as a core dump to examine.
|
||||
|
||||
.TP
|
||||
.BI "\-command=" "file"\c
|
||||
.TP
|
||||
.BI "\-x " "file"\c
|
||||
\&
|
||||
Execute GDB commands from file \c
|
||||
.I file\c
|
||||
\&.
|
||||
|
||||
.TP
|
||||
.BI "\-ex " "command"\c
|
||||
\&
|
||||
Execute given GDB \c
|
||||
.I command\c
|
||||
\&.
|
||||
|
||||
.TP
|
||||
.BI "\-directory=" "directory"\c
|
||||
.TP
|
||||
.BI "\-d " "directory"\c
|
||||
\&
|
||||
Add \c
|
||||
.I directory\c
|
||||
\& to the path to search for source files.
|
||||
.PP
|
||||
|
||||
.TP
|
||||
.B \-nh
|
||||
Do not execute commands from ~/.gdbinit.
|
||||
|
||||
.TP
|
||||
.B \-nx
|
||||
.TP
|
||||
.B \-n
|
||||
Do not execute commands from any `\|\c
|
||||
.B .gdbinit\c
|
||||
\&\|' initialization files.
|
||||
|
||||
|
||||
.TP
|
||||
.B \-quiet
|
||||
.TP
|
||||
.B \-q
|
||||
``Quiet''. Do not print the introductory and copyright messages. These
|
||||
messages are also suppressed in batch mode.
|
||||
|
||||
.TP
|
||||
.B \-batch
|
||||
Run in batch mode. Exit with status \c
|
||||
.B 0\c
|
||||
\& after processing all the command
|
||||
files specified with `\|\c
|
||||
.B \-x\c
|
||||
\&\|' (and `\|\c
|
||||
.B .gdbinit\c
|
||||
\&\|', if not inhibited).
|
||||
Exit with nonzero status if an error occurs in executing the GDB
|
||||
commands in the command files.
|
||||
|
||||
Batch mode may be useful for running GDB as a filter, for example to
|
||||
download and run a program on another computer; in order to make this
|
||||
more useful, the message
|
||||
.sp
|
||||
.br
|
||||
Program\ exited\ normally.
|
||||
.br
|
||||
.sp
|
||||
|
||||
(which is ordinarily issued whenever a program running under GDB control
|
||||
terminates) is not issued when running in batch mode.
|
||||
|
||||
.TP
|
||||
.BI "\-cd=" "directory"\c
|
||||
\&
|
||||
Run GDB using \c
|
||||
.I directory\c
|
||||
\& as its working directory,
|
||||
instead of the current directory.
|
||||
|
||||
.TP
|
||||
.B \-fullname
|
||||
.TP
|
||||
.B \-f
|
||||
Emacs sets this option when it runs GDB as a subprocess. It tells GDB
|
||||
to output the full file name and line number in a standard,
|
||||
recognizable fashion each time a stack frame is displayed (which
|
||||
includes each time the program stops). This recognizable format looks
|
||||
like two `\|\c
|
||||
.B \032\c
|
||||
\&\|' characters, followed by the file name, line number
|
||||
and character position separated by colons, and a newline. The
|
||||
Emacs-to-GDB interface program uses the two `\|\c
|
||||
.B \032\c
|
||||
\&\|' characters as
|
||||
a signal to display the source code for the frame.
|
||||
|
||||
.TP
|
||||
.BI "\-b " "bps"\c
|
||||
\&
|
||||
Set the line speed (baud rate or bits per second) of any serial
|
||||
interface used by GDB for remote debugging.
|
||||
|
||||
.TP
|
||||
.BI "\-tty=" "device"\c
|
||||
\&
|
||||
Run using \c
|
||||
.I device\c
|
||||
\& for your program's standard input and output.
|
||||
.PP
|
||||
|
||||
.SH "SEE ALSO"
|
||||
The full documentation for
|
||||
.B gdb
|
||||
is maintained as a Texinfo manual. If the
|
||||
.B info
|
||||
and
|
||||
.B gdb
|
||||
programs and GDB's Texinfo documentation are properly installed at
|
||||
your site, the command
|
||||
.IP
|
||||
.B info gdb
|
||||
.PP
|
||||
should give you access to the complete manual.
|
||||
|
||||
.I
|
||||
Using GDB: A Guide to the GNU Source-Level Debugger\c
|
||||
, Richard M. Stallman and Roland H. Pesch, July 1991.
|
||||
.SH COPYING
|
||||
Copyright (c) 1991, 2010 Free Software Foundation, Inc.
|
||||
.PP
|
||||
Permission is granted to make and distribute verbatim copies of
|
||||
this manual provided the copyright notice and this permission notice
|
||||
are preserved on all copies.
|
||||
.PP
|
||||
Permission is granted to copy and distribute modified versions of this
|
||||
manual under the conditions for verbatim copying, provided that the
|
||||
entire resulting derived work is distributed under the terms of a
|
||||
permission notice identical to this one.
|
||||
.PP
|
||||
Permission is granted to copy and distribute translations of this
|
||||
manual into another language, under the above conditions for modified
|
||||
versions, except that this permission notice may be included in
|
||||
translations approved by the Free Software Foundation instead of in
|
||||
the original English.
|
||||
|
|
@ -0,0 +1,757 @@
|
|||
.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
|
||||
.\"
|
||||
.\" Standard preamble:
|
||||
.\" ========================================================================
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Vb \" Begin verbatim text
|
||||
.ft CW
|
||||
.nf
|
||||
.ne \\$1
|
||||
..
|
||||
.de Ve \" End verbatim text
|
||||
.ft R
|
||||
.fi
|
||||
..
|
||||
.\" Set up some character translations and predefined strings. \*(-- will
|
||||
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
||||
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
|
||||
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
|
||||
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
|
||||
.\" nothing in troff, for use with C<>.
|
||||
.tr \(*W-
|
||||
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
||||
.ie n \{\
|
||||
. ds -- \(*W-
|
||||
. ds PI pi
|
||||
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
||||
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
||||
. ds L" ""
|
||||
. ds R" ""
|
||||
. ds C` ""
|
||||
. ds C' ""
|
||||
'br\}
|
||||
.el\{\
|
||||
. ds -- \|\(em\|
|
||||
. ds PI \(*p
|
||||
. ds L" ``
|
||||
. ds R" ''
|
||||
'br\}
|
||||
.\"
|
||||
.\" Escape single quotes in literal strings from groff's Unicode transform.
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\"
|
||||
.\" If the F register is turned on, we'll generate index entries on stderr for
|
||||
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
|
||||
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
||||
.\" output yourself in some meaningful fashion.
|
||||
.ie \nF \{\
|
||||
. de IX
|
||||
. tm Index:\\$1\t\\n%\t"\\$2"
|
||||
..
|
||||
. nr % 0
|
||||
. rr F
|
||||
.\}
|
||||
.el \{\
|
||||
. de IX
|
||||
..
|
||||
.\}
|
||||
.\"
|
||||
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
||||
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
||||
. \" fudge factors for nroff and troff
|
||||
.if n \{\
|
||||
. ds #H 0
|
||||
. ds #V .8m
|
||||
. ds #F .3m
|
||||
. ds #[ \f1
|
||||
. ds #] \fP
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
||||
. ds #V .6m
|
||||
. ds #F 0
|
||||
. ds #[ \&
|
||||
. ds #] \&
|
||||
.\}
|
||||
. \" simple accents for nroff and troff
|
||||
.if n \{\
|
||||
. ds ' \&
|
||||
. ds ` \&
|
||||
. ds ^ \&
|
||||
. ds , \&
|
||||
. ds ~ ~
|
||||
. ds /
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
||||
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
||||
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
||||
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
||||
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
||||
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
||||
.\}
|
||||
. \" troff and (daisy-wheel) nroff accents
|
||||
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
||||
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
||||
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
||||
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
||||
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
||||
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
||||
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
||||
.ds ae a\h'-(\w'a'u*4/10)'e
|
||||
.ds Ae A\h'-(\w'A'u*4/10)'E
|
||||
. \" corrections for vroff
|
||||
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
||||
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
||||
. \" for low resolution devices (crt and lpr)
|
||||
.if \n(.H>23 .if \n(.V>19 \
|
||||
\{\
|
||||
. ds : e
|
||||
. ds 8 ss
|
||||
. ds o a
|
||||
. ds d- d\h'-1'\(ga
|
||||
. ds D- D\h'-1'\(hy
|
||||
. ds th \o'bp'
|
||||
. ds Th \o'LP'
|
||||
. ds ae ae
|
||||
. ds Ae AE
|
||||
.\}
|
||||
.rm #[ #] #H #V #F C
|
||||
.\" ========================================================================
|
||||
.\"
|
||||
.IX Title "GPROF 1"
|
||||
.TH GPROF 1 "2012-11-13" "binutils-2.23.1" "GNU"
|
||||
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||||
.\" way too many mistakes in technical documents.
|
||||
.if n .ad l
|
||||
.nh
|
||||
.SH "NAME"
|
||||
gprof \- display call graph profile data
|
||||
.SH "SYNOPSIS"
|
||||
.IX Header "SYNOPSIS"
|
||||
gprof [ \-[abcDhilLrsTvwxyz] ] [ \-[ACeEfFJnNOpPqQZ][\fIname\fR] ]
|
||||
[ \-I \fIdirs\fR ] [ \-d[\fInum\fR] ] [ \-k \fIfrom/to\fR ]
|
||||
[ \-m \fImin-count\fR ] [ \-R \fImap_file\fR ] [ \-t \fItable-length\fR ]
|
||||
[ \-\-[no\-]annotated\-source[=\fIname\fR] ]
|
||||
[ \-\-[no\-]exec\-counts[=\fIname\fR] ]
|
||||
[ \-\-[no\-]flat\-profile[=\fIname\fR] ] [ \-\-[no\-]graph[=\fIname\fR] ]
|
||||
[ \-\-[no\-]time=\fIname\fR] [ \-\-all\-lines ] [ \-\-brief ]
|
||||
[ \-\-debug[=\fIlevel\fR] ] [ \-\-function\-ordering ]
|
||||
[ \-\-file\-ordering \fImap_file\fR ] [ \-\-directory\-path=\fIdirs\fR ]
|
||||
[ \-\-display\-unused\-functions ] [ \-\-file\-format=\fIname\fR ]
|
||||
[ \-\-file\-info ] [ \-\-help ] [ \-\-line ] [ \-\-min\-count=\fIn\fR ]
|
||||
[ \-\-no\-static ] [ \-\-print\-path ] [ \-\-separate\-files ]
|
||||
[ \-\-static\-call\-graph ] [ \-\-sum ] [ \-\-table\-length=\fIlen\fR ]
|
||||
[ \-\-traditional ] [ \-\-version ] [ \-\-width=\fIn\fR ]
|
||||
[ \-\-ignore\-non\-functions ] [ \-\-demangle[=\fI\s-1STYLE\s0\fR] ]
|
||||
[ \-\-no\-demangle ] [\-\-external\-symbol\-table=name]
|
||||
[ \fIimage-file\fR ] [ \fIprofile-file\fR ... ]
|
||||
.SH "DESCRIPTION"
|
||||
.IX Header "DESCRIPTION"
|
||||
\&\f(CW\*(C`gprof\*(C'\fR produces an execution profile of C, Pascal, or Fortran77
|
||||
programs. The effect of called routines is incorporated in the profile
|
||||
of each caller. The profile data is taken from the call graph profile file
|
||||
(\fIgmon.out\fR default) which is created by programs
|
||||
that are compiled with the \fB\-pg\fR option of
|
||||
\&\f(CW\*(C`cc\*(C'\fR, \f(CW\*(C`pc\*(C'\fR, and \f(CW\*(C`f77\*(C'\fR.
|
||||
The \fB\-pg\fR option also links in versions of the library routines
|
||||
that are compiled for profiling. \f(CW\*(C`Gprof\*(C'\fR reads the given object
|
||||
file (the default is \f(CW\*(C`a.out\*(C'\fR) and establishes the relation between
|
||||
its symbol table and the call graph profile from \fIgmon.out\fR.
|
||||
If more than one profile file is specified, the \f(CW\*(C`gprof\*(C'\fR
|
||||
output shows the sum of the profile information in the given profile files.
|
||||
.PP
|
||||
\&\f(CW\*(C`Gprof\*(C'\fR calculates the amount of time spent in each routine.
|
||||
Next, these times are propagated along the edges of the call graph.
|
||||
Cycles are discovered, and calls into a cycle are made to share the time
|
||||
of the cycle.
|
||||
.PP
|
||||
Several forms of output are available from the analysis.
|
||||
.PP
|
||||
The \fIflat profile\fR shows how much time your program spent in each function,
|
||||
and how many times that function was called. If you simply want to know
|
||||
which functions burn most of the cycles, it is stated concisely here.
|
||||
.PP
|
||||
The \fIcall graph\fR shows, for each function, which functions called it, which
|
||||
other functions it called, and how many times. There is also an estimate
|
||||
of how much time was spent in the subroutines of each function. This can
|
||||
suggest places where you might try to eliminate function calls that use a
|
||||
lot of time.
|
||||
.PP
|
||||
The \fIannotated source\fR listing is a copy of the program's
|
||||
source code, labeled with the number of times each line of the
|
||||
program was executed.
|
||||
.SH "OPTIONS"
|
||||
.IX Header "OPTIONS"
|
||||
These options specify which of several output formats
|
||||
\&\f(CW\*(C`gprof\*(C'\fR should produce.
|
||||
.PP
|
||||
Many of these options take an optional \fIsymspec\fR to specify
|
||||
functions to be included or excluded. These options can be
|
||||
specified multiple times, with different symspecs, to include
|
||||
or exclude sets of symbols.
|
||||
.PP
|
||||
Specifying any of these options overrides the default (\fB\-p \-q\fR),
|
||||
which prints a flat profile and call graph analysis
|
||||
for all functions.
|
||||
.ie n .IP """\-A[\f(CIsymspec\f(CW]""" 4
|
||||
.el .IP "\f(CW\-A[\f(CIsymspec\f(CW]\fR" 4
|
||||
.IX Item "-A[symspec]"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-annotated\-source[=\f(CIsymspec\f(CW]""" 4
|
||||
.el .IP "\f(CW\-\-annotated\-source[=\f(CIsymspec\f(CW]\fR" 4
|
||||
.IX Item "--annotated-source[=symspec]"
|
||||
.PD
|
||||
The \fB\-A\fR option causes \f(CW\*(C`gprof\*(C'\fR to print annotated source code.
|
||||
If \fIsymspec\fR is specified, print output only for matching symbols.
|
||||
.ie n .IP """\-b""" 4
|
||||
.el .IP "\f(CW\-b\fR" 4
|
||||
.IX Item "-b"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-brief""" 4
|
||||
.el .IP "\f(CW\-\-brief\fR" 4
|
||||
.IX Item "--brief"
|
||||
.PD
|
||||
If the \fB\-b\fR option is given, \f(CW\*(C`gprof\*(C'\fR doesn't print the
|
||||
verbose blurbs that try to explain the meaning of all of the fields in
|
||||
the tables. This is useful if you intend to print out the output, or
|
||||
are tired of seeing the blurbs.
|
||||
.ie n .IP """\-C[\f(CIsymspec\f(CW]""" 4
|
||||
.el .IP "\f(CW\-C[\f(CIsymspec\f(CW]\fR" 4
|
||||
.IX Item "-C[symspec]"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-exec\-counts[=\f(CIsymspec\f(CW]""" 4
|
||||
.el .IP "\f(CW\-\-exec\-counts[=\f(CIsymspec\f(CW]\fR" 4
|
||||
.IX Item "--exec-counts[=symspec]"
|
||||
.PD
|
||||
The \fB\-C\fR option causes \f(CW\*(C`gprof\*(C'\fR to
|
||||
print a tally of functions and the number of times each was called.
|
||||
If \fIsymspec\fR is specified, print tally only for matching symbols.
|
||||
.Sp
|
||||
If the profile data file contains basic-block count records, specifying
|
||||
the \fB\-l\fR option, along with \fB\-C\fR, will cause basic-block
|
||||
execution counts to be tallied and displayed.
|
||||
.ie n .IP """\-i""" 4
|
||||
.el .IP "\f(CW\-i\fR" 4
|
||||
.IX Item "-i"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-file\-info""" 4
|
||||
.el .IP "\f(CW\-\-file\-info\fR" 4
|
||||
.IX Item "--file-info"
|
||||
.PD
|
||||
The \fB\-i\fR option causes \f(CW\*(C`gprof\*(C'\fR to display summary information
|
||||
about the profile data file(s) and then exit. The number of histogram,
|
||||
call graph, and basic-block count records is displayed.
|
||||
.ie n .IP """\-I \f(CIdirs\f(CW""" 4
|
||||
.el .IP "\f(CW\-I \f(CIdirs\f(CW\fR" 4
|
||||
.IX Item "-I dirs"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-directory\-path=\f(CIdirs\f(CW""" 4
|
||||
.el .IP "\f(CW\-\-directory\-path=\f(CIdirs\f(CW\fR" 4
|
||||
.IX Item "--directory-path=dirs"
|
||||
.PD
|
||||
The \fB\-I\fR option specifies a list of search directories in
|
||||
which to find source files. Environment variable \fI\s-1GPROF_PATH\s0\fR
|
||||
can also be used to convey this information.
|
||||
Used mostly for annotated source output.
|
||||
.ie n .IP """\-J[\f(CIsymspec\f(CW]""" 4
|
||||
.el .IP "\f(CW\-J[\f(CIsymspec\f(CW]\fR" 4
|
||||
.IX Item "-J[symspec]"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-no\-annotated\-source[=\f(CIsymspec\f(CW]""" 4
|
||||
.el .IP "\f(CW\-\-no\-annotated\-source[=\f(CIsymspec\f(CW]\fR" 4
|
||||
.IX Item "--no-annotated-source[=symspec]"
|
||||
.PD
|
||||
The \fB\-J\fR option causes \f(CW\*(C`gprof\*(C'\fR not to
|
||||
print annotated source code.
|
||||
If \fIsymspec\fR is specified, \f(CW\*(C`gprof\*(C'\fR prints annotated source,
|
||||
but excludes matching symbols.
|
||||
.ie n .IP """\-L""" 4
|
||||
.el .IP "\f(CW\-L\fR" 4
|
||||
.IX Item "-L"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-print\-path""" 4
|
||||
.el .IP "\f(CW\-\-print\-path\fR" 4
|
||||
.IX Item "--print-path"
|
||||
.PD
|
||||
Normally, source filenames are printed with the path
|
||||
component suppressed. The \fB\-L\fR option causes \f(CW\*(C`gprof\*(C'\fR
|
||||
to print the full pathname of
|
||||
source filenames, which is determined
|
||||
from symbolic debugging information in the image file
|
||||
and is relative to the directory in which the compiler
|
||||
was invoked.
|
||||
.ie n .IP """\-p[\f(CIsymspec\f(CW]""" 4
|
||||
.el .IP "\f(CW\-p[\f(CIsymspec\f(CW]\fR" 4
|
||||
.IX Item "-p[symspec]"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-flat\-profile[=\f(CIsymspec\f(CW]""" 4
|
||||
.el .IP "\f(CW\-\-flat\-profile[=\f(CIsymspec\f(CW]\fR" 4
|
||||
.IX Item "--flat-profile[=symspec]"
|
||||
.PD
|
||||
The \fB\-p\fR option causes \f(CW\*(C`gprof\*(C'\fR to print a flat profile.
|
||||
If \fIsymspec\fR is specified, print flat profile only for matching symbols.
|
||||
.ie n .IP """\-P[\f(CIsymspec\f(CW]""" 4
|
||||
.el .IP "\f(CW\-P[\f(CIsymspec\f(CW]\fR" 4
|
||||
.IX Item "-P[symspec]"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-no\-flat\-profile[=\f(CIsymspec\f(CW]""" 4
|
||||
.el .IP "\f(CW\-\-no\-flat\-profile[=\f(CIsymspec\f(CW]\fR" 4
|
||||
.IX Item "--no-flat-profile[=symspec]"
|
||||
.PD
|
||||
The \fB\-P\fR option causes \f(CW\*(C`gprof\*(C'\fR to suppress printing a flat profile.
|
||||
If \fIsymspec\fR is specified, \f(CW\*(C`gprof\*(C'\fR prints a flat profile,
|
||||
but excludes matching symbols.
|
||||
.ie n .IP """\-q[\f(CIsymspec\f(CW]""" 4
|
||||
.el .IP "\f(CW\-q[\f(CIsymspec\f(CW]\fR" 4
|
||||
.IX Item "-q[symspec]"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-graph[=\f(CIsymspec\f(CW]""" 4
|
||||
.el .IP "\f(CW\-\-graph[=\f(CIsymspec\f(CW]\fR" 4
|
||||
.IX Item "--graph[=symspec]"
|
||||
.PD
|
||||
The \fB\-q\fR option causes \f(CW\*(C`gprof\*(C'\fR to print the call graph analysis.
|
||||
If \fIsymspec\fR is specified, print call graph only for matching symbols
|
||||
and their children.
|
||||
.ie n .IP """\-Q[\f(CIsymspec\f(CW]""" 4
|
||||
.el .IP "\f(CW\-Q[\f(CIsymspec\f(CW]\fR" 4
|
||||
.IX Item "-Q[symspec]"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-no\-graph[=\f(CIsymspec\f(CW]""" 4
|
||||
.el .IP "\f(CW\-\-no\-graph[=\f(CIsymspec\f(CW]\fR" 4
|
||||
.IX Item "--no-graph[=symspec]"
|
||||
.PD
|
||||
The \fB\-Q\fR option causes \f(CW\*(C`gprof\*(C'\fR to suppress printing the
|
||||
call graph.
|
||||
If \fIsymspec\fR is specified, \f(CW\*(C`gprof\*(C'\fR prints a call graph,
|
||||
but excludes matching symbols.
|
||||
.ie n .IP """\-t""" 4
|
||||
.el .IP "\f(CW\-t\fR" 4
|
||||
.IX Item "-t"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-table\-length=\f(CInum\f(CW""" 4
|
||||
.el .IP "\f(CW\-\-table\-length=\f(CInum\f(CW\fR" 4
|
||||
.IX Item "--table-length=num"
|
||||
.PD
|
||||
The \fB\-t\fR option causes the \fInum\fR most active source lines in
|
||||
each source file to be listed when source annotation is enabled. The
|
||||
default is 10.
|
||||
.ie n .IP """\-y""" 4
|
||||
.el .IP "\f(CW\-y\fR" 4
|
||||
.IX Item "-y"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-separate\-files""" 4
|
||||
.el .IP "\f(CW\-\-separate\-files\fR" 4
|
||||
.IX Item "--separate-files"
|
||||
.PD
|
||||
This option affects annotated source output only.
|
||||
Normally, \f(CW\*(C`gprof\*(C'\fR prints annotated source files
|
||||
to standard-output. If this option is specified,
|
||||
annotated source for a file named \fIpath/\fIfilename\fI\fR
|
||||
is generated in the file \fI\fIfilename\fI\-ann\fR. If the underlying
|
||||
file system would truncate \fI\fIfilename\fI\-ann\fR so that it
|
||||
overwrites the original \fI\fIfilename\fI\fR, \f(CW\*(C`gprof\*(C'\fR generates
|
||||
annotated source in the file \fI\fIfilename\fI.ann\fR instead (if the
|
||||
original file name has an extension, that extension is \fIreplaced\fR
|
||||
with \fI.ann\fR).
|
||||
.ie n .IP """\-Z[\f(CIsymspec\f(CW]""" 4
|
||||
.el .IP "\f(CW\-Z[\f(CIsymspec\f(CW]\fR" 4
|
||||
.IX Item "-Z[symspec]"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-no\-exec\-counts[=\f(CIsymspec\f(CW]""" 4
|
||||
.el .IP "\f(CW\-\-no\-exec\-counts[=\f(CIsymspec\f(CW]\fR" 4
|
||||
.IX Item "--no-exec-counts[=symspec]"
|
||||
.PD
|
||||
The \fB\-Z\fR option causes \f(CW\*(C`gprof\*(C'\fR not to
|
||||
print a tally of functions and the number of times each was called.
|
||||
If \fIsymspec\fR is specified, print tally, but exclude matching symbols.
|
||||
.ie n .IP """\-r""" 4
|
||||
.el .IP "\f(CW\-r\fR" 4
|
||||
.IX Item "-r"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-function\-ordering""" 4
|
||||
.el .IP "\f(CW\-\-function\-ordering\fR" 4
|
||||
.IX Item "--function-ordering"
|
||||
.PD
|
||||
The \fB\-\-function\-ordering\fR option causes \f(CW\*(C`gprof\*(C'\fR to print a
|
||||
suggested function ordering for the program based on profiling data.
|
||||
This option suggests an ordering which may improve paging, tlb and
|
||||
cache behavior for the program on systems which support arbitrary
|
||||
ordering of functions in an executable.
|
||||
.Sp
|
||||
The exact details of how to force the linker to place functions
|
||||
in a particular order is system dependent and out of the scope of this
|
||||
manual.
|
||||
.ie n .IP """\-R \f(CImap_file\f(CW""" 4
|
||||
.el .IP "\f(CW\-R \f(CImap_file\f(CW\fR" 4
|
||||
.IX Item "-R map_file"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-file\-ordering \f(CImap_file\f(CW""" 4
|
||||
.el .IP "\f(CW\-\-file\-ordering \f(CImap_file\f(CW\fR" 4
|
||||
.IX Item "--file-ordering map_file"
|
||||
.PD
|
||||
The \fB\-\-file\-ordering\fR option causes \f(CW\*(C`gprof\*(C'\fR to print a
|
||||
suggested .o link line ordering for the program based on profiling data.
|
||||
This option suggests an ordering which may improve paging, tlb and
|
||||
cache behavior for the program on systems which do not support arbitrary
|
||||
ordering of functions in an executable.
|
||||
.Sp
|
||||
Use of the \fB\-a\fR argument is highly recommended with this option.
|
||||
.Sp
|
||||
The \fImap_file\fR argument is a pathname to a file which provides
|
||||
function name to object file mappings. The format of the file is similar to
|
||||
the output of the program \f(CW\*(C`nm\*(C'\fR.
|
||||
.Sp
|
||||
.Vb 8
|
||||
\& c\-parse.o:00000000 T yyparse
|
||||
\& c\-parse.o:00000004 C yyerrflag
|
||||
\& c\-lang.o:00000000 T maybe_objc_method_name
|
||||
\& c\-lang.o:00000000 T print_lang_statistics
|
||||
\& c\-lang.o:00000000 T recognize_objc_keyword
|
||||
\& c\-decl.o:00000000 T print_lang_identifier
|
||||
\& c\-decl.o:00000000 T print_lang_type
|
||||
\& ...
|
||||
.Ve
|
||||
.Sp
|
||||
To create a \fImap_file\fR with \s-1GNU\s0 \f(CW\*(C`nm\*(C'\fR, type a command like
|
||||
\&\f(CW\*(C`nm \-\-extern\-only \-\-defined\-only \-v \-\-print\-file\-name program\-name\*(C'\fR.
|
||||
.ie n .IP """\-T""" 4
|
||||
.el .IP "\f(CW\-T\fR" 4
|
||||
.IX Item "-T"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-traditional""" 4
|
||||
.el .IP "\f(CW\-\-traditional\fR" 4
|
||||
.IX Item "--traditional"
|
||||
.PD
|
||||
The \fB\-T\fR option causes \f(CW\*(C`gprof\*(C'\fR to print its output in
|
||||
\&\*(L"traditional\*(R" \s-1BSD\s0 style.
|
||||
.ie n .IP """\-w \f(CIwidth\f(CW""" 4
|
||||
.el .IP "\f(CW\-w \f(CIwidth\f(CW\fR" 4
|
||||
.IX Item "-w width"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-width=\f(CIwidth\f(CW""" 4
|
||||
.el .IP "\f(CW\-\-width=\f(CIwidth\f(CW\fR" 4
|
||||
.IX Item "--width=width"
|
||||
.PD
|
||||
Sets width of output lines to \fIwidth\fR.
|
||||
Currently only used when printing the function index at the bottom
|
||||
of the call graph.
|
||||
.ie n .IP """\-x""" 4
|
||||
.el .IP "\f(CW\-x\fR" 4
|
||||
.IX Item "-x"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-all\-lines""" 4
|
||||
.el .IP "\f(CW\-\-all\-lines\fR" 4
|
||||
.IX Item "--all-lines"
|
||||
.PD
|
||||
This option affects annotated source output only.
|
||||
By default, only the lines at the beginning of a basic-block
|
||||
are annotated. If this option is specified, every line in
|
||||
a basic-block is annotated by repeating the annotation for the
|
||||
first line. This behavior is similar to \f(CW\*(C`tcov\*(C'\fR's \fB\-a\fR.
|
||||
.ie n .IP """\-\-demangle[=\f(CIstyle\f(CW]""" 4
|
||||
.el .IP "\f(CW\-\-demangle[=\f(CIstyle\f(CW]\fR" 4
|
||||
.IX Item "--demangle[=style]"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-no\-demangle""" 4
|
||||
.el .IP "\f(CW\-\-no\-demangle\fR" 4
|
||||
.IX Item "--no-demangle"
|
||||
.PD
|
||||
These options control whether \*(C+ symbol names should be demangled when
|
||||
printing output. The default is to demangle symbols. The
|
||||
\&\f(CW\*(C`\-\-no\-demangle\*(C'\fR option may be used to turn off demangling. Different
|
||||
compilers have different mangling styles. The optional demangling style
|
||||
argument can be used to choose an appropriate demangling style for your
|
||||
compiler.
|
||||
.SS "Analysis Options"
|
||||
.IX Subsection "Analysis Options"
|
||||
.ie n .IP """\-a""" 4
|
||||
.el .IP "\f(CW\-a\fR" 4
|
||||
.IX Item "-a"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-no\-static""" 4
|
||||
.el .IP "\f(CW\-\-no\-static\fR" 4
|
||||
.IX Item "--no-static"
|
||||
.PD
|
||||
The \fB\-a\fR option causes \f(CW\*(C`gprof\*(C'\fR to suppress the printing of
|
||||
statically declared (private) functions. (These are functions whose
|
||||
names are not listed as global, and which are not visible outside the
|
||||
file/function/block where they were defined.) Time spent in these
|
||||
functions, calls to/from them, etc., will all be attributed to the
|
||||
function that was loaded directly before it in the executable file.
|
||||
This option affects both the flat profile and the call graph.
|
||||
.ie n .IP """\-c""" 4
|
||||
.el .IP "\f(CW\-c\fR" 4
|
||||
.IX Item "-c"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-static\-call\-graph""" 4
|
||||
.el .IP "\f(CW\-\-static\-call\-graph\fR" 4
|
||||
.IX Item "--static-call-graph"
|
||||
.PD
|
||||
The \fB\-c\fR option causes the call graph of the program to be
|
||||
augmented by a heuristic which examines the text space of the object
|
||||
file and identifies function calls in the binary machine code.
|
||||
Since normal call graph records are only generated when functions are
|
||||
entered, this option identifies children that could have been called,
|
||||
but never were. Calls to functions that were not compiled with
|
||||
profiling enabled are also identified, but only if symbol table
|
||||
entries are present for them.
|
||||
Calls to dynamic library routines are typically \fInot\fR found
|
||||
by this option.
|
||||
Parents or children identified via this heuristic
|
||||
are indicated in the call graph with call counts of \fB0\fR.
|
||||
.ie n .IP """\-D""" 4
|
||||
.el .IP "\f(CW\-D\fR" 4
|
||||
.IX Item "-D"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-ignore\-non\-functions""" 4
|
||||
.el .IP "\f(CW\-\-ignore\-non\-functions\fR" 4
|
||||
.IX Item "--ignore-non-functions"
|
||||
.PD
|
||||
The \fB\-D\fR option causes \f(CW\*(C`gprof\*(C'\fR to ignore symbols which
|
||||
are not known to be functions. This option will give more accurate
|
||||
profile data on systems where it is supported (Solaris and \s-1HPUX\s0 for
|
||||
example).
|
||||
.ie n .IP """\-k \f(CIfrom\f(CW/\f(CIto\f(CW""" 4
|
||||
.el .IP "\f(CW\-k \f(CIfrom\f(CW/\f(CIto\f(CW\fR" 4
|
||||
.IX Item "-k from/to"
|
||||
The \fB\-k\fR option allows you to delete from the call graph any arcs from
|
||||
symbols matching symspec \fIfrom\fR to those matching symspec \fIto\fR.
|
||||
.ie n .IP """\-l""" 4
|
||||
.el .IP "\f(CW\-l\fR" 4
|
||||
.IX Item "-l"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-line""" 4
|
||||
.el .IP "\f(CW\-\-line\fR" 4
|
||||
.IX Item "--line"
|
||||
.PD
|
||||
The \fB\-l\fR option enables line-by-line profiling, which causes
|
||||
histogram hits to be charged to individual source code lines,
|
||||
instead of functions. This feature only works with programs compiled
|
||||
by older versions of the \f(CW\*(C`gcc\*(C'\fR compiler. Newer versions of
|
||||
\&\f(CW\*(C`gcc\*(C'\fR are designed to work with the \f(CW\*(C`gcov\*(C'\fR tool instead.
|
||||
.Sp
|
||||
If the program was compiled with basic-block counting enabled,
|
||||
this option will also identify how many times each line of
|
||||
code was executed.
|
||||
While line-by-line profiling can help isolate where in a large function
|
||||
a program is spending its time, it also significantly increases
|
||||
the running time of \f(CW\*(C`gprof\*(C'\fR, and magnifies statistical
|
||||
inaccuracies.
|
||||
.ie n .IP """\-m \f(CInum\f(CW""" 4
|
||||
.el .IP "\f(CW\-m \f(CInum\f(CW\fR" 4
|
||||
.IX Item "-m num"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-min\-count=\f(CInum\f(CW""" 4
|
||||
.el .IP "\f(CW\-\-min\-count=\f(CInum\f(CW\fR" 4
|
||||
.IX Item "--min-count=num"
|
||||
.PD
|
||||
This option affects execution count output only.
|
||||
Symbols that are executed less than \fInum\fR times are suppressed.
|
||||
.ie n .IP """\-n\f(CIsymspec\f(CW""" 4
|
||||
.el .IP "\f(CW\-n\f(CIsymspec\f(CW\fR" 4
|
||||
.IX Item "-nsymspec"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-time=\f(CIsymspec\f(CW""" 4
|
||||
.el .IP "\f(CW\-\-time=\f(CIsymspec\f(CW\fR" 4
|
||||
.IX Item "--time=symspec"
|
||||
.PD
|
||||
The \fB\-n\fR option causes \f(CW\*(C`gprof\*(C'\fR, in its call graph analysis,
|
||||
to only propagate times for symbols matching \fIsymspec\fR.
|
||||
.ie n .IP """\-N\f(CIsymspec\f(CW""" 4
|
||||
.el .IP "\f(CW\-N\f(CIsymspec\f(CW\fR" 4
|
||||
.IX Item "-Nsymspec"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-no\-time=\f(CIsymspec\f(CW""" 4
|
||||
.el .IP "\f(CW\-\-no\-time=\f(CIsymspec\f(CW\fR" 4
|
||||
.IX Item "--no-time=symspec"
|
||||
.PD
|
||||
The \fB\-n\fR option causes \f(CW\*(C`gprof\*(C'\fR, in its call graph analysis,
|
||||
not to propagate times for symbols matching \fIsymspec\fR.
|
||||
.ie n .IP """\-S\f(CIfilename\f(CW""" 4
|
||||
.el .IP "\f(CW\-S\f(CIfilename\f(CW\fR" 4
|
||||
.IX Item "-Sfilename"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-external\-symbol\-table=\f(CIfilename\f(CW""" 4
|
||||
.el .IP "\f(CW\-\-external\-symbol\-table=\f(CIfilename\f(CW\fR" 4
|
||||
.IX Item "--external-symbol-table=filename"
|
||||
.PD
|
||||
The \fB\-S\fR option causes \f(CW\*(C`gprof\*(C'\fR to read an external symbol table
|
||||
file, such as \fI/proc/kallsyms\fR, rather than read the symbol table
|
||||
from the given object file (the default is \f(CW\*(C`a.out\*(C'\fR). This is useful
|
||||
for profiling kernel modules.
|
||||
.ie n .IP """\-z""" 4
|
||||
.el .IP "\f(CW\-z\fR" 4
|
||||
.IX Item "-z"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-display\-unused\-functions""" 4
|
||||
.el .IP "\f(CW\-\-display\-unused\-functions\fR" 4
|
||||
.IX Item "--display-unused-functions"
|
||||
.PD
|
||||
If you give the \fB\-z\fR option, \f(CW\*(C`gprof\*(C'\fR will mention all
|
||||
functions in the flat profile, even those that were never called, and
|
||||
that had no time spent in them. This is useful in conjunction with the
|
||||
\&\fB\-c\fR option for discovering which routines were never called.
|
||||
.SS "Miscellaneous Options"
|
||||
.IX Subsection "Miscellaneous Options"
|
||||
.ie n .IP """\-d[\f(CInum\f(CW]""" 4
|
||||
.el .IP "\f(CW\-d[\f(CInum\f(CW]\fR" 4
|
||||
.IX Item "-d[num]"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-debug[=\f(CInum\f(CW]""" 4
|
||||
.el .IP "\f(CW\-\-debug[=\f(CInum\f(CW]\fR" 4
|
||||
.IX Item "--debug[=num]"
|
||||
.PD
|
||||
The \fB\-d\fR \fInum\fR option specifies debugging options.
|
||||
If \fInum\fR is not specified, enable all debugging.
|
||||
.ie n .IP """\-h""" 4
|
||||
.el .IP "\f(CW\-h\fR" 4
|
||||
.IX Item "-h"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-help""" 4
|
||||
.el .IP "\f(CW\-\-help\fR" 4
|
||||
.IX Item "--help"
|
||||
.PD
|
||||
The \fB\-h\fR option prints command line usage.
|
||||
.ie n .IP """\-O\f(CIname\f(CW""" 4
|
||||
.el .IP "\f(CW\-O\f(CIname\f(CW\fR" 4
|
||||
.IX Item "-Oname"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-file\-format=\f(CIname\f(CW""" 4
|
||||
.el .IP "\f(CW\-\-file\-format=\f(CIname\f(CW\fR" 4
|
||||
.IX Item "--file-format=name"
|
||||
.PD
|
||||
Selects the format of the profile data files. Recognized formats are
|
||||
\&\fBauto\fR (the default), \fBbsd\fR, \fB4.4bsd\fR, \fBmagic\fR, and
|
||||
\&\fBprof\fR (not yet supported).
|
||||
.ie n .IP """\-s""" 4
|
||||
.el .IP "\f(CW\-s\fR" 4
|
||||
.IX Item "-s"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-sum""" 4
|
||||
.el .IP "\f(CW\-\-sum\fR" 4
|
||||
.IX Item "--sum"
|
||||
.PD
|
||||
The \fB\-s\fR option causes \f(CW\*(C`gprof\*(C'\fR to summarize the information
|
||||
in the profile data files it read in, and write out a profile data
|
||||
file called \fIgmon.sum\fR, which contains all the information from
|
||||
the profile data files that \f(CW\*(C`gprof\*(C'\fR read in. The file \fIgmon.sum\fR
|
||||
may be one of the specified input files; the effect of this is to
|
||||
merge the data in the other input files into \fIgmon.sum\fR.
|
||||
.Sp
|
||||
Eventually you can run \f(CW\*(C`gprof\*(C'\fR again without \fB\-s\fR to analyze the
|
||||
cumulative data in the file \fIgmon.sum\fR.
|
||||
.ie n .IP """\-v""" 4
|
||||
.el .IP "\f(CW\-v\fR" 4
|
||||
.IX Item "-v"
|
||||
.PD 0
|
||||
.ie n .IP """\-\-version""" 4
|
||||
.el .IP "\f(CW\-\-version\fR" 4
|
||||
.IX Item "--version"
|
||||
.PD
|
||||
The \fB\-v\fR flag causes \f(CW\*(C`gprof\*(C'\fR to print the current version
|
||||
number, and then exit.
|
||||
.SS "Deprecated Options"
|
||||
.IX Subsection "Deprecated Options"
|
||||
These options have been replaced with newer versions that use symspecs.
|
||||
.ie n .IP """\-e \f(CIfunction_name\f(CW""" 4
|
||||
.el .IP "\f(CW\-e \f(CIfunction_name\f(CW\fR" 4
|
||||
.IX Item "-e function_name"
|
||||
The \fB\-e\fR \fIfunction\fR option tells \f(CW\*(C`gprof\*(C'\fR to not print
|
||||
information about the function \fIfunction_name\fR (and its
|
||||
children...) in the call graph. The function will still be listed
|
||||
as a child of any functions that call it, but its index number will be
|
||||
shown as \fB[not printed]\fR. More than one \fB\-e\fR option may be
|
||||
given; only one \fIfunction_name\fR may be indicated with each \fB\-e\fR
|
||||
option.
|
||||
.ie n .IP """\-E \f(CIfunction_name\f(CW""" 4
|
||||
.el .IP "\f(CW\-E \f(CIfunction_name\f(CW\fR" 4
|
||||
.IX Item "-E function_name"
|
||||
The \f(CW\*(C`\-E \f(CIfunction\f(CW\*(C'\fR option works like the \f(CW\*(C`\-e\*(C'\fR option, but
|
||||
time spent in the function (and children who were not called from
|
||||
anywhere else), will not be used to compute the percentages-of-time for
|
||||
the call graph. More than one \fB\-E\fR option may be given; only one
|
||||
\&\fIfunction_name\fR may be indicated with each \fB\-E\fR option.
|
||||
.ie n .IP """\-f \f(CIfunction_name\f(CW""" 4
|
||||
.el .IP "\f(CW\-f \f(CIfunction_name\f(CW\fR" 4
|
||||
.IX Item "-f function_name"
|
||||
The \fB\-f\fR \fIfunction\fR option causes \f(CW\*(C`gprof\*(C'\fR to limit the
|
||||
call graph to the function \fIfunction_name\fR and its children (and
|
||||
their children...). More than one \fB\-f\fR option may be given;
|
||||
only one \fIfunction_name\fR may be indicated with each \fB\-f\fR
|
||||
option.
|
||||
.ie n .IP """\-F \f(CIfunction_name\f(CW""" 4
|
||||
.el .IP "\f(CW\-F \f(CIfunction_name\f(CW\fR" 4
|
||||
.IX Item "-F function_name"
|
||||
The \fB\-F\fR \fIfunction\fR option works like the \f(CW\*(C`\-f\*(C'\fR option, but
|
||||
only time spent in the function and its children (and their
|
||||
children...) will be used to determine total-time and
|
||||
percentages-of-time for the call graph. More than one \fB\-F\fR option
|
||||
may be given; only one \fIfunction_name\fR may be indicated with each
|
||||
\&\fB\-F\fR option. The \fB\-F\fR option overrides the \fB\-E\fR option.
|
||||
.SH "FILES"
|
||||
.IX Header "FILES"
|
||||
.ie n .IP """\f(CIa.out\f(CW""" 4
|
||||
.el .IP "\f(CW\f(CIa.out\f(CW\fR" 4
|
||||
.IX Item "a.out"
|
||||
the namelist and text space.
|
||||
.ie n .IP """\f(CIgmon.out\f(CW""" 4
|
||||
.el .IP "\f(CW\f(CIgmon.out\f(CW\fR" 4
|
||||
.IX Item "gmon.out"
|
||||
dynamic call graph and profile.
|
||||
.ie n .IP """\f(CIgmon.sum\f(CW""" 4
|
||||
.el .IP "\f(CW\f(CIgmon.sum\f(CW\fR" 4
|
||||
.IX Item "gmon.sum"
|
||||
summarized dynamic call graph and profile.
|
||||
.SH "BUGS"
|
||||
.IX Header "BUGS"
|
||||
The granularity of the sampling is shown, but remains
|
||||
statistical at best.
|
||||
We assume that the time for each execution of a function
|
||||
can be expressed by the total time for the function divided
|
||||
by the number of times the function is called.
|
||||
Thus the time propagated along the call graph arcs to the function's
|
||||
parents is directly proportional to the number of times that
|
||||
arc is traversed.
|
||||
.PP
|
||||
Parents that are not themselves profiled will have the time of
|
||||
their profiled children propagated to them, but they will appear
|
||||
to be spontaneously invoked in the call graph listing, and will
|
||||
not have their time propagated further.
|
||||
Similarly, signal catchers, even though profiled, will appear
|
||||
to be spontaneous (although for more obscure reasons).
|
||||
Any profiled children of signal catchers should have their times
|
||||
propagated properly, unless the signal catcher was invoked during
|
||||
the execution of the profiling routine, in which case all is lost.
|
||||
.PP
|
||||
The profiled program must call \f(CW\*(C`exit\*(C'\fR(2)
|
||||
or return normally for the profiling information to be saved
|
||||
in the \fIgmon.out\fR file.
|
||||
.SH "SEE ALSO"
|
||||
.IX Header "SEE ALSO"
|
||||
\&\fImonitor\fR\|(3), \fIprofil\fR\|(2), \fIcc\fR\|(1), \fIprof\fR\|(1), and the Info entry for \fIgprof\fR.
|
||||
.PP
|
||||
\&\*(L"An Execution Profiler for Modular Programs\*(R",
|
||||
by S. Graham, P. Kessler, M. McKusick;
|
||||
Software \- Practice and Experience,
|
||||
Vol. 13, pp. 671\-685, 1983.
|
||||
.PP
|
||||
\&\*(L"gprof: A Call Graph Execution Profiler\*(R",
|
||||
by S. Graham, P. Kessler, M. McKusick;
|
||||
Proceedings of the \s-1SIGPLAN\s0 '82 Symposium on Compiler Construction,
|
||||
\&\s-1SIGPLAN\s0 Notices, Vol. 17, No 6, pp. 120\-126, June 1982.
|
||||
.SH "COPYRIGHT"
|
||||
.IX Header "COPYRIGHT"
|
||||
Copyright (c) 1988, 1992, 1997, 1998, 1999, 2000, 2001, 2003,
|
||||
2007, 2008, 2009 Free Software Foundation, Inc.
|
||||
.PP
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3
|
||||
or any later version published by the Free Software Foundation;
|
||||
with no Invariant Sections, with no Front-Cover Texts, and with no
|
||||
Back-Cover Texts. A copy of the license is included in the
|
||||
section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,245 @@
|
|||
.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
|
||||
.\"
|
||||
.\" Standard preamble:
|
||||
.\" ========================================================================
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Vb \" Begin verbatim text
|
||||
.ft CW
|
||||
.nf
|
||||
.ne \\$1
|
||||
..
|
||||
.de Ve \" End verbatim text
|
||||
.ft R
|
||||
.fi
|
||||
..
|
||||
.\" Set up some character translations and predefined strings. \*(-- will
|
||||
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
||||
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
|
||||
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
|
||||
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
|
||||
.\" nothing in troff, for use with C<>.
|
||||
.tr \(*W-
|
||||
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
||||
.ie n \{\
|
||||
. ds -- \(*W-
|
||||
. ds PI pi
|
||||
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
||||
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
||||
. ds L" ""
|
||||
. ds R" ""
|
||||
. ds C` ""
|
||||
. ds C' ""
|
||||
'br\}
|
||||
.el\{\
|
||||
. ds -- \|\(em\|
|
||||
. ds PI \(*p
|
||||
. ds L" ``
|
||||
. ds R" ''
|
||||
'br\}
|
||||
.\"
|
||||
.\" Escape single quotes in literal strings from groff's Unicode transform.
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\"
|
||||
.\" If the F register is turned on, we'll generate index entries on stderr for
|
||||
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
|
||||
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
||||
.\" output yourself in some meaningful fashion.
|
||||
.ie \nF \{\
|
||||
. de IX
|
||||
. tm Index:\\$1\t\\n%\t"\\$2"
|
||||
..
|
||||
. nr % 0
|
||||
. rr F
|
||||
.\}
|
||||
.el \{\
|
||||
. de IX
|
||||
..
|
||||
.\}
|
||||
.\"
|
||||
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
||||
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
||||
. \" fudge factors for nroff and troff
|
||||
.if n \{\
|
||||
. ds #H 0
|
||||
. ds #V .8m
|
||||
. ds #F .3m
|
||||
. ds #[ \f1
|
||||
. ds #] \fP
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
||||
. ds #V .6m
|
||||
. ds #F 0
|
||||
. ds #[ \&
|
||||
. ds #] \&
|
||||
.\}
|
||||
. \" simple accents for nroff and troff
|
||||
.if n \{\
|
||||
. ds ' \&
|
||||
. ds ` \&
|
||||
. ds ^ \&
|
||||
. ds , \&
|
||||
. ds ~ ~
|
||||
. ds /
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
||||
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
||||
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
||||
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
||||
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
||||
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
||||
.\}
|
||||
. \" troff and (daisy-wheel) nroff accents
|
||||
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
||||
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
||||
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
||||
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
||||
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
||||
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
||||
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
||||
.ds ae a\h'-(\w'a'u*4/10)'e
|
||||
.ds Ae A\h'-(\w'A'u*4/10)'E
|
||||
. \" corrections for vroff
|
||||
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
||||
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
||||
. \" for low resolution devices (crt and lpr)
|
||||
.if \n(.H>23 .if \n(.V>19 \
|
||||
\{\
|
||||
. ds : e
|
||||
. ds 8 ss
|
||||
. ds o a
|
||||
. ds d- d\h'-1'\(ga
|
||||
. ds D- D\h'-1'\(hy
|
||||
. ds th \o'bp'
|
||||
. ds Th \o'LP'
|
||||
. ds ae ae
|
||||
. ds Ae AE
|
||||
.\}
|
||||
.rm #[ #] #H #V #F C
|
||||
.\" ========================================================================
|
||||
.\"
|
||||
.IX Title "NLMCONV 1"
|
||||
.TH NLMCONV 1 "2013-03-25" "binutils-2.23.2" "GNU Development Tools"
|
||||
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||||
.\" way too many mistakes in technical documents.
|
||||
.if n .ad l
|
||||
.nh
|
||||
.SH "NAME"
|
||||
nlmconv \- converts object code into an NLM.
|
||||
.SH "SYNOPSIS"
|
||||
.IX Header "SYNOPSIS"
|
||||
nlmconv [\fB\-I\fR \fIbfdname\fR|\fB\-\-input\-target=\fR\fIbfdname\fR]
|
||||
[\fB\-O\fR \fIbfdname\fR|\fB\-\-output\-target=\fR\fIbfdname\fR]
|
||||
[\fB\-T\fR \fIheaderfile\fR|\fB\-\-header\-file=\fR\fIheaderfile\fR]
|
||||
[\fB\-d\fR|\fB\-\-debug\fR] [\fB\-l\fR \fIlinker\fR|\fB\-\-linker=\fR\fIlinker\fR]
|
||||
[\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR]
|
||||
\fIinfile\fR \fIoutfile\fR
|
||||
.SH "DESCRIPTION"
|
||||
.IX Header "DESCRIPTION"
|
||||
\&\fBnlmconv\fR converts the relocatable \fBi386\fR object file
|
||||
\&\fIinfile\fR into the NetWare Loadable Module \fIoutfile\fR, optionally
|
||||
reading \fIheaderfile\fR for \s-1NLM\s0 header information. For instructions
|
||||
on writing the \s-1NLM\s0 command file language used in header files, see the
|
||||
\&\fBlinkers\fR section, \fB\s-1NLMLINK\s0\fR in particular, of the \fI\s-1NLM\s0
|
||||
Development and Tools Overview\fR, which is part of the \s-1NLM\s0 Software
|
||||
Developer's Kit (\*(L"\s-1NLM\s0 \s-1SDK\s0\*(R"), available from Novell, Inc.
|
||||
\&\fBnlmconv\fR uses the \s-1GNU\s0 Binary File Descriptor library to read
|
||||
\&\fIinfile\fR;
|
||||
.PP
|
||||
\&\fBnlmconv\fR can perform a link step. In other words, you can list
|
||||
more than one object file for input if you list them in the definitions
|
||||
file (rather than simply specifying one input file on the command line).
|
||||
In this case, \fBnlmconv\fR calls the linker for you.
|
||||
.SH "OPTIONS"
|
||||
.IX Header "OPTIONS"
|
||||
.IP "\fB\-I\fR \fIbfdname\fR" 4
|
||||
.IX Item "-I bfdname"
|
||||
.PD 0
|
||||
.IP "\fB\-\-input\-target=\fR\fIbfdname\fR" 4
|
||||
.IX Item "--input-target=bfdname"
|
||||
.PD
|
||||
Object format of the input file. \fBnlmconv\fR can usually determine
|
||||
the format of a given file (so no default is necessary).
|
||||
.IP "\fB\-O\fR \fIbfdname\fR" 4
|
||||
.IX Item "-O bfdname"
|
||||
.PD 0
|
||||
.IP "\fB\-\-output\-target=\fR\fIbfdname\fR" 4
|
||||
.IX Item "--output-target=bfdname"
|
||||
.PD
|
||||
Object format of the output file. \fBnlmconv\fR infers the output
|
||||
format based on the input format, e.g. for a \fBi386\fR input file the
|
||||
output format is \fBnlm32\-i386\fR.
|
||||
.IP "\fB\-T\fR \fIheaderfile\fR" 4
|
||||
.IX Item "-T headerfile"
|
||||
.PD 0
|
||||
.IP "\fB\-\-header\-file=\fR\fIheaderfile\fR" 4
|
||||
.IX Item "--header-file=headerfile"
|
||||
.PD
|
||||
Reads \fIheaderfile\fR for \s-1NLM\s0 header information. For instructions on
|
||||
writing the \s-1NLM\s0 command file language used in header files, see see the
|
||||
\&\fBlinkers\fR section, of the \fI\s-1NLM\s0 Development and Tools
|
||||
Overview\fR, which is part of the \s-1NLM\s0 Software Developer's Kit, available
|
||||
from Novell, Inc.
|
||||
.IP "\fB\-d\fR" 4
|
||||
.IX Item "-d"
|
||||
.PD 0
|
||||
.IP "\fB\-\-debug\fR" 4
|
||||
.IX Item "--debug"
|
||||
.PD
|
||||
Displays (on standard error) the linker command line used by \fBnlmconv\fR.
|
||||
.IP "\fB\-l\fR \fIlinker\fR" 4
|
||||
.IX Item "-l linker"
|
||||
.PD 0
|
||||
.IP "\fB\-\-linker=\fR\fIlinker\fR" 4
|
||||
.IX Item "--linker=linker"
|
||||
.PD
|
||||
Use \fIlinker\fR for any linking. \fIlinker\fR can be an absolute or a
|
||||
relative pathname.
|
||||
.IP "\fB\-h\fR" 4
|
||||
.IX Item "-h"
|
||||
.PD 0
|
||||
.IP "\fB\-\-help\fR" 4
|
||||
.IX Item "--help"
|
||||
.PD
|
||||
Prints a usage summary.
|
||||
.IP "\fB\-V\fR" 4
|
||||
.IX Item "-V"
|
||||
.PD 0
|
||||
.IP "\fB\-\-version\fR" 4
|
||||
.IX Item "--version"
|
||||
.PD
|
||||
Prints the version number for \fBnlmconv\fR.
|
||||
.IP "\fB@\fR\fIfile\fR" 4
|
||||
.IX Item "@file"
|
||||
Read command-line options from \fIfile\fR. The options read are
|
||||
inserted in place of the original @\fIfile\fR option. If \fIfile\fR
|
||||
does not exist, or cannot be read, then the option will be treated
|
||||
literally, and not removed.
|
||||
.Sp
|
||||
Options in \fIfile\fR are separated by whitespace. A whitespace
|
||||
character may be included in an option by surrounding the entire
|
||||
option in either single or double quotes. Any character (including a
|
||||
backslash) may be included by prefixing the character to be included
|
||||
with a backslash. The \fIfile\fR may itself contain additional
|
||||
@\fIfile\fR options; any such options will be processed recursively.
|
||||
.SH "SEE ALSO"
|
||||
.IX Header "SEE ALSO"
|
||||
the Info entries for \fIbinutils\fR.
|
||||
.SH "COPYRIGHT"
|
||||
.IX Header "COPYRIGHT"
|
||||
Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
|
||||
2010, 2011, 2012
|
||||
Free Software Foundation, Inc.
|
||||
.PP
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3
|
||||
or any later version published by the Free Software Foundation;
|
||||
with no Invariant Sections, with no Front-Cover Texts, and with no
|
||||
Back-Cover Texts. A copy of the license is included in the
|
||||
section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".
|
||||
|
|
@ -0,0 +1,519 @@
|
|||
.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
|
||||
.\"
|
||||
.\" Standard preamble:
|
||||
.\" ========================================================================
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Vb \" Begin verbatim text
|
||||
.ft CW
|
||||
.nf
|
||||
.ne \\$1
|
||||
..
|
||||
.de Ve \" End verbatim text
|
||||
.ft R
|
||||
.fi
|
||||
..
|
||||
.\" Set up some character translations and predefined strings. \*(-- will
|
||||
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
||||
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
|
||||
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
|
||||
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
|
||||
.\" nothing in troff, for use with C<>.
|
||||
.tr \(*W-
|
||||
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
||||
.ie n \{\
|
||||
. ds -- \(*W-
|
||||
. ds PI pi
|
||||
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
||||
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
||||
. ds L" ""
|
||||
. ds R" ""
|
||||
. ds C` ""
|
||||
. ds C' ""
|
||||
'br\}
|
||||
.el\{\
|
||||
. ds -- \|\(em\|
|
||||
. ds PI \(*p
|
||||
. ds L" ``
|
||||
. ds R" ''
|
||||
'br\}
|
||||
.\"
|
||||
.\" Escape single quotes in literal strings from groff's Unicode transform.
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\"
|
||||
.\" If the F register is turned on, we'll generate index entries on stderr for
|
||||
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
|
||||
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
||||
.\" output yourself in some meaningful fashion.
|
||||
.ie \nF \{\
|
||||
. de IX
|
||||
. tm Index:\\$1\t\\n%\t"\\$2"
|
||||
..
|
||||
. nr % 0
|
||||
. rr F
|
||||
.\}
|
||||
.el \{\
|
||||
. de IX
|
||||
..
|
||||
.\}
|
||||
.\"
|
||||
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
||||
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
||||
. \" fudge factors for nroff and troff
|
||||
.if n \{\
|
||||
. ds #H 0
|
||||
. ds #V .8m
|
||||
. ds #F .3m
|
||||
. ds #[ \f1
|
||||
. ds #] \fP
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
||||
. ds #V .6m
|
||||
. ds #F 0
|
||||
. ds #[ \&
|
||||
. ds #] \&
|
||||
.\}
|
||||
. \" simple accents for nroff and troff
|
||||
.if n \{\
|
||||
. ds ' \&
|
||||
. ds ` \&
|
||||
. ds ^ \&
|
||||
. ds , \&
|
||||
. ds ~ ~
|
||||
. ds /
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
||||
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
||||
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
||||
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
||||
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
||||
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
||||
.\}
|
||||
. \" troff and (daisy-wheel) nroff accents
|
||||
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
||||
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
||||
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
||||
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
||||
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
||||
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
||||
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
||||
.ds ae a\h'-(\w'a'u*4/10)'e
|
||||
.ds Ae A\h'-(\w'A'u*4/10)'E
|
||||
. \" corrections for vroff
|
||||
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
||||
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
||||
. \" for low resolution devices (crt and lpr)
|
||||
.if \n(.H>23 .if \n(.V>19 \
|
||||
\{\
|
||||
. ds : e
|
||||
. ds 8 ss
|
||||
. ds o a
|
||||
. ds d- d\h'-1'\(ga
|
||||
. ds D- D\h'-1'\(hy
|
||||
. ds th \o'bp'
|
||||
. ds Th \o'LP'
|
||||
. ds ae ae
|
||||
. ds Ae AE
|
||||
.\}
|
||||
.rm #[ #] #H #V #F C
|
||||
.\" ========================================================================
|
||||
.\"
|
||||
.IX Title "NM 1"
|
||||
.TH NM 1 "2013-03-25" "binutils-2.23.2" "GNU Development Tools"
|
||||
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||||
.\" way too many mistakes in technical documents.
|
||||
.if n .ad l
|
||||
.nh
|
||||
.SH "NAME"
|
||||
nm \- list symbols from object files
|
||||
.SH "SYNOPSIS"
|
||||
.IX Header "SYNOPSIS"
|
||||
nm [\fB\-a\fR|\fB\-\-debug\-syms\fR]
|
||||
[\fB\-g\fR|\fB\-\-extern\-only\fR][\fB\-\-plugin\fR \fIname\fR]
|
||||
[\fB\-B\fR] [\fB\-C\fR|\fB\-\-demangle\fR[=\fIstyle\fR]] [\fB\-D\fR|\fB\-\-dynamic\fR]
|
||||
[\fB\-S\fR|\fB\-\-print\-size\fR] [\fB\-s\fR|\fB\-\-print\-armap\fR]
|
||||
[\fB\-A\fR|\fB\-o\fR|\fB\-\-print\-file\-name\fR][\fB\-\-special\-syms\fR]
|
||||
[\fB\-n\fR|\fB\-v\fR|\fB\-\-numeric\-sort\fR] [\fB\-p\fR|\fB\-\-no\-sort\fR]
|
||||
[\fB\-r\fR|\fB\-\-reverse\-sort\fR] [\fB\-\-size\-sort\fR] [\fB\-u\fR|\fB\-\-undefined\-only\fR]
|
||||
[\fB\-t\fR \fIradix\fR|\fB\-\-radix=\fR\fIradix\fR] [\fB\-P\fR|\fB\-\-portability\fR]
|
||||
[\fB\-\-target=\fR\fIbfdname\fR] [\fB\-f\fR\fIformat\fR|\fB\-\-format=\fR\fIformat\fR]
|
||||
[\fB\-\-defined\-only\fR] [\fB\-l\fR|\fB\-\-line\-numbers\fR] [\fB\-\-no\-demangle\fR]
|
||||
[\fB\-V\fR|\fB\-\-version\fR] [\fB\-X 32_64\fR] [\fB\-\-help\fR] [\fIobjfile\fR...]
|
||||
.SH "DESCRIPTION"
|
||||
.IX Header "DESCRIPTION"
|
||||
\&\s-1GNU\s0 \fBnm\fR lists the symbols from object files \fIobjfile\fR....
|
||||
If no object files are listed as arguments, \fBnm\fR assumes the file
|
||||
\&\fIa.out\fR.
|
||||
.PP
|
||||
For each symbol, \fBnm\fR shows:
|
||||
.IP "\(bu" 4
|
||||
The symbol value, in the radix selected by options (see below), or
|
||||
hexadecimal by default.
|
||||
.IP "\(bu" 4
|
||||
The symbol type. At least the following types are used; others are, as
|
||||
well, depending on the object file format. If lowercase, the symbol is
|
||||
usually local; if uppercase, the symbol is global (external). There
|
||||
are however a few lowercase symbols that are shown for special global
|
||||
symbols (\f(CW\*(C`u\*(C'\fR, \f(CW\*(C`v\*(C'\fR and \f(CW\*(C`w\*(C'\fR).
|
||||
.RS 4
|
||||
.ie n .IP """A""" 4
|
||||
.el .IP "\f(CWA\fR" 4
|
||||
.IX Item "A"
|
||||
The symbol's value is absolute, and will not be changed by further
|
||||
linking.
|
||||
.ie n .IP """B""" 4
|
||||
.el .IP "\f(CWB\fR" 4
|
||||
.IX Item "B"
|
||||
.PD 0
|
||||
.ie n .IP """b""" 4
|
||||
.el .IP "\f(CWb\fR" 4
|
||||
.IX Item "b"
|
||||
.PD
|
||||
The symbol is in the uninitialized data section (known as \s-1BSS\s0).
|
||||
.ie n .IP """C""" 4
|
||||
.el .IP "\f(CWC\fR" 4
|
||||
.IX Item "C"
|
||||
The symbol is common. Common symbols are uninitialized data. When
|
||||
linking, multiple common symbols may appear with the same name. If the
|
||||
symbol is defined anywhere, the common symbols are treated as undefined
|
||||
references.
|
||||
.ie n .IP """D""" 4
|
||||
.el .IP "\f(CWD\fR" 4
|
||||
.IX Item "D"
|
||||
.PD 0
|
||||
.ie n .IP """d""" 4
|
||||
.el .IP "\f(CWd\fR" 4
|
||||
.IX Item "d"
|
||||
.PD
|
||||
The symbol is in the initialized data section.
|
||||
.ie n .IP """G""" 4
|
||||
.el .IP "\f(CWG\fR" 4
|
||||
.IX Item "G"
|
||||
.PD 0
|
||||
.ie n .IP """g""" 4
|
||||
.el .IP "\f(CWg\fR" 4
|
||||
.IX Item "g"
|
||||
.PD
|
||||
The symbol is in an initialized data section for small objects. Some
|
||||
object file formats permit more efficient access to small data objects,
|
||||
such as a global int variable as opposed to a large global array.
|
||||
.ie n .IP """i""" 4
|
||||
.el .IP "\f(CWi\fR" 4
|
||||
.IX Item "i"
|
||||
For \s-1PE\s0 format files this indicates that the symbol is in a section
|
||||
specific to the implementation of DLLs. For \s-1ELF\s0 format files this
|
||||
indicates that the symbol is an indirect function. This is a \s-1GNU\s0
|
||||
extension to the standard set of \s-1ELF\s0 symbol types. It indicates a
|
||||
symbol which if referenced by a relocation does not evaluate to its
|
||||
address, but instead must be invoked at runtime. The runtime
|
||||
execution will then return the value to be used in the relocation.
|
||||
.ie n .IP """N""" 4
|
||||
.el .IP "\f(CWN\fR" 4
|
||||
.IX Item "N"
|
||||
The symbol is a debugging symbol.
|
||||
.ie n .IP """p""" 4
|
||||
.el .IP "\f(CWp\fR" 4
|
||||
.IX Item "p"
|
||||
The symbols is in a stack unwind section.
|
||||
.ie n .IP """R""" 4
|
||||
.el .IP "\f(CWR\fR" 4
|
||||
.IX Item "R"
|
||||
.PD 0
|
||||
.ie n .IP """r""" 4
|
||||
.el .IP "\f(CWr\fR" 4
|
||||
.IX Item "r"
|
||||
.PD
|
||||
The symbol is in a read only data section.
|
||||
.ie n .IP """S""" 4
|
||||
.el .IP "\f(CWS\fR" 4
|
||||
.IX Item "S"
|
||||
.PD 0
|
||||
.ie n .IP """s""" 4
|
||||
.el .IP "\f(CWs\fR" 4
|
||||
.IX Item "s"
|
||||
.PD
|
||||
The symbol is in an uninitialized data section for small objects.
|
||||
.ie n .IP """T""" 4
|
||||
.el .IP "\f(CWT\fR" 4
|
||||
.IX Item "T"
|
||||
.PD 0
|
||||
.ie n .IP """t""" 4
|
||||
.el .IP "\f(CWt\fR" 4
|
||||
.IX Item "t"
|
||||
.PD
|
||||
The symbol is in the text (code) section.
|
||||
.ie n .IP """U""" 4
|
||||
.el .IP "\f(CWU\fR" 4
|
||||
.IX Item "U"
|
||||
The symbol is undefined.
|
||||
.ie n .IP """u""" 4
|
||||
.el .IP "\f(CWu\fR" 4
|
||||
.IX Item "u"
|
||||
The symbol is a unique global symbol. This is a \s-1GNU\s0 extension to the
|
||||
standard set of \s-1ELF\s0 symbol bindings. For such a symbol the dynamic linker
|
||||
will make sure that in the entire process there is just one symbol with
|
||||
this name and type in use.
|
||||
.ie n .IP """V""" 4
|
||||
.el .IP "\f(CWV\fR" 4
|
||||
.IX Item "V"
|
||||
.PD 0
|
||||
.ie n .IP """v""" 4
|
||||
.el .IP "\f(CWv\fR" 4
|
||||
.IX Item "v"
|
||||
.PD
|
||||
The symbol is a weak object. When a weak defined symbol is linked with
|
||||
a normal defined symbol, the normal defined symbol is used with no error.
|
||||
When a weak undefined symbol is linked and the symbol is not defined,
|
||||
the value of the weak symbol becomes zero with no error. On some
|
||||
systems, uppercase indicates that a default value has been specified.
|
||||
.ie n .IP """W""" 4
|
||||
.el .IP "\f(CWW\fR" 4
|
||||
.IX Item "W"
|
||||
.PD 0
|
||||
.ie n .IP """w""" 4
|
||||
.el .IP "\f(CWw\fR" 4
|
||||
.IX Item "w"
|
||||
.PD
|
||||
The symbol is a weak symbol that has not been specifically tagged as a
|
||||
weak object symbol. When a weak defined symbol is linked with a normal
|
||||
defined symbol, the normal defined symbol is used with no error.
|
||||
When a weak undefined symbol is linked and the symbol is not defined,
|
||||
the value of the symbol is determined in a system-specific manner without
|
||||
error. On some systems, uppercase indicates that a default value has been
|
||||
specified.
|
||||
.ie n .IP """\-""" 4
|
||||
.el .IP "\f(CW\-\fR" 4
|
||||
.IX Item "-"
|
||||
The symbol is a stabs symbol in an a.out object file. In this case, the
|
||||
next values printed are the stabs other field, the stabs desc field, and
|
||||
the stab type. Stabs symbols are used to hold debugging information.
|
||||
.ie n .IP """?""" 4
|
||||
.el .IP "\f(CW?\fR" 4
|
||||
.IX Item "?"
|
||||
The symbol type is unknown, or object file format specific.
|
||||
.RE
|
||||
.RS 4
|
||||
.RE
|
||||
.IP "\(bu" 4
|
||||
The symbol name.
|
||||
.SH "OPTIONS"
|
||||
.IX Header "OPTIONS"
|
||||
The long and short forms of options, shown here as alternatives, are
|
||||
equivalent.
|
||||
.IP "\fB\-A\fR" 4
|
||||
.IX Item "-A"
|
||||
.PD 0
|
||||
.IP "\fB\-o\fR" 4
|
||||
.IX Item "-o"
|
||||
.IP "\fB\-\-print\-file\-name\fR" 4
|
||||
.IX Item "--print-file-name"
|
||||
.PD
|
||||
Precede each symbol by the name of the input file (or archive member)
|
||||
in which it was found, rather than identifying the input file once only,
|
||||
before all of its symbols.
|
||||
.IP "\fB\-a\fR" 4
|
||||
.IX Item "-a"
|
||||
.PD 0
|
||||
.IP "\fB\-\-debug\-syms\fR" 4
|
||||
.IX Item "--debug-syms"
|
||||
.PD
|
||||
Display all symbols, even debugger-only symbols; normally these are not
|
||||
listed.
|
||||
.IP "\fB\-B\fR" 4
|
||||
.IX Item "-B"
|
||||
The same as \fB\-\-format=bsd\fR (for compatibility with the \s-1MIPS\s0 \fBnm\fR).
|
||||
.IP "\fB\-C\fR" 4
|
||||
.IX Item "-C"
|
||||
.PD 0
|
||||
.IP "\fB\-\-demangle[=\fR\fIstyle\fR\fB]\fR" 4
|
||||
.IX Item "--demangle[=style]"
|
||||
.PD
|
||||
Decode (\fIdemangle\fR) low-level symbol names into user-level names.
|
||||
Besides removing any initial underscore prepended by the system, this
|
||||
makes \*(C+ function names readable. Different compilers have different
|
||||
mangling styles. The optional demangling style argument can be used to
|
||||
choose an appropriate demangling style for your compiler.
|
||||
.IP "\fB\-\-no\-demangle\fR" 4
|
||||
.IX Item "--no-demangle"
|
||||
Do not demangle low-level symbol names. This is the default.
|
||||
.IP "\fB\-D\fR" 4
|
||||
.IX Item "-D"
|
||||
.PD 0
|
||||
.IP "\fB\-\-dynamic\fR" 4
|
||||
.IX Item "--dynamic"
|
||||
.PD
|
||||
Display the dynamic symbols rather than the normal symbols. This is
|
||||
only meaningful for dynamic objects, such as certain types of shared
|
||||
libraries.
|
||||
.IP "\fB\-f\fR \fIformat\fR" 4
|
||||
.IX Item "-f format"
|
||||
.PD 0
|
||||
.IP "\fB\-\-format=\fR\fIformat\fR" 4
|
||||
.IX Item "--format=format"
|
||||
.PD
|
||||
Use the output format \fIformat\fR, which can be \f(CW\*(C`bsd\*(C'\fR,
|
||||
\&\f(CW\*(C`sysv\*(C'\fR, or \f(CW\*(C`posix\*(C'\fR. The default is \f(CW\*(C`bsd\*(C'\fR.
|
||||
Only the first character of \fIformat\fR is significant; it can be
|
||||
either upper or lower case.
|
||||
.IP "\fB\-g\fR" 4
|
||||
.IX Item "-g"
|
||||
.PD 0
|
||||
.IP "\fB\-\-extern\-only\fR" 4
|
||||
.IX Item "--extern-only"
|
||||
.PD
|
||||
Display only external symbols.
|
||||
.IP "\fB\-\-plugin\fR \fIname\fR" 4
|
||||
.IX Item "--plugin name"
|
||||
Load the plugin called \fIname\fR to add support for extra target
|
||||
types. This option is only available if the toolchain has been built
|
||||
with plugin support enabled.
|
||||
.IP "\fB\-l\fR" 4
|
||||
.IX Item "-l"
|
||||
.PD 0
|
||||
.IP "\fB\-\-line\-numbers\fR" 4
|
||||
.IX Item "--line-numbers"
|
||||
.PD
|
||||
For each symbol, use debugging information to try to find a filename and
|
||||
line number. For a defined symbol, look for the line number of the
|
||||
address of the symbol. For an undefined symbol, look for the line
|
||||
number of a relocation entry which refers to the symbol. If line number
|
||||
information can be found, print it after the other symbol information.
|
||||
.IP "\fB\-n\fR" 4
|
||||
.IX Item "-n"
|
||||
.PD 0
|
||||
.IP "\fB\-v\fR" 4
|
||||
.IX Item "-v"
|
||||
.IP "\fB\-\-numeric\-sort\fR" 4
|
||||
.IX Item "--numeric-sort"
|
||||
.PD
|
||||
Sort symbols numerically by their addresses, rather than alphabetically
|
||||
by their names.
|
||||
.IP "\fB\-p\fR" 4
|
||||
.IX Item "-p"
|
||||
.PD 0
|
||||
.IP "\fB\-\-no\-sort\fR" 4
|
||||
.IX Item "--no-sort"
|
||||
.PD
|
||||
Do not bother to sort the symbols in any order; print them in the order
|
||||
encountered.
|
||||
.IP "\fB\-P\fR" 4
|
||||
.IX Item "-P"
|
||||
.PD 0
|
||||
.IP "\fB\-\-portability\fR" 4
|
||||
.IX Item "--portability"
|
||||
.PD
|
||||
Use the \s-1POSIX\s0.2 standard output format instead of the default format.
|
||||
Equivalent to \fB\-f posix\fR.
|
||||
.IP "\fB\-S\fR" 4
|
||||
.IX Item "-S"
|
||||
.PD 0
|
||||
.IP "\fB\-\-print\-size\fR" 4
|
||||
.IX Item "--print-size"
|
||||
.PD
|
||||
Print both value and size of defined symbols for the \f(CW\*(C`bsd\*(C'\fR output style.
|
||||
This option has no effect for object formats that do not record symbol
|
||||
sizes, unless \fB\-\-size\-sort\fR is also used in which case a
|
||||
calculated size is displayed.
|
||||
.IP "\fB\-s\fR" 4
|
||||
.IX Item "-s"
|
||||
.PD 0
|
||||
.IP "\fB\-\-print\-armap\fR" 4
|
||||
.IX Item "--print-armap"
|
||||
.PD
|
||||
When listing symbols from archive members, include the index: a mapping
|
||||
(stored in the archive by \fBar\fR or \fBranlib\fR) of which modules
|
||||
contain definitions for which names.
|
||||
.IP "\fB\-r\fR" 4
|
||||
.IX Item "-r"
|
||||
.PD 0
|
||||
.IP "\fB\-\-reverse\-sort\fR" 4
|
||||
.IX Item "--reverse-sort"
|
||||
.PD
|
||||
Reverse the order of the sort (whether numeric or alphabetic); let the
|
||||
last come first.
|
||||
.IP "\fB\-\-size\-sort\fR" 4
|
||||
.IX Item "--size-sort"
|
||||
Sort symbols by size. The size is computed as the difference between
|
||||
the value of the symbol and the value of the symbol with the next higher
|
||||
value. If the \f(CW\*(C`bsd\*(C'\fR output format is used the size of the symbol
|
||||
is printed, rather than the value, and \fB\-S\fR must be used in order
|
||||
both size and value to be printed.
|
||||
.IP "\fB\-\-special\-syms\fR" 4
|
||||
.IX Item "--special-syms"
|
||||
Display symbols which have a target-specific special meaning. These
|
||||
symbols are usually used by the target for some special processing and
|
||||
are not normally helpful when included included in the normal symbol
|
||||
lists. For example for \s-1ARM\s0 targets this option would skip the mapping
|
||||
symbols used to mark transitions between \s-1ARM\s0 code, \s-1THUMB\s0 code and
|
||||
data.
|
||||
.IP "\fB\-t\fR \fIradix\fR" 4
|
||||
.IX Item "-t radix"
|
||||
.PD 0
|
||||
.IP "\fB\-\-radix=\fR\fIradix\fR" 4
|
||||
.IX Item "--radix=radix"
|
||||
.PD
|
||||
Use \fIradix\fR as the radix for printing the symbol values. It must be
|
||||
\&\fBd\fR for decimal, \fBo\fR for octal, or \fBx\fR for hexadecimal.
|
||||
.IP "\fB\-\-target=\fR\fIbfdname\fR" 4
|
||||
.IX Item "--target=bfdname"
|
||||
Specify an object code format other than your system's default format.
|
||||
.IP "\fB\-u\fR" 4
|
||||
.IX Item "-u"
|
||||
.PD 0
|
||||
.IP "\fB\-\-undefined\-only\fR" 4
|
||||
.IX Item "--undefined-only"
|
||||
.PD
|
||||
Display only undefined symbols (those external to each object file).
|
||||
.IP "\fB\-\-defined\-only\fR" 4
|
||||
.IX Item "--defined-only"
|
||||
Display only defined symbols for each object file.
|
||||
.IP "\fB\-V\fR" 4
|
||||
.IX Item "-V"
|
||||
.PD 0
|
||||
.IP "\fB\-\-version\fR" 4
|
||||
.IX Item "--version"
|
||||
.PD
|
||||
Show the version number of \fBnm\fR and exit.
|
||||
.IP "\fB\-X\fR" 4
|
||||
.IX Item "-X"
|
||||
This option is ignored for compatibility with the \s-1AIX\s0 version of
|
||||
\&\fBnm\fR. It takes one parameter which must be the string
|
||||
\&\fB32_64\fR. The default mode of \s-1AIX\s0 \fBnm\fR corresponds
|
||||
to \fB\-X 32\fR, which is not supported by \s-1GNU\s0 \fBnm\fR.
|
||||
.IP "\fB\-\-help\fR" 4
|
||||
.IX Item "--help"
|
||||
Show a summary of the options to \fBnm\fR and exit.
|
||||
.IP "\fB@\fR\fIfile\fR" 4
|
||||
.IX Item "@file"
|
||||
Read command-line options from \fIfile\fR. The options read are
|
||||
inserted in place of the original @\fIfile\fR option. If \fIfile\fR
|
||||
does not exist, or cannot be read, then the option will be treated
|
||||
literally, and not removed.
|
||||
.Sp
|
||||
Options in \fIfile\fR are separated by whitespace. A whitespace
|
||||
character may be included in an option by surrounding the entire
|
||||
option in either single or double quotes. Any character (including a
|
||||
backslash) may be included by prefixing the character to be included
|
||||
with a backslash. The \fIfile\fR may itself contain additional
|
||||
@\fIfile\fR options; any such options will be processed recursively.
|
||||
.SH "SEE ALSO"
|
||||
.IX Header "SEE ALSO"
|
||||
\&\fIar\fR\|(1), \fIobjdump\fR\|(1), \fIranlib\fR\|(1), and the Info entries for \fIbinutils\fR.
|
||||
.SH "COPYRIGHT"
|
||||
.IX Header "COPYRIGHT"
|
||||
Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
|
||||
2010, 2011, 2012
|
||||
Free Software Foundation, Inc.
|
||||
.PP
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3
|
||||
or any later version published by the Free Software Foundation;
|
||||
with no Invariant Sections, with no Front-Cover Texts, and with no
|
||||
Back-Cover Texts. A copy of the license is included in the
|
||||
section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,841 @@
|
|||
.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
|
||||
.\"
|
||||
.\" Standard preamble:
|
||||
.\" ========================================================================
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Vb \" Begin verbatim text
|
||||
.ft CW
|
||||
.nf
|
||||
.ne \\$1
|
||||
..
|
||||
.de Ve \" End verbatim text
|
||||
.ft R
|
||||
.fi
|
||||
..
|
||||
.\" Set up some character translations and predefined strings. \*(-- will
|
||||
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
||||
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
|
||||
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
|
||||
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
|
||||
.\" nothing in troff, for use with C<>.
|
||||
.tr \(*W-
|
||||
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
||||
.ie n \{\
|
||||
. ds -- \(*W-
|
||||
. ds PI pi
|
||||
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
||||
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
||||
. ds L" ""
|
||||
. ds R" ""
|
||||
. ds C` ""
|
||||
. ds C' ""
|
||||
'br\}
|
||||
.el\{\
|
||||
. ds -- \|\(em\|
|
||||
. ds PI \(*p
|
||||
. ds L" ``
|
||||
. ds R" ''
|
||||
'br\}
|
||||
.\"
|
||||
.\" Escape single quotes in literal strings from groff's Unicode transform.
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\"
|
||||
.\" If the F register is turned on, we'll generate index entries on stderr for
|
||||
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
|
||||
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
||||
.\" output yourself in some meaningful fashion.
|
||||
.ie \nF \{\
|
||||
. de IX
|
||||
. tm Index:\\$1\t\\n%\t"\\$2"
|
||||
..
|
||||
. nr % 0
|
||||
. rr F
|
||||
.\}
|
||||
.el \{\
|
||||
. de IX
|
||||
..
|
||||
.\}
|
||||
.\"
|
||||
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
||||
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
||||
. \" fudge factors for nroff and troff
|
||||
.if n \{\
|
||||
. ds #H 0
|
||||
. ds #V .8m
|
||||
. ds #F .3m
|
||||
. ds #[ \f1
|
||||
. ds #] \fP
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
||||
. ds #V .6m
|
||||
. ds #F 0
|
||||
. ds #[ \&
|
||||
. ds #] \&
|
||||
.\}
|
||||
. \" simple accents for nroff and troff
|
||||
.if n \{\
|
||||
. ds ' \&
|
||||
. ds ` \&
|
||||
. ds ^ \&
|
||||
. ds , \&
|
||||
. ds ~ ~
|
||||
. ds /
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
||||
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
||||
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
||||
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
||||
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
||||
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
||||
.\}
|
||||
. \" troff and (daisy-wheel) nroff accents
|
||||
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
||||
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
||||
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
||||
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
||||
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
||||
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
||||
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
||||
.ds ae a\h'-(\w'a'u*4/10)'e
|
||||
.ds Ae A\h'-(\w'A'u*4/10)'E
|
||||
. \" corrections for vroff
|
||||
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
||||
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
||||
. \" for low resolution devices (crt and lpr)
|
||||
.if \n(.H>23 .if \n(.V>19 \
|
||||
\{\
|
||||
. ds : e
|
||||
. ds 8 ss
|
||||
. ds o a
|
||||
. ds d- d\h'-1'\(ga
|
||||
. ds D- D\h'-1'\(hy
|
||||
. ds th \o'bp'
|
||||
. ds Th \o'LP'
|
||||
. ds ae ae
|
||||
. ds Ae AE
|
||||
.\}
|
||||
.rm #[ #] #H #V #F C
|
||||
.\" ========================================================================
|
||||
.\"
|
||||
.IX Title "OBJDUMP 1"
|
||||
.TH OBJDUMP 1 "2013-03-25" "binutils-2.23.2" "GNU Development Tools"
|
||||
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||||
.\" way too many mistakes in technical documents.
|
||||
.if n .ad l
|
||||
.nh
|
||||
.SH "NAME"
|
||||
objdump \- display information from object files.
|
||||
.SH "SYNOPSIS"
|
||||
.IX Header "SYNOPSIS"
|
||||
objdump [\fB\-a\fR|\fB\-\-archive\-headers\fR]
|
||||
[\fB\-b\fR \fIbfdname\fR|\fB\-\-target=\fR\fIbfdname\fR]
|
||||
[\fB\-C\fR|\fB\-\-demangle\fR[=\fIstyle\fR] ]
|
||||
[\fB\-d\fR|\fB\-\-disassemble\fR]
|
||||
[\fB\-D\fR|\fB\-\-disassemble\-all\fR]
|
||||
[\fB\-z\fR|\fB\-\-disassemble\-zeroes\fR]
|
||||
[\fB\-EB\fR|\fB\-EL\fR|\fB\-\-endian=\fR{big | little }]
|
||||
[\fB\-f\fR|\fB\-\-file\-headers\fR]
|
||||
[\fB\-F\fR|\fB\-\-file\-offsets\fR]
|
||||
[\fB\-\-file\-start\-context\fR]
|
||||
[\fB\-g\fR|\fB\-\-debugging\fR]
|
||||
[\fB\-e\fR|\fB\-\-debugging\-tags\fR]
|
||||
[\fB\-h\fR|\fB\-\-section\-headers\fR|\fB\-\-headers\fR]
|
||||
[\fB\-i\fR|\fB\-\-info\fR]
|
||||
[\fB\-j\fR \fIsection\fR|\fB\-\-section=\fR\fIsection\fR]
|
||||
[\fB\-l\fR|\fB\-\-line\-numbers\fR]
|
||||
[\fB\-S\fR|\fB\-\-source\fR]
|
||||
[\fB\-m\fR \fImachine\fR|\fB\-\-architecture=\fR\fImachine\fR]
|
||||
[\fB\-M\fR \fIoptions\fR|\fB\-\-disassembler\-options=\fR\fIoptions\fR]
|
||||
[\fB\-p\fR|\fB\-\-private\-headers\fR]
|
||||
[\fB\-P\fR \fIoptions\fR|\fB\-\-private=\fR\fIoptions\fR]
|
||||
[\fB\-r\fR|\fB\-\-reloc\fR]
|
||||
[\fB\-R\fR|\fB\-\-dynamic\-reloc\fR]
|
||||
[\fB\-s\fR|\fB\-\-full\-contents\fR]
|
||||
[\fB\-W[lLiaprmfFsoRt]\fR|
|
||||
\fB\-\-dwarf\fR[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames\-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index]]
|
||||
[\fB\-G\fR|\fB\-\-stabs\fR]
|
||||
[\fB\-t\fR|\fB\-\-syms\fR]
|
||||
[\fB\-T\fR|\fB\-\-dynamic\-syms\fR]
|
||||
[\fB\-x\fR|\fB\-\-all\-headers\fR]
|
||||
[\fB\-w\fR|\fB\-\-wide\fR]
|
||||
[\fB\-\-start\-address=\fR\fIaddress\fR]
|
||||
[\fB\-\-stop\-address=\fR\fIaddress\fR]
|
||||
[\fB\-\-prefix\-addresses\fR]
|
||||
[\fB\-\-[no\-]show\-raw\-insn\fR]
|
||||
[\fB\-\-adjust\-vma=\fR\fIoffset\fR]
|
||||
[\fB\-\-special\-syms\fR]
|
||||
[\fB\-\-prefix=\fR\fIprefix\fR]
|
||||
[\fB\-\-prefix\-strip=\fR\fIlevel\fR]
|
||||
[\fB\-\-insn\-width=\fR\fIwidth\fR]
|
||||
[\fB\-V\fR|\fB\-\-version\fR]
|
||||
[\fB\-H\fR|\fB\-\-help\fR]
|
||||
\fIobjfile\fR...
|
||||
.SH "DESCRIPTION"
|
||||
.IX Header "DESCRIPTION"
|
||||
\&\fBobjdump\fR displays information about one or more object files.
|
||||
The options control what particular information to display. This
|
||||
information is mostly useful to programmers who are working on the
|
||||
compilation tools, as opposed to programmers who just want their
|
||||
program to compile and work.
|
||||
.PP
|
||||
\&\fIobjfile\fR... are the object files to be examined. When you
|
||||
specify archives, \fBobjdump\fR shows information on each of the member
|
||||
object files.
|
||||
.SH "OPTIONS"
|
||||
.IX Header "OPTIONS"
|
||||
The long and short forms of options, shown here as alternatives, are
|
||||
equivalent. At least one option from the list
|
||||
\&\fB\-a,\-d,\-D,\-e,\-f,\-g,\-G,\-h,\-H,\-p,\-P,\-r,\-R,\-s,\-S,\-t,\-T,\-V,\-x\fR must be given.
|
||||
.IP "\fB\-a\fR" 4
|
||||
.IX Item "-a"
|
||||
.PD 0
|
||||
.IP "\fB\-\-archive\-header\fR" 4
|
||||
.IX Item "--archive-header"
|
||||
.PD
|
||||
If any of the \fIobjfile\fR files are archives, display the archive
|
||||
header information (in a format similar to \fBls \-l\fR). Besides the
|
||||
information you could list with \fBar tv\fR, \fBobjdump \-a\fR shows
|
||||
the object file format of each archive member.
|
||||
.IP "\fB\-\-adjust\-vma=\fR\fIoffset\fR" 4
|
||||
.IX Item "--adjust-vma=offset"
|
||||
When dumping information, first add \fIoffset\fR to all the section
|
||||
addresses. This is useful if the section addresses do not correspond to
|
||||
the symbol table, which can happen when putting sections at particular
|
||||
addresses when using a format which can not represent section addresses,
|
||||
such as a.out.
|
||||
.IP "\fB\-b\fR \fIbfdname\fR" 4
|
||||
.IX Item "-b bfdname"
|
||||
.PD 0
|
||||
.IP "\fB\-\-target=\fR\fIbfdname\fR" 4
|
||||
.IX Item "--target=bfdname"
|
||||
.PD
|
||||
Specify that the object-code format for the object files is
|
||||
\&\fIbfdname\fR. This option may not be necessary; \fIobjdump\fR can
|
||||
automatically recognize many formats.
|
||||
.Sp
|
||||
For example,
|
||||
.Sp
|
||||
.Vb 1
|
||||
\& objdump \-b oasys \-m vax \-h fu.o
|
||||
.Ve
|
||||
.Sp
|
||||
displays summary information from the section headers (\fB\-h\fR) of
|
||||
\&\fIfu.o\fR, which is explicitly identified (\fB\-m\fR) as a \s-1VAX\s0 object
|
||||
file in the format produced by Oasys compilers. You can list the
|
||||
formats available with the \fB\-i\fR option.
|
||||
.IP "\fB\-C\fR" 4
|
||||
.IX Item "-C"
|
||||
.PD 0
|
||||
.IP "\fB\-\-demangle[=\fR\fIstyle\fR\fB]\fR" 4
|
||||
.IX Item "--demangle[=style]"
|
||||
.PD
|
||||
Decode (\fIdemangle\fR) low-level symbol names into user-level names.
|
||||
Besides removing any initial underscore prepended by the system, this
|
||||
makes \*(C+ function names readable. Different compilers have different
|
||||
mangling styles. The optional demangling style argument can be used to
|
||||
choose an appropriate demangling style for your compiler.
|
||||
.IP "\fB\-g\fR" 4
|
||||
.IX Item "-g"
|
||||
.PD 0
|
||||
.IP "\fB\-\-debugging\fR" 4
|
||||
.IX Item "--debugging"
|
||||
.PD
|
||||
Display debugging information. This attempts to parse \s-1STABS\s0 and \s-1IEEE\s0
|
||||
debugging format information stored in the file and print it out using
|
||||
a C like syntax. If neither of these formats are found this option
|
||||
falls back on the \fB\-W\fR option to print any \s-1DWARF\s0 information in
|
||||
the file.
|
||||
.IP "\fB\-e\fR" 4
|
||||
.IX Item "-e"
|
||||
.PD 0
|
||||
.IP "\fB\-\-debugging\-tags\fR" 4
|
||||
.IX Item "--debugging-tags"
|
||||
.PD
|
||||
Like \fB\-g\fR, but the information is generated in a format compatible
|
||||
with ctags tool.
|
||||
.IP "\fB\-d\fR" 4
|
||||
.IX Item "-d"
|
||||
.PD 0
|
||||
.IP "\fB\-\-disassemble\fR" 4
|
||||
.IX Item "--disassemble"
|
||||
.PD
|
||||
Display the assembler mnemonics for the machine instructions from
|
||||
\&\fIobjfile\fR. This option only disassembles those sections which are
|
||||
expected to contain instructions.
|
||||
.IP "\fB\-D\fR" 4
|
||||
.IX Item "-D"
|
||||
.PD 0
|
||||
.IP "\fB\-\-disassemble\-all\fR" 4
|
||||
.IX Item "--disassemble-all"
|
||||
.PD
|
||||
Like \fB\-d\fR, but disassemble the contents of all sections, not just
|
||||
those expected to contain instructions.
|
||||
.Sp
|
||||
If the target is an \s-1ARM\s0 architecture this switch also has the effect
|
||||
of forcing the disassembler to decode pieces of data found in code
|
||||
sections as if they were instructions.
|
||||
.IP "\fB\-\-prefix\-addresses\fR" 4
|
||||
.IX Item "--prefix-addresses"
|
||||
When disassembling, print the complete address on each line. This is
|
||||
the older disassembly format.
|
||||
.IP "\fB\-EB\fR" 4
|
||||
.IX Item "-EB"
|
||||
.PD 0
|
||||
.IP "\fB\-EL\fR" 4
|
||||
.IX Item "-EL"
|
||||
.IP "\fB\-\-endian={big|little}\fR" 4
|
||||
.IX Item "--endian={big|little}"
|
||||
.PD
|
||||
Specify the endianness of the object files. This only affects
|
||||
disassembly. This can be useful when disassembling a file format which
|
||||
does not describe endianness information, such as S\-records.
|
||||
.IP "\fB\-f\fR" 4
|
||||
.IX Item "-f"
|
||||
.PD 0
|
||||
.IP "\fB\-\-file\-headers\fR" 4
|
||||
.IX Item "--file-headers"
|
||||
.PD
|
||||
Display summary information from the overall header of
|
||||
each of the \fIobjfile\fR files.
|
||||
.IP "\fB\-F\fR" 4
|
||||
.IX Item "-F"
|
||||
.PD 0
|
||||
.IP "\fB\-\-file\-offsets\fR" 4
|
||||
.IX Item "--file-offsets"
|
||||
.PD
|
||||
When disassembling sections, whenever a symbol is displayed, also
|
||||
display the file offset of the region of data that is about to be
|
||||
dumped. If zeroes are being skipped, then when disassembly resumes,
|
||||
tell the user how many zeroes were skipped and the file offset of the
|
||||
location from where the disassembly resumes. When dumping sections,
|
||||
display the file offset of the location from where the dump starts.
|
||||
.IP "\fB\-\-file\-start\-context\fR" 4
|
||||
.IX Item "--file-start-context"
|
||||
Specify that when displaying interlisted source code/disassembly
|
||||
(assumes \fB\-S\fR) from a file that has not yet been displayed, extend the
|
||||
context to the start of the file.
|
||||
.IP "\fB\-h\fR" 4
|
||||
.IX Item "-h"
|
||||
.PD 0
|
||||
.IP "\fB\-\-section\-headers\fR" 4
|
||||
.IX Item "--section-headers"
|
||||
.IP "\fB\-\-headers\fR" 4
|
||||
.IX Item "--headers"
|
||||
.PD
|
||||
Display summary information from the section headers of the
|
||||
object file.
|
||||
.Sp
|
||||
File segments may be relocated to nonstandard addresses, for example by
|
||||
using the \fB\-Ttext\fR, \fB\-Tdata\fR, or \fB\-Tbss\fR options to
|
||||
\&\fBld\fR. However, some object file formats, such as a.out, do not
|
||||
store the starting address of the file segments. In those situations,
|
||||
although \fBld\fR relocates the sections correctly, using \fBobjdump
|
||||
\&\-h\fR to list the file section headers cannot show the correct addresses.
|
||||
Instead, it shows the usual addresses, which are implicit for the
|
||||
target.
|
||||
.IP "\fB\-H\fR" 4
|
||||
.IX Item "-H"
|
||||
.PD 0
|
||||
.IP "\fB\-\-help\fR" 4
|
||||
.IX Item "--help"
|
||||
.PD
|
||||
Print a summary of the options to \fBobjdump\fR and exit.
|
||||
.IP "\fB\-i\fR" 4
|
||||
.IX Item "-i"
|
||||
.PD 0
|
||||
.IP "\fB\-\-info\fR" 4
|
||||
.IX Item "--info"
|
||||
.PD
|
||||
Display a list showing all architectures and object formats available
|
||||
for specification with \fB\-b\fR or \fB\-m\fR.
|
||||
.IP "\fB\-j\fR \fIname\fR" 4
|
||||
.IX Item "-j name"
|
||||
.PD 0
|
||||
.IP "\fB\-\-section=\fR\fIname\fR" 4
|
||||
.IX Item "--section=name"
|
||||
.PD
|
||||
Display information only for section \fIname\fR.
|
||||
.IP "\fB\-l\fR" 4
|
||||
.IX Item "-l"
|
||||
.PD 0
|
||||
.IP "\fB\-\-line\-numbers\fR" 4
|
||||
.IX Item "--line-numbers"
|
||||
.PD
|
||||
Label the display (using debugging information) with the filename and
|
||||
source line numbers corresponding to the object code or relocs shown.
|
||||
Only useful with \fB\-d\fR, \fB\-D\fR, or \fB\-r\fR.
|
||||
.IP "\fB\-m\fR \fImachine\fR" 4
|
||||
.IX Item "-m machine"
|
||||
.PD 0
|
||||
.IP "\fB\-\-architecture=\fR\fImachine\fR" 4
|
||||
.IX Item "--architecture=machine"
|
||||
.PD
|
||||
Specify the architecture to use when disassembling object files. This
|
||||
can be useful when disassembling object files which do not describe
|
||||
architecture information, such as S\-records. You can list the available
|
||||
architectures with the \fB\-i\fR option.
|
||||
.Sp
|
||||
If the target is an \s-1ARM\s0 architecture then this switch has an
|
||||
additional effect. It restricts the disassembly to only those
|
||||
instructions supported by the architecture specified by \fImachine\fR.
|
||||
If it is necessary to use this switch because the input file does not
|
||||
contain any architecture information, but it is also desired to
|
||||
disassemble all the instructions use \fB\-marm\fR.
|
||||
.IP "\fB\-M\fR \fIoptions\fR" 4
|
||||
.IX Item "-M options"
|
||||
.PD 0
|
||||
.IP "\fB\-\-disassembler\-options=\fR\fIoptions\fR" 4
|
||||
.IX Item "--disassembler-options=options"
|
||||
.PD
|
||||
Pass target specific information to the disassembler. Only supported on
|
||||
some targets. If it is necessary to specify more than one
|
||||
disassembler option then multiple \fB\-M\fR options can be used or
|
||||
can be placed together into a comma separated list.
|
||||
.Sp
|
||||
If the target is an \s-1ARM\s0 architecture then this switch can be used to
|
||||
select which register name set is used during disassembler. Specifying
|
||||
\&\fB\-M reg-names-std\fR (the default) will select the register names as
|
||||
used in \s-1ARM\s0's instruction set documentation, but with register 13 called
|
||||
\&'sp', register 14 called 'lr' and register 15 called 'pc'. Specifying
|
||||
\&\fB\-M reg-names-apcs\fR will select the name set used by the \s-1ARM\s0
|
||||
Procedure Call Standard, whilst specifying \fB\-M reg-names-raw\fR will
|
||||
just use \fBr\fR followed by the register number.
|
||||
.Sp
|
||||
There are also two variants on the \s-1APCS\s0 register naming scheme enabled
|
||||
by \fB\-M reg-names-atpcs\fR and \fB\-M reg-names-special-atpcs\fR which
|
||||
use the ARM/Thumb Procedure Call Standard naming conventions. (Either
|
||||
with the normal register names or the special register names).
|
||||
.Sp
|
||||
This option can also be used for \s-1ARM\s0 architectures to force the
|
||||
disassembler to interpret all instructions as Thumb instructions by
|
||||
using the switch \fB\-\-disassembler\-options=force\-thumb\fR. This can be
|
||||
useful when attempting to disassemble thumb code produced by other
|
||||
compilers.
|
||||
.Sp
|
||||
For the x86, some of the options duplicate functions of the \fB\-m\fR
|
||||
switch, but allow finer grained control. Multiple selections from the
|
||||
following may be specified as a comma separated string.
|
||||
\&\fBx86\-64\fR, \fBi386\fR and \fBi8086\fR select disassembly for
|
||||
the given architecture. \fBintel\fR and \fBatt\fR select between
|
||||
intel syntax mode and \s-1AT&T\s0 syntax mode.
|
||||
\&\fBintel-mnemonic\fR and \fBatt-mnemonic\fR select between
|
||||
intel mnemonic mode and \s-1AT&T\s0 mnemonic mode. \fBintel-mnemonic\fR
|
||||
implies \fBintel\fR and \fBatt-mnemonic\fR implies \fBatt\fR.
|
||||
\&\fBaddr64\fR, \fBaddr32\fR,
|
||||
\&\fBaddr16\fR, \fBdata32\fR and \fBdata16\fR specify the default
|
||||
address size and operand size. These four options will be overridden if
|
||||
\&\fBx86\-64\fR, \fBi386\fR or \fBi8086\fR appear later in the
|
||||
option string. Lastly, \fBsuffix\fR, when in \s-1AT&T\s0 mode,
|
||||
instructs the disassembler to print a mnemonic suffix even when the
|
||||
suffix could be inferred by the operands.
|
||||
.Sp
|
||||
For PowerPC, \fBbooke\fR controls the disassembly of BookE
|
||||
instructions. \fB32\fR and \fB64\fR select PowerPC and
|
||||
PowerPC64 disassembly, respectively. \fBe300\fR selects
|
||||
disassembly for the e300 family. \fB440\fR selects disassembly for
|
||||
the PowerPC 440. \fBppcps\fR selects disassembly for the paired
|
||||
single instructions of the \s-1PPC750CL\s0.
|
||||
.Sp
|
||||
For \s-1MIPS\s0, this option controls the printing of instruction mnemonic
|
||||
names and register names in disassembled instructions. Multiple
|
||||
selections from the following may be specified as a comma separated
|
||||
string, and invalid options are ignored:
|
||||
.RS 4
|
||||
.ie n .IP """no\-aliases""" 4
|
||||
.el .IP "\f(CWno\-aliases\fR" 4
|
||||
.IX Item "no-aliases"
|
||||
Print the 'raw' instruction mnemonic instead of some pseudo
|
||||
instruction mnemonic. I.e., print 'daddu' or 'or' instead of 'move',
|
||||
\&'sll' instead of 'nop', etc.
|
||||
.ie n .IP """gpr\-names=\f(CIABI\f(CW""" 4
|
||||
.el .IP "\f(CWgpr\-names=\f(CIABI\f(CW\fR" 4
|
||||
.IX Item "gpr-names=ABI"
|
||||
Print \s-1GPR\s0 (general-purpose register) names as appropriate
|
||||
for the specified \s-1ABI\s0. By default, \s-1GPR\s0 names are selected according to
|
||||
the \s-1ABI\s0 of the binary being disassembled.
|
||||
.ie n .IP """fpr\-names=\f(CIABI\f(CW""" 4
|
||||
.el .IP "\f(CWfpr\-names=\f(CIABI\f(CW\fR" 4
|
||||
.IX Item "fpr-names=ABI"
|
||||
Print \s-1FPR\s0 (floating-point register) names as
|
||||
appropriate for the specified \s-1ABI\s0. By default, \s-1FPR\s0 numbers are printed
|
||||
rather than names.
|
||||
.ie n .IP """cp0\-names=\f(CIARCH\f(CW""" 4
|
||||
.el .IP "\f(CWcp0\-names=\f(CIARCH\f(CW\fR" 4
|
||||
.IX Item "cp0-names=ARCH"
|
||||
Print \s-1CP0\s0 (system control coprocessor; coprocessor 0) register names
|
||||
as appropriate for the \s-1CPU\s0 or architecture specified by
|
||||
\&\fI\s-1ARCH\s0\fR. By default, \s-1CP0\s0 register names are selected according to
|
||||
the architecture and \s-1CPU\s0 of the binary being disassembled.
|
||||
.ie n .IP """hwr\-names=\f(CIARCH\f(CW""" 4
|
||||
.el .IP "\f(CWhwr\-names=\f(CIARCH\f(CW\fR" 4
|
||||
.IX Item "hwr-names=ARCH"
|
||||
Print \s-1HWR\s0 (hardware register, used by the \f(CW\*(C`rdhwr\*(C'\fR instruction) names
|
||||
as appropriate for the \s-1CPU\s0 or architecture specified by
|
||||
\&\fI\s-1ARCH\s0\fR. By default, \s-1HWR\s0 names are selected according to
|
||||
the architecture and \s-1CPU\s0 of the binary being disassembled.
|
||||
.ie n .IP """reg\-names=\f(CIABI\f(CW""" 4
|
||||
.el .IP "\f(CWreg\-names=\f(CIABI\f(CW\fR" 4
|
||||
.IX Item "reg-names=ABI"
|
||||
Print \s-1GPR\s0 and \s-1FPR\s0 names as appropriate for the selected \s-1ABI\s0.
|
||||
.ie n .IP """reg\-names=\f(CIARCH\f(CW""" 4
|
||||
.el .IP "\f(CWreg\-names=\f(CIARCH\f(CW\fR" 4
|
||||
.IX Item "reg-names=ARCH"
|
||||
Print CPU-specific register names (\s-1CP0\s0 register and \s-1HWR\s0 names)
|
||||
as appropriate for the selected \s-1CPU\s0 or architecture.
|
||||
.RE
|
||||
.RS 4
|
||||
.Sp
|
||||
For any of the options listed above, \fI\s-1ABI\s0\fR or
|
||||
\&\fI\s-1ARCH\s0\fR may be specified as \fBnumeric\fR to have numbers printed
|
||||
rather than names, for the selected types of registers.
|
||||
You can list the available values of \fI\s-1ABI\s0\fR and \fI\s-1ARCH\s0\fR using
|
||||
the \fB\-\-help\fR option.
|
||||
.Sp
|
||||
For \s-1VAX\s0, you can specify function entry addresses with \fB\-M
|
||||
entry:0xf00ba\fR. You can use this multiple times to properly
|
||||
disassemble \s-1VAX\s0 binary files that don't contain symbol tables (like
|
||||
\&\s-1ROM\s0 dumps). In these cases, the function entry mask would otherwise
|
||||
be decoded as \s-1VAX\s0 instructions, which would probably lead the rest
|
||||
of the function being wrongly disassembled.
|
||||
.RE
|
||||
.IP "\fB\-p\fR" 4
|
||||
.IX Item "-p"
|
||||
.PD 0
|
||||
.IP "\fB\-\-private\-headers\fR" 4
|
||||
.IX Item "--private-headers"
|
||||
.PD
|
||||
Print information that is specific to the object file format. The exact
|
||||
information printed depends upon the object file format. For some
|
||||
object file formats, no additional information is printed.
|
||||
.IP "\fB\-P\fR \fIoptions\fR" 4
|
||||
.IX Item "-P options"
|
||||
.PD 0
|
||||
.IP "\fB\-\-private=\fR\fIoptions\fR" 4
|
||||
.IX Item "--private=options"
|
||||
.PD
|
||||
Print information that is specific to the object file format. The
|
||||
argument \fIoptions\fR is a comma separated list that depends on the
|
||||
format (the lists of options is displayed with the help).
|
||||
.Sp
|
||||
For \s-1XCOFF\s0, the available options are: \fBheader\fR, \fBaout\fR,
|
||||
\&\fBsections\fR, \fBsyms\fR, \fBrelocs\fR, \fBlineno\fR,
|
||||
\&\fBloader\fR, \fBexcept\fR, \fBtypchk\fR, \fBtraceback\fR
|
||||
and \fBtoc\fR.
|
||||
.IP "\fB\-r\fR" 4
|
||||
.IX Item "-r"
|
||||
.PD 0
|
||||
.IP "\fB\-\-reloc\fR" 4
|
||||
.IX Item "--reloc"
|
||||
.PD
|
||||
Print the relocation entries of the file. If used with \fB\-d\fR or
|
||||
\&\fB\-D\fR, the relocations are printed interspersed with the
|
||||
disassembly.
|
||||
.IP "\fB\-R\fR" 4
|
||||
.IX Item "-R"
|
||||
.PD 0
|
||||
.IP "\fB\-\-dynamic\-reloc\fR" 4
|
||||
.IX Item "--dynamic-reloc"
|
||||
.PD
|
||||
Print the dynamic relocation entries of the file. This is only
|
||||
meaningful for dynamic objects, such as certain types of shared
|
||||
libraries. As for \fB\-r\fR, if used with \fB\-d\fR or
|
||||
\&\fB\-D\fR, the relocations are printed interspersed with the
|
||||
disassembly.
|
||||
.IP "\fB\-s\fR" 4
|
||||
.IX Item "-s"
|
||||
.PD 0
|
||||
.IP "\fB\-\-full\-contents\fR" 4
|
||||
.IX Item "--full-contents"
|
||||
.PD
|
||||
Display the full contents of any sections requested. By default all
|
||||
non-empty sections are displayed.
|
||||
.IP "\fB\-S\fR" 4
|
||||
.IX Item "-S"
|
||||
.PD 0
|
||||
.IP "\fB\-\-source\fR" 4
|
||||
.IX Item "--source"
|
||||
.PD
|
||||
Display source code intermixed with disassembly, if possible. Implies
|
||||
\&\fB\-d\fR.
|
||||
.IP "\fB\-\-prefix=\fR\fIprefix\fR" 4
|
||||
.IX Item "--prefix=prefix"
|
||||
Specify \fIprefix\fR to add to the absolute paths when used with
|
||||
\&\fB\-S\fR.
|
||||
.IP "\fB\-\-prefix\-strip=\fR\fIlevel\fR" 4
|
||||
.IX Item "--prefix-strip=level"
|
||||
Indicate how many initial directory names to strip off the hardwired
|
||||
absolute paths. It has no effect without \fB\-\-prefix=\fR\fIprefix\fR.
|
||||
.IP "\fB\-\-show\-raw\-insn\fR" 4
|
||||
.IX Item "--show-raw-insn"
|
||||
When disassembling instructions, print the instruction in hex as well as
|
||||
in symbolic form. This is the default except when
|
||||
\&\fB\-\-prefix\-addresses\fR is used.
|
||||
.IP "\fB\-\-no\-show\-raw\-insn\fR" 4
|
||||
.IX Item "--no-show-raw-insn"
|
||||
When disassembling instructions, do not print the instruction bytes.
|
||||
This is the default when \fB\-\-prefix\-addresses\fR is used.
|
||||
.IP "\fB\-\-insn\-width=\fR\fIwidth\fR" 4
|
||||
.IX Item "--insn-width=width"
|
||||
Display \fIwidth\fR bytes on a single line when disassembling
|
||||
instructions.
|
||||
.IP "\fB\-W[lLiaprmfFsoRt]\fR" 4
|
||||
.IX Item "-W[lLiaprmfFsoRt]"
|
||||
.PD 0
|
||||
.IP "\fB\-\-dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames\-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index]\fR" 4
|
||||
.IX Item "--dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index]"
|
||||
.PD
|
||||
Displays the contents of the debug sections in the file, if any are
|
||||
present. If one of the optional letters or words follows the switch
|
||||
then only data found in those specific sections will be dumped.
|
||||
.Sp
|
||||
Note that there is no single letter option to display the content of
|
||||
trace sections or .gdb_index.
|
||||
.Sp
|
||||
Note: the output from the \fB=info\fR option can also be affected
|
||||
by the options \fB\-\-dwarf\-depth\fR, the \fB\-\-dwarf\-start\fR and
|
||||
the \fB\-\-dwarf\-check\fR.
|
||||
.IP "\fB\-\-dwarf\-depth=\fR\fIn\fR" 4
|
||||
.IX Item "--dwarf-depth=n"
|
||||
Limit the dump of the \f(CW\*(C`.debug_info\*(C'\fR section to \fIn\fR children.
|
||||
This is only useful with \fB\-\-dwarf=info\fR. The default is
|
||||
to print all DIEs; the special value 0 for \fIn\fR will also have this
|
||||
effect.
|
||||
.Sp
|
||||
With a non-zero value for \fIn\fR, DIEs at or deeper than \fIn\fR
|
||||
levels will not be printed. The range for \fIn\fR is zero-based.
|
||||
.IP "\fB\-\-dwarf\-start=\fR\fIn\fR" 4
|
||||
.IX Item "--dwarf-start=n"
|
||||
Print only DIEs beginning with the \s-1DIE\s0 numbered \fIn\fR. This is only
|
||||
useful with \fB\-\-dwarf=info\fR.
|
||||
.Sp
|
||||
If specified, this option will suppress printing of any header
|
||||
information and all DIEs before the \s-1DIE\s0 numbered \fIn\fR. Only
|
||||
siblings and children of the specified \s-1DIE\s0 will be printed.
|
||||
.Sp
|
||||
This can be used in conjunction with \fB\-\-dwarf\-depth\fR.
|
||||
.IP "\fB\-\-dwarf\-check\fR" 4
|
||||
.IX Item "--dwarf-check"
|
||||
Enable additional checks for consistency of Dwarf information.
|
||||
.IP "\fB\-G\fR" 4
|
||||
.IX Item "-G"
|
||||
.PD 0
|
||||
.IP "\fB\-\-stabs\fR" 4
|
||||
.IX Item "--stabs"
|
||||
.PD
|
||||
Display the full contents of any sections requested. Display the
|
||||
contents of the .stab and .stab.index and .stab.excl sections from an
|
||||
\&\s-1ELF\s0 file. This is only useful on systems (such as Solaris 2.0) in which
|
||||
\&\f(CW\*(C`.stab\*(C'\fR debugging symbol-table entries are carried in an \s-1ELF\s0
|
||||
section. In most other file formats, debugging symbol-table entries are
|
||||
interleaved with linkage symbols, and are visible in the \fB\-\-syms\fR
|
||||
output.
|
||||
.IP "\fB\-\-start\-address=\fR\fIaddress\fR" 4
|
||||
.IX Item "--start-address=address"
|
||||
Start displaying data at the specified address. This affects the output
|
||||
of the \fB\-d\fR, \fB\-r\fR and \fB\-s\fR options.
|
||||
.IP "\fB\-\-stop\-address=\fR\fIaddress\fR" 4
|
||||
.IX Item "--stop-address=address"
|
||||
Stop displaying data at the specified address. This affects the output
|
||||
of the \fB\-d\fR, \fB\-r\fR and \fB\-s\fR options.
|
||||
.IP "\fB\-t\fR" 4
|
||||
.IX Item "-t"
|
||||
.PD 0
|
||||
.IP "\fB\-\-syms\fR" 4
|
||||
.IX Item "--syms"
|
||||
.PD
|
||||
Print the symbol table entries of the file.
|
||||
This is similar to the information provided by the \fBnm\fR program,
|
||||
although the display format is different. The format of the output
|
||||
depends upon the format of the file being dumped, but there are two main
|
||||
types. One looks like this:
|
||||
.Sp
|
||||
.Vb 2
|
||||
\& [ 4](sec 3)(fl 0x00)(ty 0)(scl 3) (nx 1) 0x00000000 .bss
|
||||
\& [ 6](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000 fred
|
||||
.Ve
|
||||
.Sp
|
||||
where the number inside the square brackets is the number of the entry
|
||||
in the symbol table, the \fIsec\fR number is the section number, the
|
||||
\&\fIfl\fR value are the symbol's flag bits, the \fIty\fR number is the
|
||||
symbol's type, the \fIscl\fR number is the symbol's storage class and
|
||||
the \fInx\fR value is the number of auxilary entries associated with
|
||||
the symbol. The last two fields are the symbol's value and its name.
|
||||
.Sp
|
||||
The other common output format, usually seen with \s-1ELF\s0 based files,
|
||||
looks like this:
|
||||
.Sp
|
||||
.Vb 2
|
||||
\& 00000000 l d .bss 00000000 .bss
|
||||
\& 00000000 g .text 00000000 fred
|
||||
.Ve
|
||||
.Sp
|
||||
Here the first number is the symbol's value (sometimes refered to as
|
||||
its address). The next field is actually a set of characters and
|
||||
spaces indicating the flag bits that are set on the symbol. These
|
||||
characters are described below. Next is the section with which the
|
||||
symbol is associated or \fI*ABS*\fR if the section is absolute (ie
|
||||
not connected with any section), or \fI*UND*\fR if the section is
|
||||
referenced in the file being dumped, but not defined there.
|
||||
.Sp
|
||||
After the section name comes another field, a number, which for common
|
||||
symbols is the alignment and for other symbol is the size. Finally
|
||||
the symbol's name is displayed.
|
||||
.Sp
|
||||
The flag characters are divided into 7 groups as follows:
|
||||
.RS 4
|
||||
.ie n .IP """l""" 4
|
||||
.el .IP "\f(CWl\fR" 4
|
||||
.IX Item "l"
|
||||
.PD 0
|
||||
.ie n .IP """g""" 4
|
||||
.el .IP "\f(CWg\fR" 4
|
||||
.IX Item "g"
|
||||
.ie n .IP """u""" 4
|
||||
.el .IP "\f(CWu\fR" 4
|
||||
.IX Item "u"
|
||||
.ie n .IP """!""" 4
|
||||
.el .IP "\f(CW!\fR" 4
|
||||
.IX Item "!"
|
||||
.PD
|
||||
The symbol is a local (l), global (g), unique global (u), neither
|
||||
global nor local (a space) or both global and local (!). A
|
||||
symbol can be neither local or global for a variety of reasons, e.g.,
|
||||
because it is used for debugging, but it is probably an indication of
|
||||
a bug if it is ever both local and global. Unique global symbols are
|
||||
a \s-1GNU\s0 extension to the standard set of \s-1ELF\s0 symbol bindings. For such
|
||||
a symbol the dynamic linker will make sure that in the entire process
|
||||
there is just one symbol with this name and type in use.
|
||||
.ie n .IP """w""" 4
|
||||
.el .IP "\f(CWw\fR" 4
|
||||
.IX Item "w"
|
||||
The symbol is weak (w) or strong (a space).
|
||||
.ie n .IP """C""" 4
|
||||
.el .IP "\f(CWC\fR" 4
|
||||
.IX Item "C"
|
||||
The symbol denotes a constructor (C) or an ordinary symbol (a space).
|
||||
.ie n .IP """W""" 4
|
||||
.el .IP "\f(CWW\fR" 4
|
||||
.IX Item "W"
|
||||
The symbol is a warning (W) or a normal symbol (a space). A warning
|
||||
symbol's name is a message to be displayed if the symbol following the
|
||||
warning symbol is ever referenced.
|
||||
.ie n .IP """I""" 4
|
||||
.el .IP "\f(CWI\fR" 4
|
||||
.IX Item "I"
|
||||
.PD 0
|
||||
.ie n .IP """i""" 4
|
||||
.el .IP "\f(CWi\fR" 4
|
||||
.IX Item "i"
|
||||
.PD
|
||||
The symbol is an indirect reference to another symbol (I), a function
|
||||
to be evaluated during reloc processing (i) or a normal symbol (a
|
||||
space).
|
||||
.ie n .IP """d""" 4
|
||||
.el .IP "\f(CWd\fR" 4
|
||||
.IX Item "d"
|
||||
.PD 0
|
||||
.ie n .IP """D""" 4
|
||||
.el .IP "\f(CWD\fR" 4
|
||||
.IX Item "D"
|
||||
.PD
|
||||
The symbol is a debugging symbol (d) or a dynamic symbol (D) or a
|
||||
normal symbol (a space).
|
||||
.ie n .IP """F""" 4
|
||||
.el .IP "\f(CWF\fR" 4
|
||||
.IX Item "F"
|
||||
.PD 0
|
||||
.ie n .IP """f""" 4
|
||||
.el .IP "\f(CWf\fR" 4
|
||||
.IX Item "f"
|
||||
.ie n .IP """O""" 4
|
||||
.el .IP "\f(CWO\fR" 4
|
||||
.IX Item "O"
|
||||
.PD
|
||||
The symbol is the name of a function (F) or a file (f) or an object
|
||||
(O) or just a normal symbol (a space).
|
||||
.RE
|
||||
.RS 4
|
||||
.RE
|
||||
.IP "\fB\-T\fR" 4
|
||||
.IX Item "-T"
|
||||
.PD 0
|
||||
.IP "\fB\-\-dynamic\-syms\fR" 4
|
||||
.IX Item "--dynamic-syms"
|
||||
.PD
|
||||
Print the dynamic symbol table entries of the file. This is only
|
||||
meaningful for dynamic objects, such as certain types of shared
|
||||
libraries. This is similar to the information provided by the \fBnm\fR
|
||||
program when given the \fB\-D\fR (\fB\-\-dynamic\fR) option.
|
||||
.IP "\fB\-\-special\-syms\fR" 4
|
||||
.IX Item "--special-syms"
|
||||
When displaying symbols include those which the target considers to be
|
||||
special in some way and which would not normally be of interest to the
|
||||
user.
|
||||
.IP "\fB\-V\fR" 4
|
||||
.IX Item "-V"
|
||||
.PD 0
|
||||
.IP "\fB\-\-version\fR" 4
|
||||
.IX Item "--version"
|
||||
.PD
|
||||
Print the version number of \fBobjdump\fR and exit.
|
||||
.IP "\fB\-x\fR" 4
|
||||
.IX Item "-x"
|
||||
.PD 0
|
||||
.IP "\fB\-\-all\-headers\fR" 4
|
||||
.IX Item "--all-headers"
|
||||
.PD
|
||||
Display all available header information, including the symbol table and
|
||||
relocation entries. Using \fB\-x\fR is equivalent to specifying all of
|
||||
\&\fB\-a \-f \-h \-p \-r \-t\fR.
|
||||
.IP "\fB\-w\fR" 4
|
||||
.IX Item "-w"
|
||||
.PD 0
|
||||
.IP "\fB\-\-wide\fR" 4
|
||||
.IX Item "--wide"
|
||||
.PD
|
||||
Format some lines for output devices that have more than 80 columns.
|
||||
Also do not truncate symbol names when they are displayed.
|
||||
.IP "\fB\-z\fR" 4
|
||||
.IX Item "-z"
|
||||
.PD 0
|
||||
.IP "\fB\-\-disassemble\-zeroes\fR" 4
|
||||
.IX Item "--disassemble-zeroes"
|
||||
.PD
|
||||
Normally the disassembly output will skip blocks of zeroes. This
|
||||
option directs the disassembler to disassemble those blocks, just like
|
||||
any other data.
|
||||
.IP "\fB@\fR\fIfile\fR" 4
|
||||
.IX Item "@file"
|
||||
Read command-line options from \fIfile\fR. The options read are
|
||||
inserted in place of the original @\fIfile\fR option. If \fIfile\fR
|
||||
does not exist, or cannot be read, then the option will be treated
|
||||
literally, and not removed.
|
||||
.Sp
|
||||
Options in \fIfile\fR are separated by whitespace. A whitespace
|
||||
character may be included in an option by surrounding the entire
|
||||
option in either single or double quotes. Any character (including a
|
||||
backslash) may be included by prefixing the character to be included
|
||||
with a backslash. The \fIfile\fR may itself contain additional
|
||||
@\fIfile\fR options; any such options will be processed recursively.
|
||||
.SH "SEE ALSO"
|
||||
.IX Header "SEE ALSO"
|
||||
\&\fInm\fR\|(1), \fIreadelf\fR\|(1), and the Info entries for \fIbinutils\fR.
|
||||
.SH "COPYRIGHT"
|
||||
.IX Header "COPYRIGHT"
|
||||
Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
|
||||
2010, 2011, 2012
|
||||
Free Software Foundation, Inc.
|
||||
.PP
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3
|
||||
or any later version published by the Free Software Foundation;
|
||||
with no Invariant Sections, with no Front-Cover Texts, and with no
|
||||
Back-Cover Texts. A copy of the license is included in the
|
||||
section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".
|
||||
|
|
@ -0,0 +1,218 @@
|
|||
.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
|
||||
.\"
|
||||
.\" Standard preamble:
|
||||
.\" ========================================================================
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Vb \" Begin verbatim text
|
||||
.ft CW
|
||||
.nf
|
||||
.ne \\$1
|
||||
..
|
||||
.de Ve \" End verbatim text
|
||||
.ft R
|
||||
.fi
|
||||
..
|
||||
.\" Set up some character translations and predefined strings. \*(-- will
|
||||
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
||||
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
|
||||
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
|
||||
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
|
||||
.\" nothing in troff, for use with C<>.
|
||||
.tr \(*W-
|
||||
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
||||
.ie n \{\
|
||||
. ds -- \(*W-
|
||||
. ds PI pi
|
||||
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
||||
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
||||
. ds L" ""
|
||||
. ds R" ""
|
||||
. ds C` ""
|
||||
. ds C' ""
|
||||
'br\}
|
||||
.el\{\
|
||||
. ds -- \|\(em\|
|
||||
. ds PI \(*p
|
||||
. ds L" ``
|
||||
. ds R" ''
|
||||
'br\}
|
||||
.\"
|
||||
.\" Escape single quotes in literal strings from groff's Unicode transform.
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\"
|
||||
.\" If the F register is turned on, we'll generate index entries on stderr for
|
||||
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
|
||||
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
||||
.\" output yourself in some meaningful fashion.
|
||||
.ie \nF \{\
|
||||
. de IX
|
||||
. tm Index:\\$1\t\\n%\t"\\$2"
|
||||
..
|
||||
. nr % 0
|
||||
. rr F
|
||||
.\}
|
||||
.el \{\
|
||||
. de IX
|
||||
..
|
||||
.\}
|
||||
.\"
|
||||
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
||||
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
||||
. \" fudge factors for nroff and troff
|
||||
.if n \{\
|
||||
. ds #H 0
|
||||
. ds #V .8m
|
||||
. ds #F .3m
|
||||
. ds #[ \f1
|
||||
. ds #] \fP
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
||||
. ds #V .6m
|
||||
. ds #F 0
|
||||
. ds #[ \&
|
||||
. ds #] \&
|
||||
.\}
|
||||
. \" simple accents for nroff and troff
|
||||
.if n \{\
|
||||
. ds ' \&
|
||||
. ds ` \&
|
||||
. ds ^ \&
|
||||
. ds , \&
|
||||
. ds ~ ~
|
||||
. ds /
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
||||
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
||||
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
||||
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
||||
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
||||
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
||||
.\}
|
||||
. \" troff and (daisy-wheel) nroff accents
|
||||
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
||||
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
||||
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
||||
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
||||
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
||||
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
||||
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
||||
.ds ae a\h'-(\w'a'u*4/10)'e
|
||||
.ds Ae A\h'-(\w'A'u*4/10)'E
|
||||
. \" corrections for vroff
|
||||
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
||||
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
||||
. \" for low resolution devices (crt and lpr)
|
||||
.if \n(.H>23 .if \n(.V>19 \
|
||||
\{\
|
||||
. ds : e
|
||||
. ds 8 ss
|
||||
. ds o a
|
||||
. ds d- d\h'-1'\(ga
|
||||
. ds D- D\h'-1'\(hy
|
||||
. ds th \o'bp'
|
||||
. ds Th \o'LP'
|
||||
. ds ae ae
|
||||
. ds Ae AE
|
||||
.\}
|
||||
.rm #[ #] #H #V #F C
|
||||
.\" ========================================================================
|
||||
.\"
|
||||
.IX Title "RANLIB 1"
|
||||
.TH RANLIB 1 "2013-03-25" "binutils-2.23.2" "GNU Development Tools"
|
||||
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||||
.\" way too many mistakes in technical documents.
|
||||
.if n .ad l
|
||||
.nh
|
||||
.SH "NAME"
|
||||
ranlib \- generate index to archive.
|
||||
.SH "SYNOPSIS"
|
||||
.IX Header "SYNOPSIS"
|
||||
ranlib [\fB\-\-plugin\fR \fIname\fR] [\fB\-DhHvVt\fR] \fIarchive\fR
|
||||
.SH "DESCRIPTION"
|
||||
.IX Header "DESCRIPTION"
|
||||
\&\fBranlib\fR generates an index to the contents of an archive and
|
||||
stores it in the archive. The index lists each symbol defined by a
|
||||
member of an archive that is a relocatable object file.
|
||||
.PP
|
||||
You may use \fBnm \-s\fR or \fBnm \-\-print\-armap\fR to list this index.
|
||||
.PP
|
||||
An archive with such an index speeds up linking to the library and
|
||||
allows routines in the library to call each other without regard to
|
||||
their placement in the archive.
|
||||
.PP
|
||||
The \s-1GNU\s0 \fBranlib\fR program is another form of \s-1GNU\s0 \fBar\fR; running
|
||||
\&\fBranlib\fR is completely equivalent to executing \fBar \-s\fR.
|
||||
.SH "OPTIONS"
|
||||
.IX Header "OPTIONS"
|
||||
.IP "\fB\-h\fR" 4
|
||||
.IX Item "-h"
|
||||
.PD 0
|
||||
.IP "\fB\-H\fR" 4
|
||||
.IX Item "-H"
|
||||
.IP "\fB\-\-help\fR" 4
|
||||
.IX Item "--help"
|
||||
.PD
|
||||
Show usage information for \fBranlib\fR.
|
||||
.IP "\fB\-v\fR" 4
|
||||
.IX Item "-v"
|
||||
.PD 0
|
||||
.IP "\fB\-V\fR" 4
|
||||
.IX Item "-V"
|
||||
.IP "\fB\-\-version\fR" 4
|
||||
.IX Item "--version"
|
||||
.PD
|
||||
Show the version number of \fBranlib\fR.
|
||||
.IP "\fB\-D\fR" 4
|
||||
.IX Item "-D"
|
||||
Operate in \fIdeterministic\fR mode. The symbol map archive member's
|
||||
header will show zero for the \s-1UID\s0, \s-1GID\s0, and timestamp. When this
|
||||
option is used, multiple runs will produce identical output files.
|
||||
.Sp
|
||||
This is the default unless \fIbinutils\fR was configured with
|
||||
\&\fB\-\-enable\-deterministic\-archives\fR.
|
||||
.IP "\fB\-t\fR" 4
|
||||
.IX Item "-t"
|
||||
Update the timestamp of the symbol map of an archive.
|
||||
.IP "\fB\-U\fR" 4
|
||||
.IX Item "-U"
|
||||
Do \fInot\fR operate in \fIdeterministic\fR mode. This is the
|
||||
inverse of the \fB\-D\fR option, above: the archive index will get
|
||||
actual \s-1UID\s0, \s-1GID\s0, timestamp, and file mode values.
|
||||
.Sp
|
||||
This is the default unless \fIbinutils\fR was configured with
|
||||
\&\fB\-\-enable\-deterministic\-archives\fR.
|
||||
.IP "\fB@\fR\fIfile\fR" 4
|
||||
.IX Item "@file"
|
||||
Read command-line options from \fIfile\fR. The options read are
|
||||
inserted in place of the original @\fIfile\fR option. If \fIfile\fR
|
||||
does not exist, or cannot be read, then the option will be treated
|
||||
literally, and not removed.
|
||||
.Sp
|
||||
Options in \fIfile\fR are separated by whitespace. A whitespace
|
||||
character may be included in an option by surrounding the entire
|
||||
option in either single or double quotes. Any character (including a
|
||||
backslash) may be included by prefixing the character to be included
|
||||
with a backslash. The \fIfile\fR may itself contain additional
|
||||
@\fIfile\fR options; any such options will be processed recursively.
|
||||
.SH "SEE ALSO"
|
||||
.IX Header "SEE ALSO"
|
||||
\&\fIar\fR\|(1), \fInm\fR\|(1), and the Info entries for \fIbinutils\fR.
|
||||
.SH "COPYRIGHT"
|
||||
.IX Header "COPYRIGHT"
|
||||
Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
|
||||
2010, 2011, 2012
|
||||
Free Software Foundation, Inc.
|
||||
.PP
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3
|
||||
or any later version published by the Free Software Foundation;
|
||||
with no Invariant Sections, with no Front-Cover Texts, and with no
|
||||
Back-Cover Texts. A copy of the license is included in the
|
||||
section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".
|
||||
|
|
@ -0,0 +1,451 @@
|
|||
.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
|
||||
.\"
|
||||
.\" Standard preamble:
|
||||
.\" ========================================================================
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Vb \" Begin verbatim text
|
||||
.ft CW
|
||||
.nf
|
||||
.ne \\$1
|
||||
..
|
||||
.de Ve \" End verbatim text
|
||||
.ft R
|
||||
.fi
|
||||
..
|
||||
.\" Set up some character translations and predefined strings. \*(-- will
|
||||
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
||||
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
|
||||
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
|
||||
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
|
||||
.\" nothing in troff, for use with C<>.
|
||||
.tr \(*W-
|
||||
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
||||
.ie n \{\
|
||||
. ds -- \(*W-
|
||||
. ds PI pi
|
||||
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
||||
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
||||
. ds L" ""
|
||||
. ds R" ""
|
||||
. ds C` ""
|
||||
. ds C' ""
|
||||
'br\}
|
||||
.el\{\
|
||||
. ds -- \|\(em\|
|
||||
. ds PI \(*p
|
||||
. ds L" ``
|
||||
. ds R" ''
|
||||
'br\}
|
||||
.\"
|
||||
.\" Escape single quotes in literal strings from groff's Unicode transform.
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\"
|
||||
.\" If the F register is turned on, we'll generate index entries on stderr for
|
||||
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
|
||||
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
||||
.\" output yourself in some meaningful fashion.
|
||||
.ie \nF \{\
|
||||
. de IX
|
||||
. tm Index:\\$1\t\\n%\t"\\$2"
|
||||
..
|
||||
. nr % 0
|
||||
. rr F
|
||||
.\}
|
||||
.el \{\
|
||||
. de IX
|
||||
..
|
||||
.\}
|
||||
.\"
|
||||
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
||||
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
||||
. \" fudge factors for nroff and troff
|
||||
.if n \{\
|
||||
. ds #H 0
|
||||
. ds #V .8m
|
||||
. ds #F .3m
|
||||
. ds #[ \f1
|
||||
. ds #] \fP
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
||||
. ds #V .6m
|
||||
. ds #F 0
|
||||
. ds #[ \&
|
||||
. ds #] \&
|
||||
.\}
|
||||
. \" simple accents for nroff and troff
|
||||
.if n \{\
|
||||
. ds ' \&
|
||||
. ds ` \&
|
||||
. ds ^ \&
|
||||
. ds , \&
|
||||
. ds ~ ~
|
||||
. ds /
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
||||
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
||||
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
||||
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
||||
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
||||
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
||||
.\}
|
||||
. \" troff and (daisy-wheel) nroff accents
|
||||
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
||||
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
||||
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
||||
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
||||
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
||||
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
||||
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
||||
.ds ae a\h'-(\w'a'u*4/10)'e
|
||||
.ds Ae A\h'-(\w'A'u*4/10)'E
|
||||
. \" corrections for vroff
|
||||
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
||||
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
||||
. \" for low resolution devices (crt and lpr)
|
||||
.if \n(.H>23 .if \n(.V>19 \
|
||||
\{\
|
||||
. ds : e
|
||||
. ds 8 ss
|
||||
. ds o a
|
||||
. ds d- d\h'-1'\(ga
|
||||
. ds D- D\h'-1'\(hy
|
||||
. ds th \o'bp'
|
||||
. ds Th \o'LP'
|
||||
. ds ae ae
|
||||
. ds Ae AE
|
||||
.\}
|
||||
.rm #[ #] #H #V #F C
|
||||
.\" ========================================================================
|
||||
.\"
|
||||
.IX Title "READELF 1"
|
||||
.TH READELF 1 "2013-03-25" "binutils-2.23.2" "GNU Development Tools"
|
||||
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||||
.\" way too many mistakes in technical documents.
|
||||
.if n .ad l
|
||||
.nh
|
||||
.SH "NAME"
|
||||
readelf \- Displays information about ELF files.
|
||||
.SH "SYNOPSIS"
|
||||
.IX Header "SYNOPSIS"
|
||||
readelf [\fB\-a\fR|\fB\-\-all\fR]
|
||||
[\fB\-h\fR|\fB\-\-file\-header\fR]
|
||||
[\fB\-l\fR|\fB\-\-program\-headers\fR|\fB\-\-segments\fR]
|
||||
[\fB\-S\fR|\fB\-\-section\-headers\fR|\fB\-\-sections\fR]
|
||||
[\fB\-g\fR|\fB\-\-section\-groups\fR]
|
||||
[\fB\-t\fR|\fB\-\-section\-details\fR]
|
||||
[\fB\-e\fR|\fB\-\-headers\fR]
|
||||
[\fB\-s\fR|\fB\-\-syms\fR|\fB\-\-symbols\fR]
|
||||
[\fB\-\-dyn\-syms\fR]
|
||||
[\fB\-n\fR|\fB\-\-notes\fR]
|
||||
[\fB\-r\fR|\fB\-\-relocs\fR]
|
||||
[\fB\-u\fR|\fB\-\-unwind\fR]
|
||||
[\fB\-d\fR|\fB\-\-dynamic\fR]
|
||||
[\fB\-V\fR|\fB\-\-version\-info\fR]
|
||||
[\fB\-A\fR|\fB\-\-arch\-specific\fR]
|
||||
[\fB\-D\fR|\fB\-\-use\-dynamic\fR]
|
||||
[\fB\-x\fR <number or name>|\fB\-\-hex\-dump=\fR<number or name>]
|
||||
[\fB\-p\fR <number or name>|\fB\-\-string\-dump=\fR<number or name>]
|
||||
[\fB\-R\fR <number or name>|\fB\-\-relocated\-dump=\fR<number or name>]
|
||||
[\fB\-c\fR|\fB\-\-archive\-index\fR]
|
||||
[\fB\-w[lLiaprmfFsoRt]\fR|
|
||||
\fB\-\-debug\-dump\fR[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames\-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index]]
|
||||
[\fB\-\-dwarf\-depth=\fR\fIn\fR]
|
||||
[\fB\-\-dwarf\-start=\fR\fIn\fR]
|
||||
[\fB\-I\fR|\fB\-\-histogram\fR]
|
||||
[\fB\-v\fR|\fB\-\-version\fR]
|
||||
[\fB\-W\fR|\fB\-\-wide\fR]
|
||||
[\fB\-H\fR|\fB\-\-help\fR]
|
||||
\fIelffile\fR...
|
||||
.SH "DESCRIPTION"
|
||||
.IX Header "DESCRIPTION"
|
||||
\&\fBreadelf\fR displays information about one or more \s-1ELF\s0 format object
|
||||
files. The options control what particular information to display.
|
||||
.PP
|
||||
\&\fIelffile\fR... are the object files to be examined. 32\-bit and
|
||||
64\-bit \s-1ELF\s0 files are supported, as are archives containing \s-1ELF\s0 files.
|
||||
.PP
|
||||
This program performs a similar function to \fBobjdump\fR but it
|
||||
goes into more detail and it exists independently of the \s-1BFD\s0
|
||||
library, so if there is a bug in \s-1BFD\s0 then readelf will not be
|
||||
affected.
|
||||
.SH "OPTIONS"
|
||||
.IX Header "OPTIONS"
|
||||
The long and short forms of options, shown here as alternatives, are
|
||||
equivalent. At least one option besides \fB\-v\fR or \fB\-H\fR must be
|
||||
given.
|
||||
.IP "\fB\-a\fR" 4
|
||||
.IX Item "-a"
|
||||
.PD 0
|
||||
.IP "\fB\-\-all\fR" 4
|
||||
.IX Item "--all"
|
||||
.PD
|
||||
Equivalent to specifying \fB\-\-file\-header\fR,
|
||||
\&\fB\-\-program\-headers\fR, \fB\-\-sections\fR, \fB\-\-symbols\fR,
|
||||
\&\fB\-\-relocs\fR, \fB\-\-dynamic\fR, \fB\-\-notes\fR and
|
||||
\&\fB\-\-version\-info\fR.
|
||||
.IP "\fB\-h\fR" 4
|
||||
.IX Item "-h"
|
||||
.PD 0
|
||||
.IP "\fB\-\-file\-header\fR" 4
|
||||
.IX Item "--file-header"
|
||||
.PD
|
||||
Displays the information contained in the \s-1ELF\s0 header at the start of the
|
||||
file.
|
||||
.IP "\fB\-l\fR" 4
|
||||
.IX Item "-l"
|
||||
.PD 0
|
||||
.IP "\fB\-\-program\-headers\fR" 4
|
||||
.IX Item "--program-headers"
|
||||
.IP "\fB\-\-segments\fR" 4
|
||||
.IX Item "--segments"
|
||||
.PD
|
||||
Displays the information contained in the file's segment headers, if it
|
||||
has any.
|
||||
.IP "\fB\-S\fR" 4
|
||||
.IX Item "-S"
|
||||
.PD 0
|
||||
.IP "\fB\-\-sections\fR" 4
|
||||
.IX Item "--sections"
|
||||
.IP "\fB\-\-section\-headers\fR" 4
|
||||
.IX Item "--section-headers"
|
||||
.PD
|
||||
Displays the information contained in the file's section headers, if it
|
||||
has any.
|
||||
.IP "\fB\-g\fR" 4
|
||||
.IX Item "-g"
|
||||
.PD 0
|
||||
.IP "\fB\-\-section\-groups\fR" 4
|
||||
.IX Item "--section-groups"
|
||||
.PD
|
||||
Displays the information contained in the file's section groups, if it
|
||||
has any.
|
||||
.IP "\fB\-t\fR" 4
|
||||
.IX Item "-t"
|
||||
.PD 0
|
||||
.IP "\fB\-\-section\-details\fR" 4
|
||||
.IX Item "--section-details"
|
||||
.PD
|
||||
Displays the detailed section information. Implies \fB\-S\fR.
|
||||
.IP "\fB\-s\fR" 4
|
||||
.IX Item "-s"
|
||||
.PD 0
|
||||
.IP "\fB\-\-symbols\fR" 4
|
||||
.IX Item "--symbols"
|
||||
.IP "\fB\-\-syms\fR" 4
|
||||
.IX Item "--syms"
|
||||
.PD
|
||||
Displays the entries in symbol table section of the file, if it has one.
|
||||
.IP "\fB\-\-dyn\-syms\fR" 4
|
||||
.IX Item "--dyn-syms"
|
||||
Displays the entries in dynamic symbol table section of the file, if it
|
||||
has one.
|
||||
.IP "\fB\-e\fR" 4
|
||||
.IX Item "-e"
|
||||
.PD 0
|
||||
.IP "\fB\-\-headers\fR" 4
|
||||
.IX Item "--headers"
|
||||
.PD
|
||||
Display all the headers in the file. Equivalent to \fB\-h \-l \-S\fR.
|
||||
.IP "\fB\-n\fR" 4
|
||||
.IX Item "-n"
|
||||
.PD 0
|
||||
.IP "\fB\-\-notes\fR" 4
|
||||
.IX Item "--notes"
|
||||
.PD
|
||||
Displays the contents of the \s-1NOTE\s0 segments and/or sections, if any.
|
||||
.IP "\fB\-r\fR" 4
|
||||
.IX Item "-r"
|
||||
.PD 0
|
||||
.IP "\fB\-\-relocs\fR" 4
|
||||
.IX Item "--relocs"
|
||||
.PD
|
||||
Displays the contents of the file's relocation section, if it has one.
|
||||
.IP "\fB\-u\fR" 4
|
||||
.IX Item "-u"
|
||||
.PD 0
|
||||
.IP "\fB\-\-unwind\fR" 4
|
||||
.IX Item "--unwind"
|
||||
.PD
|
||||
Displays the contents of the file's unwind section, if it has one. Only
|
||||
the unwind sections for \s-1IA64\s0 \s-1ELF\s0 files, as well as \s-1ARM\s0 unwind tables
|
||||
(\f(CW\*(C`.ARM.exidx\*(C'\fR / \f(CW\*(C`.ARM.extab\*(C'\fR) are currently supported.
|
||||
.IP "\fB\-d\fR" 4
|
||||
.IX Item "-d"
|
||||
.PD 0
|
||||
.IP "\fB\-\-dynamic\fR" 4
|
||||
.IX Item "--dynamic"
|
||||
.PD
|
||||
Displays the contents of the file's dynamic section, if it has one.
|
||||
.IP "\fB\-V\fR" 4
|
||||
.IX Item "-V"
|
||||
.PD 0
|
||||
.IP "\fB\-\-version\-info\fR" 4
|
||||
.IX Item "--version-info"
|
||||
.PD
|
||||
Displays the contents of the version sections in the file, it they
|
||||
exist.
|
||||
.IP "\fB\-A\fR" 4
|
||||
.IX Item "-A"
|
||||
.PD 0
|
||||
.IP "\fB\-\-arch\-specific\fR" 4
|
||||
.IX Item "--arch-specific"
|
||||
.PD
|
||||
Displays architecture-specific information in the file, if there
|
||||
is any.
|
||||
.IP "\fB\-D\fR" 4
|
||||
.IX Item "-D"
|
||||
.PD 0
|
||||
.IP "\fB\-\-use\-dynamic\fR" 4
|
||||
.IX Item "--use-dynamic"
|
||||
.PD
|
||||
When displaying symbols, this option makes \fBreadelf\fR use the
|
||||
symbol hash tables in the file's dynamic section, rather than the
|
||||
symbol table sections.
|
||||
.IP "\fB\-x <number or name>\fR" 4
|
||||
.IX Item "-x <number or name>"
|
||||
.PD 0
|
||||
.IP "\fB\-\-hex\-dump=<number or name>\fR" 4
|
||||
.IX Item "--hex-dump=<number or name>"
|
||||
.PD
|
||||
Displays the contents of the indicated section as a hexadecimal bytes.
|
||||
A number identifies a particular section by index in the section table;
|
||||
any other string identifies all sections with that name in the object file.
|
||||
.IP "\fB\-R <number or name>\fR" 4
|
||||
.IX Item "-R <number or name>"
|
||||
.PD 0
|
||||
.IP "\fB\-\-relocated\-dump=<number or name>\fR" 4
|
||||
.IX Item "--relocated-dump=<number or name>"
|
||||
.PD
|
||||
Displays the contents of the indicated section as a hexadecimal
|
||||
bytes. A number identifies a particular section by index in the
|
||||
section table; any other string identifies all sections with that name
|
||||
in the object file. The contents of the section will be relocated
|
||||
before they are displayed.
|
||||
.IP "\fB\-p <number or name>\fR" 4
|
||||
.IX Item "-p <number or name>"
|
||||
.PD 0
|
||||
.IP "\fB\-\-string\-dump=<number or name>\fR" 4
|
||||
.IX Item "--string-dump=<number or name>"
|
||||
.PD
|
||||
Displays the contents of the indicated section as printable strings.
|
||||
A number identifies a particular section by index in the section table;
|
||||
any other string identifies all sections with that name in the object file.
|
||||
.IP "\fB\-c\fR" 4
|
||||
.IX Item "-c"
|
||||
.PD 0
|
||||
.IP "\fB\-\-archive\-index\fR" 4
|
||||
.IX Item "--archive-index"
|
||||
.PD
|
||||
Displays the file symbol index infomation contained in the header part
|
||||
of binary archives. Performs the same function as the \fBt\fR
|
||||
command to \fBar\fR, but without using the \s-1BFD\s0 library.
|
||||
.IP "\fB\-w[lLiaprmfFsoRt]\fR" 4
|
||||
.IX Item "-w[lLiaprmfFsoRt]"
|
||||
.PD 0
|
||||
.IP "\fB\-\-debug\-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames\-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index]\fR" 4
|
||||
.IX Item "--debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index]"
|
||||
.PD
|
||||
Displays the contents of the debug sections in the file, if any are
|
||||
present. If one of the optional letters or words follows the switch
|
||||
then only data found in those specific sections will be dumped.
|
||||
.Sp
|
||||
Note that there is no single letter option to display the content of
|
||||
trace sections or .gdb_index.
|
||||
.Sp
|
||||
Note: the \fB=decodedline\fR option will display the interpreted
|
||||
contents of a .debug_line section whereas the \fB=rawline\fR option
|
||||
dumps the contents in a raw format.
|
||||
.Sp
|
||||
Note: the \fB=frames\-interp\fR option will display the interpreted
|
||||
contents of a .debug_frame section whereas the \fB=frames\fR option
|
||||
dumps the contents in a raw format.
|
||||
.Sp
|
||||
Note: the output from the \fB=info\fR option can also be affected
|
||||
by the options \fB\-\-dwarf\-depth\fR and \fB\-\-dwarf\-start\fR.
|
||||
.IP "\fB\-\-dwarf\-depth=\fR\fIn\fR" 4
|
||||
.IX Item "--dwarf-depth=n"
|
||||
Limit the dump of the \f(CW\*(C`.debug_info\*(C'\fR section to \fIn\fR children.
|
||||
This is only useful with \fB\-\-debug\-dump=info\fR. The default is
|
||||
to print all DIEs; the special value 0 for \fIn\fR will also have this
|
||||
effect.
|
||||
.Sp
|
||||
With a non-zero value for \fIn\fR, DIEs at or deeper than \fIn\fR
|
||||
levels will not be printed. The range for \fIn\fR is zero-based.
|
||||
.IP "\fB\-\-dwarf\-start=\fR\fIn\fR" 4
|
||||
.IX Item "--dwarf-start=n"
|
||||
Print only DIEs beginning with the \s-1DIE\s0 numbered \fIn\fR. This is only
|
||||
useful with \fB\-\-debug\-dump=info\fR.
|
||||
.Sp
|
||||
If specified, this option will suppress printing of any header
|
||||
information and all DIEs before the \s-1DIE\s0 numbered \fIn\fR. Only
|
||||
siblings and children of the specified \s-1DIE\s0 will be printed.
|
||||
.Sp
|
||||
This can be used in conjunction with \fB\-\-dwarf\-depth\fR.
|
||||
.IP "\fB\-I\fR" 4
|
||||
.IX Item "-I"
|
||||
.PD 0
|
||||
.IP "\fB\-\-histogram\fR" 4
|
||||
.IX Item "--histogram"
|
||||
.PD
|
||||
Display a histogram of bucket list lengths when displaying the contents
|
||||
of the symbol tables.
|
||||
.IP "\fB\-v\fR" 4
|
||||
.IX Item "-v"
|
||||
.PD 0
|
||||
.IP "\fB\-\-version\fR" 4
|
||||
.IX Item "--version"
|
||||
.PD
|
||||
Display the version number of readelf.
|
||||
.IP "\fB\-W\fR" 4
|
||||
.IX Item "-W"
|
||||
.PD 0
|
||||
.IP "\fB\-\-wide\fR" 4
|
||||
.IX Item "--wide"
|
||||
.PD
|
||||
Don't break output lines to fit into 80 columns. By default
|
||||
\&\fBreadelf\fR breaks section header and segment listing lines for
|
||||
64\-bit \s-1ELF\s0 files, so that they fit into 80 columns. This option causes
|
||||
\&\fBreadelf\fR to print each section header resp. each segment one a
|
||||
single line, which is far more readable on terminals wider than 80 columns.
|
||||
.IP "\fB\-H\fR" 4
|
||||
.IX Item "-H"
|
||||
.PD 0
|
||||
.IP "\fB\-\-help\fR" 4
|
||||
.IX Item "--help"
|
||||
.PD
|
||||
Display the command line options understood by \fBreadelf\fR.
|
||||
.IP "\fB@\fR\fIfile\fR" 4
|
||||
.IX Item "@file"
|
||||
Read command-line options from \fIfile\fR. The options read are
|
||||
inserted in place of the original @\fIfile\fR option. If \fIfile\fR
|
||||
does not exist, or cannot be read, then the option will be treated
|
||||
literally, and not removed.
|
||||
.Sp
|
||||
Options in \fIfile\fR are separated by whitespace. A whitespace
|
||||
character may be included in an option by surrounding the entire
|
||||
option in either single or double quotes. Any character (including a
|
||||
backslash) may be included by prefixing the character to be included
|
||||
with a backslash. The \fIfile\fR may itself contain additional
|
||||
@\fIfile\fR options; any such options will be processed recursively.
|
||||
.SH "SEE ALSO"
|
||||
.IX Header "SEE ALSO"
|
||||
\&\fIobjdump\fR\|(1), and the Info entries for \fIbinutils\fR.
|
||||
.SH "COPYRIGHT"
|
||||
.IX Header "COPYRIGHT"
|
||||
Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
|
||||
2010, 2011, 2012
|
||||
Free Software Foundation, Inc.
|
||||
.PP
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3
|
||||
or any later version published by the Free Software Foundation;
|
||||
with no Invariant Sections, with no Front-Cover Texts, and with no
|
||||
Back-Cover Texts. A copy of the license is included in the
|
||||
section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".
|
||||
|
|
@ -0,0 +1,269 @@
|
|||
.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
|
||||
.\"
|
||||
.\" Standard preamble:
|
||||
.\" ========================================================================
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Vb \" Begin verbatim text
|
||||
.ft CW
|
||||
.nf
|
||||
.ne \\$1
|
||||
..
|
||||
.de Ve \" End verbatim text
|
||||
.ft R
|
||||
.fi
|
||||
..
|
||||
.\" Set up some character translations and predefined strings. \*(-- will
|
||||
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
||||
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
|
||||
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
|
||||
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
|
||||
.\" nothing in troff, for use with C<>.
|
||||
.tr \(*W-
|
||||
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
||||
.ie n \{\
|
||||
. ds -- \(*W-
|
||||
. ds PI pi
|
||||
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
||||
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
||||
. ds L" ""
|
||||
. ds R" ""
|
||||
. ds C` ""
|
||||
. ds C' ""
|
||||
'br\}
|
||||
.el\{\
|
||||
. ds -- \|\(em\|
|
||||
. ds PI \(*p
|
||||
. ds L" ``
|
||||
. ds R" ''
|
||||
'br\}
|
||||
.\"
|
||||
.\" Escape single quotes in literal strings from groff's Unicode transform.
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\"
|
||||
.\" If the F register is turned on, we'll generate index entries on stderr for
|
||||
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
|
||||
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
||||
.\" output yourself in some meaningful fashion.
|
||||
.ie \nF \{\
|
||||
. de IX
|
||||
. tm Index:\\$1\t\\n%\t"\\$2"
|
||||
..
|
||||
. nr % 0
|
||||
. rr F
|
||||
.\}
|
||||
.el \{\
|
||||
. de IX
|
||||
..
|
||||
.\}
|
||||
.\"
|
||||
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
||||
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
||||
. \" fudge factors for nroff and troff
|
||||
.if n \{\
|
||||
. ds #H 0
|
||||
. ds #V .8m
|
||||
. ds #F .3m
|
||||
. ds #[ \f1
|
||||
. ds #] \fP
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
||||
. ds #V .6m
|
||||
. ds #F 0
|
||||
. ds #[ \&
|
||||
. ds #] \&
|
||||
.\}
|
||||
. \" simple accents for nroff and troff
|
||||
.if n \{\
|
||||
. ds ' \&
|
||||
. ds ` \&
|
||||
. ds ^ \&
|
||||
. ds , \&
|
||||
. ds ~ ~
|
||||
. ds /
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
||||
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
||||
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
||||
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
||||
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
||||
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
||||
.\}
|
||||
. \" troff and (daisy-wheel) nroff accents
|
||||
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
||||
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
||||
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
||||
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
||||
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
||||
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
||||
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
||||
.ds ae a\h'-(\w'a'u*4/10)'e
|
||||
.ds Ae A\h'-(\w'A'u*4/10)'E
|
||||
. \" corrections for vroff
|
||||
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
||||
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
||||
. \" for low resolution devices (crt and lpr)
|
||||
.if \n(.H>23 .if \n(.V>19 \
|
||||
\{\
|
||||
. ds : e
|
||||
. ds 8 ss
|
||||
. ds o a
|
||||
. ds d- d\h'-1'\(ga
|
||||
. ds D- D\h'-1'\(hy
|
||||
. ds th \o'bp'
|
||||
. ds Th \o'LP'
|
||||
. ds ae ae
|
||||
. ds Ae AE
|
||||
.\}
|
||||
.rm #[ #] #H #V #F C
|
||||
.\" ========================================================================
|
||||
.\"
|
||||
.IX Title "SIZE 1"
|
||||
.TH SIZE 1 "2013-03-25" "binutils-2.23.2" "GNU Development Tools"
|
||||
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||||
.\" way too many mistakes in technical documents.
|
||||
.if n .ad l
|
||||
.nh
|
||||
.SH "NAME"
|
||||
size \- list section sizes and total size.
|
||||
.SH "SYNOPSIS"
|
||||
.IX Header "SYNOPSIS"
|
||||
size [\fB\-A\fR|\fB\-B\fR|\fB\-\-format=\fR\fIcompatibility\fR]
|
||||
[\fB\-\-help\fR]
|
||||
[\fB\-d\fR|\fB\-o\fR|\fB\-x\fR|\fB\-\-radix=\fR\fInumber\fR]
|
||||
[\fB\-\-common\fR]
|
||||
[\fB\-t\fR|\fB\-\-totals\fR]
|
||||
[\fB\-\-target=\fR\fIbfdname\fR] [\fB\-V\fR|\fB\-\-version\fR]
|
||||
[\fIobjfile\fR...]
|
||||
.SH "DESCRIPTION"
|
||||
.IX Header "DESCRIPTION"
|
||||
The \s-1GNU\s0 \fBsize\fR utility lists the section sizes\-\-\-and the total
|
||||
size\-\-\-for each of the object or archive files \fIobjfile\fR in its
|
||||
argument list. By default, one line of output is generated for each
|
||||
object file or each module in an archive.
|
||||
.PP
|
||||
\&\fIobjfile\fR... are the object files to be examined.
|
||||
If none are specified, the file \f(CW\*(C`a.out\*(C'\fR will be used.
|
||||
.SH "OPTIONS"
|
||||
.IX Header "OPTIONS"
|
||||
The command line options have the following meanings:
|
||||
.IP "\fB\-A\fR" 4
|
||||
.IX Item "-A"
|
||||
.PD 0
|
||||
.IP "\fB\-B\fR" 4
|
||||
.IX Item "-B"
|
||||
.IP "\fB\-\-format=\fR\fIcompatibility\fR" 4
|
||||
.IX Item "--format=compatibility"
|
||||
.PD
|
||||
Using one of these options, you can choose whether the output from \s-1GNU\s0
|
||||
\&\fBsize\fR resembles output from System V \fBsize\fR (using \fB\-A\fR,
|
||||
or \fB\-\-format=sysv\fR), or Berkeley \fBsize\fR (using \fB\-B\fR, or
|
||||
\&\fB\-\-format=berkeley\fR). The default is the one-line format similar to
|
||||
Berkeley's.
|
||||
.Sp
|
||||
Here is an example of the Berkeley (default) format of output from
|
||||
\&\fBsize\fR:
|
||||
.Sp
|
||||
.Vb 4
|
||||
\& $ size \-\-format=Berkeley ranlib size
|
||||
\& text data bss dec hex filename
|
||||
\& 294880 81920 11592 388392 5ed28 ranlib
|
||||
\& 294880 81920 11888 388688 5ee50 size
|
||||
.Ve
|
||||
.Sp
|
||||
This is the same data, but displayed closer to System V conventions:
|
||||
.Sp
|
||||
.Vb 7
|
||||
\& $ size \-\-format=SysV ranlib size
|
||||
\& ranlib :
|
||||
\& section size addr
|
||||
\& .text 294880 8192
|
||||
\& .data 81920 303104
|
||||
\& .bss 11592 385024
|
||||
\& Total 388392
|
||||
\&
|
||||
\&
|
||||
\& size :
|
||||
\& section size addr
|
||||
\& .text 294880 8192
|
||||
\& .data 81920 303104
|
||||
\& .bss 11888 385024
|
||||
\& Total 388688
|
||||
.Ve
|
||||
.IP "\fB\-\-help\fR" 4
|
||||
.IX Item "--help"
|
||||
Show a summary of acceptable arguments and options.
|
||||
.IP "\fB\-d\fR" 4
|
||||
.IX Item "-d"
|
||||
.PD 0
|
||||
.IP "\fB\-o\fR" 4
|
||||
.IX Item "-o"
|
||||
.IP "\fB\-x\fR" 4
|
||||
.IX Item "-x"
|
||||
.IP "\fB\-\-radix=\fR\fInumber\fR" 4
|
||||
.IX Item "--radix=number"
|
||||
.PD
|
||||
Using one of these options, you can control whether the size of each
|
||||
section is given in decimal (\fB\-d\fR, or \fB\-\-radix=10\fR); octal
|
||||
(\fB\-o\fR, or \fB\-\-radix=8\fR); or hexadecimal (\fB\-x\fR, or
|
||||
\&\fB\-\-radix=16\fR). In \fB\-\-radix=\fR\fInumber\fR, only the three
|
||||
values (8, 10, 16) are supported. The total size is always given in two
|
||||
radices; decimal and hexadecimal for \fB\-d\fR or \fB\-x\fR output, or
|
||||
octal and hexadecimal if you're using \fB\-o\fR.
|
||||
.IP "\fB\-\-common\fR" 4
|
||||
.IX Item "--common"
|
||||
Print total size of common symbols in each file. When using Berkeley
|
||||
format these are included in the bss size.
|
||||
.IP "\fB\-t\fR" 4
|
||||
.IX Item "-t"
|
||||
.PD 0
|
||||
.IP "\fB\-\-totals\fR" 4
|
||||
.IX Item "--totals"
|
||||
.PD
|
||||
Show totals of all objects listed (Berkeley format listing mode only).
|
||||
.IP "\fB\-\-target=\fR\fIbfdname\fR" 4
|
||||
.IX Item "--target=bfdname"
|
||||
Specify that the object-code format for \fIobjfile\fR is
|
||||
\&\fIbfdname\fR. This option may not be necessary; \fBsize\fR can
|
||||
automatically recognize many formats.
|
||||
.IP "\fB\-V\fR" 4
|
||||
.IX Item "-V"
|
||||
.PD 0
|
||||
.IP "\fB\-\-version\fR" 4
|
||||
.IX Item "--version"
|
||||
.PD
|
||||
Display the version number of \fBsize\fR.
|
||||
.IP "\fB@\fR\fIfile\fR" 4
|
||||
.IX Item "@file"
|
||||
Read command-line options from \fIfile\fR. The options read are
|
||||
inserted in place of the original @\fIfile\fR option. If \fIfile\fR
|
||||
does not exist, or cannot be read, then the option will be treated
|
||||
literally, and not removed.
|
||||
.Sp
|
||||
Options in \fIfile\fR are separated by whitespace. A whitespace
|
||||
character may be included in an option by surrounding the entire
|
||||
option in either single or double quotes. Any character (including a
|
||||
backslash) may be included by prefixing the character to be included
|
||||
with a backslash. The \fIfile\fR may itself contain additional
|
||||
@\fIfile\fR options; any such options will be processed recursively.
|
||||
.SH "SEE ALSO"
|
||||
.IX Header "SEE ALSO"
|
||||
\&\fIar\fR\|(1), \fIobjdump\fR\|(1), \fIreadelf\fR\|(1), and the Info entries for \fIbinutils\fR.
|
||||
.SH "COPYRIGHT"
|
||||
.IX Header "COPYRIGHT"
|
||||
Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
|
||||
2010, 2011, 2012
|
||||
Free Software Foundation, Inc.
|
||||
.PP
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3
|
||||
or any later version published by the Free Software Foundation;
|
||||
with no Invariant Sections, with no Front-Cover Texts, and with no
|
||||
Back-Cover Texts. A copy of the license is included in the
|
||||
section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".
|
||||
|
|
@ -0,0 +1,258 @@
|
|||
.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
|
||||
.\"
|
||||
.\" Standard preamble:
|
||||
.\" ========================================================================
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Vb \" Begin verbatim text
|
||||
.ft CW
|
||||
.nf
|
||||
.ne \\$1
|
||||
..
|
||||
.de Ve \" End verbatim text
|
||||
.ft R
|
||||
.fi
|
||||
..
|
||||
.\" Set up some character translations and predefined strings. \*(-- will
|
||||
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
||||
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
|
||||
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
|
||||
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
|
||||
.\" nothing in troff, for use with C<>.
|
||||
.tr \(*W-
|
||||
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
||||
.ie n \{\
|
||||
. ds -- \(*W-
|
||||
. ds PI pi
|
||||
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
||||
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
||||
. ds L" ""
|
||||
. ds R" ""
|
||||
. ds C` ""
|
||||
. ds C' ""
|
||||
'br\}
|
||||
.el\{\
|
||||
. ds -- \|\(em\|
|
||||
. ds PI \(*p
|
||||
. ds L" ``
|
||||
. ds R" ''
|
||||
'br\}
|
||||
.\"
|
||||
.\" Escape single quotes in literal strings from groff's Unicode transform.
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\"
|
||||
.\" If the F register is turned on, we'll generate index entries on stderr for
|
||||
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
|
||||
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
||||
.\" output yourself in some meaningful fashion.
|
||||
.ie \nF \{\
|
||||
. de IX
|
||||
. tm Index:\\$1\t\\n%\t"\\$2"
|
||||
..
|
||||
. nr % 0
|
||||
. rr F
|
||||
.\}
|
||||
.el \{\
|
||||
. de IX
|
||||
..
|
||||
.\}
|
||||
.\"
|
||||
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
||||
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
||||
. \" fudge factors for nroff and troff
|
||||
.if n \{\
|
||||
. ds #H 0
|
||||
. ds #V .8m
|
||||
. ds #F .3m
|
||||
. ds #[ \f1
|
||||
. ds #] \fP
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
||||
. ds #V .6m
|
||||
. ds #F 0
|
||||
. ds #[ \&
|
||||
. ds #] \&
|
||||
.\}
|
||||
. \" simple accents for nroff and troff
|
||||
.if n \{\
|
||||
. ds ' \&
|
||||
. ds ` \&
|
||||
. ds ^ \&
|
||||
. ds , \&
|
||||
. ds ~ ~
|
||||
. ds /
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
||||
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
||||
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
||||
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
||||
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
||||
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
||||
.\}
|
||||
. \" troff and (daisy-wheel) nroff accents
|
||||
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
||||
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
||||
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
||||
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
||||
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
||||
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
||||
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
||||
.ds ae a\h'-(\w'a'u*4/10)'e
|
||||
.ds Ae A\h'-(\w'A'u*4/10)'E
|
||||
. \" corrections for vroff
|
||||
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
||||
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
||||
. \" for low resolution devices (crt and lpr)
|
||||
.if \n(.H>23 .if \n(.V>19 \
|
||||
\{\
|
||||
. ds : e
|
||||
. ds 8 ss
|
||||
. ds o a
|
||||
. ds d- d\h'-1'\(ga
|
||||
. ds D- D\h'-1'\(hy
|
||||
. ds th \o'bp'
|
||||
. ds Th \o'LP'
|
||||
. ds ae ae
|
||||
. ds Ae AE
|
||||
.\}
|
||||
.rm #[ #] #H #V #F C
|
||||
.\" ========================================================================
|
||||
.\"
|
||||
.IX Title "STRINGS 1"
|
||||
.TH STRINGS 1 "2013-03-25" "binutils-2.23.2" "GNU Development Tools"
|
||||
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||||
.\" way too many mistakes in technical documents.
|
||||
.if n .ad l
|
||||
.nh
|
||||
.SH "NAME"
|
||||
strings \- print the strings of printable characters in files.
|
||||
.SH "SYNOPSIS"
|
||||
.IX Header "SYNOPSIS"
|
||||
strings [\fB\-afovV\fR] [\fB\-\fR\fImin-len\fR]
|
||||
[\fB\-n\fR \fImin-len\fR] [\fB\-\-bytes=\fR\fImin-len\fR]
|
||||
[\fB\-t\fR \fIradix\fR] [\fB\-\-radix=\fR\fIradix\fR]
|
||||
[\fB\-e\fR \fIencoding\fR] [\fB\-\-encoding=\fR\fIencoding\fR]
|
||||
[\fB\-\fR] [\fB\-\-all\fR] [\fB\-\-print\-file\-name\fR]
|
||||
[\fB\-T\fR \fIbfdname\fR] [\fB\-\-target=\fR\fIbfdname\fR]
|
||||
[\fB\-\-help\fR] [\fB\-\-version\fR] \fIfile\fR...
|
||||
.SH "DESCRIPTION"
|
||||
.IX Header "DESCRIPTION"
|
||||
For each \fIfile\fR given, \s-1GNU\s0 \fBstrings\fR prints the printable
|
||||
character sequences that are at least 4 characters long (or the number
|
||||
given with the options below) and are followed by an unprintable
|
||||
character. By default, it only prints the strings from the initialized
|
||||
and loaded sections of object files; for other types of files, it prints
|
||||
the strings from the whole file.
|
||||
.PP
|
||||
\&\fBstrings\fR is mainly useful for determining the contents of non-text
|
||||
files.
|
||||
.SH "OPTIONS"
|
||||
.IX Header "OPTIONS"
|
||||
.IP "\fB\-a\fR" 4
|
||||
.IX Item "-a"
|
||||
.PD 0
|
||||
.IP "\fB\-\-all\fR" 4
|
||||
.IX Item "--all"
|
||||
.IP "\fB\-\fR" 4
|
||||
.IX Item "-"
|
||||
.PD
|
||||
Do not scan only the initialized and loaded sections of object files;
|
||||
scan the whole files.
|
||||
.IP "\fB\-f\fR" 4
|
||||
.IX Item "-f"
|
||||
.PD 0
|
||||
.IP "\fB\-\-print\-file\-name\fR" 4
|
||||
.IX Item "--print-file-name"
|
||||
.PD
|
||||
Print the name of the file before each string.
|
||||
.IP "\fB\-\-help\fR" 4
|
||||
.IX Item "--help"
|
||||
Print a summary of the program usage on the standard output and exit.
|
||||
.IP "\fB\-\fR\fImin-len\fR" 4
|
||||
.IX Item "-min-len"
|
||||
.PD 0
|
||||
.IP "\fB\-n\fR \fImin-len\fR" 4
|
||||
.IX Item "-n min-len"
|
||||
.IP "\fB\-\-bytes=\fR\fImin-len\fR" 4
|
||||
.IX Item "--bytes=min-len"
|
||||
.PD
|
||||
Print sequences of characters that are at least \fImin-len\fR characters
|
||||
long, instead of the default 4.
|
||||
.IP "\fB\-o\fR" 4
|
||||
.IX Item "-o"
|
||||
Like \fB\-t o\fR. Some other versions of \fBstrings\fR have \fB\-o\fR
|
||||
act like \fB\-t d\fR instead. Since we can not be compatible with both
|
||||
ways, we simply chose one.
|
||||
.IP "\fB\-t\fR \fIradix\fR" 4
|
||||
.IX Item "-t radix"
|
||||
.PD 0
|
||||
.IP "\fB\-\-radix=\fR\fIradix\fR" 4
|
||||
.IX Item "--radix=radix"
|
||||
.PD
|
||||
Print the offset within the file before each string. The single
|
||||
character argument specifies the radix of the offset\-\-\-\fBo\fR for
|
||||
octal, \fBx\fR for hexadecimal, or \fBd\fR for decimal.
|
||||
.IP "\fB\-e\fR \fIencoding\fR" 4
|
||||
.IX Item "-e encoding"
|
||||
.PD 0
|
||||
.IP "\fB\-\-encoding=\fR\fIencoding\fR" 4
|
||||
.IX Item "--encoding=encoding"
|
||||
.PD
|
||||
Select the character encoding of the strings that are to be found.
|
||||
Possible values for \fIencoding\fR are: \fBs\fR = single\-7\-bit\-byte
|
||||
characters (\s-1ASCII\s0, \s-1ISO\s0 8859, etc., default), \fBS\fR =
|
||||
single\-8\-bit\-byte characters, \fBb\fR = 16\-bit bigendian, \fBl\fR =
|
||||
16\-bit littleendian, \fBB\fR = 32\-bit bigendian, \fBL\fR = 32\-bit
|
||||
littleendian. Useful for finding wide character strings. (\fBl\fR
|
||||
and \fBb\fR apply to, for example, Unicode \s-1UTF\-16/UCS\-2\s0 encodings).
|
||||
.IP "\fB\-T\fR \fIbfdname\fR" 4
|
||||
.IX Item "-T bfdname"
|
||||
.PD 0
|
||||
.IP "\fB\-\-target=\fR\fIbfdname\fR" 4
|
||||
.IX Item "--target=bfdname"
|
||||
.PD
|
||||
Specify an object code format other than your system's default format.
|
||||
.IP "\fB\-v\fR" 4
|
||||
.IX Item "-v"
|
||||
.PD 0
|
||||
.IP "\fB\-V\fR" 4
|
||||
.IX Item "-V"
|
||||
.IP "\fB\-\-version\fR" 4
|
||||
.IX Item "--version"
|
||||
.PD
|
||||
Print the program version number on the standard output and exit.
|
||||
.IP "\fB@\fR\fIfile\fR" 4
|
||||
.IX Item "@file"
|
||||
Read command-line options from \fIfile\fR. The options read are
|
||||
inserted in place of the original @\fIfile\fR option. If \fIfile\fR
|
||||
does not exist, or cannot be read, then the option will be treated
|
||||
literally, and not removed.
|
||||
.Sp
|
||||
Options in \fIfile\fR are separated by whitespace. A whitespace
|
||||
character may be included in an option by surrounding the entire
|
||||
option in either single or double quotes. Any character (including a
|
||||
backslash) may be included by prefixing the character to be included
|
||||
with a backslash. The \fIfile\fR may itself contain additional
|
||||
@\fIfile\fR options; any such options will be processed recursively.
|
||||
.SH "SEE ALSO"
|
||||
.IX Header "SEE ALSO"
|
||||
\&\fIar\fR\|(1), \fInm\fR\|(1), \fIobjdump\fR\|(1), \fIranlib\fR\|(1), \fIreadelf\fR\|(1)
|
||||
and the Info entries for \fIbinutils\fR.
|
||||
.SH "COPYRIGHT"
|
||||
.IX Header "COPYRIGHT"
|
||||
Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
|
||||
2010, 2011, 2012
|
||||
Free Software Foundation, Inc.
|
||||
.PP
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3
|
||||
or any later version published by the Free Software Foundation;
|
||||
with no Invariant Sections, with no Front-Cover Texts, and with no
|
||||
Back-Cover Texts. A copy of the license is included in the
|
||||
section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".
|
||||
|
|
@ -0,0 +1,428 @@
|
|||
.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
|
||||
.\"
|
||||
.\" Standard preamble:
|
||||
.\" ========================================================================
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Vb \" Begin verbatim text
|
||||
.ft CW
|
||||
.nf
|
||||
.ne \\$1
|
||||
..
|
||||
.de Ve \" End verbatim text
|
||||
.ft R
|
||||
.fi
|
||||
..
|
||||
.\" Set up some character translations and predefined strings. \*(-- will
|
||||
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
||||
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
|
||||
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
|
||||
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
|
||||
.\" nothing in troff, for use with C<>.
|
||||
.tr \(*W-
|
||||
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
||||
.ie n \{\
|
||||
. ds -- \(*W-
|
||||
. ds PI pi
|
||||
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
||||
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
||||
. ds L" ""
|
||||
. ds R" ""
|
||||
. ds C` ""
|
||||
. ds C' ""
|
||||
'br\}
|
||||
.el\{\
|
||||
. ds -- \|\(em\|
|
||||
. ds PI \(*p
|
||||
. ds L" ``
|
||||
. ds R" ''
|
||||
'br\}
|
||||
.\"
|
||||
.\" Escape single quotes in literal strings from groff's Unicode transform.
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\"
|
||||
.\" If the F register is turned on, we'll generate index entries on stderr for
|
||||
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
|
||||
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
||||
.\" output yourself in some meaningful fashion.
|
||||
.ie \nF \{\
|
||||
. de IX
|
||||
. tm Index:\\$1\t\\n%\t"\\$2"
|
||||
..
|
||||
. nr % 0
|
||||
. rr F
|
||||
.\}
|
||||
.el \{\
|
||||
. de IX
|
||||
..
|
||||
.\}
|
||||
.\"
|
||||
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
||||
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
||||
. \" fudge factors for nroff and troff
|
||||
.if n \{\
|
||||
. ds #H 0
|
||||
. ds #V .8m
|
||||
. ds #F .3m
|
||||
. ds #[ \f1
|
||||
. ds #] \fP
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
||||
. ds #V .6m
|
||||
. ds #F 0
|
||||
. ds #[ \&
|
||||
. ds #] \&
|
||||
.\}
|
||||
. \" simple accents for nroff and troff
|
||||
.if n \{\
|
||||
. ds ' \&
|
||||
. ds ` \&
|
||||
. ds ^ \&
|
||||
. ds , \&
|
||||
. ds ~ ~
|
||||
. ds /
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
||||
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
||||
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
||||
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
||||
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
||||
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
||||
.\}
|
||||
. \" troff and (daisy-wheel) nroff accents
|
||||
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
||||
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
||||
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
||||
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
||||
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
||||
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
||||
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
||||
.ds ae a\h'-(\w'a'u*4/10)'e
|
||||
.ds Ae A\h'-(\w'A'u*4/10)'E
|
||||
. \" corrections for vroff
|
||||
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
||||
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
||||
. \" for low resolution devices (crt and lpr)
|
||||
.if \n(.H>23 .if \n(.V>19 \
|
||||
\{\
|
||||
. ds : e
|
||||
. ds 8 ss
|
||||
. ds o a
|
||||
. ds d- d\h'-1'\(ga
|
||||
. ds D- D\h'-1'\(hy
|
||||
. ds th \o'bp'
|
||||
. ds Th \o'LP'
|
||||
. ds ae ae
|
||||
. ds Ae AE
|
||||
.\}
|
||||
.rm #[ #] #H #V #F C
|
||||
.\" ========================================================================
|
||||
.\"
|
||||
.IX Title "STRIP 1"
|
||||
.TH STRIP 1 "2013-03-25" "binutils-2.23.2" "GNU Development Tools"
|
||||
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||||
.\" way too many mistakes in technical documents.
|
||||
.if n .ad l
|
||||
.nh
|
||||
.SH "NAME"
|
||||
strip \- Discard symbols from object files.
|
||||
.SH "SYNOPSIS"
|
||||
.IX Header "SYNOPSIS"
|
||||
strip [\fB\-F\fR \fIbfdname\fR |\fB\-\-target=\fR\fIbfdname\fR]
|
||||
[\fB\-I\fR \fIbfdname\fR |\fB\-\-input\-target=\fR\fIbfdname\fR]
|
||||
[\fB\-O\fR \fIbfdname\fR |\fB\-\-output\-target=\fR\fIbfdname\fR]
|
||||
[\fB\-s\fR|\fB\-\-strip\-all\fR]
|
||||
[\fB\-S\fR|\fB\-g\fR|\fB\-d\fR|\fB\-\-strip\-debug\fR]
|
||||
[\fB\-\-strip\-dwo\fR]
|
||||
[\fB\-K\fR \fIsymbolname\fR |\fB\-\-keep\-symbol=\fR\fIsymbolname\fR]
|
||||
[\fB\-N\fR \fIsymbolname\fR |\fB\-\-strip\-symbol=\fR\fIsymbolname\fR]
|
||||
[\fB\-w\fR|\fB\-\-wildcard\fR]
|
||||
[\fB\-x\fR|\fB\-\-discard\-all\fR] [\fB\-X\fR |\fB\-\-discard\-locals\fR]
|
||||
[\fB\-R\fR \fIsectionname\fR |\fB\-\-remove\-section=\fR\fIsectionname\fR]
|
||||
[\fB\-o\fR \fIfile\fR] [\fB\-p\fR|\fB\-\-preserve\-dates\fR]
|
||||
[\fB\-D\fR|\fB\-\-enable\-deterministic\-archives\fR]
|
||||
[\fB\-U\fR|\fB\-\-disable\-deterministic\-archives\fR]
|
||||
[\fB\-\-keep\-file\-symbols\fR]
|
||||
[\fB\-\-only\-keep\-debug\fR]
|
||||
[\fB\-v\fR |\fB\-\-verbose\fR] [\fB\-V\fR|\fB\-\-version\fR]
|
||||
[\fB\-\-help\fR] [\fB\-\-info\fR]
|
||||
\fIobjfile\fR...
|
||||
.SH "DESCRIPTION"
|
||||
.IX Header "DESCRIPTION"
|
||||
\&\s-1GNU\s0 \fBstrip\fR discards all symbols from object files
|
||||
\&\fIobjfile\fR. The list of object files may include archives.
|
||||
At least one object file must be given.
|
||||
.PP
|
||||
\&\fBstrip\fR modifies the files named in its argument,
|
||||
rather than writing modified copies under different names.
|
||||
.SH "OPTIONS"
|
||||
.IX Header "OPTIONS"
|
||||
.IP "\fB\-F\fR \fIbfdname\fR" 4
|
||||
.IX Item "-F bfdname"
|
||||
.PD 0
|
||||
.IP "\fB\-\-target=\fR\fIbfdname\fR" 4
|
||||
.IX Item "--target=bfdname"
|
||||
.PD
|
||||
Treat the original \fIobjfile\fR as a file with the object
|
||||
code format \fIbfdname\fR, and rewrite it in the same format.
|
||||
.IP "\fB\-\-help\fR" 4
|
||||
.IX Item "--help"
|
||||
Show a summary of the options to \fBstrip\fR and exit.
|
||||
.IP "\fB\-\-info\fR" 4
|
||||
.IX Item "--info"
|
||||
Display a list showing all architectures and object formats available.
|
||||
.IP "\fB\-I\fR \fIbfdname\fR" 4
|
||||
.IX Item "-I bfdname"
|
||||
.PD 0
|
||||
.IP "\fB\-\-input\-target=\fR\fIbfdname\fR" 4
|
||||
.IX Item "--input-target=bfdname"
|
||||
.PD
|
||||
Treat the original \fIobjfile\fR as a file with the object
|
||||
code format \fIbfdname\fR.
|
||||
.IP "\fB\-O\fR \fIbfdname\fR" 4
|
||||
.IX Item "-O bfdname"
|
||||
.PD 0
|
||||
.IP "\fB\-\-output\-target=\fR\fIbfdname\fR" 4
|
||||
.IX Item "--output-target=bfdname"
|
||||
.PD
|
||||
Replace \fIobjfile\fR with a file in the output format \fIbfdname\fR.
|
||||
.IP "\fB\-R\fR \fIsectionname\fR" 4
|
||||
.IX Item "-R sectionname"
|
||||
.PD 0
|
||||
.IP "\fB\-\-remove\-section=\fR\fIsectionname\fR" 4
|
||||
.IX Item "--remove-section=sectionname"
|
||||
.PD
|
||||
Remove any section named \fIsectionname\fR from the output file. This
|
||||
option may be given more than once. Note that using this option
|
||||
inappropriately may make the output file unusable.
|
||||
.IP "\fB\-s\fR" 4
|
||||
.IX Item "-s"
|
||||
.PD 0
|
||||
.IP "\fB\-\-strip\-all\fR" 4
|
||||
.IX Item "--strip-all"
|
||||
.PD
|
||||
Remove all symbols.
|
||||
.IP "\fB\-g\fR" 4
|
||||
.IX Item "-g"
|
||||
.PD 0
|
||||
.IP "\fB\-S\fR" 4
|
||||
.IX Item "-S"
|
||||
.IP "\fB\-d\fR" 4
|
||||
.IX Item "-d"
|
||||
.IP "\fB\-\-strip\-debug\fR" 4
|
||||
.IX Item "--strip-debug"
|
||||
.PD
|
||||
Remove debugging symbols only.
|
||||
.IP "\fB\-\-strip\-dwo\fR" 4
|
||||
.IX Item "--strip-dwo"
|
||||
Remove the contents of all \s-1DWARF\s0 .dwo sections, leaving the
|
||||
remaining debugging sections and all symbols intact.
|
||||
See the description of this option in the \fBobjcopy\fR section
|
||||
for more information.
|
||||
.IP "\fB\-\-strip\-unneeded\fR" 4
|
||||
.IX Item "--strip-unneeded"
|
||||
Remove all symbols that are not needed for relocation processing.
|
||||
.IP "\fB\-K\fR \fIsymbolname\fR" 4
|
||||
.IX Item "-K symbolname"
|
||||
.PD 0
|
||||
.IP "\fB\-\-keep\-symbol=\fR\fIsymbolname\fR" 4
|
||||
.IX Item "--keep-symbol=symbolname"
|
||||
.PD
|
||||
When stripping symbols, keep symbol \fIsymbolname\fR even if it would
|
||||
normally be stripped. This option may be given more than once.
|
||||
.IP "\fB\-N\fR \fIsymbolname\fR" 4
|
||||
.IX Item "-N symbolname"
|
||||
.PD 0
|
||||
.IP "\fB\-\-strip\-symbol=\fR\fIsymbolname\fR" 4
|
||||
.IX Item "--strip-symbol=symbolname"
|
||||
.PD
|
||||
Remove symbol \fIsymbolname\fR from the source file. This option may be
|
||||
given more than once, and may be combined with strip options other than
|
||||
\&\fB\-K\fR.
|
||||
.IP "\fB\-o\fR \fIfile\fR" 4
|
||||
.IX Item "-o file"
|
||||
Put the stripped output in \fIfile\fR, rather than replacing the
|
||||
existing file. When this argument is used, only one \fIobjfile\fR
|
||||
argument may be specified.
|
||||
.IP "\fB\-p\fR" 4
|
||||
.IX Item "-p"
|
||||
.PD 0
|
||||
.IP "\fB\-\-preserve\-dates\fR" 4
|
||||
.IX Item "--preserve-dates"
|
||||
.PD
|
||||
Preserve the access and modification dates of the file.
|
||||
.IP "\fB\-D\fR" 4
|
||||
.IX Item "-D"
|
||||
.PD 0
|
||||
.IP "\fB\-\-enable\-deterministic\-archives\fR" 4
|
||||
.IX Item "--enable-deterministic-archives"
|
||||
.PD
|
||||
Operate in \fIdeterministic\fR mode. When copying archive members
|
||||
and writing the archive index, use zero for UIDs, GIDs, timestamps,
|
||||
and use consistent file modes for all files.
|
||||
.Sp
|
||||
If \fIbinutils\fR was configured with
|
||||
\&\fB\-\-enable\-deterministic\-archives\fR, then this mode is on by default.
|
||||
It can be disabled with the \fB\-U\fR option, below.
|
||||
.IP "\fB\-U\fR" 4
|
||||
.IX Item "-U"
|
||||
.PD 0
|
||||
.IP "\fB\-\-disable\-deterministic\-archives\fR" 4
|
||||
.IX Item "--disable-deterministic-archives"
|
||||
.PD
|
||||
Do \fInot\fR operate in \fIdeterministic\fR mode. This is the
|
||||
inverse of the \fB\-D\fR option, above: when copying archive members
|
||||
and writing the archive index, use their actual \s-1UID\s0, \s-1GID\s0, timestamp,
|
||||
and file mode values.
|
||||
.Sp
|
||||
This is the default unless \fIbinutils\fR was configured with
|
||||
\&\fB\-\-enable\-deterministic\-archives\fR.
|
||||
.IP "\fB\-w\fR" 4
|
||||
.IX Item "-w"
|
||||
.PD 0
|
||||
.IP "\fB\-\-wildcard\fR" 4
|
||||
.IX Item "--wildcard"
|
||||
.PD
|
||||
Permit regular expressions in \fIsymbolname\fRs used in other command
|
||||
line options. The question mark (?), asterisk (*), backslash (\e) and
|
||||
square brackets ([]) operators can be used anywhere in the symbol
|
||||
name. If the first character of the symbol name is the exclamation
|
||||
point (!) then the sense of the switch is reversed for that symbol.
|
||||
For example:
|
||||
.Sp
|
||||
.Vb 1
|
||||
\& \-w \-K !foo \-K fo*
|
||||
.Ve
|
||||
.Sp
|
||||
would cause strip to only keep symbols that start with the letters
|
||||
\&\*(L"fo\*(R", but to discard the symbol \*(L"foo\*(R".
|
||||
.IP "\fB\-x\fR" 4
|
||||
.IX Item "-x"
|
||||
.PD 0
|
||||
.IP "\fB\-\-discard\-all\fR" 4
|
||||
.IX Item "--discard-all"
|
||||
.PD
|
||||
Remove non-global symbols.
|
||||
.IP "\fB\-X\fR" 4
|
||||
.IX Item "-X"
|
||||
.PD 0
|
||||
.IP "\fB\-\-discard\-locals\fR" 4
|
||||
.IX Item "--discard-locals"
|
||||
.PD
|
||||
Remove compiler-generated local symbols.
|
||||
(These usually start with \fBL\fR or \fB.\fR.)
|
||||
.IP "\fB\-\-keep\-file\-symbols\fR" 4
|
||||
.IX Item "--keep-file-symbols"
|
||||
When stripping a file, perhaps with \fB\-\-strip\-debug\fR or
|
||||
\&\fB\-\-strip\-unneeded\fR, retain any symbols specifying source file names,
|
||||
which would otherwise get stripped.
|
||||
.IP "\fB\-\-only\-keep\-debug\fR" 4
|
||||
.IX Item "--only-keep-debug"
|
||||
Strip a file, removing contents of any sections that would not be
|
||||
stripped by \fB\-\-strip\-debug\fR and leaving the debugging sections
|
||||
intact. In \s-1ELF\s0 files, this preserves all note sections in the output.
|
||||
.Sp
|
||||
The intention is that this option will be used in conjunction with
|
||||
\&\fB\-\-add\-gnu\-debuglink\fR to create a two part executable. One a
|
||||
stripped binary which will occupy less space in \s-1RAM\s0 and in a
|
||||
distribution and the second a debugging information file which is only
|
||||
needed if debugging abilities are required. The suggested procedure
|
||||
to create these files is as follows:
|
||||
.RS 4
|
||||
.IP "1.<Link the executable as normal. Assuming that is is called>" 4
|
||||
.IX Item "1.<Link the executable as normal. Assuming that is is called>"
|
||||
\&\f(CW\*(C`foo\*(C'\fR then...
|
||||
.ie n .IP "1.<Run ""objcopy \-\-only\-keep\-debug foo foo.dbg"" to>" 4
|
||||
.el .IP "1.<Run \f(CWobjcopy \-\-only\-keep\-debug foo foo.dbg\fR to>" 4
|
||||
.IX Item "1.<Run objcopy --only-keep-debug foo foo.dbg to>"
|
||||
create a file containing the debugging info.
|
||||
.ie n .IP "1.<Run ""objcopy \-\-strip\-debug foo"" to create a>" 4
|
||||
.el .IP "1.<Run \f(CWobjcopy \-\-strip\-debug foo\fR to create a>" 4
|
||||
.IX Item "1.<Run objcopy --strip-debug foo to create a>"
|
||||
stripped executable.
|
||||
.ie n .IP "1.<Run ""objcopy \-\-add\-gnu\-debuglink=foo.dbg foo"">" 4
|
||||
.el .IP "1.<Run \f(CWobjcopy \-\-add\-gnu\-debuglink=foo.dbg foo\fR>" 4
|
||||
.IX Item "1.<Run objcopy --add-gnu-debuglink=foo.dbg foo>"
|
||||
to add a link to the debugging info into the stripped executable.
|
||||
.RE
|
||||
.RS 4
|
||||
.Sp
|
||||
Note\-\-\-the choice of \f(CW\*(C`.dbg\*(C'\fR as an extension for the debug info
|
||||
file is arbitrary. Also the \f(CW\*(C`\-\-only\-keep\-debug\*(C'\fR step is
|
||||
optional. You could instead do this:
|
||||
.IP "1.<Link the executable as normal.>" 4
|
||||
.IX Item "1.<Link the executable as normal.>"
|
||||
.PD 0
|
||||
.ie n .IP "1.<Copy ""foo"" to ""foo.full"">" 4
|
||||
.el .IP "1.<Copy \f(CWfoo\fR to \f(CWfoo.full\fR>" 4
|
||||
.IX Item "1.<Copy foo to foo.full>"
|
||||
.ie n .IP "1.<Run ""strip \-\-strip\-debug foo"">" 4
|
||||
.el .IP "1.<Run \f(CWstrip \-\-strip\-debug foo\fR>" 4
|
||||
.IX Item "1.<Run strip --strip-debug foo>"
|
||||
.ie n .IP "1.<Run ""objcopy \-\-add\-gnu\-debuglink=foo.full foo"">" 4
|
||||
.el .IP "1.<Run \f(CWobjcopy \-\-add\-gnu\-debuglink=foo.full foo\fR>" 4
|
||||
.IX Item "1.<Run objcopy --add-gnu-debuglink=foo.full foo>"
|
||||
.RE
|
||||
.RS 4
|
||||
.PD
|
||||
.Sp
|
||||
i.e., the file pointed to by the \fB\-\-add\-gnu\-debuglink\fR can be the
|
||||
full executable. It does not have to be a file created by the
|
||||
\&\fB\-\-only\-keep\-debug\fR switch.
|
||||
.Sp
|
||||
Note\-\-\-this switch is only intended for use on fully linked files. It
|
||||
does not make sense to use it on object files where the debugging
|
||||
information may be incomplete. Besides the gnu_debuglink feature
|
||||
currently only supports the presence of one filename containing
|
||||
debugging information, not multiple filenames on a one-per-object-file
|
||||
basis.
|
||||
.RE
|
||||
.IP "\fB\-V\fR" 4
|
||||
.IX Item "-V"
|
||||
.PD 0
|
||||
.IP "\fB\-\-version\fR" 4
|
||||
.IX Item "--version"
|
||||
.PD
|
||||
Show the version number for \fBstrip\fR.
|
||||
.IP "\fB\-v\fR" 4
|
||||
.IX Item "-v"
|
||||
.PD 0
|
||||
.IP "\fB\-\-verbose\fR" 4
|
||||
.IX Item "--verbose"
|
||||
.PD
|
||||
Verbose output: list all object files modified. In the case of
|
||||
archives, \fBstrip \-v\fR lists all members of the archive.
|
||||
.IP "\fB@\fR\fIfile\fR" 4
|
||||
.IX Item "@file"
|
||||
Read command-line options from \fIfile\fR. The options read are
|
||||
inserted in place of the original @\fIfile\fR option. If \fIfile\fR
|
||||
does not exist, or cannot be read, then the option will be treated
|
||||
literally, and not removed.
|
||||
.Sp
|
||||
Options in \fIfile\fR are separated by whitespace. A whitespace
|
||||
character may be included in an option by surrounding the entire
|
||||
option in either single or double quotes. Any character (including a
|
||||
backslash) may be included by prefixing the character to be included
|
||||
with a backslash. The \fIfile\fR may itself contain additional
|
||||
@\fIfile\fR options; any such options will be processed recursively.
|
||||
.SH "SEE ALSO"
|
||||
.IX Header "SEE ALSO"
|
||||
the Info entries for \fIbinutils\fR.
|
||||
.SH "COPYRIGHT"
|
||||
.IX Header "COPYRIGHT"
|
||||
Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
|
||||
2010, 2011, 2012
|
||||
Free Software Foundation, Inc.
|
||||
.PP
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3
|
||||
or any later version published by the Free Software Foundation;
|
||||
with no Invariant Sections, with no Front-Cover Texts, and with no
|
||||
Back-Cover Texts. A copy of the license is included in the
|
||||
section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".
|
||||
|
|
@ -0,0 +1,354 @@
|
|||
.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
|
||||
.\"
|
||||
.\" Standard preamble:
|
||||
.\" ========================================================================
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Vb \" Begin verbatim text
|
||||
.ft CW
|
||||
.nf
|
||||
.ne \\$1
|
||||
..
|
||||
.de Ve \" End verbatim text
|
||||
.ft R
|
||||
.fi
|
||||
..
|
||||
.\" Set up some character translations and predefined strings. \*(-- will
|
||||
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
||||
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
|
||||
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
|
||||
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
|
||||
.\" nothing in troff, for use with C<>.
|
||||
.tr \(*W-
|
||||
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
||||
.ie n \{\
|
||||
. ds -- \(*W-
|
||||
. ds PI pi
|
||||
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
||||
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
||||
. ds L" ""
|
||||
. ds R" ""
|
||||
. ds C` ""
|
||||
. ds C' ""
|
||||
'br\}
|
||||
.el\{\
|
||||
. ds -- \|\(em\|
|
||||
. ds PI \(*p
|
||||
. ds L" ``
|
||||
. ds R" ''
|
||||
'br\}
|
||||
.\"
|
||||
.\" Escape single quotes in literal strings from groff's Unicode transform.
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\"
|
||||
.\" If the F register is turned on, we'll generate index entries on stderr for
|
||||
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
|
||||
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
||||
.\" output yourself in some meaningful fashion.
|
||||
.ie \nF \{\
|
||||
. de IX
|
||||
. tm Index:\\$1\t\\n%\t"\\$2"
|
||||
..
|
||||
. nr % 0
|
||||
. rr F
|
||||
.\}
|
||||
.el \{\
|
||||
. de IX
|
||||
..
|
||||
.\}
|
||||
.\"
|
||||
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
||||
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
||||
. \" fudge factors for nroff and troff
|
||||
.if n \{\
|
||||
. ds #H 0
|
||||
. ds #V .8m
|
||||
. ds #F .3m
|
||||
. ds #[ \f1
|
||||
. ds #] \fP
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
||||
. ds #V .6m
|
||||
. ds #F 0
|
||||
. ds #[ \&
|
||||
. ds #] \&
|
||||
.\}
|
||||
. \" simple accents for nroff and troff
|
||||
.if n \{\
|
||||
. ds ' \&
|
||||
. ds ` \&
|
||||
. ds ^ \&
|
||||
. ds , \&
|
||||
. ds ~ ~
|
||||
. ds /
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
||||
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
||||
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
||||
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
||||
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
||||
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
||||
.\}
|
||||
. \" troff and (daisy-wheel) nroff accents
|
||||
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
||||
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
||||
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
||||
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
||||
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
||||
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
||||
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
||||
.ds ae a\h'-(\w'a'u*4/10)'e
|
||||
.ds Ae A\h'-(\w'A'u*4/10)'E
|
||||
. \" corrections for vroff
|
||||
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
||||
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
||||
. \" for low resolution devices (crt and lpr)
|
||||
.if \n(.H>23 .if \n(.V>19 \
|
||||
\{\
|
||||
. ds : e
|
||||
. ds 8 ss
|
||||
. ds o a
|
||||
. ds d- d\h'-1'\(ga
|
||||
. ds D- D\h'-1'\(hy
|
||||
. ds th \o'bp'
|
||||
. ds Th \o'LP'
|
||||
. ds ae ae
|
||||
. ds Ae AE
|
||||
.\}
|
||||
.rm #[ #] #H #V #F C
|
||||
.\" ========================================================================
|
||||
.\"
|
||||
.IX Title "WINDMC 1"
|
||||
.TH WINDMC 1 "2013-03-25" "binutils-2.23.2" "GNU Development Tools"
|
||||
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||||
.\" way too many mistakes in technical documents.
|
||||
.if n .ad l
|
||||
.nh
|
||||
.SH "NAME"
|
||||
windmc \- generates Windows message resources.
|
||||
.SH "SYNOPSIS"
|
||||
.IX Header "SYNOPSIS"
|
||||
windmc [options] input-file
|
||||
.SH "DESCRIPTION"
|
||||
.IX Header "DESCRIPTION"
|
||||
\&\fBwindmc\fR reads message definitions from an input file (.mc) and
|
||||
translate them into a set of output files. The output files may be of
|
||||
four kinds:
|
||||
.ie n .IP """h""" 4
|
||||
.el .IP "\f(CWh\fR" 4
|
||||
.IX Item "h"
|
||||
A C header file containing the message definitions.
|
||||
.ie n .IP """rc""" 4
|
||||
.el .IP "\f(CWrc\fR" 4
|
||||
.IX Item "rc"
|
||||
A resource file compilable by the \fBwindres\fR tool.
|
||||
.ie n .IP """bin""" 4
|
||||
.el .IP "\f(CWbin\fR" 4
|
||||
.IX Item "bin"
|
||||
One or more binary files containing the resource data for a specific
|
||||
message language.
|
||||
.ie n .IP """dbg""" 4
|
||||
.el .IP "\f(CWdbg\fR" 4
|
||||
.IX Item "dbg"
|
||||
A C include file that maps message id's to their symbolic name.
|
||||
.PP
|
||||
The exact description of these different formats is available in
|
||||
documentation from Microsoft.
|
||||
.PP
|
||||
When \fBwindmc\fR converts from the \f(CW\*(C`mc\*(C'\fR format to the \f(CW\*(C`bin\*(C'\fR
|
||||
format, \f(CW\*(C`rc\*(C'\fR, \f(CW\*(C`h\*(C'\fR, and optional \f(CW\*(C`dbg\*(C'\fR it is acting like the
|
||||
Windows Message Compiler.
|
||||
.SH "OPTIONS"
|
||||
.IX Header "OPTIONS"
|
||||
.IP "\fB\-a\fR" 4
|
||||
.IX Item "-a"
|
||||
.PD 0
|
||||
.IP "\fB\-\-ascii_in\fR" 4
|
||||
.IX Item "--ascii_in"
|
||||
.PD
|
||||
Specifies that the input file specified is \s-1ASCII\s0. This is the default
|
||||
behaviour.
|
||||
.IP "\fB\-A\fR" 4
|
||||
.IX Item "-A"
|
||||
.PD 0
|
||||
.IP "\fB\-\-ascii_out\fR" 4
|
||||
.IX Item "--ascii_out"
|
||||
.PD
|
||||
Specifies that messages in the output \f(CW\*(C`bin\*(C'\fR files should be in \s-1ASCII\s0
|
||||
format.
|
||||
.IP "\fB\-b\fR" 4
|
||||
.IX Item "-b"
|
||||
.PD 0
|
||||
.IP "\fB\-\-binprefix\fR" 4
|
||||
.IX Item "--binprefix"
|
||||
.PD
|
||||
Specifies that \f(CW\*(C`bin\*(C'\fR filenames should have to be prefixed by the
|
||||
basename of the source file.
|
||||
.IP "\fB\-c\fR" 4
|
||||
.IX Item "-c"
|
||||
.PD 0
|
||||
.IP "\fB\-\-customflag\fR" 4
|
||||
.IX Item "--customflag"
|
||||
.PD
|
||||
Sets the customer bit in all message id's.
|
||||
.IP "\fB\-C\fR \fIcodepage\fR" 4
|
||||
.IX Item "-C codepage"
|
||||
.PD 0
|
||||
.IP "\fB\-\-codepage_in\fR \fIcodepage\fR" 4
|
||||
.IX Item "--codepage_in codepage"
|
||||
.PD
|
||||
Sets the default codepage to be used to convert input file to \s-1UTF16\s0. The
|
||||
default is ocdepage 1252.
|
||||
.IP "\fB\-d\fR" 4
|
||||
.IX Item "-d"
|
||||
.PD 0
|
||||
.IP "\fB\-\-decimal_values\fR" 4
|
||||
.IX Item "--decimal_values"
|
||||
.PD
|
||||
Outputs the constants in the header file in decimal. Default is using
|
||||
hexadecimal output.
|
||||
.IP "\fB\-e\fR \fIext\fR" 4
|
||||
.IX Item "-e ext"
|
||||
.PD 0
|
||||
.IP "\fB\-\-extension\fR \fIext\fR" 4
|
||||
.IX Item "--extension ext"
|
||||
.PD
|
||||
The extension for the header file. The default is .h extension.
|
||||
.IP "\fB\-F\fR \fItarget\fR" 4
|
||||
.IX Item "-F target"
|
||||
.PD 0
|
||||
.IP "\fB\-\-target\fR \fItarget\fR" 4
|
||||
.IX Item "--target target"
|
||||
.PD
|
||||
Specify the \s-1BFD\s0 format to use for a bin file as output. This
|
||||
is a \s-1BFD\s0 target name; you can use the \fB\-\-help\fR option to see a list
|
||||
of supported targets. Normally \fBwindmc\fR will use the default
|
||||
format, which is the first one listed by the \fB\-\-help\fR option.
|
||||
.IP "\fB\-h\fR \fIpath\fR" 4
|
||||
.IX Item "-h path"
|
||||
.PD 0
|
||||
.IP "\fB\-\-headerdir\fR \fIpath\fR" 4
|
||||
.IX Item "--headerdir path"
|
||||
.PD
|
||||
The target directory of the generated header file. The default is the
|
||||
current directory.
|
||||
.IP "\fB\-H\fR" 4
|
||||
.IX Item "-H"
|
||||
.PD 0
|
||||
.IP "\fB\-\-help\fR" 4
|
||||
.IX Item "--help"
|
||||
.PD
|
||||
Displays a list of command line options and then exits.
|
||||
.IP "\fB\-m\fR \fIcharacters\fR" 4
|
||||
.IX Item "-m characters"
|
||||
.PD 0
|
||||
.IP "\fB\-\-maxlength\fR \fIcharacters\fR" 4
|
||||
.IX Item "--maxlength characters"
|
||||
.PD
|
||||
Instructs \fBwindmc\fR to generate a warning if the length
|
||||
of any message exceeds the number specified.
|
||||
.IP "\fB\-n\fR" 4
|
||||
.IX Item "-n"
|
||||
.PD 0
|
||||
.IP "\fB\-\-nullterminate\fR" 4
|
||||
.IX Item "--nullterminate"
|
||||
.PD
|
||||
Terminate message text in \f(CW\*(C`bin\*(C'\fR files by zero. By default they are
|
||||
terminated by \s-1CR/LF\s0.
|
||||
.IP "\fB\-o\fR" 4
|
||||
.IX Item "-o"
|
||||
.PD 0
|
||||
.IP "\fB\-\-hresult_use\fR" 4
|
||||
.IX Item "--hresult_use"
|
||||
.PD
|
||||
Not yet implemented. Instructs \f(CW\*(C`windmc\*(C'\fR to generate an \s-1OLE2\s0 header
|
||||
file, using \s-1HRESULT\s0 definitions. Status codes are used if the flag is not
|
||||
specified.
|
||||
.IP "\fB\-O\fR \fIcodepage\fR" 4
|
||||
.IX Item "-O codepage"
|
||||
.PD 0
|
||||
.IP "\fB\-\-codepage_out\fR \fIcodepage\fR" 4
|
||||
.IX Item "--codepage_out codepage"
|
||||
.PD
|
||||
Sets the default codepage to be used to output text files. The default
|
||||
is ocdepage 1252.
|
||||
.IP "\fB\-r\fR \fIpath\fR" 4
|
||||
.IX Item "-r path"
|
||||
.PD 0
|
||||
.IP "\fB\-\-rcdir\fR \fIpath\fR" 4
|
||||
.IX Item "--rcdir path"
|
||||
.PD
|
||||
The target directory for the generated \f(CW\*(C`rc\*(C'\fR script and the generated
|
||||
\&\f(CW\*(C`bin\*(C'\fR files that the resource compiler script includes. The default
|
||||
is the current directory.
|
||||
.IP "\fB\-u\fR" 4
|
||||
.IX Item "-u"
|
||||
.PD 0
|
||||
.IP "\fB\-\-unicode_in\fR" 4
|
||||
.IX Item "--unicode_in"
|
||||
.PD
|
||||
Specifies that the input file is \s-1UTF16\s0.
|
||||
.IP "\fB\-U\fR" 4
|
||||
.IX Item "-U"
|
||||
.PD 0
|
||||
.IP "\fB\-\-unicode_out\fR" 4
|
||||
.IX Item "--unicode_out"
|
||||
.PD
|
||||
Specifies that messages in the output \f(CW\*(C`bin\*(C'\fR file should be in \s-1UTF16\s0
|
||||
format. This is the default behaviour.
|
||||
.IP "\fB\-v\fR" 4
|
||||
.IX Item "-v"
|
||||
.PD 0
|
||||
.IP "\fB\-\-verbose\fR" 4
|
||||
.IX Item "--verbose"
|
||||
.PD
|
||||
Enable verbose mode.
|
||||
.IP "\fB\-V\fR" 4
|
||||
.IX Item "-V"
|
||||
.PD 0
|
||||
.IP "\fB\-\-version\fR" 4
|
||||
.IX Item "--version"
|
||||
.PD
|
||||
Prints the version number for \fBwindmc\fR.
|
||||
.IP "\fB\-x\fR \fIpath\fR" 4
|
||||
.IX Item "-x path"
|
||||
.PD 0
|
||||
.IP "\fB\-\-xdgb\fR \fIpath\fR" 4
|
||||
.IX Item "--xdgb path"
|
||||
.PD
|
||||
The path of the \f(CW\*(C`dbg\*(C'\fR C include file that maps message id's to the
|
||||
symbolic name. No such file is generated without specifying the switch.
|
||||
.IP "\fB@\fR\fIfile\fR" 4
|
||||
.IX Item "@file"
|
||||
Read command-line options from \fIfile\fR. The options read are
|
||||
inserted in place of the original @\fIfile\fR option. If \fIfile\fR
|
||||
does not exist, or cannot be read, then the option will be treated
|
||||
literally, and not removed.
|
||||
.Sp
|
||||
Options in \fIfile\fR are separated by whitespace. A whitespace
|
||||
character may be included in an option by surrounding the entire
|
||||
option in either single or double quotes. Any character (including a
|
||||
backslash) may be included by prefixing the character to be included
|
||||
with a backslash. The \fIfile\fR may itself contain additional
|
||||
@\fIfile\fR options; any such options will be processed recursively.
|
||||
.SH "SEE ALSO"
|
||||
.IX Header "SEE ALSO"
|
||||
the Info entries for \fIbinutils\fR.
|
||||
.SH "COPYRIGHT"
|
||||
.IX Header "COPYRIGHT"
|
||||
Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
|
||||
2010, 2011, 2012
|
||||
Free Software Foundation, Inc.
|
||||
.PP
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3
|
||||
or any later version published by the Free Software Foundation;
|
||||
with no Invariant Sections, with no Front-Cover Texts, and with no
|
||||
Back-Cover Texts. A copy of the license is included in the
|
||||
section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".
|
||||
|
|
@ -0,0 +1,362 @@
|
|||
.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
|
||||
.\"
|
||||
.\" Standard preamble:
|
||||
.\" ========================================================================
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Vb \" Begin verbatim text
|
||||
.ft CW
|
||||
.nf
|
||||
.ne \\$1
|
||||
..
|
||||
.de Ve \" End verbatim text
|
||||
.ft R
|
||||
.fi
|
||||
..
|
||||
.\" Set up some character translations and predefined strings. \*(-- will
|
||||
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
||||
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
|
||||
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
|
||||
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
|
||||
.\" nothing in troff, for use with C<>.
|
||||
.tr \(*W-
|
||||
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
||||
.ie n \{\
|
||||
. ds -- \(*W-
|
||||
. ds PI pi
|
||||
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
||||
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
||||
. ds L" ""
|
||||
. ds R" ""
|
||||
. ds C` ""
|
||||
. ds C' ""
|
||||
'br\}
|
||||
.el\{\
|
||||
. ds -- \|\(em\|
|
||||
. ds PI \(*p
|
||||
. ds L" ``
|
||||
. ds R" ''
|
||||
'br\}
|
||||
.\"
|
||||
.\" Escape single quotes in literal strings from groff's Unicode transform.
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\"
|
||||
.\" If the F register is turned on, we'll generate index entries on stderr for
|
||||
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
|
||||
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
||||
.\" output yourself in some meaningful fashion.
|
||||
.ie \nF \{\
|
||||
. de IX
|
||||
. tm Index:\\$1\t\\n%\t"\\$2"
|
||||
..
|
||||
. nr % 0
|
||||
. rr F
|
||||
.\}
|
||||
.el \{\
|
||||
. de IX
|
||||
..
|
||||
.\}
|
||||
.\"
|
||||
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
||||
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
||||
. \" fudge factors for nroff and troff
|
||||
.if n \{\
|
||||
. ds #H 0
|
||||
. ds #V .8m
|
||||
. ds #F .3m
|
||||
. ds #[ \f1
|
||||
. ds #] \fP
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
||||
. ds #V .6m
|
||||
. ds #F 0
|
||||
. ds #[ \&
|
||||
. ds #] \&
|
||||
.\}
|
||||
. \" simple accents for nroff and troff
|
||||
.if n \{\
|
||||
. ds ' \&
|
||||
. ds ` \&
|
||||
. ds ^ \&
|
||||
. ds , \&
|
||||
. ds ~ ~
|
||||
. ds /
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
||||
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
||||
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
||||
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
||||
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
||||
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
||||
.\}
|
||||
. \" troff and (daisy-wheel) nroff accents
|
||||
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
||||
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
||||
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
||||
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
||||
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
||||
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
||||
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
||||
.ds ae a\h'-(\w'a'u*4/10)'e
|
||||
.ds Ae A\h'-(\w'A'u*4/10)'E
|
||||
. \" corrections for vroff
|
||||
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
||||
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
||||
. \" for low resolution devices (crt and lpr)
|
||||
.if \n(.H>23 .if \n(.V>19 \
|
||||
\{\
|
||||
. ds : e
|
||||
. ds 8 ss
|
||||
. ds o a
|
||||
. ds d- d\h'-1'\(ga
|
||||
. ds D- D\h'-1'\(hy
|
||||
. ds th \o'bp'
|
||||
. ds Th \o'LP'
|
||||
. ds ae ae
|
||||
. ds Ae AE
|
||||
.\}
|
||||
.rm #[ #] #H #V #F C
|
||||
.\" ========================================================================
|
||||
.\"
|
||||
.IX Title "WINDRES 1"
|
||||
.TH WINDRES 1 "2013-03-25" "binutils-2.23.2" "GNU Development Tools"
|
||||
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||||
.\" way too many mistakes in technical documents.
|
||||
.if n .ad l
|
||||
.nh
|
||||
.SH "NAME"
|
||||
windres \- manipulate Windows resources.
|
||||
.SH "SYNOPSIS"
|
||||
.IX Header "SYNOPSIS"
|
||||
windres [options] [input\-file] [output\-file]
|
||||
.SH "DESCRIPTION"
|
||||
.IX Header "DESCRIPTION"
|
||||
\&\fBwindres\fR reads resources from an input file and copies them into
|
||||
an output file. Either file may be in one of three formats:
|
||||
.ie n .IP """rc""" 4
|
||||
.el .IP "\f(CWrc\fR" 4
|
||||
.IX Item "rc"
|
||||
A text format read by the Resource Compiler.
|
||||
.ie n .IP """res""" 4
|
||||
.el .IP "\f(CWres\fR" 4
|
||||
.IX Item "res"
|
||||
A binary format generated by the Resource Compiler.
|
||||
.ie n .IP """coff""" 4
|
||||
.el .IP "\f(CWcoff\fR" 4
|
||||
.IX Item "coff"
|
||||
A \s-1COFF\s0 object or executable.
|
||||
.PP
|
||||
The exact description of these different formats is available in
|
||||
documentation from Microsoft.
|
||||
.PP
|
||||
When \fBwindres\fR converts from the \f(CW\*(C`rc\*(C'\fR format to the \f(CW\*(C`res\*(C'\fR
|
||||
format, it is acting like the Windows Resource Compiler. When
|
||||
\&\fBwindres\fR converts from the \f(CW\*(C`res\*(C'\fR format to the \f(CW\*(C`coff\*(C'\fR
|
||||
format, it is acting like the Windows \f(CW\*(C`CVTRES\*(C'\fR program.
|
||||
.PP
|
||||
When \fBwindres\fR generates an \f(CW\*(C`rc\*(C'\fR file, the output is similar
|
||||
but not identical to the format expected for the input. When an input
|
||||
\&\f(CW\*(C`rc\*(C'\fR file refers to an external filename, an output \f(CW\*(C`rc\*(C'\fR file
|
||||
will instead include the file contents.
|
||||
.PP
|
||||
If the input or output format is not specified, \fBwindres\fR will
|
||||
guess based on the file name, or, for the input file, the file contents.
|
||||
A file with an extension of \fI.rc\fR will be treated as an \f(CW\*(C`rc\*(C'\fR
|
||||
file, a file with an extension of \fI.res\fR will be treated as a
|
||||
\&\f(CW\*(C`res\*(C'\fR file, and a file with an extension of \fI.o\fR or
|
||||
\&\fI.exe\fR will be treated as a \f(CW\*(C`coff\*(C'\fR file.
|
||||
.PP
|
||||
If no output file is specified, \fBwindres\fR will print the resources
|
||||
in \f(CW\*(C`rc\*(C'\fR format to standard output.
|
||||
.PP
|
||||
The normal use is for you to write an \f(CW\*(C`rc\*(C'\fR file, use \fBwindres\fR
|
||||
to convert it to a \s-1COFF\s0 object file, and then link the \s-1COFF\s0 file into
|
||||
your application. This will make the resources described in the
|
||||
\&\f(CW\*(C`rc\*(C'\fR file available to Windows.
|
||||
.SH "OPTIONS"
|
||||
.IX Header "OPTIONS"
|
||||
.IP "\fB\-i\fR \fIfilename\fR" 4
|
||||
.IX Item "-i filename"
|
||||
.PD 0
|
||||
.IP "\fB\-\-input\fR \fIfilename\fR" 4
|
||||
.IX Item "--input filename"
|
||||
.PD
|
||||
The name of the input file. If this option is not used, then
|
||||
\&\fBwindres\fR will use the first non-option argument as the input file
|
||||
name. If there are no non-option arguments, then \fBwindres\fR will
|
||||
read from standard input. \fBwindres\fR can not read a \s-1COFF\s0 file from
|
||||
standard input.
|
||||
.IP "\fB\-o\fR \fIfilename\fR" 4
|
||||
.IX Item "-o filename"
|
||||
.PD 0
|
||||
.IP "\fB\-\-output\fR \fIfilename\fR" 4
|
||||
.IX Item "--output filename"
|
||||
.PD
|
||||
The name of the output file. If this option is not used, then
|
||||
\&\fBwindres\fR will use the first non-option argument, after any used
|
||||
for the input file name, as the output file name. If there is no
|
||||
non-option argument, then \fBwindres\fR will write to standard output.
|
||||
\&\fBwindres\fR can not write a \s-1COFF\s0 file to standard output. Note,
|
||||
for compatibility with \fBrc\fR the option \fB\-fo\fR is also
|
||||
accepted, but its use is not recommended.
|
||||
.IP "\fB\-J\fR \fIformat\fR" 4
|
||||
.IX Item "-J format"
|
||||
.PD 0
|
||||
.IP "\fB\-\-input\-format\fR \fIformat\fR" 4
|
||||
.IX Item "--input-format format"
|
||||
.PD
|
||||
The input format to read. \fIformat\fR may be \fBres\fR, \fBrc\fR, or
|
||||
\&\fBcoff\fR. If no input format is specified, \fBwindres\fR will
|
||||
guess, as described above.
|
||||
.IP "\fB\-O\fR \fIformat\fR" 4
|
||||
.IX Item "-O format"
|
||||
.PD 0
|
||||
.IP "\fB\-\-output\-format\fR \fIformat\fR" 4
|
||||
.IX Item "--output-format format"
|
||||
.PD
|
||||
The output format to generate. \fIformat\fR may be \fBres\fR,
|
||||
\&\fBrc\fR, or \fBcoff\fR. If no output format is specified,
|
||||
\&\fBwindres\fR will guess, as described above.
|
||||
.IP "\fB\-F\fR \fItarget\fR" 4
|
||||
.IX Item "-F target"
|
||||
.PD 0
|
||||
.IP "\fB\-\-target\fR \fItarget\fR" 4
|
||||
.IX Item "--target target"
|
||||
.PD
|
||||
Specify the \s-1BFD\s0 format to use for a \s-1COFF\s0 file as input or output. This
|
||||
is a \s-1BFD\s0 target name; you can use the \fB\-\-help\fR option to see a list
|
||||
of supported targets. Normally \fBwindres\fR will use the default
|
||||
format, which is the first one listed by the \fB\-\-help\fR option.
|
||||
.IP "\fB\-\-preprocessor\fR \fIprogram\fR" 4
|
||||
.IX Item "--preprocessor program"
|
||||
When \fBwindres\fR reads an \f(CW\*(C`rc\*(C'\fR file, it runs it through the C
|
||||
preprocessor first. This option may be used to specify the preprocessor
|
||||
to use, including any leading arguments. The default preprocessor
|
||||
argument is \f(CW\*(C`gcc \-E \-xc\-header \-DRC_INVOKED\*(C'\fR.
|
||||
.IP "\fB\-\-preprocessor\-arg\fR \fIoption\fR" 4
|
||||
.IX Item "--preprocessor-arg option"
|
||||
When \fBwindres\fR reads an \f(CW\*(C`rc\*(C'\fR file, it runs it through
|
||||
the C preprocessor first. This option may be used to specify additional
|
||||
text to be passed to preprocessor on its command line.
|
||||
This option can be used multiple times to add multiple options to the
|
||||
preprocessor command line.
|
||||
.IP "\fB\-I\fR \fIdirectory\fR" 4
|
||||
.IX Item "-I directory"
|
||||
.PD 0
|
||||
.IP "\fB\-\-include\-dir\fR \fIdirectory\fR" 4
|
||||
.IX Item "--include-dir directory"
|
||||
.PD
|
||||
Specify an include directory to use when reading an \f(CW\*(C`rc\*(C'\fR file.
|
||||
\&\fBwindres\fR will pass this to the preprocessor as an \fB\-I\fR
|
||||
option. \fBwindres\fR will also search this directory when looking for
|
||||
files named in the \f(CW\*(C`rc\*(C'\fR file. If the argument passed to this command
|
||||
matches any of the supported \fIformats\fR (as described in the \fB\-J\fR
|
||||
option), it will issue a deprecation warning, and behave just like the
|
||||
\&\fB\-J\fR option. New programs should not use this behaviour. If a
|
||||
directory happens to match a \fIformat\fR, simple prefix it with \fB./\fR
|
||||
to disable the backward compatibility.
|
||||
.IP "\fB\-D\fR \fItarget\fR" 4
|
||||
.IX Item "-D target"
|
||||
.PD 0
|
||||
.IP "\fB\-\-define\fR \fIsym\fR\fB[=\fR\fIval\fR\fB]\fR" 4
|
||||
.IX Item "--define sym[=val]"
|
||||
.PD
|
||||
Specify a \fB\-D\fR option to pass to the preprocessor when reading an
|
||||
\&\f(CW\*(C`rc\*(C'\fR file.
|
||||
.IP "\fB\-U\fR \fItarget\fR" 4
|
||||
.IX Item "-U target"
|
||||
.PD 0
|
||||
.IP "\fB\-\-undefine\fR \fIsym\fR" 4
|
||||
.IX Item "--undefine sym"
|
||||
.PD
|
||||
Specify a \fB\-U\fR option to pass to the preprocessor when reading an
|
||||
\&\f(CW\*(C`rc\*(C'\fR file.
|
||||
.IP "\fB\-r\fR" 4
|
||||
.IX Item "-r"
|
||||
Ignored for compatibility with rc.
|
||||
.IP "\fB\-v\fR" 4
|
||||
.IX Item "-v"
|
||||
Enable verbose mode. This tells you what the preprocessor is if you
|
||||
didn't specify one.
|
||||
.IP "\fB\-c\fR \fIval\fR" 4
|
||||
.IX Item "-c val"
|
||||
.PD 0
|
||||
.IP "\fB\-\-codepage\fR \fIval\fR" 4
|
||||
.IX Item "--codepage val"
|
||||
.PD
|
||||
Specify the default codepage to use when reading an \f(CW\*(C`rc\*(C'\fR file.
|
||||
\&\fIval\fR should be a hexadecimal prefixed by \fB0x\fR or decimal
|
||||
codepage code. The valid range is from zero up to 0xffff, but the
|
||||
validity of the codepage is host and configuration dependent.
|
||||
.IP "\fB\-l\fR \fIval\fR" 4
|
||||
.IX Item "-l val"
|
||||
.PD 0
|
||||
.IP "\fB\-\-language\fR \fIval\fR" 4
|
||||
.IX Item "--language val"
|
||||
.PD
|
||||
Specify the default language to use when reading an \f(CW\*(C`rc\*(C'\fR file.
|
||||
\&\fIval\fR should be a hexadecimal language code. The low eight bits are
|
||||
the language, and the high eight bits are the sublanguage.
|
||||
.IP "\fB\-\-use\-temp\-file\fR" 4
|
||||
.IX Item "--use-temp-file"
|
||||
Use a temporary file to instead of using popen to read the output of
|
||||
the preprocessor. Use this option if the popen implementation is buggy
|
||||
on the host (eg., certain non-English language versions of Windows 95 and
|
||||
Windows 98 are known to have buggy popen where the output will instead
|
||||
go the console).
|
||||
.IP "\fB\-\-no\-use\-temp\-file\fR" 4
|
||||
.IX Item "--no-use-temp-file"
|
||||
Use popen, not a temporary file, to read the output of the preprocessor.
|
||||
This is the default behaviour.
|
||||
.IP "\fB\-h\fR" 4
|
||||
.IX Item "-h"
|
||||
.PD 0
|
||||
.IP "\fB\-\-help\fR" 4
|
||||
.IX Item "--help"
|
||||
.PD
|
||||
Prints a usage summary.
|
||||
.IP "\fB\-V\fR" 4
|
||||
.IX Item "-V"
|
||||
.PD 0
|
||||
.IP "\fB\-\-version\fR" 4
|
||||
.IX Item "--version"
|
||||
.PD
|
||||
Prints the version number for \fBwindres\fR.
|
||||
.IP "\fB\-\-yydebug\fR" 4
|
||||
.IX Item "--yydebug"
|
||||
If \fBwindres\fR is compiled with \f(CW\*(C`YYDEBUG\*(C'\fR defined as \f(CW1\fR,
|
||||
this will turn on parser debugging.
|
||||
.IP "\fB@\fR\fIfile\fR" 4
|
||||
.IX Item "@file"
|
||||
Read command-line options from \fIfile\fR. The options read are
|
||||
inserted in place of the original @\fIfile\fR option. If \fIfile\fR
|
||||
does not exist, or cannot be read, then the option will be treated
|
||||
literally, and not removed.
|
||||
.Sp
|
||||
Options in \fIfile\fR are separated by whitespace. A whitespace
|
||||
character may be included in an option by surrounding the entire
|
||||
option in either single or double quotes. Any character (including a
|
||||
backslash) may be included by prefixing the character to be included
|
||||
with a backslash. The \fIfile\fR may itself contain additional
|
||||
@\fIfile\fR options; any such options will be processed recursively.
|
||||
.SH "SEE ALSO"
|
||||
.IX Header "SEE ALSO"
|
||||
the Info entries for \fIbinutils\fR.
|
||||
.SH "COPYRIGHT"
|
||||
.IX Header "COPYRIGHT"
|
||||
Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
|
||||
2010, 2011, 2012
|
||||
Free Software Foundation, Inc.
|
||||
.PP
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3
|
||||
or any later version published by the Free Software Foundation;
|
||||
with no Invariant Sections, with no Front-Cover Texts, and with no
|
||||
Back-Cover Texts. A copy of the license is included in the
|
||||
section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".
|
||||
|
|
@ -0,0 +1,192 @@
|
|||
.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
|
||||
.\"
|
||||
.\" Standard preamble:
|
||||
.\" ========================================================================
|
||||
.de Sh \" Subsection heading
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Vb \" Begin verbatim text
|
||||
.ft CW
|
||||
.nf
|
||||
.ne \\$1
|
||||
..
|
||||
.de Ve \" End verbatim text
|
||||
.ft R
|
||||
.fi
|
||||
..
|
||||
.\" Set up some character translations and predefined strings. \*(-- will
|
||||
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
||||
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
|
||||
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
|
||||
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
|
||||
.\" nothing in troff, for use with C<>.
|
||||
.tr \(*W-
|
||||
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
||||
.ie n \{\
|
||||
. ds -- \(*W-
|
||||
. ds PI pi
|
||||
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
||||
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
||||
. ds L" ""
|
||||
. ds R" ""
|
||||
. ds C` ""
|
||||
. ds C' ""
|
||||
'br\}
|
||||
.el\{\
|
||||
. ds -- \|\(em\|
|
||||
. ds PI \(*p
|
||||
. ds L" ``
|
||||
. ds R" ''
|
||||
'br\}
|
||||
.\"
|
||||
.\" Escape single quotes in literal strings from groff's Unicode transform.
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\"
|
||||
.\" If the F register is turned on, we'll generate index entries on stderr for
|
||||
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
|
||||
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
||||
.\" output yourself in some meaningful fashion.
|
||||
.ie \nF \{\
|
||||
. de IX
|
||||
. tm Index:\\$1\t\\n%\t"\\$2"
|
||||
..
|
||||
. nr % 0
|
||||
. rr F
|
||||
.\}
|
||||
.el \{\
|
||||
. de IX
|
||||
..
|
||||
.\}
|
||||
.\"
|
||||
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
||||
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
||||
. \" fudge factors for nroff and troff
|
||||
.if n \{\
|
||||
. ds #H 0
|
||||
. ds #V .8m
|
||||
. ds #F .3m
|
||||
. ds #[ \f1
|
||||
. ds #] \fP
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
||||
. ds #V .6m
|
||||
. ds #F 0
|
||||
. ds #[ \&
|
||||
. ds #] \&
|
||||
.\}
|
||||
. \" simple accents for nroff and troff
|
||||
.if n \{\
|
||||
. ds ' \&
|
||||
. ds ` \&
|
||||
. ds ^ \&
|
||||
. ds , \&
|
||||
. ds ~ ~
|
||||
. ds /
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
||||
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
||||
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
||||
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
||||
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
||||
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
||||
.\}
|
||||
. \" troff and (daisy-wheel) nroff accents
|
||||
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
||||
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
||||
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
||||
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
||||
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
||||
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
||||
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
||||
.ds ae a\h'-(\w'a'u*4/10)'e
|
||||
.ds Ae A\h'-(\w'A'u*4/10)'E
|
||||
. \" corrections for vroff
|
||||
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
||||
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
||||
. \" for low resolution devices (crt and lpr)
|
||||
.if \n(.H>23 .if \n(.V>19 \
|
||||
\{\
|
||||
. ds : e
|
||||
. ds 8 ss
|
||||
. ds o a
|
||||
. ds d- d\h'-1'\(ga
|
||||
. ds D- D\h'-1'\(hy
|
||||
. ds th \o'bp'
|
||||
. ds Th \o'LP'
|
||||
. ds ae ae
|
||||
. ds Ae AE
|
||||
.\}
|
||||
.rm #[ #] #H #V #F C
|
||||
.\" ========================================================================
|
||||
.\"
|
||||
.IX Title "FSF-FUNDING 7"
|
||||
.TH FSF-FUNDING 7 "2014-02-28" "gcc-4.8.3" "GNU"
|
||||
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||||
.\" way too many mistakes in technical documents.
|
||||
.if n .ad l
|
||||
.nh
|
||||
.SH "NAME"
|
||||
fsf\-funding \- Funding Free Software
|
||||
.SH "DESCRIPTION"
|
||||
.IX Header "DESCRIPTION"
|
||||
.Sh "Funding Free Software"
|
||||
.IX Subsection "Funding Free Software"
|
||||
If you want to have more free software a few years from now, it makes
|
||||
sense for you to help encourage people to contribute funds for its
|
||||
development. The most effective approach known is to encourage
|
||||
commercial redistributors to donate.
|
||||
.PP
|
||||
Users of free software systems can boost the pace of development by
|
||||
encouraging for-a-fee distributors to donate part of their selling price
|
||||
to free software developers\-\-\-the Free Software Foundation, and others.
|
||||
.PP
|
||||
The way to convince distributors to do this is to demand it and expect
|
||||
it from them. So when you compare distributors, judge them partly by
|
||||
how much they give to free software development. Show distributors
|
||||
they must compete to be the one who gives the most.
|
||||
.PP
|
||||
To make this approach work, you must insist on numbers that you can
|
||||
compare, such as, \*(L"We will donate ten dollars to the Frobnitz project
|
||||
for each disk sold.\*(R" Don't be satisfied with a vague promise, such as
|
||||
\&\*(L"A portion of the profits are donated,\*(R" since it doesn't give a basis
|
||||
for comparison.
|
||||
.PP
|
||||
Even a precise fraction \*(L"of the profits from this disk\*(R" is not very
|
||||
meaningful, since creative accounting and unrelated business decisions
|
||||
can greatly alter what fraction of the sales price counts as profit.
|
||||
If the price you pay is \f(CW$50\fR, ten percent of the profit is probably
|
||||
less than a dollar; it might be a few cents, or nothing at all.
|
||||
.PP
|
||||
Some redistributors do development work themselves. This is useful too;
|
||||
but to keep everyone honest, you need to inquire how much they do, and
|
||||
what kind. Some kinds of development make much more long-term
|
||||
difference than others. For example, maintaining a separate version of
|
||||
a program contributes very little; maintaining the standard version of a
|
||||
program for the whole community contributes much. Easy new ports
|
||||
contribute little, since someone else would surely do them; difficult
|
||||
ports such as adding a new \s-1CPU\s0 to the \s-1GNU\s0 Compiler Collection contribute more;
|
||||
major new features or packages contribute the most.
|
||||
.PP
|
||||
By establishing the idea that supporting further development is \*(L"the
|
||||
proper thing to do\*(R" when distributing free software for a fee, we can
|
||||
assure a steady flow of resources into making more free software.
|
||||
.SH "SEE ALSO"
|
||||
.IX Header "SEE ALSO"
|
||||
\&\fIgpl\fR\|(7), \fIgfdl\fR\|(7).
|
||||
.SH "COPYRIGHT"
|
||||
.IX Header "COPYRIGHT"
|
||||
Copyright (c) 1994 Free Software Foundation, Inc.
|
||||
Verbatim copying and redistribution of this section is permitted
|
||||
without royalty; alteration is not permitted.
|
||||
|
|
@ -0,0 +1,645 @@
|
|||
.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
|
||||
.\"
|
||||
.\" Standard preamble:
|
||||
.\" ========================================================================
|
||||
.de Sh \" Subsection heading
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Vb \" Begin verbatim text
|
||||
.ft CW
|
||||
.nf
|
||||
.ne \\$1
|
||||
..
|
||||
.de Ve \" End verbatim text
|
||||
.ft R
|
||||
.fi
|
||||
..
|
||||
.\" Set up some character translations and predefined strings. \*(-- will
|
||||
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
||||
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
|
||||
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
|
||||
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
|
||||
.\" nothing in troff, for use with C<>.
|
||||
.tr \(*W-
|
||||
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
||||
.ie n \{\
|
||||
. ds -- \(*W-
|
||||
. ds PI pi
|
||||
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
||||
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
||||
. ds L" ""
|
||||
. ds R" ""
|
||||
. ds C` ""
|
||||
. ds C' ""
|
||||
'br\}
|
||||
.el\{\
|
||||
. ds -- \|\(em\|
|
||||
. ds PI \(*p
|
||||
. ds L" ``
|
||||
. ds R" ''
|
||||
'br\}
|
||||
.\"
|
||||
.\" Escape single quotes in literal strings from groff's Unicode transform.
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\"
|
||||
.\" If the F register is turned on, we'll generate index entries on stderr for
|
||||
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
|
||||
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
||||
.\" output yourself in some meaningful fashion.
|
||||
.ie \nF \{\
|
||||
. de IX
|
||||
. tm Index:\\$1\t\\n%\t"\\$2"
|
||||
..
|
||||
. nr % 0
|
||||
. rr F
|
||||
.\}
|
||||
.el \{\
|
||||
. de IX
|
||||
..
|
||||
.\}
|
||||
.\"
|
||||
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
||||
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
||||
. \" fudge factors for nroff and troff
|
||||
.if n \{\
|
||||
. ds #H 0
|
||||
. ds #V .8m
|
||||
. ds #F .3m
|
||||
. ds #[ \f1
|
||||
. ds #] \fP
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
||||
. ds #V .6m
|
||||
. ds #F 0
|
||||
. ds #[ \&
|
||||
. ds #] \&
|
||||
.\}
|
||||
. \" simple accents for nroff and troff
|
||||
.if n \{\
|
||||
. ds ' \&
|
||||
. ds ` \&
|
||||
. ds ^ \&
|
||||
. ds , \&
|
||||
. ds ~ ~
|
||||
. ds /
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
||||
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
||||
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
||||
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
||||
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
||||
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
||||
.\}
|
||||
. \" troff and (daisy-wheel) nroff accents
|
||||
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
||||
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
||||
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
||||
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
||||
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
||||
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
||||
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
||||
.ds ae a\h'-(\w'a'u*4/10)'e
|
||||
.ds Ae A\h'-(\w'A'u*4/10)'E
|
||||
. \" corrections for vroff
|
||||
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
||||
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
||||
. \" for low resolution devices (crt and lpr)
|
||||
.if \n(.H>23 .if \n(.V>19 \
|
||||
\{\
|
||||
. ds : e
|
||||
. ds 8 ss
|
||||
. ds o a
|
||||
. ds d- d\h'-1'\(ga
|
||||
. ds D- D\h'-1'\(hy
|
||||
. ds th \o'bp'
|
||||
. ds Th \o'LP'
|
||||
. ds ae ae
|
||||
. ds Ae AE
|
||||
.\}
|
||||
.rm #[ #] #H #V #F C
|
||||
.\" ========================================================================
|
||||
.\"
|
||||
.IX Title "GFDL 7"
|
||||
.TH GFDL 7 "2014-02-28" "gcc-4.8.3" "GNU"
|
||||
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||||
.\" way too many mistakes in technical documents.
|
||||
.if n .ad l
|
||||
.nh
|
||||
.SH "NAME"
|
||||
gfdl \- GNU Free Documentation License
|
||||
.SH "DESCRIPTION"
|
||||
.IX Header "DESCRIPTION"
|
||||
.Sh "\s-1GNU\s0 Free Documentation License"
|
||||
.IX Subsection "GNU Free Documentation License"
|
||||
.Sh "Version 1.3, 3 November 2008"
|
||||
.IX Subsection "Version 1.3, 3 November 2008"
|
||||
.Vb 2
|
||||
\& Copyright (c) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
|
||||
\& E<lt>B<http://fsf.org/>E<gt>
|
||||
\&
|
||||
\& Everyone is permitted to copy and distribute verbatim copies
|
||||
\& of this license document, but changing it is not allowed.
|
||||
.Ve
|
||||
.IP "0." 4
|
||||
.IX Item "0."
|
||||
\&\s-1PREAMBLE\s0
|
||||
.Sp
|
||||
The purpose of this License is to make a manual, textbook, or other
|
||||
functional and useful document \fIfree\fR in the sense of freedom: to
|
||||
assure everyone the effective freedom to copy and redistribute it,
|
||||
with or without modifying it, either commercially or noncommercially.
|
||||
Secondarily, this License preserves for the author and publisher a way
|
||||
to get credit for their work, while not being considered responsible
|
||||
for modifications made by others.
|
||||
.Sp
|
||||
This License is a kind of \*(L"copyleft\*(R", which means that derivative
|
||||
works of the document must themselves be free in the same sense. It
|
||||
complements the \s-1GNU\s0 General Public License, which is a copyleft
|
||||
license designed for free software.
|
||||
.Sp
|
||||
We have designed this License in order to use it for manuals for free
|
||||
software, because free software needs free documentation: a free
|
||||
program should come with manuals providing the same freedoms that the
|
||||
software does. But this License is not limited to software manuals;
|
||||
it can be used for any textual work, regardless of subject matter or
|
||||
whether it is published as a printed book. We recommend this License
|
||||
principally for works whose purpose is instruction or reference.
|
||||
.IP "1." 4
|
||||
.IX Item "1."
|
||||
\&\s-1APPLICABILITY\s0 \s-1AND\s0 \s-1DEFINITIONS\s0
|
||||
.Sp
|
||||
This License applies to any manual or other work, in any medium, that
|
||||
contains a notice placed by the copyright holder saying it can be
|
||||
distributed under the terms of this License. Such a notice grants a
|
||||
world-wide, royalty-free license, unlimited in duration, to use that
|
||||
work under the conditions stated herein. The \*(L"Document\*(R", below,
|
||||
refers to any such manual or work. Any member of the public is a
|
||||
licensee, and is addressed as \*(L"you\*(R". You accept the license if you
|
||||
copy, modify or distribute the work in a way requiring permission
|
||||
under copyright law.
|
||||
.Sp
|
||||
A \*(L"Modified Version\*(R" of the Document means any work containing the
|
||||
Document or a portion of it, either copied verbatim, or with
|
||||
modifications and/or translated into another language.
|
||||
.Sp
|
||||
A \*(L"Secondary Section\*(R" is a named appendix or a front-matter section
|
||||
of the Document that deals exclusively with the relationship of the
|
||||
publishers or authors of the Document to the Document's overall
|
||||
subject (or to related matters) and contains nothing that could fall
|
||||
directly within that overall subject. (Thus, if the Document is in
|
||||
part a textbook of mathematics, a Secondary Section may not explain
|
||||
any mathematics.) The relationship could be a matter of historical
|
||||
connection with the subject or with related matters, or of legal,
|
||||
commercial, philosophical, ethical or political position regarding
|
||||
them.
|
||||
.Sp
|
||||
The \*(L"Invariant Sections\*(R" are certain Secondary Sections whose titles
|
||||
are designated, as being those of Invariant Sections, in the notice
|
||||
that says that the Document is released under this License. If a
|
||||
section does not fit the above definition of Secondary then it is not
|
||||
allowed to be designated as Invariant. The Document may contain zero
|
||||
Invariant Sections. If the Document does not identify any Invariant
|
||||
Sections then there are none.
|
||||
.Sp
|
||||
The \*(L"Cover Texts\*(R" are certain short passages of text that are listed,
|
||||
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
|
||||
the Document is released under this License. A Front-Cover Text may
|
||||
be at most 5 words, and a Back-Cover Text may be at most 25 words.
|
||||
.Sp
|
||||
A \*(L"Transparent\*(R" copy of the Document means a machine-readable copy,
|
||||
represented in a format whose specification is available to the
|
||||
general public, that is suitable for revising the document
|
||||
straightforwardly with generic text editors or (for images composed of
|
||||
pixels) generic paint programs or (for drawings) some widely available
|
||||
drawing editor, and that is suitable for input to text formatters or
|
||||
for automatic translation to a variety of formats suitable for input
|
||||
to text formatters. A copy made in an otherwise Transparent file
|
||||
format whose markup, or absence of markup, has been arranged to thwart
|
||||
or discourage subsequent modification by readers is not Transparent.
|
||||
An image format is not Transparent if used for any substantial amount
|
||||
of text. A copy that is not \*(L"Transparent\*(R" is called \*(L"Opaque\*(R".
|
||||
.Sp
|
||||
Examples of suitable formats for Transparent copies include plain
|
||||
\&\s-1ASCII\s0 without markup, Texinfo input format, LaTeX input
|
||||
format, \s-1SGML\s0 or \s-1XML\s0 using a publicly available
|
||||
\&\s-1DTD\s0, and standard-conforming simple \s-1HTML\s0,
|
||||
PostScript or \s-1PDF\s0 designed for human modification. Examples
|
||||
of transparent image formats include \s-1PNG\s0, \s-1XCF\s0 and
|
||||
\&\s-1JPG\s0. Opaque formats include proprietary formats that can be
|
||||
read and edited only by proprietary word processors, \s-1SGML\s0 or
|
||||
\&\s-1XML\s0 for which the \s-1DTD\s0 and/or processing tools are
|
||||
not generally available, and the machine-generated \s-1HTML\s0,
|
||||
PostScript or \s-1PDF\s0 produced by some word processors for
|
||||
output purposes only.
|
||||
.Sp
|
||||
The \*(L"Title Page\*(R" means, for a printed book, the title page itself,
|
||||
plus such following pages as are needed to hold, legibly, the material
|
||||
this License requires to appear in the title page. For works in
|
||||
formats which do not have any title page as such, \*(L"Title Page\*(R" means
|
||||
the text near the most prominent appearance of the work's title,
|
||||
preceding the beginning of the body of the text.
|
||||
.Sp
|
||||
The \*(L"publisher\*(R" means any person or entity that distributes copies
|
||||
of the Document to the public.
|
||||
.Sp
|
||||
A section \*(L"Entitled \s-1XYZ\s0\*(R" means a named subunit of the Document whose
|
||||
title either is precisely \s-1XYZ\s0 or contains \s-1XYZ\s0 in parentheses following
|
||||
text that translates \s-1XYZ\s0 in another language. (Here \s-1XYZ\s0 stands for a
|
||||
specific section name mentioned below, such as \*(L"Acknowledgements\*(R",
|
||||
\&\*(L"Dedications\*(R", \*(L"Endorsements\*(R", or \*(L"History\*(R".) To \*(L"Preserve the Title\*(R"
|
||||
of such a section when you modify the Document means that it remains a
|
||||
section \*(L"Entitled \s-1XYZ\s0\*(R" according to this definition.
|
||||
.Sp
|
||||
The Document may include Warranty Disclaimers next to the notice which
|
||||
states that this License applies to the Document. These Warranty
|
||||
Disclaimers are considered to be included by reference in this
|
||||
License, but only as regards disclaiming warranties: any other
|
||||
implication that these Warranty Disclaimers may have is void and has
|
||||
no effect on the meaning of this License.
|
||||
.IP "2." 4
|
||||
.IX Item "2."
|
||||
\&\s-1VERBATIM\s0 \s-1COPYING\s0
|
||||
.Sp
|
||||
You may copy and distribute the Document in any medium, either
|
||||
commercially or noncommercially, provided that this License, the
|
||||
copyright notices, and the license notice saying this License applies
|
||||
to the Document are reproduced in all copies, and that you add no other
|
||||
conditions whatsoever to those of this License. You may not use
|
||||
technical measures to obstruct or control the reading or further
|
||||
copying of the copies you make or distribute. However, you may accept
|
||||
compensation in exchange for copies. If you distribute a large enough
|
||||
number of copies you must also follow the conditions in section 3.
|
||||
.Sp
|
||||
You may also lend copies, under the same conditions stated above, and
|
||||
you may publicly display copies.
|
||||
.IP "3." 4
|
||||
.IX Item "3."
|
||||
\&\s-1COPYING\s0 \s-1IN\s0 \s-1QUANTITY\s0
|
||||
.Sp
|
||||
If you publish printed copies (or copies in media that commonly have
|
||||
printed covers) of the Document, numbering more than 100, and the
|
||||
Document's license notice requires Cover Texts, you must enclose the
|
||||
copies in covers that carry, clearly and legibly, all these Cover
|
||||
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
|
||||
the back cover. Both covers must also clearly and legibly identify
|
||||
you as the publisher of these copies. The front cover must present
|
||||
the full title with all words of the title equally prominent and
|
||||
visible. You may add other material on the covers in addition.
|
||||
Copying with changes limited to the covers, as long as they preserve
|
||||
the title of the Document and satisfy these conditions, can be treated
|
||||
as verbatim copying in other respects.
|
||||
.Sp
|
||||
If the required texts for either cover are too voluminous to fit
|
||||
legibly, you should put the first ones listed (as many as fit
|
||||
reasonably) on the actual cover, and continue the rest onto adjacent
|
||||
pages.
|
||||
.Sp
|
||||
If you publish or distribute Opaque copies of the Document numbering
|
||||
more than 100, you must either include a machine-readable Transparent
|
||||
copy along with each Opaque copy, or state in or with each Opaque copy
|
||||
a computer-network location from which the general network-using
|
||||
public has access to download using public-standard network protocols
|
||||
a complete Transparent copy of the Document, free of added material.
|
||||
If you use the latter option, you must take reasonably prudent steps,
|
||||
when you begin distribution of Opaque copies in quantity, to ensure
|
||||
that this Transparent copy will remain thus accessible at the stated
|
||||
location until at least one year after the last time you distribute an
|
||||
Opaque copy (directly or through your agents or retailers) of that
|
||||
edition to the public.
|
||||
.Sp
|
||||
It is requested, but not required, that you contact the authors of the
|
||||
Document well before redistributing any large number of copies, to give
|
||||
them a chance to provide you with an updated version of the Document.
|
||||
.IP "4." 4
|
||||
.IX Item "4."
|
||||
\&\s-1MODIFICATIONS\s0
|
||||
.Sp
|
||||
You may copy and distribute a Modified Version of the Document under
|
||||
the conditions of sections 2 and 3 above, provided that you release
|
||||
the Modified Version under precisely this License, with the Modified
|
||||
Version filling the role of the Document, thus licensing distribution
|
||||
and modification of the Modified Version to whoever possesses a copy
|
||||
of it. In addition, you must do these things in the Modified Version:
|
||||
.RS 4
|
||||
.IP "A." 4
|
||||
.IX Item "A."
|
||||
Use in the Title Page (and on the covers, if any) a title distinct
|
||||
from that of the Document, and from those of previous versions
|
||||
(which should, if there were any, be listed in the History section
|
||||
of the Document). You may use the same title as a previous version
|
||||
if the original publisher of that version gives permission.
|
||||
.IP "B." 4
|
||||
.IX Item "B."
|
||||
List on the Title Page, as authors, one or more persons or entities
|
||||
responsible for authorship of the modifications in the Modified
|
||||
Version, together with at least five of the principal authors of the
|
||||
Document (all of its principal authors, if it has fewer than five),
|
||||
unless they release you from this requirement.
|
||||
.IP "C." 4
|
||||
.IX Item "C."
|
||||
State on the Title page the name of the publisher of the
|
||||
Modified Version, as the publisher.
|
||||
.IP "D." 4
|
||||
.IX Item "D."
|
||||
Preserve all the copyright notices of the Document.
|
||||
.IP "E." 4
|
||||
.IX Item "E."
|
||||
Add an appropriate copyright notice for your modifications
|
||||
adjacent to the other copyright notices.
|
||||
.IP "F." 4
|
||||
.IX Item "F."
|
||||
Include, immediately after the copyright notices, a license notice
|
||||
giving the public permission to use the Modified Version under the
|
||||
terms of this License, in the form shown in the Addendum below.
|
||||
.IP "G." 4
|
||||
.IX Item "G."
|
||||
Preserve in that license notice the full lists of Invariant Sections
|
||||
and required Cover Texts given in the Document's license notice.
|
||||
.IP "H." 4
|
||||
.IX Item "H."
|
||||
Include an unaltered copy of this License.
|
||||
.IP "I." 4
|
||||
.IX Item "I."
|
||||
Preserve the section Entitled \*(L"History\*(R", Preserve its Title, and add
|
||||
to it an item stating at least the title, year, new authors, and
|
||||
publisher of the Modified Version as given on the Title Page. If
|
||||
there is no section Entitled \*(L"History\*(R" in the Document, create one
|
||||
stating the title, year, authors, and publisher of the Document as
|
||||
given on its Title Page, then add an item describing the Modified
|
||||
Version as stated in the previous sentence.
|
||||
.IP "J." 4
|
||||
.IX Item "J."
|
||||
Preserve the network location, if any, given in the Document for
|
||||
public access to a Transparent copy of the Document, and likewise
|
||||
the network locations given in the Document for previous versions
|
||||
it was based on. These may be placed in the \*(L"History\*(R" section.
|
||||
You may omit a network location for a work that was published at
|
||||
least four years before the Document itself, or if the original
|
||||
publisher of the version it refers to gives permission.
|
||||
.IP "K." 4
|
||||
.IX Item "K."
|
||||
For any section Entitled \*(L"Acknowledgements\*(R" or \*(L"Dedications\*(R", Preserve
|
||||
the Title of the section, and preserve in the section all the
|
||||
substance and tone of each of the contributor acknowledgements and/or
|
||||
dedications given therein.
|
||||
.IP "L." 4
|
||||
.IX Item "L."
|
||||
Preserve all the Invariant Sections of the Document,
|
||||
unaltered in their text and in their titles. Section numbers
|
||||
or the equivalent are not considered part of the section titles.
|
||||
.IP "M." 4
|
||||
.IX Item "M."
|
||||
Delete any section Entitled \*(L"Endorsements\*(R". Such a section
|
||||
may not be included in the Modified Version.
|
||||
.IP "N." 4
|
||||
.IX Item "N."
|
||||
Do not retitle any existing section to be Entitled \*(L"Endorsements\*(R" or
|
||||
to conflict in title with any Invariant Section.
|
||||
.IP "O." 4
|
||||
.IX Item "O."
|
||||
Preserve any Warranty Disclaimers.
|
||||
.RE
|
||||
.RS 4
|
||||
.Sp
|
||||
If the Modified Version includes new front-matter sections or
|
||||
appendices that qualify as Secondary Sections and contain no material
|
||||
copied from the Document, you may at your option designate some or all
|
||||
of these sections as invariant. To do this, add their titles to the
|
||||
list of Invariant Sections in the Modified Version's license notice.
|
||||
These titles must be distinct from any other section titles.
|
||||
.Sp
|
||||
You may add a section Entitled \*(L"Endorsements\*(R", provided it contains
|
||||
nothing but endorsements of your Modified Version by various
|
||||
parties\-\-\-for example, statements of peer review or that the text has
|
||||
been approved by an organization as the authoritative definition of a
|
||||
standard.
|
||||
.Sp
|
||||
You may add a passage of up to five words as a Front-Cover Text, and a
|
||||
passage of up to 25 words as a Back-Cover Text, to the end of the list
|
||||
of Cover Texts in the Modified Version. Only one passage of
|
||||
Front-Cover Text and one of Back-Cover Text may be added by (or
|
||||
through arrangements made by) any one entity. If the Document already
|
||||
includes a cover text for the same cover, previously added by you or
|
||||
by arrangement made by the same entity you are acting on behalf of,
|
||||
you may not add another; but you may replace the old one, on explicit
|
||||
permission from the previous publisher that added the old one.
|
||||
.Sp
|
||||
The author(s) and publisher(s) of the Document do not by this License
|
||||
give permission to use their names for publicity for or to assert or
|
||||
imply endorsement of any Modified Version.
|
||||
.RE
|
||||
.IP "5." 4
|
||||
.IX Item "5."
|
||||
\&\s-1COMBINING\s0 \s-1DOCUMENTS\s0
|
||||
.Sp
|
||||
You may combine the Document with other documents released under this
|
||||
License, under the terms defined in section 4 above for modified
|
||||
versions, provided that you include in the combination all of the
|
||||
Invariant Sections of all of the original documents, unmodified, and
|
||||
list them all as Invariant Sections of your combined work in its
|
||||
license notice, and that you preserve all their Warranty Disclaimers.
|
||||
.Sp
|
||||
The combined work need only contain one copy of this License, and
|
||||
multiple identical Invariant Sections may be replaced with a single
|
||||
copy. If there are multiple Invariant Sections with the same name but
|
||||
different contents, make the title of each such section unique by
|
||||
adding at the end of it, in parentheses, the name of the original
|
||||
author or publisher of that section if known, or else a unique number.
|
||||
Make the same adjustment to the section titles in the list of
|
||||
Invariant Sections in the license notice of the combined work.
|
||||
.Sp
|
||||
In the combination, you must combine any sections Entitled \*(L"History\*(R"
|
||||
in the various original documents, forming one section Entitled
|
||||
\&\*(L"History\*(R"; likewise combine any sections Entitled \*(L"Acknowledgements\*(R",
|
||||
and any sections Entitled \*(L"Dedications\*(R". You must delete all
|
||||
sections Entitled \*(L"Endorsements.\*(R"
|
||||
.IP "6." 4
|
||||
.IX Item "6."
|
||||
\&\s-1COLLECTIONS\s0 \s-1OF\s0 \s-1DOCUMENTS\s0
|
||||
.Sp
|
||||
You may make a collection consisting of the Document and other documents
|
||||
released under this License, and replace the individual copies of this
|
||||
License in the various documents with a single copy that is included in
|
||||
the collection, provided that you follow the rules of this License for
|
||||
verbatim copying of each of the documents in all other respects.
|
||||
.Sp
|
||||
You may extract a single document from such a collection, and distribute
|
||||
it individually under this License, provided you insert a copy of this
|
||||
License into the extracted document, and follow this License in all
|
||||
other respects regarding verbatim copying of that document.
|
||||
.IP "7." 4
|
||||
.IX Item "7."
|
||||
\&\s-1AGGREGATION\s0 \s-1WITH\s0 \s-1INDEPENDENT\s0 \s-1WORKS\s0
|
||||
.Sp
|
||||
A compilation of the Document or its derivatives with other separate
|
||||
and independent documents or works, in or on a volume of a storage or
|
||||
distribution medium, is called an \*(L"aggregate\*(R" if the copyright
|
||||
resulting from the compilation is not used to limit the legal rights
|
||||
of the compilation's users beyond what the individual works permit.
|
||||
When the Document is included in an aggregate, this License does not
|
||||
apply to the other works in the aggregate which are not themselves
|
||||
derivative works of the Document.
|
||||
.Sp
|
||||
If the Cover Text requirement of section 3 is applicable to these
|
||||
copies of the Document, then if the Document is less than one half of
|
||||
the entire aggregate, the Document's Cover Texts may be placed on
|
||||
covers that bracket the Document within the aggregate, or the
|
||||
electronic equivalent of covers if the Document is in electronic form.
|
||||
Otherwise they must appear on printed covers that bracket the whole
|
||||
aggregate.
|
||||
.IP "8." 4
|
||||
.IX Item "8."
|
||||
\&\s-1TRANSLATION\s0
|
||||
.Sp
|
||||
Translation is considered a kind of modification, so you may
|
||||
distribute translations of the Document under the terms of section 4.
|
||||
Replacing Invariant Sections with translations requires special
|
||||
permission from their copyright holders, but you may include
|
||||
translations of some or all Invariant Sections in addition to the
|
||||
original versions of these Invariant Sections. You may include a
|
||||
translation of this License, and all the license notices in the
|
||||
Document, and any Warranty Disclaimers, provided that you also include
|
||||
the original English version of this License and the original versions
|
||||
of those notices and disclaimers. In case of a disagreement between
|
||||
the translation and the original version of this License or a notice
|
||||
or disclaimer, the original version will prevail.
|
||||
.Sp
|
||||
If a section in the Document is Entitled \*(L"Acknowledgements\*(R",
|
||||
\&\*(L"Dedications\*(R", or \*(L"History\*(R", the requirement (section 4) to Preserve
|
||||
its Title (section 1) will typically require changing the actual
|
||||
title.
|
||||
.IP "9." 4
|
||||
.IX Item "9."
|
||||
\&\s-1TERMINATION\s0
|
||||
.Sp
|
||||
You may not copy, modify, sublicense, or distribute the Document
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense, or distribute it is void, and
|
||||
will automatically terminate your rights under this License.
|
||||
.Sp
|
||||
However, if you cease all violation of this License, then your license
|
||||
from a particular copyright holder is reinstated (a) provisionally,
|
||||
unless and until the copyright holder explicitly and finally
|
||||
terminates your license, and (b) permanently, if the copyright holder
|
||||
fails to notify you of the violation by some reasonable means prior to
|
||||
60 days after the cessation.
|
||||
.Sp
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
.Sp
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, receipt of a copy of some or all of the same material does
|
||||
not give you any rights to use it.
|
||||
.IP "10." 4
|
||||
.IX Item "10."
|
||||
\&\s-1FUTURE\s0 \s-1REVISIONS\s0 \s-1OF\s0 \s-1THIS\s0 \s-1LICENSE\s0
|
||||
.Sp
|
||||
The Free Software Foundation may publish new, revised versions
|
||||
of the \s-1GNU\s0 Free Documentation License from time to time. Such new
|
||||
versions will be similar in spirit to the present version, but may
|
||||
differ in detail to address new problems or concerns. See
|
||||
<\fBhttp://www.gnu.org/copyleft/\fR>.
|
||||
.Sp
|
||||
Each version of the License is given a distinguishing version number.
|
||||
If the Document specifies that a particular numbered version of this
|
||||
License \*(L"or any later version\*(R" applies to it, you have the option of
|
||||
following the terms and conditions either of that specified version or
|
||||
of any later version that has been published (not as a draft) by the
|
||||
Free Software Foundation. If the Document does not specify a version
|
||||
number of this License, you may choose any version ever published (not
|
||||
as a draft) by the Free Software Foundation. If the Document
|
||||
specifies that a proxy can decide which future versions of this
|
||||
License can be used, that proxy's public statement of acceptance of a
|
||||
version permanently authorizes you to choose that version for the
|
||||
Document.
|
||||
.IP "11." 4
|
||||
.IX Item "11."
|
||||
\&\s-1RELICENSING\s0
|
||||
.Sp
|
||||
\&\*(L"Massive Multiauthor Collaboration Site\*(R" (or \*(L"\s-1MMC\s0 Site\*(R") means any
|
||||
World Wide Web server that publishes copyrightable works and also
|
||||
provides prominent facilities for anybody to edit those works. A
|
||||
public wiki that anybody can edit is an example of such a server. A
|
||||
\&\*(L"Massive Multiauthor Collaboration\*(R" (or \*(L"\s-1MMC\s0\*(R") contained in the
|
||||
site means any set of copyrightable works thus published on the \s-1MMC\s0
|
||||
site.
|
||||
.Sp
|
||||
\&\*(L"CC-BY-SA\*(R" means the Creative Commons Attribution-Share Alike 3.0
|
||||
license published by Creative Commons Corporation, a not-for-profit
|
||||
corporation with a principal place of business in San Francisco,
|
||||
California, as well as future copyleft versions of that license
|
||||
published by that same organization.
|
||||
.Sp
|
||||
\&\*(L"Incorporate\*(R" means to publish or republish a Document, in whole or
|
||||
in part, as part of another Document.
|
||||
.Sp
|
||||
An \s-1MMC\s0 is \*(L"eligible for relicensing\*(R" if it is licensed under this
|
||||
License, and if all works that were first published under this License
|
||||
somewhere other than this \s-1MMC\s0, and subsequently incorporated in whole
|
||||
or in part into the \s-1MMC\s0, (1) had no cover texts or invariant sections,
|
||||
and (2) were thus incorporated prior to November 1, 2008.
|
||||
.Sp
|
||||
The operator of an \s-1MMC\s0 Site may republish an \s-1MMC\s0 contained in the site
|
||||
under CC-BY-SA on the same site at any time before August 1, 2009,
|
||||
provided the \s-1MMC\s0 is eligible for relicensing.
|
||||
.Sh "\s-1ADDENDUM:\s0 How to use this License for your documents"
|
||||
.IX Subsection "ADDENDUM: How to use this License for your documents"
|
||||
To use this License in a document you have written, include a copy of
|
||||
the License in the document and put the following copyright and
|
||||
license notices just after the title page:
|
||||
.PP
|
||||
.Vb 7
|
||||
\& Copyright (C) <year> <your name>.
|
||||
\& Permission is granted to copy, distribute and/or modify this document
|
||||
\& under the terms of the GNU Free Documentation License, Version 1.3
|
||||
\& or any later version published by the Free Software Foundation;
|
||||
\& with no Invariant Sections, no Front\-Cover Texts, and no Back\-Cover
|
||||
\& Texts. A copy of the license is included in the section entitled "GNU
|
||||
\& Free Documentation License".
|
||||
.Ve
|
||||
.PP
|
||||
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
|
||||
replace the \*(L"with...Texts.\*(R" line with this:
|
||||
.PP
|
||||
.Vb 3
|
||||
\& with the Invariant Sections being <list their titles>, with
|
||||
\& the Front\-Cover Texts being <list>, and with the Back\-Cover Texts
|
||||
\& being <list>.
|
||||
.Ve
|
||||
.PP
|
||||
If you have Invariant Sections without Cover Texts, or some other
|
||||
combination of the three, merge those two alternatives to suit the
|
||||
situation.
|
||||
.PP
|
||||
If your document contains nontrivial examples of program code, we
|
||||
recommend releasing these examples in parallel under your choice of
|
||||
free software license, such as the \s-1GNU\s0 General Public License,
|
||||
to permit their use in free software.
|
||||
.SH "SEE ALSO"
|
||||
.IX Header "SEE ALSO"
|
||||
\&\fIgpl\fR\|(7), \fIfsf\-funding\fR\|(7).
|
||||
.SH "COPYRIGHT"
|
||||
.IX Header "COPYRIGHT"
|
||||
Copyright (c) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
|
||||
<\fBhttp://fsf.org/\fR>
|
||||
.PP
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
|
@ -0,0 +1,849 @@
|
|||
.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
|
||||
.\"
|
||||
.\" Standard preamble:
|
||||
.\" ========================================================================
|
||||
.de Sh \" Subsection heading
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Vb \" Begin verbatim text
|
||||
.ft CW
|
||||
.nf
|
||||
.ne \\$1
|
||||
..
|
||||
.de Ve \" End verbatim text
|
||||
.ft R
|
||||
.fi
|
||||
..
|
||||
.\" Set up some character translations and predefined strings. \*(-- will
|
||||
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
||||
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
|
||||
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
|
||||
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
|
||||
.\" nothing in troff, for use with C<>.
|
||||
.tr \(*W-
|
||||
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
||||
.ie n \{\
|
||||
. ds -- \(*W-
|
||||
. ds PI pi
|
||||
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
||||
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
||||
. ds L" ""
|
||||
. ds R" ""
|
||||
. ds C` ""
|
||||
. ds C' ""
|
||||
'br\}
|
||||
.el\{\
|
||||
. ds -- \|\(em\|
|
||||
. ds PI \(*p
|
||||
. ds L" ``
|
||||
. ds R" ''
|
||||
'br\}
|
||||
.\"
|
||||
.\" Escape single quotes in literal strings from groff's Unicode transform.
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\"
|
||||
.\" If the F register is turned on, we'll generate index entries on stderr for
|
||||
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
|
||||
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
||||
.\" output yourself in some meaningful fashion.
|
||||
.ie \nF \{\
|
||||
. de IX
|
||||
. tm Index:\\$1\t\\n%\t"\\$2"
|
||||
..
|
||||
. nr % 0
|
||||
. rr F
|
||||
.\}
|
||||
.el \{\
|
||||
. de IX
|
||||
..
|
||||
.\}
|
||||
.\"
|
||||
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
||||
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
||||
. \" fudge factors for nroff and troff
|
||||
.if n \{\
|
||||
. ds #H 0
|
||||
. ds #V .8m
|
||||
. ds #F .3m
|
||||
. ds #[ \f1
|
||||
. ds #] \fP
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
||||
. ds #V .6m
|
||||
. ds #F 0
|
||||
. ds #[ \&
|
||||
. ds #] \&
|
||||
.\}
|
||||
. \" simple accents for nroff and troff
|
||||
.if n \{\
|
||||
. ds ' \&
|
||||
. ds ` \&
|
||||
. ds ^ \&
|
||||
. ds , \&
|
||||
. ds ~ ~
|
||||
. ds /
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
||||
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
||||
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
||||
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
||||
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
||||
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
||||
.\}
|
||||
. \" troff and (daisy-wheel) nroff accents
|
||||
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
||||
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
||||
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
||||
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
||||
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
||||
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
||||
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
||||
.ds ae a\h'-(\w'a'u*4/10)'e
|
||||
.ds Ae A\h'-(\w'A'u*4/10)'E
|
||||
. \" corrections for vroff
|
||||
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
||||
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
||||
. \" for low resolution devices (crt and lpr)
|
||||
.if \n(.H>23 .if \n(.V>19 \
|
||||
\{\
|
||||
. ds : e
|
||||
. ds 8 ss
|
||||
. ds o a
|
||||
. ds d- d\h'-1'\(ga
|
||||
. ds D- D\h'-1'\(hy
|
||||
. ds th \o'bp'
|
||||
. ds Th \o'LP'
|
||||
. ds ae ae
|
||||
. ds Ae AE
|
||||
.\}
|
||||
.rm #[ #] #H #V #F C
|
||||
.\" ========================================================================
|
||||
.\"
|
||||
.IX Title "GPL 7"
|
||||
.TH GPL 7 "2014-02-28" "gcc-4.8.3" "GNU"
|
||||
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||||
.\" way too many mistakes in technical documents.
|
||||
.if n .ad l
|
||||
.nh
|
||||
.SH "NAME"
|
||||
gpl \- GNU General Public License
|
||||
.SH "DESCRIPTION"
|
||||
.IX Header "DESCRIPTION"
|
||||
.Sh "\s-1GNU\s0 General Public License"
|
||||
.IX Subsection "GNU General Public License"
|
||||
.Sh "Version 3, 29 June 2007"
|
||||
.IX Subsection "Version 3, 29 June 2007"
|
||||
.Vb 1
|
||||
\& Copyright (c) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
\&
|
||||
\& Everyone is permitted to copy and distribute verbatim copies of this
|
||||
\& license document, but changing it is not allowed.
|
||||
.Ve
|
||||
.Sh "Preamble"
|
||||
.IX Subsection "Preamble"
|
||||
The \s-1GNU\s0 General Public License is a free, copyleft license for
|
||||
software and other kinds of works.
|
||||
.PP
|
||||
The licenses for most software and other practical works are designed
|
||||
to take away your freedom to share and change the works. By contrast,
|
||||
the \s-1GNU\s0 General Public License is intended to guarantee your freedom
|
||||
to share and change all versions of a program\*(--to make sure it remains
|
||||
free software for all its users. We, the Free Software Foundation,
|
||||
use the \s-1GNU\s0 General Public License for most of our software; it
|
||||
applies also to any other work released this way by its authors. You
|
||||
can apply it to your programs, too.
|
||||
.PP
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
them if you wish), that you receive source code or can get it if you
|
||||
want it, that you can change the software or use pieces of it in new
|
||||
free programs, and that you know you can do these things.
|
||||
.PP
|
||||
To protect your rights, we need to prevent others from denying you
|
||||
these rights or asking you to surrender the rights. Therefore, you
|
||||
have certain responsibilities if you distribute copies of the
|
||||
software, or if you modify it: responsibilities to respect the freedom
|
||||
of others.
|
||||
.PP
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must pass on to the recipients the same
|
||||
freedoms that you received. You must make sure that they, too,
|
||||
receive or can get the source code. And you must show them these
|
||||
terms so they know their rights.
|
||||
.PP
|
||||
Developers that use the \s-1GNU\s0 \s-1GPL\s0 protect your rights with two steps:
|
||||
(1) assert copyright on the software, and (2) offer you this License
|
||||
giving you legal permission to copy, distribute and/or modify it.
|
||||
.PP
|
||||
For the developers' and authors' protection, the \s-1GPL\s0 clearly explains
|
||||
that there is no warranty for this free software. For both users' and
|
||||
authors' sake, the \s-1GPL\s0 requires that modified versions be marked as
|
||||
changed, so that their problems will not be attributed erroneously to
|
||||
authors of previous versions.
|
||||
.PP
|
||||
Some devices are designed to deny users access to install or run
|
||||
modified versions of the software inside them, although the
|
||||
manufacturer can do so. This is fundamentally incompatible with the
|
||||
aim of protecting users' freedom to change the software. The
|
||||
systematic pattern of such abuse occurs in the area of products for
|
||||
individuals to use, which is precisely where it is most unacceptable.
|
||||
Therefore, we have designed this version of the \s-1GPL\s0 to prohibit the
|
||||
practice for those products. If such problems arise substantially in
|
||||
other domains, we stand ready to extend this provision to those
|
||||
domains in future versions of the \s-1GPL\s0, as needed to protect the
|
||||
freedom of users.
|
||||
.PP
|
||||
Finally, every program is threatened constantly by software patents.
|
||||
States should not allow patents to restrict development and use of
|
||||
software on general-purpose computers, but in those that do, we wish
|
||||
to avoid the special danger that patents applied to a free program
|
||||
could make it effectively proprietary. To prevent this, the \s-1GPL\s0
|
||||
assures that patents cannot be used to render the program non-free.
|
||||
.PP
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
.Sh "\s-1TERMS\s0 \s-1AND\s0 \s-1CONDITIONS\s0"
|
||||
.IX Subsection "TERMS AND CONDITIONS"
|
||||
.IP "0. Definitions." 4
|
||||
.IX Item "0. Definitions."
|
||||
\&\*(L"This License\*(R" refers to version 3 of the \s-1GNU\s0 General Public License.
|
||||
.Sp
|
||||
\&\*(L"Copyright\*(R" also means copyright-like laws that apply to other kinds
|
||||
of works, such as semiconductor masks.
|
||||
.Sp
|
||||
\&\*(L"The Program\*(R" refers to any copyrightable work licensed under this
|
||||
License. Each licensee is addressed as \*(L"you\*(R". \*(L"Licensees\*(R" and
|
||||
\&\*(L"recipients\*(R" may be individuals or organizations.
|
||||
.Sp
|
||||
To \*(L"modify\*(R" a work means to copy from or adapt all or part of the work
|
||||
in a fashion requiring copyright permission, other than the making of
|
||||
an exact copy. The resulting work is called a \*(L"modified version\*(R" of
|
||||
the earlier work or a work \*(L"based on\*(R" the earlier work.
|
||||
.Sp
|
||||
A \*(L"covered work\*(R" means either the unmodified Program or a work based
|
||||
on the Program.
|
||||
.Sp
|
||||
To \*(L"propagate\*(R" a work means to do anything with it that, without
|
||||
permission, would make you directly or secondarily liable for
|
||||
infringement under applicable copyright law, except executing it on a
|
||||
computer or modifying a private copy. Propagation includes copying,
|
||||
distribution (with or without modification), making available to the
|
||||
public, and in some countries other activities as well.
|
||||
.Sp
|
||||
To \*(L"convey\*(R" a work means any kind of propagation that enables other
|
||||
parties to make or receive copies. Mere interaction with a user
|
||||
through a computer network, with no transfer of a copy, is not
|
||||
conveying.
|
||||
.Sp
|
||||
An interactive user interface displays \*(L"Appropriate Legal Notices\*(R" to
|
||||
the extent that it includes a convenient and prominently visible
|
||||
feature that (1) displays an appropriate copyright notice, and (2)
|
||||
tells the user that there is no warranty for the work (except to the
|
||||
extent that warranties are provided), that licensees may convey the
|
||||
work under this License, and how to view a copy of this License. If
|
||||
the interface presents a list of user commands or options, such as a
|
||||
menu, a prominent item in the list meets this criterion.
|
||||
.IP "1. Source Code." 4
|
||||
.IX Item "1. Source Code."
|
||||
The \*(L"source code\*(R" for a work means the preferred form of the work for
|
||||
making modifications to it. \*(L"Object code\*(R" means any non-source form
|
||||
of a work.
|
||||
.Sp
|
||||
A \*(L"Standard Interface\*(R" means an interface that either is an official
|
||||
standard defined by a recognized standards body, or, in the case of
|
||||
interfaces specified for a particular programming language, one that
|
||||
is widely used among developers working in that language.
|
||||
.Sp
|
||||
The \*(L"System Libraries\*(R" of an executable work include anything, other
|
||||
than the work as a whole, that (a) is included in the normal form of
|
||||
packaging a Major Component, but which is not part of that Major
|
||||
Component, and (b) serves only to enable use of the work with that
|
||||
Major Component, or to implement a Standard Interface for which an
|
||||
implementation is available to the public in source code form. A
|
||||
\&\*(L"Major Component\*(R", in this context, means a major essential component
|
||||
(kernel, window system, and so on) of the specific operating system
|
||||
(if any) on which the executable work runs, or a compiler used to
|
||||
produce the work, or an object code interpreter used to run it.
|
||||
.Sp
|
||||
The \*(L"Corresponding Source\*(R" for a work in object code form means all
|
||||
the source code needed to generate, install, and (for an executable
|
||||
work) run the object code and to modify the work, including scripts to
|
||||
control those activities. However, it does not include the work's
|
||||
System Libraries, or general-purpose tools or generally available free
|
||||
programs which are used unmodified in performing those activities but
|
||||
which are not part of the work. For example, Corresponding Source
|
||||
includes interface definition files associated with source files for
|
||||
the work, and the source code for shared libraries and dynamically
|
||||
linked subprograms that the work is specifically designed to require,
|
||||
such as by intimate data communication or control flow between those
|
||||
subprograms and other parts of the work.
|
||||
.Sp
|
||||
The Corresponding Source need not include anything that users can
|
||||
regenerate automatically from other parts of the Corresponding Source.
|
||||
.Sp
|
||||
The Corresponding Source for a work in source code form is that same
|
||||
work.
|
||||
.IP "2. Basic Permissions." 4
|
||||
.IX Item "2. Basic Permissions."
|
||||
All rights granted under this License are granted for the term of
|
||||
copyright on the Program, and are irrevocable provided the stated
|
||||
conditions are met. This License explicitly affirms your unlimited
|
||||
permission to run the unmodified Program. The output from running a
|
||||
covered work is covered by this License only if the output, given its
|
||||
content, constitutes a covered work. This License acknowledges your
|
||||
rights of fair use or other equivalent, as provided by copyright law.
|
||||
.Sp
|
||||
You may make, run and propagate covered works that you do not convey,
|
||||
without conditions so long as your license otherwise remains in force.
|
||||
You may convey covered works to others for the sole purpose of having
|
||||
them make modifications exclusively for you, or provide you with
|
||||
facilities for running those works, provided that you comply with the
|
||||
terms of this License in conveying all material for which you do not
|
||||
control copyright. Those thus making or running the covered works for
|
||||
you must do so exclusively on your behalf, under your direction and
|
||||
control, on terms that prohibit them from making any copies of your
|
||||
copyrighted material outside their relationship with you.
|
||||
.Sp
|
||||
Conveying under any other circumstances is permitted solely under the
|
||||
conditions stated below. Sublicensing is not allowed; section 10
|
||||
makes it unnecessary.
|
||||
.IP "3. Protecting Users' Legal Rights From Anti-Circumvention Law." 4
|
||||
.IX Item "3. Protecting Users' Legal Rights From Anti-Circumvention Law."
|
||||
No covered work shall be deemed part of an effective technological
|
||||
measure under any applicable law fulfilling obligations under article
|
||||
11 of the \s-1WIPO\s0 copyright treaty adopted on 20 December 1996, or
|
||||
similar laws prohibiting or restricting circumvention of such
|
||||
measures.
|
||||
.Sp
|
||||
When you convey a covered work, you waive any legal power to forbid
|
||||
circumvention of technological measures to the extent such
|
||||
circumvention is effected by exercising rights under this License with
|
||||
respect to the covered work, and you disclaim any intention to limit
|
||||
operation or modification of the work as a means of enforcing, against
|
||||
the work's users, your or third parties' legal rights to forbid
|
||||
circumvention of technological measures.
|
||||
.IP "4. Conveying Verbatim Copies." 4
|
||||
.IX Item "4. Conveying Verbatim Copies."
|
||||
You may convey verbatim copies of the Program's source code as you
|
||||
receive it, in any medium, provided that you conspicuously and
|
||||
appropriately publish on each copy an appropriate copyright notice;
|
||||
keep intact all notices stating that this License and any
|
||||
non-permissive terms added in accord with section 7 apply to the code;
|
||||
keep intact all notices of the absence of any warranty; and give all
|
||||
recipients a copy of this License along with the Program.
|
||||
.Sp
|
||||
You may charge any price or no price for each copy that you convey,
|
||||
and you may offer support or warranty protection for a fee.
|
||||
.IP "5. Conveying Modified Source Versions." 4
|
||||
.IX Item "5. Conveying Modified Source Versions."
|
||||
You may convey a work based on the Program, or the modifications to
|
||||
produce it from the Program, in the form of source code under the
|
||||
terms of section 4, provided that you also meet all of these
|
||||
conditions:
|
||||
.RS 4
|
||||
.IP "a." 4
|
||||
.IX Item "a."
|
||||
The work must carry prominent notices stating that you modified it,
|
||||
and giving a relevant date.
|
||||
.IP "b." 4
|
||||
.IX Item "b."
|
||||
The work must carry prominent notices stating that it is released
|
||||
under this License and any conditions added under section 7. This
|
||||
requirement modifies the requirement in section 4 to \*(L"keep intact all
|
||||
notices\*(R".
|
||||
.IP "c." 4
|
||||
.IX Item "c."
|
||||
You must license the entire work, as a whole, under this License to
|
||||
anyone who comes into possession of a copy. This License will
|
||||
therefore apply, along with any applicable section 7 additional terms,
|
||||
to the whole of the work, and all its parts, regardless of how they
|
||||
are packaged. This License gives no permission to license the work in
|
||||
any other way, but it does not invalidate such permission if you have
|
||||
separately received it.
|
||||
.IP "d." 4
|
||||
.IX Item "d."
|
||||
If the work has interactive user interfaces, each must display
|
||||
Appropriate Legal Notices; however, if the Program has interactive
|
||||
interfaces that do not display Appropriate Legal Notices, your work
|
||||
need not make them do so.
|
||||
.RE
|
||||
.RS 4
|
||||
.Sp
|
||||
A compilation of a covered work with other separate and independent
|
||||
works, which are not by their nature extensions of the covered work,
|
||||
and which are not combined with it such as to form a larger program,
|
||||
in or on a volume of a storage or distribution medium, is called an
|
||||
\&\*(L"aggregate\*(R" if the compilation and its resulting copyright are not
|
||||
used to limit the access or legal rights of the compilation's users
|
||||
beyond what the individual works permit. Inclusion of a covered work
|
||||
in an aggregate does not cause this License to apply to the other
|
||||
parts of the aggregate.
|
||||
.RE
|
||||
.IP "6. Conveying Non-Source Forms." 4
|
||||
.IX Item "6. Conveying Non-Source Forms."
|
||||
You may convey a covered work in object code form under the terms of
|
||||
sections 4 and 5, provided that you also convey the machine-readable
|
||||
Corresponding Source under the terms of this License, in one of these
|
||||
ways:
|
||||
.RS 4
|
||||
.IP "a." 4
|
||||
.IX Item "a."
|
||||
Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by the
|
||||
Corresponding Source fixed on a durable physical medium customarily
|
||||
used for software interchange.
|
||||
.IP "b." 4
|
||||
.IX Item "b."
|
||||
Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by a written
|
||||
offer, valid for at least three years and valid for as long as you
|
||||
offer spare parts or customer support for that product model, to give
|
||||
anyone who possesses the object code either (1) a copy of the
|
||||
Corresponding Source for all the software in the product that is
|
||||
covered by this License, on a durable physical medium customarily used
|
||||
for software interchange, for a price no more than your reasonable
|
||||
cost of physically performing this conveying of source, or (2) access
|
||||
to copy the Corresponding Source from a network server at no charge.
|
||||
.IP "c." 4
|
||||
.IX Item "c."
|
||||
Convey individual copies of the object code with a copy of the written
|
||||
offer to provide the Corresponding Source. This alternative is
|
||||
allowed only occasionally and noncommercially, and only if you
|
||||
received the object code with such an offer, in accord with subsection
|
||||
6b.
|
||||
.IP "d." 4
|
||||
.IX Item "d."
|
||||
Convey the object code by offering access from a designated place
|
||||
(gratis or for a charge), and offer equivalent access to the
|
||||
Corresponding Source in the same way through the same place at no
|
||||
further charge. You need not require recipients to copy the
|
||||
Corresponding Source along with the object code. If the place to copy
|
||||
the object code is a network server, the Corresponding Source may be
|
||||
on a different server (operated by you or a third party) that supports
|
||||
equivalent copying facilities, provided you maintain clear directions
|
||||
next to the object code saying where to find the Corresponding Source.
|
||||
Regardless of what server hosts the Corresponding Source, you remain
|
||||
obligated to ensure that it is available for as long as needed to
|
||||
satisfy these requirements.
|
||||
.IP "e." 4
|
||||
.IX Item "e."
|
||||
Convey the object code using peer-to-peer transmission, provided you
|
||||
inform other peers where the object code and Corresponding Source of
|
||||
the work are being offered to the general public at no charge under
|
||||
subsection 6d.
|
||||
.RE
|
||||
.RS 4
|
||||
.Sp
|
||||
A separable portion of the object code, whose source code is excluded
|
||||
from the Corresponding Source as a System Library, need not be
|
||||
included in conveying the object code work.
|
||||
.Sp
|
||||
A \*(L"User Product\*(R" is either (1) a \*(L"consumer product\*(R", which means any
|
||||
tangible personal property which is normally used for personal,
|
||||
family, or household purposes, or (2) anything designed or sold for
|
||||
incorporation into a dwelling. In determining whether a product is a
|
||||
consumer product, doubtful cases shall be resolved in favor of
|
||||
coverage. For a particular product received by a particular user,
|
||||
\&\*(L"normally used\*(R" refers to a typical or common use of that class of
|
||||
product, regardless of the status of the particular user or of the way
|
||||
in which the particular user actually uses, or expects or is expected
|
||||
to use, the product. A product is a consumer product regardless of
|
||||
whether the product has substantial commercial, industrial or
|
||||
non-consumer uses, unless such uses represent the only significant
|
||||
mode of use of the product.
|
||||
.Sp
|
||||
\&\*(L"Installation Information\*(R" for a User Product means any methods,
|
||||
procedures, authorization keys, or other information required to
|
||||
install and execute modified versions of a covered work in that User
|
||||
Product from a modified version of its Corresponding Source. The
|
||||
information must suffice to ensure that the continued functioning of
|
||||
the modified object code is in no case prevented or interfered with
|
||||
solely because modification has been made.
|
||||
.Sp
|
||||
If you convey an object code work under this section in, or with, or
|
||||
specifically for use in, a User Product, and the conveying occurs as
|
||||
part of a transaction in which the right of possession and use of the
|
||||
User Product is transferred to the recipient in perpetuity or for a
|
||||
fixed term (regardless of how the transaction is characterized), the
|
||||
Corresponding Source conveyed under this section must be accompanied
|
||||
by the Installation Information. But this requirement does not apply
|
||||
if neither you nor any third party retains the ability to install
|
||||
modified object code on the User Product (for example, the work has
|
||||
been installed in \s-1ROM\s0).
|
||||
.Sp
|
||||
The requirement to provide Installation Information does not include a
|
||||
requirement to continue to provide support service, warranty, or
|
||||
updates for a work that has been modified or installed by the
|
||||
recipient, or for the User Product in which it has been modified or
|
||||
installed. Access to a network may be denied when the modification
|
||||
itself materially and adversely affects the operation of the network
|
||||
or violates the rules and protocols for communication across the
|
||||
network.
|
||||
.Sp
|
||||
Corresponding Source conveyed, and Installation Information provided,
|
||||
in accord with this section must be in a format that is publicly
|
||||
documented (and with an implementation available to the public in
|
||||
source code form), and must require no special password or key for
|
||||
unpacking, reading or copying.
|
||||
.RE
|
||||
.IP "7. Additional Terms." 4
|
||||
.IX Item "7. Additional Terms."
|
||||
\&\*(L"Additional permissions\*(R" are terms that supplement the terms of this
|
||||
License by making exceptions from one or more of its conditions.
|
||||
Additional permissions that are applicable to the entire Program shall
|
||||
be treated as though they were included in this License, to the extent
|
||||
that they are valid under applicable law. If additional permissions
|
||||
apply only to part of the Program, that part may be used separately
|
||||
under those permissions, but the entire Program remains governed by
|
||||
this License without regard to the additional permissions.
|
||||
.Sp
|
||||
When you convey a copy of a covered work, you may at your option
|
||||
remove any additional permissions from that copy, or from any part of
|
||||
it. (Additional permissions may be written to require their own
|
||||
removal in certain cases when you modify the work.) You may place
|
||||
additional permissions on material, added by you to a covered work,
|
||||
for which you have or can give appropriate copyright permission.
|
||||
.Sp
|
||||
Notwithstanding any other provision of this License, for material you
|
||||
add to a covered work, you may (if authorized by the copyright holders
|
||||
of that material) supplement the terms of this License with terms:
|
||||
.RS 4
|
||||
.IP "a." 4
|
||||
.IX Item "a."
|
||||
Disclaiming warranty or limiting liability differently from the terms
|
||||
of sections 15 and 16 of this License; or
|
||||
.IP "b." 4
|
||||
.IX Item "b."
|
||||
Requiring preservation of specified reasonable legal notices or author
|
||||
attributions in that material or in the Appropriate Legal Notices
|
||||
displayed by works containing it; or
|
||||
.IP "c." 4
|
||||
.IX Item "c."
|
||||
Prohibiting misrepresentation of the origin of that material, or
|
||||
requiring that modified versions of such material be marked in
|
||||
reasonable ways as different from the original version; or
|
||||
.IP "d." 4
|
||||
.IX Item "d."
|
||||
Limiting the use for publicity purposes of names of licensors or
|
||||
authors of the material; or
|
||||
.IP "e." 4
|
||||
.IX Item "e."
|
||||
Declining to grant rights under trademark law for use of some trade
|
||||
names, trademarks, or service marks; or
|
||||
.IP "f." 4
|
||||
.IX Item "f."
|
||||
Requiring indemnification of licensors and authors of that material by
|
||||
anyone who conveys the material (or modified versions of it) with
|
||||
contractual assumptions of liability to the recipient, for any
|
||||
liability that these contractual assumptions directly impose on those
|
||||
licensors and authors.
|
||||
.RE
|
||||
.RS 4
|
||||
.Sp
|
||||
All other non-permissive additional terms are considered \*(L"further
|
||||
restrictions\*(R" within the meaning of section 10. If the Program as you
|
||||
received it, or any part of it, contains a notice stating that it is
|
||||
governed by this License along with a term that is a further
|
||||
restriction, you may remove that term. If a license document contains
|
||||
a further restriction but permits relicensing or conveying under this
|
||||
License, you may add to a covered work material governed by the terms
|
||||
of that license document, provided that the further restriction does
|
||||
not survive such relicensing or conveying.
|
||||
.Sp
|
||||
If you add terms to a covered work in accord with this section, you
|
||||
must place, in the relevant source files, a statement of the
|
||||
additional terms that apply to those files, or a notice indicating
|
||||
where to find the applicable terms.
|
||||
.Sp
|
||||
Additional terms, permissive or non-permissive, may be stated in the
|
||||
form of a separately written license, or stated as exceptions; the
|
||||
above requirements apply either way.
|
||||
.RE
|
||||
.IP "8. Termination." 4
|
||||
.IX Item "8. Termination."
|
||||
You may not propagate or modify a covered work except as expressly
|
||||
provided under this License. Any attempt otherwise to propagate or
|
||||
modify it is void, and will automatically terminate your rights under
|
||||
this License (including any patent licenses granted under the third
|
||||
paragraph of section 11).
|
||||
.Sp
|
||||
However, if you cease all violation of this License, then your license
|
||||
from a particular copyright holder is reinstated (a) provisionally,
|
||||
unless and until the copyright holder explicitly and finally
|
||||
terminates your license, and (b) permanently, if the copyright holder
|
||||
fails to notify you of the violation by some reasonable means prior to
|
||||
60 days after the cessation.
|
||||
.Sp
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
.Sp
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, you do not qualify to receive new licenses for the same
|
||||
material under section 10.
|
||||
.IP "9. Acceptance Not Required for Having Copies." 4
|
||||
.IX Item "9. Acceptance Not Required for Having Copies."
|
||||
You are not required to accept this License in order to receive or run
|
||||
a copy of the Program. Ancillary propagation of a covered work
|
||||
occurring solely as a consequence of using peer-to-peer transmission
|
||||
to receive a copy likewise does not require acceptance. However,
|
||||
nothing other than this License grants you permission to propagate or
|
||||
modify any covered work. These actions infringe copyright if you do
|
||||
not accept this License. Therefore, by modifying or propagating a
|
||||
covered work, you indicate your acceptance of this License to do so.
|
||||
.IP "10. Automatic Licensing of Downstream Recipients." 4
|
||||
.IX Item "10. Automatic Licensing of Downstream Recipients."
|
||||
Each time you convey a covered work, the recipient automatically
|
||||
receives a license from the original licensors, to run, modify and
|
||||
propagate that work, subject to this License. You are not responsible
|
||||
for enforcing compliance by third parties with this License.
|
||||
.Sp
|
||||
An \*(L"entity transaction\*(R" is a transaction transferring control of an
|
||||
organization, or substantially all assets of one, or subdividing an
|
||||
organization, or merging organizations. If propagation of a covered
|
||||
work results from an entity transaction, each party to that
|
||||
transaction who receives a copy of the work also receives whatever
|
||||
licenses to the work the party's predecessor in interest had or could
|
||||
give under the previous paragraph, plus a right to possession of the
|
||||
Corresponding Source of the work from the predecessor in interest, if
|
||||
the predecessor has it or can get it with reasonable efforts.
|
||||
.Sp
|
||||
You may not impose any further restrictions on the exercise of the
|
||||
rights granted or affirmed under this License. For example, you may
|
||||
not impose a license fee, royalty, or other charge for exercise of
|
||||
rights granted under this License, and you may not initiate litigation
|
||||
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||
any patent claim is infringed by making, using, selling, offering for
|
||||
sale, or importing the Program or any portion of it.
|
||||
.IP "11. Patents." 4
|
||||
.IX Item "11. Patents."
|
||||
A \*(L"contributor\*(R" is a copyright holder who authorizes use under this
|
||||
License of the Program or a work on which the Program is based. The
|
||||
work thus licensed is called the contributor's \*(L"contributor version\*(R".
|
||||
.Sp
|
||||
A contributor's \*(L"essential patent claims\*(R" are all patent claims owned
|
||||
or controlled by the contributor, whether already acquired or
|
||||
hereafter acquired, that would be infringed by some manner, permitted
|
||||
by this License, of making, using, or selling its contributor version,
|
||||
but do not include claims that would be infringed only as a
|
||||
consequence of further modification of the contributor version. For
|
||||
purposes of this definition, \*(L"control\*(R" includes the right to grant
|
||||
patent sublicenses in a manner consistent with the requirements of
|
||||
this License.
|
||||
.Sp
|
||||
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||
patent license under the contributor's essential patent claims, to
|
||||
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||
propagate the contents of its contributor version.
|
||||
.Sp
|
||||
In the following three paragraphs, a \*(L"patent license\*(R" is any express
|
||||
agreement or commitment, however denominated, not to enforce a patent
|
||||
(such as an express permission to practice a patent or covenant not to
|
||||
sue for patent infringement). To \*(L"grant\*(R" such a patent license to a
|
||||
party means to make such an agreement or commitment not to enforce a
|
||||
patent against the party.
|
||||
.Sp
|
||||
If you convey a covered work, knowingly relying on a patent license,
|
||||
and the Corresponding Source of the work is not available for anyone
|
||||
to copy, free of charge and under the terms of this License, through a
|
||||
publicly available network server or other readily accessible means,
|
||||
then you must either (1) cause the Corresponding Source to be so
|
||||
available, or (2) arrange to deprive yourself of the benefit of the
|
||||
patent license for this particular work, or (3) arrange, in a manner
|
||||
consistent with the requirements of this License, to extend the patent
|
||||
license to downstream recipients. \*(L"Knowingly relying\*(R" means you have
|
||||
actual knowledge that, but for the patent license, your conveying the
|
||||
covered work in a country, or your recipient's use of the covered work
|
||||
in a country, would infringe one or more identifiable patents in that
|
||||
country that you have reason to believe are valid.
|
||||
.Sp
|
||||
If, pursuant to or in connection with a single transaction or
|
||||
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||
covered work, and grant a patent license to some of the parties
|
||||
receiving the covered work authorizing them to use, propagate, modify
|
||||
or convey a specific copy of the covered work, then the patent license
|
||||
you grant is automatically extended to all recipients of the covered
|
||||
work and works based on it.
|
||||
.Sp
|
||||
A patent license is \*(L"discriminatory\*(R" if it does not include within the
|
||||
scope of its coverage, prohibits the exercise of, or is conditioned on
|
||||
the non-exercise of one or more of the rights that are specifically
|
||||
granted under this License. You may not convey a covered work if you
|
||||
are a party to an arrangement with a third party that is in the
|
||||
business of distributing software, under which you make payment to the
|
||||
third party based on the extent of your activity of conveying the
|
||||
work, and under which the third party grants, to any of the parties
|
||||
who would receive the covered work from you, a discriminatory patent
|
||||
license (a) in connection with copies of the covered work conveyed by
|
||||
you (or copies made from those copies), or (b) primarily for and in
|
||||
connection with specific products or compilations that contain the
|
||||
covered work, unless you entered into that arrangement, or that patent
|
||||
license was granted, prior to 28 March 2007.
|
||||
.Sp
|
||||
Nothing in this License shall be construed as excluding or limiting
|
||||
any implied license or other defenses to infringement that may
|
||||
otherwise be available to you under applicable patent law.
|
||||
.IP "12. No Surrender of Others' Freedom." 4
|
||||
.IX Item "12. No Surrender of Others' Freedom."
|
||||
If conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot convey
|
||||
a covered work so as to satisfy simultaneously your obligations under
|
||||
this License and any other pertinent obligations, then as a
|
||||
consequence you may not convey it at all. For example, if you agree
|
||||
to terms that obligate you to collect a royalty for further conveying
|
||||
from those to whom you convey the Program, the only way you could
|
||||
satisfy both those terms and this License would be to refrain entirely
|
||||
from conveying the Program.
|
||||
.IP "13. Use with the \s-1GNU\s0 Affero General Public License." 4
|
||||
.IX Item "13. Use with the GNU Affero General Public License."
|
||||
Notwithstanding any other provision of this License, you have
|
||||
permission to link or combine any covered work with a work licensed
|
||||
under version 3 of the \s-1GNU\s0 Affero General Public License into a single
|
||||
combined work, and to convey the resulting work. The terms of this
|
||||
License will continue to apply to the part which is the covered work,
|
||||
but the special requirements of the \s-1GNU\s0 Affero General Public License,
|
||||
section 13, concerning interaction through a network will apply to the
|
||||
combination as such.
|
||||
.IP "14. Revised Versions of this License." 4
|
||||
.IX Item "14. Revised Versions of this License."
|
||||
The Free Software Foundation may publish revised and/or new versions
|
||||
of the \s-1GNU\s0 General Public License from time to time. Such new
|
||||
versions will be similar in spirit to the present version, but may
|
||||
differ in detail to address new problems or concerns.
|
||||
.Sp
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies that a certain numbered version of the \s-1GNU\s0 General Public
|
||||
License \*(L"or any later version\*(R" applies to it, you have the option of
|
||||
following the terms and conditions either of that numbered version or
|
||||
of any later version published by the Free Software Foundation. If
|
||||
the Program does not specify a version number of the \s-1GNU\s0 General
|
||||
Public License, you may choose any version ever published by the Free
|
||||
Software Foundation.
|
||||
.Sp
|
||||
If the Program specifies that a proxy can decide which future versions
|
||||
of the \s-1GNU\s0 General Public License can be used, that proxy's public
|
||||
statement of acceptance of a version permanently authorizes you to
|
||||
choose that version for the Program.
|
||||
.Sp
|
||||
Later license versions may give you additional or different
|
||||
permissions. However, no additional obligations are imposed on any
|
||||
author or copyright holder as a result of your choosing to follow a
|
||||
later version.
|
||||
.IP "15. Disclaimer of Warranty." 4
|
||||
.IX Item "15. Disclaimer of Warranty."
|
||||
\&\s-1THERE\s0 \s-1IS\s0 \s-1NO\s0 \s-1WARRANTY\s0 \s-1FOR\s0 \s-1THE\s0 \s-1PROGRAM\s0, \s-1TO\s0 \s-1THE\s0 \s-1EXTENT\s0 \s-1PERMITTED\s0 \s-1BY\s0
|
||||
\&\s-1APPLICABLE\s0 \s-1LAW\s0. \s-1EXCEPT\s0 \s-1WHEN\s0 \s-1OTHERWISE\s0 \s-1STATED\s0 \s-1IN\s0 \s-1WRITING\s0 \s-1THE\s0 \s-1COPYRIGHT\s0
|
||||
\&\s-1HOLDERS\s0 \s-1AND/OR\s0 \s-1OTHER\s0 \s-1PARTIES\s0 \s-1PROVIDE\s0 \s-1THE\s0 \s-1PROGRAM\s0 \*(L"\s-1AS\s0 \s-1IS\s0\*(R" \s-1WITHOUT\s0
|
||||
\&\s-1WARRANTY\s0 \s-1OF\s0 \s-1ANY\s0 \s-1KIND\s0, \s-1EITHER\s0 \s-1EXPRESSED\s0 \s-1OR\s0 \s-1IMPLIED\s0, \s-1INCLUDING\s0, \s-1BUT\s0 \s-1NOT\s0
|
||||
\&\s-1LIMITED\s0 \s-1TO\s0, \s-1THE\s0 \s-1IMPLIED\s0 \s-1WARRANTIES\s0 \s-1OF\s0 \s-1MERCHANTABILITY\s0 \s-1AND\s0 \s-1FITNESS\s0 \s-1FOR\s0
|
||||
A \s-1PARTICULAR\s0 \s-1PURPOSE\s0. \s-1THE\s0 \s-1ENTIRE\s0 \s-1RISK\s0 \s-1AS\s0 \s-1TO\s0 \s-1THE\s0 \s-1QUALITY\s0 \s-1AND\s0
|
||||
\&\s-1PERFORMANCE\s0 \s-1OF\s0 \s-1THE\s0 \s-1PROGRAM\s0 \s-1IS\s0 \s-1WITH\s0 \s-1YOU\s0. \s-1SHOULD\s0 \s-1THE\s0 \s-1PROGRAM\s0 \s-1PROVE\s0
|
||||
\&\s-1DEFECTIVE\s0, \s-1YOU\s0 \s-1ASSUME\s0 \s-1THE\s0 \s-1COST\s0 \s-1OF\s0 \s-1ALL\s0 \s-1NECESSARY\s0 \s-1SERVICING\s0, \s-1REPAIR\s0 \s-1OR\s0
|
||||
\&\s-1CORRECTION\s0.
|
||||
.IP "16. Limitation of Liability." 4
|
||||
.IX Item "16. Limitation of Liability."
|
||||
\&\s-1IN\s0 \s-1NO\s0 \s-1EVENT\s0 \s-1UNLESS\s0 \s-1REQUIRED\s0 \s-1BY\s0 \s-1APPLICABLE\s0 \s-1LAW\s0 \s-1OR\s0 \s-1AGREED\s0 \s-1TO\s0 \s-1IN\s0 \s-1WRITING\s0
|
||||
\&\s-1WILL\s0 \s-1ANY\s0 \s-1COPYRIGHT\s0 \s-1HOLDER\s0, \s-1OR\s0 \s-1ANY\s0 \s-1OTHER\s0 \s-1PARTY\s0 \s-1WHO\s0 \s-1MODIFIES\s0 \s-1AND/OR\s0
|
||||
\&\s-1CONVEYS\s0 \s-1THE\s0 \s-1PROGRAM\s0 \s-1AS\s0 \s-1PERMITTED\s0 \s-1ABOVE\s0, \s-1BE\s0 \s-1LIABLE\s0 \s-1TO\s0 \s-1YOU\s0 \s-1FOR\s0 \s-1DAMAGES\s0,
|
||||
\&\s-1INCLUDING\s0 \s-1ANY\s0 \s-1GENERAL\s0, \s-1SPECIAL\s0, \s-1INCIDENTAL\s0 \s-1OR\s0 \s-1CONSEQUENTIAL\s0 \s-1DAMAGES\s0
|
||||
\&\s-1ARISING\s0 \s-1OUT\s0 \s-1OF\s0 \s-1THE\s0 \s-1USE\s0 \s-1OR\s0 \s-1INABILITY\s0 \s-1TO\s0 \s-1USE\s0 \s-1THE\s0 \s-1PROGRAM\s0 (\s-1INCLUDING\s0 \s-1BUT\s0
|
||||
\&\s-1NOT\s0 \s-1LIMITED\s0 \s-1TO\s0 \s-1LOSS\s0 \s-1OF\s0 \s-1DATA\s0 \s-1OR\s0 \s-1DATA\s0 \s-1BEING\s0 \s-1RENDERED\s0 \s-1INACCURATE\s0 \s-1OR\s0
|
||||
\&\s-1LOSSES\s0 \s-1SUSTAINED\s0 \s-1BY\s0 \s-1YOU\s0 \s-1OR\s0 \s-1THIRD\s0 \s-1PARTIES\s0 \s-1OR\s0 A \s-1FAILURE\s0 \s-1OF\s0 \s-1THE\s0 \s-1PROGRAM\s0
|
||||
\&\s-1TO\s0 \s-1OPERATE\s0 \s-1WITH\s0 \s-1ANY\s0 \s-1OTHER\s0 \s-1PROGRAMS\s0), \s-1EVEN\s0 \s-1IF\s0 \s-1SUCH\s0 \s-1HOLDER\s0 \s-1OR\s0 \s-1OTHER\s0
|
||||
\&\s-1PARTY\s0 \s-1HAS\s0 \s-1BEEN\s0 \s-1ADVISED\s0 \s-1OF\s0 \s-1THE\s0 \s-1POSSIBILITY\s0 \s-1OF\s0 \s-1SUCH\s0 \s-1DAMAGES\s0.
|
||||
.IP "17. Interpretation of Sections 15 and 16." 4
|
||||
.IX Item "17. Interpretation of Sections 15 and 16."
|
||||
If the disclaimer of warranty and limitation of liability provided
|
||||
above cannot be given local legal effect according to their terms,
|
||||
reviewing courts shall apply local law that most closely approximates
|
||||
an absolute waiver of all civil liability in connection with the
|
||||
Program, unless a warranty or assumption of liability accompanies a
|
||||
copy of the Program in return for a fee.
|
||||
.Sh "\s-1END\s0 \s-1OF\s0 \s-1TERMS\s0 \s-1AND\s0 \s-1CONDITIONS\s0"
|
||||
.IX Subsection "END OF TERMS AND CONDITIONS"
|
||||
.Sh "How to Apply These Terms to Your New Programs"
|
||||
.IX Subsection "How to Apply These Terms to Your New Programs"
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these
|
||||
terms.
|
||||
.PP
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
state the exclusion of warranty; and each file should have at least
|
||||
the \*(L"copyright\*(R" line and a pointer to where the full notice is found.
|
||||
.PP
|
||||
.Vb 2
|
||||
\& <one line to give the program\*(Aqs name and a brief idea of what it does.>
|
||||
\& Copyright (C) <year> <name of author>
|
||||
\&
|
||||
\& This program is free software: you can redistribute it and/or modify
|
||||
\& it under the terms of the GNU General Public License as published by
|
||||
\& the Free Software Foundation, either version 3 of the License, or (at
|
||||
\& your option) any later version.
|
||||
\&
|
||||
\& This program is distributed in the hope that it will be useful, but
|
||||
\& WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
\& MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
\& General Public License for more details.
|
||||
\&
|
||||
\& You should have received a copy of the GNU General Public License
|
||||
\& along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
.Ve
|
||||
.PP
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
.PP
|
||||
If the program does terminal interaction, make it output a short
|
||||
notice like this when it starts in an interactive mode:
|
||||
.PP
|
||||
.Vb 4
|
||||
\& <program> Copyright (C) <year> <name of author>
|
||||
\& This program comes with ABSOLUTELY NO WARRANTY; for details type "show w".
|
||||
\& This is free software, and you are welcome to redistribute it
|
||||
\& under certain conditions; type "show c" for details.
|
||||
.Ve
|
||||
.PP
|
||||
The hypothetical commands \fBshow w\fR and \fBshow c\fR should show
|
||||
the appropriate parts of the General Public License. Of course, your
|
||||
program's commands might be different; for a \s-1GUI\s0 interface, you would
|
||||
use an \*(L"about box\*(R".
|
||||
.PP
|
||||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a \*(L"copyright disclaimer\*(R" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the \s-1GNU\s0 \s-1GPL\s0, see
|
||||
<\fBhttp://www.gnu.org/licenses/\fR>.
|
||||
.PP
|
||||
The \s-1GNU\s0 General Public License does not permit incorporating your
|
||||
program into proprietary programs. If your program is a subroutine
|
||||
library, you may consider it more useful to permit linking proprietary
|
||||
applications with the library. If this is what you want to do, use
|
||||
the \s-1GNU\s0 Lesser General Public License instead of this License. But
|
||||
first, please read <\fBhttp://www.gnu.org/philosophy/why\-not\-lgpl.html\fR>.
|
||||
.SH "SEE ALSO"
|
||||
.IX Header "SEE ALSO"
|
||||
\&\fIgfdl\fR\|(7), \fIfsf\-funding\fR\|(7).
|
||||
.SH "COPYRIGHT"
|
||||
.IX Header "COPYRIGHT"
|
||||
Copyright (c) 2007 Free Software Foundation, Inc.
|
||||
.PP
|
||||
Everyone is permitted to copy and distribute verbatim copies of this
|
||||
license document, but changing it is not allowed.
|
||||
Loading…
Add table
Add a link
Reference in a new issue