[arch-general] ABI compliance checker
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 Andrey Ponomarenko
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
Andrey Ponomarenko
Hi 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. Thanks for sharing this :) -- Gerardo Exequiel Pozzi ( djgera ) http://www.djgera.com.ar KeyID: 0x1B8C330D Key fingerprint = 0CAA D5D4 CD85 4434 A219 76ED 39AB 221B 1B8C 330D
On Fri, Aug 7, 2009 at 01:16, Gerardo Exequiel Pozzi<vmlinuz386@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? -- Roman Kyrylych (Роман Кирилич)
Roman Kyrylych wrote:
On Fri, Aug 7, 2009 at 01:16, Gerardo Exequiel Pozzi<vmlinuz386@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?
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 ;) -- Gerardo Exequiel Pozzi ( djgera ) http://www.djgera.com.ar KeyID: 0x1B8C330D Key fingerprint = 0CAA D5D4 CD85 4434 A219 76ED 39AB 221B 1B8C 330D
Gerardo Exequiel Pozzi wrote:
Roman Kyrylych wrote:
On Fri, Aug 7, 2009 at 01:16, Gerardo Exequiel Pozzi<vmlinuz386@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.
participants (3)
-
Andrey Ponomarenko
-
Gerardo Exequiel Pozzi
-
Roman Kyrylych