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