svcadm(8)을 검색하려면 섹션에서 8 을 선택하고, 맨 페이지 이름에 svcadm을 입력하고 검색을 누른다.
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)