[arch-general] ABI compliance checker

Andrey Ponomarenko susanin at ispras.ru
Thu Aug 13 09:05:58 EDT 2009


Gerardo Exequiel Pozzi wrote:
> Roman Kyrylych wrote:
>   
>> On Fri, Aug 7, 2009 at 01:16, Gerardo Exequiel
>> Pozzi<vmlinuz386 at yahoo.com.ar> wrote:
>>   
>>     
>>> Andrey Ponomarenko wrote:
>>>     
>>>       
>>>>     Colleagues, I'm software engineer from Institute for System
>>>> Programing of Russian Academy of Sciences and we are developing a free
>>>> lightweight tool for checking backward/forward binary compatibility of
>>>> shared C/C++ libraries in OS Linux. It checks interface signatures and
>>>> data type definitions in two library versions (headers and shared
>>>> objects) and searches ABI changes that may lead to incompatibility.
>>>> We have released 1.1 version of this tool and we'd like you to consider
>>>> its usefulness for your project.
>>>>     The wiki-page with the latest release of binary compatibility checker is
>>>> http://ispras.linux-foundation.org/index.php/ABI_compliance_checker
>>>>       
>>>>         
>>> This sound really very good!
>>> At first when I read your post, I thought it was possible to verify the
>>> compatibility without source, ie directly between the binaries, but I
>>> see that this is not possible. This only do the check based on the
>>> source plus some xml library descriptors.
>>>     
>>>       
>> The requirement of special XML files limits its usage IMHO.
>> Do you have any descriptors already available for some libraries?
>>
>>   
>>     
Use -d option to generate descriptor template and fill it then. It is
necessary to fill only two sections: paths to headers files and paths to
shared objects.
>
> No, I played with the program after reading the documentation and do not
> serve to me what I wanted: check binary compatible with the information
> that can be drawn from the ELF and only that.
>
> I think that as said the documentation is more focused for developers
> (specially for lib devs), not for packagers ;)
>
>   
You are right. This tool was developed mainly for upstream library
developers. It need shared objects along with header files to check ABI
changes. Without header files it is impossible to determine public
interfaces. Without shared objects it is impossible to determine
added/withdrawn interfaces.



More information about the arch-general mailing list