1e01aa904Sopenharmony_ci=======
2e01aa904Sopenharmony_ciabilint
3e01aa904Sopenharmony_ci=======
4e01aa904Sopenharmony_ci
5e01aa904Sopenharmony_ciabilint parses the native XML representation of an ABI as emitted by
6e01aa904Sopenharmony_ci:doc:`abidw`.  Once it has parsed the XML representation of the ABI,
7e01aa904Sopenharmony_ci``abilint`` builds and in-memory model from it.  It then tries to save
8e01aa904Sopenharmony_ciit back to an XML form, to standard output.  If that read-write
9e01aa904Sopenharmony_cioperation succeeds chances are the input XML ABI representation is
10e01aa904Sopenharmony_cimeaningful.
11e01aa904Sopenharmony_ci
12e01aa904Sopenharmony_ciNote that the main intent of this tool to help debugging issues in the
13e01aa904Sopenharmony_ciunderlying Libabigail library.
14e01aa904Sopenharmony_ci
15e01aa904Sopenharmony_ciNote also that ``abilint`` can also read an `ELF`_ input file, build the
16e01aa904Sopenharmony_ciin-memory model for its ABI, and serialize that model back into XML to
17e01aa904Sopenharmony_cistandard output.  In that case, the `ELF`_ input file must be
18e01aa904Sopenharmony_ciaccompanied with its debug information in the `DWARF`_ format.
19e01aa904Sopenharmony_ci
20e01aa904Sopenharmony_ciInvocation
21e01aa904Sopenharmony_ci==========
22e01aa904Sopenharmony_ci
23e01aa904Sopenharmony_ci::
24e01aa904Sopenharmony_ci
25e01aa904Sopenharmony_ci  abilint [options] [<abi-file1>]
26e01aa904Sopenharmony_ci
27e01aa904Sopenharmony_ciOptions
28e01aa904Sopenharmony_ci=======
29e01aa904Sopenharmony_ci
30e01aa904Sopenharmony_ci  * ``--help``
31e01aa904Sopenharmony_ci
32e01aa904Sopenharmony_ci    Display a short help message and exits.
33e01aa904Sopenharmony_ci
34e01aa904Sopenharmony_ci  * `--version | -v`
35e01aa904Sopenharmony_ci
36e01aa904Sopenharmony_ci    Display the version of the program and exit.
37e01aa904Sopenharmony_ci
38e01aa904Sopenharmony_ci  * ``--debug-info-dir`` <*path*>
39e01aa904Sopenharmony_ci
40e01aa904Sopenharmony_ci    When reading an `ELF`_ input file which debug information is split
41e01aa904Sopenharmony_ci    out into a separate file, this options tells ``abilint`` where to
42e01aa904Sopenharmony_ci    find that separate debug information file.
43e01aa904Sopenharmony_ci
44e01aa904Sopenharmony_ci    Note that *path* must point to the root directory under which the
45e01aa904Sopenharmony_ci    debug information is arranged in a tree-like manner.  Under Red
46e01aa904Sopenharmony_ci    Hat based systems, that directory is usually
47e01aa904Sopenharmony_ci    ``<root>/usr/lib/debug``.
48e01aa904Sopenharmony_ci
49e01aa904Sopenharmony_ci    Note also that this option is not mandatory for split debug
50e01aa904Sopenharmony_ci    information installed by your system's package manager because
51e01aa904Sopenharmony_ci    then ``abidiff`` knows where to find it.
52e01aa904Sopenharmony_ci
53e01aa904Sopenharmony_ci  * ``--diff``
54e01aa904Sopenharmony_ci
55e01aa904Sopenharmony_ci    For XML inputs, perform a text diff between the input and the
56e01aa904Sopenharmony_ci    memory model saved back to disk.  This can help to spot issues in
57e01aa904Sopenharmony_ci    the handling of the XML format by the underlying Libabigail library.
58e01aa904Sopenharmony_ci
59e01aa904Sopenharmony_ci  * ``--noout``
60e01aa904Sopenharmony_ci
61e01aa904Sopenharmony_ci    Do not display anything on standard output.  The return code of
62e01aa904Sopenharmony_ci    the command is the only way to know if the command succeeded.
63e01aa904Sopenharmony_ci
64e01aa904Sopenharmony_ci  * ``--suppressions | suppr`` <*path-to-suppression-specifications-file*>
65e01aa904Sopenharmony_ci
66e01aa904Sopenharmony_ci    Use a :ref:`suppression specification <suppr_spec_label>` file
67e01aa904Sopenharmony_ci    located at *path-to-suppression-specifications-file*.  Note that
68e01aa904Sopenharmony_ci    this option can appear multiple times on the command line.  In
69e01aa904Sopenharmony_ci    that case, all of the provided suppression specification files are
70e01aa904Sopenharmony_ci    taken into account.  ABI artifacts matched by the suppression
71e01aa904Sopenharmony_ci    specifications are suppressed from the output of this tool.
72e01aa904Sopenharmony_ci
73e01aa904Sopenharmony_ci  * ``--headers-dir | --hd`` <headers-directory-path-1>
74e01aa904Sopenharmony_ci
75e01aa904Sopenharmony_ci    Specifies where to find the public headers of the first shared
76e01aa904Sopenharmony_ci    library that the tool has to consider.  The tool will thus filter
77e01aa904Sopenharmony_ci    out types that are not defined in public headers.
78e01aa904Sopenharmony_ci
79e01aa904Sopenharmony_ci  * ``--header-file | --hf`` <header-file-path>
80e01aa904Sopenharmony_ci
81e01aa904Sopenharmony_ci    Specifies where to find one of the public headers of the abi file
82e01aa904Sopenharmony_ci    that the tool has to consider.  The tool will thus filter out
83e01aa904Sopenharmony_ci    types that are not defined in public headers.
84e01aa904Sopenharmony_ci
85e01aa904Sopenharmony_ci  * ``--stdin | --``
86e01aa904Sopenharmony_ci
87e01aa904Sopenharmony_ci    Read the input content from standard input.
88e01aa904Sopenharmony_ci
89e01aa904Sopenharmony_ci  * ``--tu``
90e01aa904Sopenharmony_ci
91e01aa904Sopenharmony_ci    Expect the input XML to represent a single translation unit.
92e01aa904Sopenharmony_ci
93e01aa904Sopenharmony_ci  * ``--ctf``
94e01aa904Sopenharmony_ci
95e01aa904Sopenharmony_ci    Extract ABI information from CTF debug information, if present in
96e01aa904Sopenharmony_ci    the given object.
97e01aa904Sopenharmony_ci
98e01aa904Sopenharmony_ci.. _ELF: http://en.wikipedia.org/wiki/Executable_and_Linkable_Format
99e01aa904Sopenharmony_ci.. _DWARF: http://www.dwarfstd.org
100