.\" Automatically generated by Pod::Man version 1.02
.\" Wed May 30 12:24:29 2001
.\"
.\" 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 Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.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.  | will give a
.\" real vertical bar.  \*(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-|\(bv\*(Tr
.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\}
.\"
.\" 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.
.if \nF \{\
.    de IX
.    tm Index:\\$1\t\\n%\t"\\$2"
.    .
.    nr % 0
.    rr F
.\}
.\"
.\" For nroff, turn off justification.  Always turn off hyphenation; it
.\" makes way too many mistakes in technical documents.
.hy 0
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
.bd B 3
.    \" 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 1"
.TH READELF.1 1 "binutils-2.11.90" "2001-05-30" "GNU"
.UC
.SH "NAME"
readelf \- Displays information about \s-1ELF\s0 files.
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
readelf [ \-a | \-\-all ] 
        [ \-h | \-\-file-header]
        [ \-l | \-\-program-headers | \-\-segments]
        [ \-S | \-\-section-headers | \-\-sections]
        [ \-e | \-\-headers]
        [ \-s | \-\-syms | \-\-symbols]
        [ \-n | \-\-notes]
        [ \-r | \-\-relocs]
        [ \-u | \-\-unwind]
        [ \-d | \-\-dynamic]
        [ \-V | \-\-version-info]
        [ \-D | \-\-use-dynamic]
        [ \-x <number> | \-\-hex-dump=<number>]
        [ \-w[liaprf] | \-\-debug-dump[=info,=line,=abbrev,=pubnames,=ranges,=frames]]
        [      \-\-histogram]
        [ \-v | \-\-version]
        [ \-H | \-\-help]
        \fIelffile\fR...
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
\&\f(CW\*(C`readelf\*(C'\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.  At the
moment, \f(CW\*(C`readelf\*(C'\fR does not support examining archives, nor does it
support examing 64 bit \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 option besides \fB\-v\fR or \fB\-H\fR must be
given. 
.Ip "\f(CW\*(C`\-a\*(C'\fR" 4
.IX Item "-a"
.Ip "\f(CW\*(C`\-\-all\*(C'\fR" 4
.IX Item "--all"
Equivalent to specifiying \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 "\f(CW\*(C`\-h\*(C'\fR" 4
.IX Item "-h"
.Ip "\f(CW\*(C`\-\-file\-header\*(C'\fR" 4
.IX Item "--file-header"
Displays the information contained in the \s-1ELF\s0 header at the start of the
file.
.Ip "\f(CW\*(C`\-l\*(C'\fR" 4
.IX Item "-l"
.Ip "\f(CW\*(C`\-\-program\-headers\*(C'\fR" 4
.IX Item "--program-headers"
.Ip "\f(CW\*(C`\-\-segments\*(C'\fR" 4
.IX Item "--segments"
Displays the information contained in the file's segment headers, if it
has any.
.Ip "\f(CW\*(C`\-S\*(C'\fR" 4
.IX Item "-S"
.Ip "\f(CW\*(C`\-\-sections\*(C'\fR" 4
.IX Item "--sections"
.Ip "\f(CW\*(C`\-\-section\-headers\*(C'\fR" 4
.IX Item "--section-headers"
Displays the information contained in the file's section headers, if it
has any.
.Ip "\f(CW\*(C`\-s\*(C'\fR" 4
.IX Item "-s"
.Ip "\f(CW\*(C`\-\-symbols\*(C'\fR" 4
.IX Item "--symbols"
.Ip "\f(CW\*(C`\-\-syms\*(C'\fR" 4
.IX Item "--syms"
Displays the entries in symbol table section of the file, if it has one.
.Ip "\f(CW\*(C`\-e\*(C'\fR" 4
.IX Item "-e"
.Ip "\f(CW\*(C`\-\-headers\*(C'\fR" 4
.IX Item "--headers"
Display all the headers in the file.  Equivalent to \fB\-h \-l \-S\fR.
.Ip "\f(CW\*(C`\-n\*(C'\fR" 4
.IX Item "-n"
.Ip "\f(CW\*(C`\-\-notes\*(C'\fR" 4
.IX Item "--notes"
Displays the contents of the \s-1NOTE\s0 segment, if it exists.
.Ip "\f(CW\*(C`\-r\*(C'\fR" 4
.IX Item "-r"
.Ip "\f(CW\*(C`\-\-relocs\*(C'\fR" 4
.IX Item "--relocs"
Displays the contents of the file's relocation section, if it has one.
.Ip "\f(CW\*(C`\-u\*(C'\fR" 4
.IX Item "-u"
.Ip "\f(CW\*(C`\-\-unwind\*(C'\fR" 4
.IX Item "--unwind"
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 are currently supported.
.Ip "\f(CW\*(C`\-d\*(C'\fR" 4
.IX Item "-d"
.Ip "\f(CW\*(C`\-\-dynamic\*(C'\fR" 4
.IX Item "--dynamic"
Displays the contents of the file's dynamic section, if it has one.
.Ip "\f(CW\*(C`\-V\*(C'\fR" 4
.IX Item "-V"
.Ip "\f(CW\*(C`\-\-version\-info\*(C'\fR" 4
.IX Item "--version-info"
Displays the contents of the version sections in the file, it they
exist.
.Ip "\f(CW\*(C`\-D\*(C'\fR" 4
.IX Item "-D"
.Ip "\f(CW\*(C`\-\-use\-dynamic\*(C'\fR" 4
.IX Item "--use-dynamic"
When displaying symbols, this option makes \f(CW\*(C`readelf\*(C'\fR use the
symbol table in the file's dynamic section, rather than the one in the
symbols section.
.Ip "\f(CW\*(C`\-x <number>\*(C'\fR" 4
.IX Item "-x <number>"
.Ip "\f(CW\*(C`\-\-hex\-dump=<number>\*(C'\fR" 4
.IX Item "--hex-dump=<number>"
Displays the contents of the indicated section as a hexadecimal dump.
.Ip "\f(CW\*(C`\-w[liaprf]\*(C'\fR" 4
.IX Item "-w[liaprf]"
.Ip "\f(CW\*(C`\-\-debug\-dump[=line,=info,=abbrev,=pubnames,=ranges,=frames]\*(C'\fR" 4
.IX Item "--debug-dump[=line,=info,=abbrev,=pubnames,=ranges,=frames]"
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.
.Ip "\f(CW\*(C`\-\-histogram\*(C'\fR" 4
.IX Item "--histogram"
Display a histogram of bucket list lengths when displaying the contents
of the symbol tables.
.Ip "\f(CW\*(C`\-v\*(C'\fR" 4
.IX Item "-v"
.Ip "\f(CW\*(C`\-\-version\*(C'\fR" 4
.IX Item "--version"
Display the version number of readelf.
.Ip "\f(CW\*(C`\-H\*(C'\fR" 4
.IX Item "-H"
.Ip "\f(CW\*(C`\-\-help\*(C'\fR" 4
.IX Item "--help"
Display the command line options understood by \f(CW\*(C`readelf\*(C'\fR.
.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, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 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.1
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".
