elfdump(1) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

elfdump(1)

elfdump(1)                       User Commands                      elfdump(1)

NAME
       elfdump - dumps selected parts of an object file

SYNOPSIS
       elfdump [-cCdegGhHiklLmnPrsSuvVy] [-p | -w file]
            [-F fmtopt1,fmtopt2,...] [-I index-expr]
            [-N name] [-O osabi] [-T type] file...

DESCRIPTION
       The  elfdump utility symbolically dumps selected parts of the specified
       object file(s). The options allow specific portions of the file  to  be
       displayed.


       The  elfdump utility is similar in function to the dump(1) utility. The
       dump utility offers an older and less user-friendly interface than elf‐
       dump, although dump might be more appropriate for certain uses such  as
       in shell scripts.


       Archive  files,  produced by ar(1), can also be inspected with elfdump.
       In this case, each object within the archive is processed using the op‐
       tions supplied.


       elfdump can display the ELF header, program header array,  and  section
       header  array  for  any ELF object. It is also able to display the data
       found in the following types of sections:


         Category                      Option     ELF Section Type
         Dynamic                        -d        SHT_DYNAMIC
         Global Offset Table (GOT)      -G        Special, see below.
         Group                          -g        SHT_GROUP
         Capabilities                   -H        SHT_SUNW_cap
         Hash Table                     -h        SHT_HASH
         Init/Fini Array                          SHT_INIT_ARRAY
                                                  SHT_FINI_ARRAY
                                                  SHT_PREINIT_ARRAY
         Interpreter                    -i        Special, see below.
         Move                           -m        SHT_SUNW_move
         Note                           -n        SHT_NOTE
         Procedure Linkage Table (PLT)  -L        Special, see below.
         Relocation                     -r        SHT_RELA
                                                  SHT_REL
         Stack Unwind/Exceptions        -u        Special, see below.
         Syminfo                        -y        SHT_SUNW_syminfo
         Symbol Sort                    -S        SHT_SUNW_symsort
                                                  SHT_SUNW_tlssort
         Symbol Table                   -s        SHT_SYMTAB
                                                  SHT_DYNSYM
                                                  SHT_SUNW_LDYNSYM
                                                  SHT_SUNW_versym
         Versioning                     -v        SHT_SUNW_verdef
                                                  SHT_SUNW_verneed



       An object may contain section types not listed here. The elfdump  util‐
       ity  does not produce output for such sections. Other utilities may ex‐
       ist to display the contents of such sections. See  ctfdump(1),  dis(1),
       and  elfsign(1).  In addition, compilers typically provide utilities to
       display the contents of the debug sections they create.


       The general matching options (-I, -N, -T) can be  used  to  select  the
       display of data for any desired section. See Matching Options. In addi‐
       tion,  elfdump  provides  convenience options for the most commonly re‐
       quested types of section data.


       Interpreter, global offset table, and procedure linkage table  sections
       do  not have a special ELF section type, but are instead implemented as
       SHT_PROGBITS sections with well known names (.interp,  .got,  and  .plt
       respectively).  elfdump  is able to recognize and display these special
       sections.


       When run without options to narrow the information  displayed,  elfdump
       displays all available information for each object.


       For  a  complete description of the displayed information, refer to the
       Oracle Solaris 11.4 Linkers and Libraries Guide.

OPTIONS
       The following options are supported:

       -c

           Dumps section header information.


       -C

           Equivalent to -F demangle. See -F.


       -d

           Dumps the contents of the .dynamic section.


       -e

           Dumps the ELF header.


       -F fmtopt1, fmtopt2,...

           Alternative output format options are specified with a comma  sepa‐
           rated list of one or more of the following.

           demangle

               Demangles C++ symbol names.


           fileprefix

               Prefix every line of output with the name of the object.


           fixhextab

               Display  hexadecimal  values  in tabular output as machine word
               sized zero-filled values. By  default,  elfdump  displays  such
               values in a natural format that does not include leading zeros.


           notrunc

               Displays long section names without truncation.


           shndx | shndxonly

               Alter  the  format  used  to display section indexes. The shndx
               format option displays sections by index and  name,  using  the
               format  [index]name. The shndxonly format option omits the name
               and displays only the section index, using the format [index].

               By default, when displaying section header information, a  sec‐
               tion  index  referenced  by the sh_link or the sh_info field is
               displayed as a simple numeric value. Other  displays,  such  as
               symbol  table entries and relocations, display only the section
               name. The shndx and shndxonly format options display  all  sec‐
               tion  indexes in a consistent manner, using the associated for‐
               mat.



       -g

           Dumps the contents of the .group section.


       -G

           Dumps the contents of the .got section.


       -h

           Dumps the contents of the .hash section.


       -H

           Dumps the contents of the .SUNW_cap capabilities section.


       -i

           Dumps the contents of the .interp section.


       -I index-expr

           Qualifies the sections or program headers to examine  with  a  spe‐
           cific  index  or index range. For example, the third section header
           in a file can be displayed using:


             example% elfdump -c -I 3 filename

           An index-expr can be a single non-negative integer value that spec‐
           ifies a specific item, as shown in the previous  example.  Alterna‐
           tively, an index-expr can consist of two such values separated by a
           colon  (:), indicating a range of items. The following example dis‐
           plays the third, fourth, and fifth program headers in a file:


             example% elfdump -p -I 3:5 filename

           When specifying an index range, the second value can be omitted  to
           indicate  the  final  item  in the file. For example, the following
           statement lists all section headers from the tenth to the end:


             example% elfdump -c -I 10: filename

           See Matching Options for additional information about the  matching
           options (-I, -N, -T).


       -k

           Calculates the ELF checksum. See gelf_checksum(3ELF).


       -l

           Equivalent to -F notrunc. See -F.


       -L

           Dumps the contents of the .plt section.


       -m

           Dumps the contents of the .SUNW_move section.


       -n

           Dumps  the contents of .note sections. By default, elfdump displays
           this data without interpretation in hexadecimal  form.  Core  files
           are  an  exception.  A  subset  of the core file notes described in
           core(5) are interpreted by elfdump and displayed in  a  high  level
           format:   NT_PLATFORM,  NT_AUXV,  NT_ASRS,  NT_PSTATUS,  NT_PSINFO,
           NT_PRCRED,  NT_UTSNAME,   NT_LWPSTATUS,   NT_LWPSINFO,   NT_PRPRIV,
           NT_PRPRIVINFO, NT_CONTENT, NT_ZONENAME, NT_SIGACTION and NT_FDINFO.


       -N name

           Qualifies  the  sections  or program headers to examine with a spe‐
           cific name. For example, in a file that contains more than one sym‐
           bol table, the .dynsym symbol table can be displayed by itself  us‐
           ing:


             example% elfdump -N .dynsym filename

           ELF  program  headers do not have names. If the -p option is speci‐
           fied, name refers to the program header type, and the  behavior  of
           the  -N  option is identical to that of the -T option. For example,
           the program header that identifies an interpreter can be  displayed
           using:


             example% elfdump -p -N PT_INTERP filename

           See  Matching Options for additional information about the matching
           options (-I, -N, -T).


       -O osabi

           Specifies the Operating System ABI to apply when  interpreting  the
           object. osabi can be the name or value of any of the ELFOSABI_ con‐
           stants found in /usr/include/sys/elf.h. For convenience, the ELFOS‐
           ABI_  prefix  may be omitted from these names. Two osabi values are
           fully supported: solaris is the native ABI of the Solaris operating
           system. none is the generic ELF ABI. Support  for  other  operating
           system  ABIs  may be incomplete or missing. Items for which strings
           are unavailable are displayed in numeric form.

           If -O is not used, and the  object  ELF  header  specifies  a  non-
           generic ABI, the ABI specified by the object is used. If the object
           specifies the generic ELF ABI, elfdump searches for a .note.ABI-tag
           section,  and  if  found, identifies the object as having the linux
           ABI. Otherwise, an object that specifies the generic ELF ABI is as‐
           sumed to conform to the solaris ABI.


       -p

           Dumps the program headers. Individual program headers can be speci‐
           fied using the matching options (-I, -N, -T). See Matching  Options
           for additional information.

           The -p and -w options are mutually exclusive. Only one of these op‐
           tions can be used in a given elfdump invocation.


       -P

           Generate  and  use  alternative section header information based on
           the information from the  program  headers,  ignoring  any  section
           header  information  contained in the file. If the file has no sec‐
           tion headers a warning message is printed and this option is  auto‐
           matically  selected.  Section headers are not used by the system to
           execute a program. As such, a malicious program can have  its  sec‐
           tion headers stripped or altered to provide misleading information.
           In contrast the program headers must be accurate for the program to
           be  runnable.  The  use of synthetic section header information de‐
           rived from the program headers allows files  with  altered  section
           headers to be examined.


       -r

           Dumps the contents of the .rel[a] relocation sections.


       -s

           Dumps  the contents of the .SUNW_ldynsym, .dynsym, and .symtab sym‐
           bol table sections. For archives, the archive symbol table is  also
           dumped.  Individual sections can be specified with the matching op‐
           tions (-I, -N, -T). An archive symbol table can be specified  using
           the special section name -N ARSYM.

           In  the case of core files, the shndx field has the value "unknown"
           since the field does not contain the valid values.

           In addition to the standard symbol table information,  the  version
           definition index of the symbol is also provided under the ver head‐
           ing.

           See  Matching Options for additional information about the matching
           options (-I, -N, -T).


       -S

           Dumps the contents of the .SUNW_ldynsym and  .dynsym  symbol  table
           sections  sorted  in  the  order  given by the .SUNW_dynsymsort and
           .SUNW_dyntlssort symbol sort sections. Thread Local  Storage  (TLS)
           symbols  are  sorted  by  offset. Regular symbols are sorted by ad‐
           dress. Symbols not referenced by the sort  sections  are  not  dis‐
           played.


       -T type

           Qualifies  the  sections  or program headers to examine with a spe‐
           cific type. For example, in a file that contains more than one sym‐
           bol table, the .dynsym symbol table can be displayed by itself  us‐
           ing:


             example% elfdump -T SHT_DYNSYM filename

           The  value  of type can be a numeric value, or any of the SHT_ sym‐
           bolic names defined in /usr/include/sys/elf.h. The SHT_  prefix  is
           optional,  and type is case insensitive. Therefore, the above exam‐
           ple can also be written as:


             example% elfdump -T dynsym filename

           If the -p option is specified, type refers to  the  program  header
           type, which allows for the display of specific program headers. For
           example,  the  program header that identifies an interpreter can be
           displayed using:


             example% elfdump -p -T PT_INTERP filename

           The value of type can be a numeric value, or any of  the  PT_  sym‐
           bolic  names  defined  in /usr/include/sys/elf.h. The PT_ prefix is
           optional, and type is case insensitive. Therefore, the above  exam‐
           ple can also be written as:


             example% elfdump -p -T interp filename

           See  Matching Options for additional information about the matching
           options (-I, -N, -T).


       -u

           Dumps the contents of sections used for stack frame  unwinding  and
           exception processing.


       -v

           Dumps the contents of the .SUNW_version version sections.


       -V
       --version

           Print version information and immediately exit.



       -w file

           Writes the contents of sections which are specified with the match‐
           ing options (-I, -N, -T) to the named file. For example, extracting
           the .text section of a file can be carried out with:


             example% elfdump -w text.out -N .text filename

           See  Matching Options for additional information about the matching
           options (-I, -N, -T).

           The -p and -w options are mutually exclusive. Only one of these op‐
           tions can be used in a given elfdump invocation.


       -y

           Dumps the contents of the .SUNW_syminfo section. Symbol  attributes
           are conveyed by the following keywords.

           AUXILIARY    Symbol definition acts as an auxiliary filter.


           CAP          Symbol is associated with capabilities.


           COPY         Symbol definition is the result of a copy-relocation.


           DEFERRED     Symbol is associated with a deferred dependency.


           DEPEND       Symbol  reference  has  a dependency on the associated
                        object.


           DIRECT       Symbol reference is directly bound to  the  associated
                        dependency. Always set in conjunction with DEPEND.


           FILTER       Symbol definition acts as a standard filter.


           INTERPOSE    Symbol definition acts as an interposer.


           LAZY         Symbol  reference  is  to  a dependency that should be
                        lazily loaded. Always set in conjunction with DEPEND.


           NODIRECT     External references can not directly bind to this sym‐
                        bol definition.


           WEAK         Symbol definition acts as a weak standard filter.  Al‐
                        ways set in conjunction with FILTER.



       -?
       --help

           Print usage message and immediately exit.



OPERANDS
       The following operand is supported:

       file    The name of the specified object file.


USAGE
   Matching Options
       The options -I, -N, and -T are collectively referred to as the matching
       options.  These options are used to narrow the range of program headers
       or sections to examine, by index, name, or type.


       The exact interpretation of the matching options depends on  the  other
       options used:

           o      When used with the -p option, the matching options reference
                  program  headers.  -I  refers  to program header indexes. -T
                  refers to program header types. As program  headers  do  not
                  have names, the -N option behaves identically to -T for pro‐
                  gram headers.


           o      The  matching  options are used to select sections by index,
                  name, or type when used with any of the options -c, -g,  -m,
                  -n, -r, -s, -S, -u, or -w.


           o      If  matching  options  are used alone without any of the op‐
                  tions -c, -g, -m, -n, -p, -r, -s, -S, -u, or -w,  then  elf‐
                  dump  examines each object, and displays the contents of any
                  sections matched.



       Any number and type of matching option can be mixed in a given  invoca‐
       tion  of  elfdump.  In  this case, elfdump displays the superset of all
       items matched by any of the matching options used. This feature  allows
       for  the  selection of complex groupings of items using the most conve‐
       nient form for specifying each item.

FILES
       liblddbg.so    linker debugging library


       libproc.so     process control library


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:

       tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE  TYPEAT‐
       TRIBUTE  VALUE _ Availabilitysystem/linker _ Interface StabilityCommit‐
       ted


SEE ALSO
       ar(1), ctfdump(1), dis(1), dump(1),  elffile(1),  elfsign(1),  file(1),
       nm(1), pvs(1), elf(3ELF), libproc(3LIB), core(5), attributes(7)


       Oracle Solaris 11.4 Linkers and Libraries Guide

NOTES
       Sections  used  for stack unwinding and exception handling can have the
       ELF section type SHT_PROGBITS, or SHT_AMD64_UNWIND,  depending  on  the
       compiler  and platform involved. These sections are recognized by name:
       .eh_frame, .eh_frame_hdr, and .exception_ranges.


       Core files contain information from multiple objects, each  represented
       by  a program header. elfdump uses libproc to determine the object name
       and mapping attributes that correspond to each program header.  Program
       headers  are  augmented with pr_mapname and pr_mflags fields to display
       this information. Section names are augmented with the name of the  ob‐
       ject to which they apply.

HISTORY
       The -L option was added in Oracle Solaris 11.4.72.


       The  -?, --help, -V, and --version options were added in Oracle Solaris
       11.4.0.


       The -F option was added in Oracle Solaris 11.2.0.


       The -I, -O, -P, -S, and -T options were added in Solaris 10  8/11  (Up‐
       date 10).


       The -u option was added in Solaris 10 3/05.


       The -H and -l options were added in Solaris 9 9/04 (Update 7).


       The -g option was added in Solaris 9.


       The -C option was added in Solaris 8 7/01 (Update 5).


       The -k option was added in Solaris 8.


       The elfdump command was introduced in Solaris 7.

Oracle Solaris 11.4               2 May 2025                        elfdump(1)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3