lvc / abi-compliance-checker

A tool for checking backward API/ABI compatibility of a C/C++ library
https://lvc.github.io/abi-compliance-checker/
GNU Lesser General Public License v2.1
621 stars 76 forks source link

Report does not show compatibility issue #89

Open nillepillan opened 5 years ago

nillepillan commented 5 years ago

Hi! I made a change in my header file, named functions differently:

Add(

changed to

AddA(

Created dumps: nillepillan:~/repo/ABICC$ abi-dumper lib.so.0 -o ABI-0.dump -lver 0 nillepillan:~/repo/ABICC$ abi-dumper lib.so.1 -o ABI-1.dump -lver 1

When comparing the dumps I get:

nillepillan:~/repo/ABICC$ abi-dumper -compare ABI-0.dump new/ABI-1.dump Removed _ZN29ComponentDescriptorCollection3AddEP19ComponentDescriptor Added _ZN29ComponentDescriptorCollection4AddAEP19ComponentDescriptor

But when running checker there are no problems:

nillepillan:~/repo/ABICC$ abi-compliance-checker -l test -old ABI-0.dump -new new/ABI-1.dump Preparing, please wait ... Comparing ABIs ... Comparing APIs ... Creating compatibility report ... Binary compatibility: 100% Source compatibility: 100% Total binary compatibility problems: 0, warnings: 0 Total source compatibility problems: 0, warnings: 0 Report: compat_reports/test/1_to_2/compat_report.html

Any ideas what could be wrong?

BR, Pernilla

adriaandegroot commented 3 years ago

You may have some luck updating abi-dumper to version 1.2. I had something similar (described in lvc/abi-dumper#27 : renaming a symbol gives 100% compatibility when it doesn't work at all). Replacing my OS's packaged abi-dumper script by the one from git fixed that.