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