mirror of
git://sourceware.org/git/libabigail.git
synced 2025-02-10 18:46:54 +00:00
This patch changed the revision number of the libabigail library to make it reflect the fact that we are not in "release candidate" mode, before the first 1.0 release. So the revision number is now "rc0". The configuration manager has been updated to support version numbers that are strings, so that it can supports things like "rc0". Then, several libabigail tools have been modified to support the --version option to display their version number. * configure.ac: Set the version revision to "rc0". * doc/manuals/abicompat.rst: Adjust manual for new --version option. * doc/manuals/abidiff.rst: Likewise. * doc/manuals/abidw.rst: Likewise. * doc/manuals/abilint.rst: Likewise. * doc/manuals/abipkgdiff.rst: Likewise. * include/abg-config.h (config::{m_format_minor, m_format_major}): Make these be strings. (config::{get,set}_format_minor_version_number): Make these return strings. (config::{get,set}_format_major_version_number): Make these return or take strings. (abigail_get_library_version): Make this take strings. * src/abg-config.cc (config::config): Adjust. (config::{get,set}_format_major_version_number): Make these return or take strings. (config::{get,set}_format_minor_version_number): Make these return strings. (abigail_get_library_version): Make this take strings. * include/abg-version.h.in: Make the version variables be strings. * src/abg-writer.cc (write_translation_unit): The version numbers are now strings so adjust. * tools/{abicompat,abidiff,abidw,abilint,abipkgdiff,abisym}.cc (options::display_version): New data member. (options::options): Initialize it. (display_usage): Add documentation for new --version option. (parse_command_line): Parse new --version option. (main): Support --version. Signed-off-by: Dodji Seketeli <dodji@redhat.com>
143 lines
4.2 KiB
ReStructuredText
143 lines
4.2 KiB
ReStructuredText
.. _abipkgdiff_label:
|
|
|
|
===========
|
|
abipkgdiff
|
|
===========
|
|
|
|
``abipkgdiff`` compares the Application Binary Interfaces (ABI) of the
|
|
`ELF`_ binaries contained in two software packages. The software
|
|
package formats currently supported are `Deb`_, `RPM`_, `tar`_
|
|
archives (either compressed or not) and plain directories that contain
|
|
binaries.
|
|
|
|
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
|
|
.. _Deb: https://en.wikipedia.org/wiki/Deb_%28file_format%29
|
|
.. _tar: https://en.wikipedia.org/wiki/Tar_%28computing%29
|
|
.. _DWARF: http://www.dwarfstd.org
|
|
|
|
|
|
.. _abipkgdiff_invocation_label:
|
|
|
|
Invocation
|
|
==========
|
|
|
|
::
|
|
|
|
abipkgdiff [option] <package1> <package2>
|
|
|
|
.. _abipkgdiff_options_label:
|
|
|
|
Options
|
|
=======
|
|
|
|
* ``--help | -h``
|
|
|
|
Display a short help about the command and exit.
|
|
|
|
* `--version | -v`
|
|
|
|
Display the version of the program 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-syms``
|
|
|
|
Do not show the list of functions, variables, or any symbol that
|
|
was added.
|
|
|
|
* ``--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.
|
|
|
|
* ``--no-abignore``
|
|
|
|
Do not search the *package2* for the presence of suppression
|
|
files.
|
|
|
|
* ``--no-parallel``
|
|
|
|
By default, ``abipkgdiff`` will use all the processors it has available to
|
|
execute concurrently. This option tells it not to extract packages or run
|
|
comparisons in parallel.
|
|
|
|
* ``--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.
|
|
|
|
* ``--fail-no-dbg``
|
|
|
|
Make the program fail and return a non-zero exit code if couldn't
|
|
read any of the debug information that comes from the debug info
|
|
packages that were given on the command line. If no debug info
|
|
package were provided on the command line then this option is not
|
|
active.
|
|
|
|
Note that the non-zero exit code returned by the program as a
|
|
result of this option is the constant ``ABIDIFF_ERROR``. To know
|
|
the numerical value of that constant, please refer to the
|
|
:ref:`exit code documentation <abidiff_return_value_label>`.
|
|
|
|
* ``--keep-tmp-files``
|
|
|
|
Do not erase the temporary directory files that are created during
|
|
the execution of the tool.
|
|
|
|
* ``--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>`.
|
|
|