lvc / abi-dumper

Dump ABI of an ELF object containing DWARF debug info
GNU Lesser General Public License v2.1
176 stars 33 forks source link

What is the suggested usage? #19

Open jczhang07 opened 5 years ago

jczhang07 commented 5 years ago

Hello, I followed instructions in the "Usage with ABI Dumper" section of the index.html documentation, since this usage is very convenient. I built the library (libpetsc.so) with "-g -Og" on a Linux machine with gcc. Then,

~/abi-dumper/abi-dumper.pl ~/old/linux-gnu-dbg/lib/libpetsc.so -lver 0 -o old.dump
ERROR: missed type id 713704
<many similar errors>
Creating ABI dump
The object ABI has been dumped to:
  old.dump

~/abi-dumper/abi-dumper.pl ~/new/linux-gnu-dbg/lib/libpetsc.so -lver 1 -o new.dump
ERROR: missed type id 696722
<many similar errors>
Creating ABI dump
The object ABI has been dumped to:
  new.dump

~/abi-compliance-checker/abi-compliance-checker.pl -l libpetsc -old old.dump -new new.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/libpetsc/0_to_0/compat_report.html

But actually, the new library is not API compatible with the old since it changed the name of an enum. So, what is the recommended way of using abi-compliance-checker.pl if I want very accurate results. Thank you.

lvc commented 5 years ago

Hi,

The library has been added to the ABI tracker. See daily reports here: https://abi-laboratory.pro/?view=timeline&l=petsc

It works in my environment: CentOS 7 / x86_64.

Please provide the output of the following command for debugging:

abi-dumper -extra-info ./DEBUG ~/old/linux-gnu-dbg/lib/libpetsc.so -lver 0 -o old.dump
tar -cJf DEBUG.txz ./DEBUG

Also please provide your Linux distribution version.

Thanks.