2013-08-02 21:28:19 +08:00
|
|
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
|
|
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
|
|
|
<!ENTITY % general-entities SYSTEM "../../general.ent">
|
|
|
|
%general-entities;
|
|
|
|
|
|
|
|
<!ENTITY elfutils-download-http
|
2017-08-16 02:49:48 +08:00
|
|
|
"https://sourceware.org/ftp/elfutils/&elfutils-version;/elfutils-&elfutils-version;.tar.bz2">
|
2016-12-31 00:05:40 +08:00
|
|
|
<!ENTITY elfutils-download-ftp
|
|
|
|
"ftp://sourceware.org/pub/elfutils/&elfutils-version;/elfutils-&elfutils-version;.tar.bz2">
|
2017-08-05 05:28:52 +08:00
|
|
|
<!ENTITY elfutils-md5sum "03599aee98c9b726c7a732a2dd0245d5">
|
|
|
|
<!ENTITY elfutils-size "8.0 MB">
|
|
|
|
<!ENTITY elfutils-buildsize "78 MB (with tests)">
|
|
|
|
<!ENTITY elfutils-time "0.9 SBU (with tests)">
|
2013-08-02 21:28:19 +08:00
|
|
|
]>
|
|
|
|
|
|
|
|
<sect1 id="elfutils" xreflabel="elfutils-&elfutils-version;">
|
|
|
|
<?dbhtml filename="elfutils.html"?>
|
|
|
|
|
|
|
|
<sect1info>
|
|
|
|
<date>$Date$</date>
|
|
|
|
</sect1info>
|
|
|
|
|
|
|
|
<title>elfutils-&elfutils-version;</title>
|
|
|
|
|
|
|
|
<indexterm zone="elfutils">
|
|
|
|
<primary sortas="a-elfutils">elfutils</primary>
|
|
|
|
</indexterm>
|
|
|
|
|
|
|
|
<sect2 role="package">
|
|
|
|
<title>Introduction to elfutils</title>
|
|
|
|
|
|
|
|
<para>
|
2015-10-18 05:34:18 +08:00
|
|
|
The <application>elfutils</application> package contains a set of
|
2015-06-23 12:20:23 +08:00
|
|
|
utilities and libraries for handling ELF (Executable and Linkable Format)
|
|
|
|
files.
|
2013-08-02 21:28:19 +08:00
|
|
|
</para>
|
|
|
|
|
2017-08-20 11:26:54 +08:00
|
|
|
&lfs81_checked;
|
2013-08-02 21:28:19 +08:00
|
|
|
|
|
|
|
<bridgehead renderas="sect3">Package Information</bridgehead>
|
|
|
|
<itemizedlist spacing="compact">
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Download (HTTP): <ulink url="&elfutils-download-http;"/>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Download (FTP): <ulink url="&elfutils-download-ftp;"/>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Download MD5 sum: &elfutils-md5sum;
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Download size: &elfutils-size;
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Estimated disk space required: &elfutils-buildsize;
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Estimated build time: &elfutils-time;
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
|
2015-10-18 05:34:18 +08:00
|
|
|
<bridgehead renderas="sect3">elfutils Dependencies</bridgehead>
|
|
|
|
|
|
|
|
<bridgehead renderas="sect4">Optional</bridgehead>
|
|
|
|
<para role="optional">
|
|
|
|
<xref linkend="valgrind"/>
|
|
|
|
</para>
|
|
|
|
|
2013-08-02 21:28:19 +08:00
|
|
|
<para condition="html" role="usernotes">
|
|
|
|
User Notes: <ulink url="&blfs-wiki;/elfutils"/>
|
|
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
|
|
|
|
<sect2 role="installation">
|
|
|
|
<title>Installation of elfutils</title>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
Install <application>elfutils</application> by running the following
|
|
|
|
commands:
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<!-- don't disable static libs, disable-static switch doesn't work anyways -->
|
2015-06-14 05:33:43 +08:00
|
|
|
<screen><userinput>./configure --prefix=/usr --program-prefix="eu-" &&
|
2013-08-02 21:28:19 +08:00
|
|
|
make</userinput></screen>
|
2015-06-14 05:33:43 +08:00
|
|
|
<!--
|
2013-08-02 21:28:19 +08:00
|
|
|
<para>
|
2014-09-01 04:38:52 +08:00
|
|
|
If you wish to run the test suite, first fix it to skip two failing tests:
|
2014-08-30 20:18:58 +08:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<screen><userinput>sed -i '/srcdir/ iexit 77\n' \
|
|
|
|
tests/run-backtrace-native.sh \
|
2015-06-14 05:33:43 +08:00
|
|
|
tests/run-backtrace-native-core.sh</userinput></screen>-->
|
2014-08-30 20:18:58 +08:00
|
|
|
|
|
|
|
<para>
|
2017-08-05 05:28:52 +08:00
|
|
|
To test the results, issue: <command>make check</command>.
|
|
|
|
One test, run-strip-nothing.sh, is known to fail.
|
2013-08-02 21:28:19 +08:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
Now, as the <systemitem class="username">root</systemitem> user:
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<screen role="root"><userinput>make install</userinput></screen>
|
|
|
|
|
|
|
|
</sect2>
|
|
|
|
|
|
|
|
<sect2 role="commands">
|
|
|
|
<title>Command Explanations</title>
|
|
|
|
|
|
|
|
<para>
|
2015-06-14 05:33:43 +08:00
|
|
|
<parameter>--program-prefix="eu-"</parameter>: This switch renames
|
|
|
|
installed programs to avoid conflict with
|
|
|
|
<application>Binutils</application> programs installed in LFS.
|
2013-08-02 21:28:19 +08:00
|
|
|
</para>
|
|
|
|
|
2015-10-18 05:34:18 +08:00
|
|
|
<para>
|
|
|
|
<option>--enable-valgrind</option>: Run all tests under valgrind.
|
|
|
|
</para>
|
|
|
|
|
2013-08-02 21:28:19 +08:00
|
|
|
</sect2>
|
|
|
|
|
|
|
|
<sect2 role="content">
|
|
|
|
<title>Contents</title>
|
|
|
|
|
|
|
|
<segmentedlist>
|
|
|
|
<segtitle>Installed Programs</segtitle>
|
|
|
|
<segtitle>Installed Libraries</segtitle>
|
|
|
|
<segtitle>Installed Directories</segtitle>
|
|
|
|
|
|
|
|
<seglistitem>
|
|
|
|
<seg>
|
2016-01-14 00:25:50 +08:00
|
|
|
eu-addr2line, eu-ar, eu-elfcmp, eu-elfcompress, eu-elflint,
|
2016-08-28 03:04:03 +08:00
|
|
|
eu-findtextrel, eu-make-debug-archive, eu-nm, eu-objdump,
|
2016-01-14 00:25:50 +08:00
|
|
|
eu-ranlib, eu-readelf, eu-size, eu-stack, eu-strings, eu-strip, and
|
|
|
|
eu-unstrip
|
2013-08-02 21:28:19 +08:00
|
|
|
</seg>
|
|
|
|
<seg>
|
2014-05-25 04:03:22 +08:00
|
|
|
libasm.{a,so}, libdw.{a,so}, libebl.a, libelf.{a,so}, and
|
|
|
|
some for different architectures under /usr/lib/elfutils
|
2013-08-02 21:28:19 +08:00
|
|
|
</seg>
|
|
|
|
<seg>
|
|
|
|
/usr/include/elfutils and
|
|
|
|
/usr/lib/elfutils
|
|
|
|
</seg>
|
|
|
|
</seglistitem>
|
|
|
|
</segmentedlist>
|
|
|
|
|
2015-10-27 04:10:07 +08:00
|
|
|
<variablelist>
|
|
|
|
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
|
|
|
<?dbfo list-presentation="list"?>
|
|
|
|
<?dbhtml list-presentation="table"?>
|
|
|
|
|
|
|
|
<varlistentry id="eu-addr2line">
|
|
|
|
<term><command>eu-addr2line</command></term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2016-08-28 03:04:03 +08:00
|
|
|
converts addresses into file names and line numbers.
|
2015-10-27 04:10:07 +08:00
|
|
|
</para>
|
|
|
|
<indexterm zone="elfutils eu-addr2line">
|
|
|
|
<primary sortas="b-eu-addr2line">eu-addr2line</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry id="eu-ar">
|
|
|
|
<term><command>eu-ar</command></term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2016-08-28 03:04:03 +08:00
|
|
|
creates, modifies, and extracts from archives.
|
2015-10-27 04:10:07 +08:00
|
|
|
</para>
|
|
|
|
<indexterm zone="elfutils eu-ar">
|
|
|
|
<primary sortas="b-eu-ar">eu-ar</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry id="eu-elfcmp">
|
|
|
|
<term><command>eu-elfcmp</command></term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2016-08-28 03:04:03 +08:00
|
|
|
compares relevant parts of two ELF files for equality.
|
2015-10-27 04:10:07 +08:00
|
|
|
</para>
|
|
|
|
<indexterm zone="elfutils eu-elfcmp">
|
|
|
|
<primary sortas="b-eu-elfcmp">eu-elfcmp</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
2015-11-13 22:24:57 +08:00
|
|
|
|
2016-01-14 00:25:50 +08:00
|
|
|
<varlistentry id="eu-elfcompress">
|
|
|
|
<term><command>eu-elfcompress</command></term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2016-08-28 03:04:03 +08:00
|
|
|
compresses or decompresses sections in an ELF file.
|
2016-01-14 00:25:50 +08:00
|
|
|
</para>
|
|
|
|
<indexterm zone="elfutils eu-elfcompress">
|
|
|
|
<primary sortas="b-eu-elfcompress">eu-elfcompress</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
2015-10-27 04:10:07 +08:00
|
|
|
<varlistentry id="eu-elflint">
|
|
|
|
<term><command>eu-elflint</command></term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2016-08-28 03:04:03 +08:00
|
|
|
does pedantic checking of ELF files compliance with gABI/psABI spec.
|
2015-10-27 04:10:07 +08:00
|
|
|
</para>
|
|
|
|
<indexterm zone="elfutils eu-elflint">
|
|
|
|
<primary sortas="b-eu-elflint">eu-elflint</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry id="eu-findtextrel">
|
|
|
|
<term><command>eu-findtextrel</command></term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2016-08-28 03:04:03 +08:00
|
|
|
locates the source of text relocations in FILEs (a.out by default).
|
2015-10-27 04:10:07 +08:00
|
|
|
</para>
|
|
|
|
<indexterm zone="elfutils eu-findtextrel">
|
|
|
|
<primary sortas="b-eu-findtextrel">eu-findtextrel</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
2016-08-28 03:04:03 +08:00
|
|
|
<!--
|
2015-10-27 04:10:07 +08:00
|
|
|
<varlistentry id="eu-ld">
|
|
|
|
<term><command>eu-ld</command></term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2016-08-28 03:04:03 +08:00
|
|
|
combines object and archive files.
|
2015-10-27 04:10:07 +08:00
|
|
|
</para>
|
|
|
|
<indexterm zone="elfutils eu-ld">
|
|
|
|
<primary sortas="b-eu-ld">eu-ld</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
2016-08-28 03:04:03 +08:00
|
|
|
-->
|
2015-10-27 04:10:07 +08:00
|
|
|
|
|
|
|
<varlistentry id="eu-nm">
|
|
|
|
<term><command>eu-nm</command></term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2016-08-28 03:04:03 +08:00
|
|
|
lists symbols from FILEs (a.out by default).
|
2015-10-27 04:10:07 +08:00
|
|
|
</para>
|
|
|
|
<indexterm zone="elfutils eu-nm">
|
|
|
|
<primary sortas="b-eu-nm">eu-nm</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
2015-11-13 22:24:57 +08:00
|
|
|
|
2015-10-27 04:10:07 +08:00
|
|
|
<varlistentry id="eu-objdump">
|
|
|
|
<term><command>eu-objdump</command></term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2016-08-28 03:04:03 +08:00
|
|
|
shows information from FILEs (a.out by default).
|
2015-10-27 04:10:07 +08:00
|
|
|
</para>
|
|
|
|
<indexterm zone="elfutils eu-objdump">
|
|
|
|
<primary sortas="b-eu-objdump">eu-objdump</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry id="eu-ranlib">
|
|
|
|
<term><command>eu-ranlib</command></term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2016-08-28 03:04:03 +08:00
|
|
|
generates an index to speed up access to archives.
|
2015-10-27 04:10:07 +08:00
|
|
|
</para>
|
|
|
|
<indexterm zone="elfutils eu-ranlib">
|
|
|
|
<primary sortas="b-eu-ranlib">eu-ranlib</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry id="eu-readelf">
|
|
|
|
<term><command>eu-readelf</command></term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2016-08-28 03:04:03 +08:00
|
|
|
prints information from ELF files in human-readable form.
|
2015-10-27 04:10:07 +08:00
|
|
|
</para>
|
|
|
|
<indexterm zone="elfutils eu-readelf">
|
|
|
|
<primary sortas="b-eu-readelf">eu-readelf</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry id="eu-size">
|
|
|
|
<term><command>eu-size</command></term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2016-08-28 03:04:03 +08:00
|
|
|
lists section sizes of FILEs (a.out by default).
|
2015-10-27 04:10:07 +08:00
|
|
|
</para>
|
|
|
|
<indexterm zone="elfutils eu-size">
|
|
|
|
<primary sortas="b-eu-size">eu-size</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
2015-11-13 22:24:57 +08:00
|
|
|
|
2015-10-27 04:10:07 +08:00
|
|
|
<varlistentry id="eu-stack">
|
|
|
|
<term><command>eu-stack</command></term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2016-08-28 03:04:03 +08:00
|
|
|
prints a stack for each thread in a process or core file.
|
2015-10-27 04:10:07 +08:00
|
|
|
</para>
|
|
|
|
<indexterm zone="elfutils eu-stack">
|
|
|
|
<primary sortas="b-eu-stack">eu-stack</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry id="eu-strings">
|
|
|
|
<term><command>eu-strings</command></term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2016-08-28 03:04:03 +08:00
|
|
|
prints the strings of printable characters in files.
|
2015-10-27 04:10:07 +08:00
|
|
|
</para>
|
|
|
|
<indexterm zone="elfutils eu-strings">
|
|
|
|
<primary sortas="b-eu-strings">eu-strings</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry id="eu-strip">
|
|
|
|
<term><command>eu-strip</command></term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2016-08-28 03:04:03 +08:00
|
|
|
discards symbols from object files.
|
2015-10-27 04:10:07 +08:00
|
|
|
</para>
|
|
|
|
<indexterm zone="elfutils eu-strip">
|
|
|
|
<primary sortas="b-eu-strip">eu-strip</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry id="eu-unstrip">
|
|
|
|
<term><command>eu-unstrip</command></term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2016-08-28 03:04:03 +08:00
|
|
|
combines stripped files with separate symbols and debug information.
|
2015-10-27 04:10:07 +08:00
|
|
|
</para>
|
|
|
|
<indexterm zone="elfutils eu-unstrip">
|
|
|
|
<primary sortas="b-eu-unstrip">eu-unstrip</primary>
|
|
|
|
</indexterm>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
</variablelist>
|
|
|
|
|
2013-08-02 21:28:19 +08:00
|
|
|
</sect2>
|
|
|
|
|
|
|
|
</sect1>
|