libabigail/doc/manuals/abipkgdiff.rst

101 lines
2.8 KiB
ReStructuredText
Raw Normal View History

.. _abipkgdiff_label:
===========
abipkgdiff
===========
``abipkgdiff`` compares the Application Binary Interfaces (ABI) of the
`ELF`_ binaries contained in two software packages. The format of
software package that is currently supported is `RPM`_.
For a comprehensive ABI change report that includes changes about
function and variable sub-types, the two input packages must be
accompanied with their debug information packages that contain debug
information in `DWARF`_ format.
.. _ELF: http://en.wikipedia.org/wiki/Executable_and_Linkable_Format
.. _RPM: https://en.wikipedia.org/wiki/RPM_Package_Manager
.. _DWARF: http://www.dwarfstd.org
.. _abipkgdiff_invocation_label:
Invocation
=========
::
abipkgdiff [option] <package1> <package2>
.. _abipkgdiff_options_label:
Options
=======
* ``--help``
Display a short help about the command and exit.
* ``--debug-info-pkg1 | --d1`` <path>
For cases where the debug information for *package1* is split out
into a separate file, tells ``abipkgdiff`` where to find that
separate debug information package.
* ``--debug-info-pkg2 | --d2`` <path>
For cases where the debug information for *package2* is split out
into a separate file, tells ``abipkgdiff`` where to find that
separate debug information package.
* ``--dso-only``
Compare ELF files that are shared libraries, only. Do not compare
executable files, for instance.
* ``--redundant``
In the diff reports, do display redundant changes. A redundant
change is a change that has been displayed elsewhere in a given
report.
* ``--no-linkage-name``
In the resulting report, do not display the linkage names of
the added, removed, or changed functions or variables.
* ``--no-added-binaries``
Do not show the list of binaries that got added to the second
package.
Please note that the presence of such added binaries is not
considered like an ABI change by this tool; as such, it doesn't
have any impact on the exit code of the tool. It does only have
an informational value. Removed binaries are, however, considered
as an ABI change.
* ``--suppressions | --suppr`` <*path-to-suppressions*>
Use a :ref:`suppression specification <suppr_spec_label>` file
located at *path-to-suppressions*. Note that this option can
appear multiple times on the command line; all the suppression
specification files are then taken into account.
* ``--verbose``
Emit verbose progress messages.
.. _abipkgdiff_return_value_label:
Return value
============
The exit code of the ``abipkgdiff`` command is either 0 if the ABI of
the binaries compared are equal, or non-zero if they differ or if the
tool encountered an error.
In the later case, the value of the exit code is the same as for the
:ref:`abidiff tool <abidiff_return_value_label>`.