mirror of
https://github.com/rtlduino/RTL8710AF_GCC.git
synced 2026-07-17 08:45: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".
|
||||
Loading…
Add table
Add a link
Reference in a new issue