svcadm(8)을 검색하려면 섹션에서 8 을 선택하고, 맨 페이지 이름에 svcadm을 입력하고 검색을 누른다.
elffile(1)
elffile(1) User Commands elffile(1)
NAME
elffile - identify ELF file type
SYNOPSIS
elffile [-s basic | detail | summary] [-V] file...
DESCRIPTION
The elffile utility is a specialized variant of the file command that
is intended for use with ELF objects and related file types. elffile
can identify files of the following types:
Archives
In addition to the information provided by file, elffile identifies
the types of the archive members.
ELF Objects / Runtime Linker Configuration files
elffile provides the same output as file
Files of any other type are reported as non-ELF. No attempt to further
classify such files is made. The file utility is recommended for gen‐
eral purpose file identification.
OPTIONS
The following options are supported:
-s basic | detail | summary
Specify the style of output to be provided
basic
Produce a one-line description in the same format used by file.
detail
For non-archives, summary output is the same as basic. When
processing archives, the basic output line is followed by one
line of output for each archive member.
summary
For non-archives, summary output is the same as basic. When
processing archives, a summary description of the archive con‐
tents is added to the end of the basic output. If the -s option
is not specified, elffile uses the summary style by default.
-V
--version
Print version information and immediately exit.
-?
--help
Print usage message and immediately exit.
NOTES
The output produced for archives when using the summary style depends
on the contents of the archive. If the archive contains a homogeneous
collection of objects for the same platform, the platform details are
shown in the same format used for a single object. Otherwise, a summary
description is produced. The detail style can be used to obtain more
specific information about individual archive members.
The summary and detail styles require examination of every member of an
archive. Speed of execution is proportional to the number of archive
members, and can be slow for extremely large archives.
EXAMPLES
Example 1 Displaying Summary Output for Archives
The following example displays the summary output from elffile for ar‐
chives with differing content. The following archives are used.
same_elf.a
ELF objects for a single platform.
mixed_elf.a
ELF objects for more than one platform.
mixed.a
ELF objects and non-ELF files.
not_elf.a
Non-ELF files.
The summary output for archives depends on the types of the archive
members.
example% elffile same_elf.a mixed_elf.a mixed.a not_elf.a
same_elf.a: current ar archive, 32-bit symbol table, \
ELF 64-bit LSB relocatable AMD64 Version 1
mixed_elf.a: current ar archive, 32-bit symbol table, \
mixed ELF content
mixed.a: current ar archive, 32-bit symbol table, \
mixed ELF and non-ELF content
not_elf.a: current ar archive, non-ELF content
Example 2 Filtering Detailed Output for Archives
The detailed output from elffile produces one line of output for the
archive, followed by one line of output per archive member. This output
can be easily filtered in order to present the information in various
forms. The following example demonstrates this using the archive, libC‐
std.a which contains relocatable objects for a 64-bit x86 system. The
unfiltered detailed elffile output for this archive is as follows.
example% elffile -s detail libCstd.a
libCstd.a: current ar archive, 32-bit symbol table
libCstd.a(bitset.o): ELF 64-bit LSB relocatable \
AMD64 Version 1 [CMOV]
libCstd.a(complex.o): ELF 64-bit LSB relocatable \
AMD64 Version 1 [SSE2 SSE CMOV FPU]
libCstd.a(limits.o): ELF 64-bit LSB relocatable \
AMD64 Version 1 [SSE2 SSE FPU]
libCstd.a(limitsinit.o): ELF 64-bit LSB relocatable \
AMD64 Version 1
libCstd.a(stdexcept.o): ELF 64-bit LSB relocatable \
AMD64 Version 1 [SSE CMOV]
...
This output shows that each object is tagged with the hardware capabil‐
ities it requires to run. These capability tags vary depending on the
code found in each object. The following command filters the output
from elffile to identify each unique capability mask, and to count the
number of objects containing each mask within the archive. The sed com‐
mand is used to remove the archive member name from the output, with
the result that the output for every archive member with the same capa‐
bility mask will be identical. The sort command is used to group these
identical lines together, and the uniq command is used to replace each
unique group with a single line from the group, preceded with a count
of how many times that line occurred within the group.
example% elffile -s detail libCstd.a | sed 's,(.*),,' | \
sort -f | uniq -c
1 libCstd.a: current ar archive, 32-bit symbol table
777 libCstd.a: ELF 64-bit LSB relocatable \
AMD64 Version 1
1 libCstd.a: ELF 64-bit LSB relocatable \
AMD64 Version 1 [CMOV FPU]
126 libCstd.a: ELF 64-bit LSB relocatable \
AMD64 Version 1 [CMOV]
12 libCstd.a: ELF 64-bit LSB relocatable \
AMD64 Version 1 [FPU]
69 libCstd.a: ELF 64-bit LSB relocatable \
AMD64 Version 1 [SSE CMOV]
2 libCstd.a: ELF 64-bit LSB relocatable \
AMD64 Version 1 [SSE2 CMOV]
3 libCstd.a: ELF 64-bit LSB relocatable \
AMD64 Version 1 [SSE2 SSE CMOV FPU]
3 libCstd.a: ELF 64-bit LSB relocatable \
AMD64 Version 1 [SSE2 SSE CMOV]
1 libCstd.a: ELF 64-bit LSB relocatable \
AMD64 Version 1 [SSE2 SSE FPU]
2 libCstd.a: ELF 64-bit LSB relocatable \
AMD64 Version 1 [SSE2 SSE]
20 libCstd.a: ELF 64-bit LSB relocatable \
AMD64 Version 1 [SSE2]
4 libCstd.a: ELF 64-bit LSB relocatable \
AMD64 Version 1 [SSE]
EXIT STATUS
The following exit values are returned:
0 Successful completion
>0 An error occurred
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), elfdump(1), file(1)
Oracle Solaris 11.4 Linkers and Libraries Guide
Oracle Solaris 11.4 30 August 2017 elffile(1)