1.\" Copyright (c) 2009,2011 Joseph Koshy <jkoshy@users.sourceforge.net> 2.\" All rights reserved. 3.\" 4.\" Redistribution and use in source and binary forms, with or without 5.\" modification, are permitted provided that the following conditions 6.\" are met: 7.\" 1. Redistributions of source code must retain the above copyright 8.\" notice, this list of conditions and the following disclaimer 9.\" in this position and unchanged. 10.\" 2. Redistributions in binary form must reproduce the above copyright 11.\" notice, this list of conditions and the following disclaimer in the 12.\" documentation and/or other materials provided with the distribution. 13.\" 14.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR 15.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 16.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 17.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 18.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 19.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 20.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 21.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 23.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24.\" 25.\" $Id: readelf.1 3753 2019-06-28 01:13:13Z emaste $ 26.\" 27.Dd June 27, 2019 28.Dt READELF 1 29.Os 30.Sh NAME 31.Nm readelf 32.Nd display information about ELF objects 33.Sh SYNOPSIS 34.Nm 35.Op Fl a | Fl -all 36.Op Fl c | Fl -archive-index 37.Op Fl d | Fl -dynamic 38.Op Fl e | Fl -headers 39.Op Fl g | Fl -section-groups 40.Op Fl h | Fl -file-header 41.Op Fl l | Fl -program-headers 42.Op Fl n | Fl -notes 43.Op Fl p Ar section | Fl -string-dump Ns = Ns Ar section 44.Op Fl r | Fl -relocs 45.Op Fl t | Fl -section-details 46.Op Fl v | Fl -version 47.Oo 48.Fl w Ns Oo Ns Ar afilmoprsFLR Ns Oc | 49.Fl -debug-dump Ns Op Ns = Ns Ar long-option-name , Ns ... 50.Oc 51.Op Fl x Ar section | Fl -hex-dump Ns = Ns Ar section 52.Op Fl A | Fl -arch-specific 53.Op Fl D | Fl -use-dynamic 54.Op Fl H | Fl -help 55.Op Fl I | Fl -histogram 56.Op Fl N | -full-section-name 57.Op Fl S | Fl -sections | Fl -section-headers 58.Op Fl V | Fl -version-info 59.Op Fl W | Fl -wide 60.Ar file... 61.Sh DESCRIPTION 62The 63.Nm 64utility displays information about ELF objects and 65.Xr ar 1 66archives. 67.Pp 68The 69.Nm 70utility recognizes the following options: 71.Bl -tag -width indent 72.It Fl a | Fl -all 73Turn on the following flags: 74.Fl d , 75.Fl h , 76.Fl I , 77.Fl l , 78.Fl r , 79.Fl s , 80.Fl A , 81.Fl S 82and 83.Fl V . 84.It Fl c | Fl -archive-index 85Print the archive symbol table for archives. 86.It Fl d | Fl -dynamic 87Print the contents of the 88.Li SHT_DYNAMIC 89sections in the ELF object. 90.It Fl e | Fl -headers 91Print all program, file and section headers in the ELF object. 92.It Fl g | Fl -section-groups 93Print the contents of the section groups in the ELF object. 94.It Fl h | Fl -file-header 95Print the file header of the ELF object. 96.It Fl l | Fl -program-headers 97Print the content of the program header table for the object. 98.It Fl n | Fl -notes 99Print the contents of 100.Li PT_NOTE 101segments or 102.Li SHT_NOTE 103sections present in the ELF object. 104.It Fl p Ar section | Fl -string-dump Ns = Ns Ar section 105Print the contents of the specified section as printable strings. 106The argument 107.Ar section 108should be the name of a section or a numeric section index. 109.It Fl r | Fl -relocs 110Print relocation information. 111.It Fl s | Fl -syms | Fl -symbols 112Print symbol tables. 113.It Fl t | Fl -section-details 114Print additional information about sections, such as the flags 115fields in section headers. 116Implies 117.Fl S . 118.It Fl v | Fl -version 119Prints a version identifier for 120.Nm 121and exits. 122.It Fl w Ns Oo afilmoprsFLR Oc | Xo 123.Fl -debug-dump Ns Op Ns = Ns Ar long-option-name , Ns ... 124.Xc 125Display DWARF information. 126The 127.Fl w 128option is used with the short options in the following 129table; the 130.Fl -debug-dump 131option is used with a comma-separated list of the corresponding long 132option names: 133.Bl -column ".Em Short Option" "aranges|ranges" 134.It Em Short Option Ta Em Long Option Ta Em Description 135.It a Ta abbrev Ta Show abbreviation information. 136.It f Ta frames Ta Show frame information, displaying frame instructions. 137.It i Ta info Ta Show debugging information entries. 138.It l Ta rawline Ta Show line information in raw form. 139.It m Ta macro Ta Show macro information. 140.It o Ta loc Ta Show location list information. 141.It p Ta pubnames Ta Show global names. 142.It r Ta aranges|ranges Ta Show address range information. 143.It s Ta str Ta Show the debug string table. 144.It F Ta frames-interp Ta Show frame information, displaying register rules. 145.It L Ta decodedline Ta Show line information in decoded form. 146.It R Ta Ranges Ta Show range lists. 147.El 148.Pp 149If no sub-options are specified, the default is to show information 150corresponding to the 151.Ar a , f , i, l , o , p , r , s 152and 153.Ar R 154short options. 155.It Fl x Ar section | Fl -hex-dump Ns = Ns Ar section 156Display the contents of the specified section in hexadecimal. 157The argument 158.Ar section 159should be the name of a section or a numeric section index. 160.It Fl A | Fl -arch-specific 161This option is accepted but is currently unimplemented. 162.It Fl D | Fl -use-dynamic 163Print the symbol table specified by the 164.Li DT_SYMTAB 165entry in the 166.Dq Li .dynamic 167section. 168.It Fl H | Fl -help 169Print a help message. 170.It Fl I | Fl -histogram 171Print information on bucket list lengths for sections of type 172.Li SHT_HASH 173and 174.Li SHT_GNU_HASH . 175.It Fl N | Fl -full-section-name 176This option is accepted but is currently unimplemented. 177.It Fl S | Fl -sections | Fl -section-headers 178Print information in the section headers for each ELF object. 179.It Fl V | Fl -version-info 180Print symbol versioning information. 181.It Fl W | Fl -wide 182Print information about ELF structures using one long line per 183structure. 184If this option is not specified, 185.Nm 186will list information in the headers of 64 bit ELF objects on two 187separate lines. 188.El 189.Sh EXIT STATUS 190.Ex -std 191.Sh SEE ALSO 192.Xr nm 1 , 193.Xr addr2line 1 , 194.Xr elfcopy 1 , 195.Sh AUTHORS 196The 197.Nm 198utility was written by 199.An Kai Wang Aq Mt kaiwang27@users.sourceforge.net . 200