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 October 31, 2020 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 z | Fl -decompress 53.Op Fl A | Fl -arch-specific 54.Op Fl D | Fl -use-dynamic 55.Op Fl H | Fl -help 56.Op Fl I | Fl -histogram 57.Op Fl N | -full-section-name 58.Op Fl S | Fl -sections | Fl -section-headers 59.Op Fl V | Fl -version-info 60.Op Fl W | Fl -wide 61.Ar file... 62.Sh DESCRIPTION 63The 64.Nm 65utility displays information about ELF objects and 66.Xr ar 1 67archives. 68.Pp 69The 70.Nm 71utility recognizes the following options: 72.Bl -tag -width indent 73.It Fl a | Fl -all 74Turn on the following flags: 75.Fl d , 76.Fl h , 77.Fl I , 78.Fl l , 79.Fl r , 80.Fl s , 81.Fl A , 82.Fl S 83and 84.Fl V . 85.It Fl c | Fl -archive-index 86Print the archive symbol table for archives. 87.It Fl d | Fl -dynamic 88Print the contents of the 89.Li SHT_DYNAMIC 90sections in the ELF object. 91.It Fl e | Fl -headers 92Print all program, file and section headers in the ELF object. 93.It Fl g | Fl -section-groups 94Print the contents of the section groups in the ELF object. 95.It Fl h | Fl -file-header 96Print the file header of the ELF object. 97.It Fl l | Fl -program-headers 98Print the content of the program header table for the object. 99.It Fl n | Fl -notes 100Print the contents of 101.Li PT_NOTE 102segments or 103.Li SHT_NOTE 104sections present in the ELF object. 105.It Fl p Ar section | Fl -string-dump Ns = Ns Ar section 106Print the contents of the specified section as printable strings. 107The argument 108.Ar section 109should be the name of a section or a numeric section index. 110.It Fl r | Fl -relocs 111Print relocation information. 112.It Fl s | Fl -syms | Fl -symbols 113Print symbol tables. 114.It Fl t | Fl -section-details 115Print additional information about sections, such as the flags 116fields in section headers. 117Implies 118.Fl S . 119.It Fl v | Fl -version 120Prints a version identifier for 121.Nm 122and exits. 123.It Fl w Ns Oo afilmoprsFLR Oc | Xo 124.Fl -debug-dump Ns Op Ns = Ns Ar long-option-name , Ns ... 125.Xc 126Display DWARF information. 127The 128.Fl w 129option is used with the short options in the following 130table; the 131.Fl -debug-dump 132option is used with a comma-separated list of the corresponding long 133option names: 134.Bl -column ".Em Short Option" "aranges|ranges" 135.It Em Short Option Ta Em Long Option Ta Em Description 136.It a Ta abbrev Ta Show abbreviation information. 137.It f Ta frames Ta Show frame information, displaying frame instructions. 138.It i Ta info Ta Show debugging information entries. 139.It l Ta rawline Ta Show line information in raw form. 140.It m Ta macro Ta Show macro information. 141.It o Ta loc Ta Show location list information. 142.It p Ta pubnames Ta Show global names. 143.It r Ta aranges|ranges Ta Show address range information. 144.It s Ta str Ta Show the debug string table. 145.It F Ta frames-interp Ta Show frame information, displaying register rules. 146.It L Ta decodedline Ta Show line information in decoded form. 147.It R Ta Ranges Ta Show range lists. 148.El 149.Pp 150If no sub-options are specified, the default is to show information 151corresponding to the 152.Ar a , f , i, l , o , p , r , s 153and 154.Ar R 155short options. 156.It Fl x Ar section | Fl -hex-dump Ns = Ns Ar section 157Display the contents of the specified section in hexadecimal. 158The argument 159.Ar section 160should be the name of a section or a numeric section index. 161.It Fl z | Fl -decompress 162Decompress contents of sections specified by 163.Fl x 164or 165.Fl p 166before displaying. 167If the specified section is not compressed, it is displayed as is. 168.It Fl A | Fl -arch-specific 169This option is accepted but is currently unimplemented. 170.It Fl D | Fl -use-dynamic 171Print the symbol table specified by the 172.Li DT_SYMTAB 173entry in the 174.Dq Li .dynamic 175section. 176.It Fl H | Fl -help 177Print a help message. 178.It Fl I | Fl -histogram 179Print information on bucket list lengths for sections of type 180.Li SHT_HASH 181and 182.Li SHT_GNU_HASH . 183.It Fl N | Fl -full-section-name 184This option is accepted but is currently unimplemented. 185.It Fl S | Fl -sections | Fl -section-headers 186Print information in the section headers for each ELF object. 187.It Fl V | Fl -version-info 188Print symbol versioning information. 189.It Fl W | Fl -wide 190Print information about ELF structures using one long line per 191structure. 192If this option is not specified, 193.Nm 194will list information in the headers of 64 bit ELF objects on two 195separate lines. 196.El 197.Sh EXIT STATUS 198.Ex -std 199.Sh SEE ALSO 200.Xr nm 1 , 201.Xr addr2line 1 , 202.Xr elfcopy 1 , 203.Sh AUTHORS 204The 205.Nm 206utility was written by 207.An Kai Wang Aq Mt kaiwang27@users.sourceforge.net . 208