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

개요

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

elfdump(1)

elfdump(1)                       User Commands                      elfdump(1)



NAME
       elfdump - dumps selected parts of an object file

SYNOPSIS
       elfdump [-cCdegGhHiklmnPrsSuvVy] [-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
       options 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
         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



       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
       requested types of section data.


       Interpreter  and global offset table sections do not have a special ELF
       section type, but are instead implemented as SHT_PROGBITS sections with
       well  known  names  (.interp and .got 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.


       -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
           using:


             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
           assumed 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
           options 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
           derived  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
           options  (-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
           address. 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
           using:


             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
           options 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.
                        Always 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
                  options -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),   dump(1),   elffile(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
       object to which they apply.



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