# abilint

## NAME



           abilint - validate an abigail ABI representation
    
           abilint parses the native XML representation of an ABI as emitted
           by _abidw_.  Once it has parsed the XML representation of the ABI,
           **abilint** builds and in-memory model from it.  It then tries to save
           it back to an XML form, to standard output.  If that read-write
           operation succeeds chances are the input XML ABI representation is
           meaningful.
    
           Note that the main intent of this tool to help debugging issues in
           the underlying Libabigail library.
    
           Note also that **abilint** can also read an ]8;;http://en.wikipedia.org/wiki/Executable_and_Linkable_Format\_ELF_]8;;\ input file, build the
           in-memory model for its ABI, and serialize that model back into
           XML to standard output.  In that case, the ]8;;http://en.wikipedia.org/wiki/Executable_and_Linkable_Format\_ELF_]8;;\ input file must be
           accompanied with its debug information in the ]8;;http://www.dwarfstd.org\_DWARF_]8;;\ format.
    


## INVOCATION



              abilint [options] [<abi-file1>]
    


## OPTIONS



              • **--annotate**
    
                Annotate the ABIXML output with comments above most elements.
                The comments are made of the pretty-printed form of types,
                declaration or even ELF symbols.  The purpose is to make the
                ABIXML output more human-readable for debugging or
                documenting purposes.
    
              • **--ctf**
    
                Extract ABI information from CTF debug information, if
                present in the given object.
    
              • **--debug-info-dir** <_path_ >
    
                When reading an ]8;;http://en.wikipedia.org/wiki/Executable_and_Linkable_Format\_ELF_]8;;\ input file which debug information is
                split out into a separate file, this options tells **abilint**
                where to find that separate debug information file.
    
                Note that _path_ must point to the root directory under which
                the debug information is arranged in a tree-like manner.
                Under Red Hat based systems, that directory is usually
                **< root>/usr/lib/debug**.
    
                Note also that this option is not mandatory for split debug
                information installed by your system's package manager
                because then **abidiff** knows where to find it.
    
              • **--diff**
    
                For XML inputs, perform a text diff between the input and the
                memory model saved back to disk.  This can help to spot
                issues in the handling of the XML format by the underlying
                Libabigail library.
    
              • **--header-file | --hf** <header-file-path>
    
                Specifies where to find one of the public headers of the abi
                file that the tool has to consider.  The tool will thus
                filter out types that are not defined in public headers.
    
              • **--headers-dir | --hd** <headers-directory-path-1>
    
                Specifies where to find the public headers of the first
                shared library that the tool has to consider.  The tool will
                thus filter out types that are not defined in public headers.
    
              • **--help**
    
                Display a short help message and exits.
    
              • **--noout**
    
                Do not display anything on standard output.  The return code
                of the command is the only way to know if the command
                succeeded.
    
              • **--suppressions | suppr**
                <_path-to-suppression-specifications-file_ >
    
                Use a _suppression specification_ file located at
                _path-to-suppression-specifications-file_.  Note that this
                option can appear multiple times on the command line.  In
                that case, all of the provided suppression specification
                files are taken into account.  ABI artifacts matched by the
                suppression specifications are suppressed from the output of
                this tool.
    
              • **--stdin | --**
    
                Read the input content from standard input.
    
              • **--tu**
    
                Expect the input XML to represent a single translation unit.
    
              • _--verbose_
    
                Shows verbose messages about internal stuff.  This is used to
                debug the tool and its underlying library.
    
              • _--version | -v_
    
                Display the version of the program and exit.
    


* * *