Hello, This patch is a revert of my previous patch referenced below: commit 7cd83740bfe7e58c03ea2a66386dbb0962f7f6de Author: Dodji Seketeli Date: Fri Jul 22 22:45:04 2022 +0200 ir: Consider integral types of same kind and size as equivalent On some platforms, "long int" and "long long int" can have the same size. In that case, we want those two types to be equivalent from ABI standpoint. Otherwise, through the use of typedefs and pointers, two structs "C" defined in different translation units where one uses "long int" in a translation unit and "long long int" in another should be considered ABI compatible if long int and long long int have the same size on that platform. That patch was doing several things, including fixing the parsing of integral modifiers in parse_integral_type, fixing the sorting of types for serialization purposes based on their pretty representation as well as considering int types with the same size as equivalent, independently from the short and long modifiers. This patch just reverts the last item of the list above from the 'equals' function that handle type_decls and updates the impacted tests accordingly. This is because there seems to be a consensus in the community about the fact that libabigail should do as much as possible to detect API incompatibilities when it's possible, rather than just focusing on ABI incompatibilities. Point taken. Please note that the following command will still fail now: $ tools/fedabipkgdiff --debug --self-compare -a --from fc36 btrfs-progs This is because the self-comparison check of the 'btrfs' program from that package fails: $ abidw --abidiff -d usr/lib/debug usr/sbin/btrfs That issue will need to be addressed in a different manner, I guess. * src/abg-ir.cc (equals): In the overload for type_decl, do not consider int types of the same type as being equivalent by overlooking their long and short modifiers. * tests/data/test-annotate/libtest23.so.abi: Adjust. * tests/data/test-annotate/libtest24-drop-fns-2.so.abi: Likewise. * tests/data/test-annotate/libtest24-drop-fns.so.abi: Likewise. * tests/data/test-annotate/test0.abi: Likewise. * tests/data/test-annotate/test15-pr18892.so.abi: Likewise. * tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi: Likewise. * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi: Likewise. * tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi: Likewise. * tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi: Likewise. * tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise. * tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Likewise. * tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi: Likewise. * tests/data/test-read-dwarf/libtest23.so.abi: Likewise. * tests/data/test-read-dwarf/libtest24-drop-fns-2.so.abi: Likewise. * tests/data/test-read-dwarf/libtest24-drop-fns.so.abi: Likewise. * tests/data/test-read-dwarf/test-libaaudio.so.abi: Likewise. * tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise. * tests/data/test-read-dwarf/test0.abi: Likewise. * tests/data/test-read-dwarf/test0.hash.abi: Likewise. * tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise. * tests/data/test-read-dwarf/test11-pr18828.so.abi: Likewise. * tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise. * tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise. * tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise. * tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi: Likewise. * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi: Likewise. * tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi: Likewise. * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi: Likewise. * tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Likewise. * tests/data/test-read-write/test28-without-std-fns-ref.xml: Likewise. * tests/data/test-read-write/test28-without-std-vars-ref.xml: Likewise. Signed-off-by: Dodji Seketeli --- src/abg-ir.cc | 39 +- tests/data/test-annotate/libtest23.so.abi | 610 +- .../test-annotate/libtest24-drop-fns-2.so.abi | 676 +- .../test-annotate/libtest24-drop-fns.so.abi | 676 +- tests/data/test-annotate/test0.abi | 48 +- .../data/test-annotate/test15-pr18892.so.abi | 11758 ++--- ...st18-pr19037-libvtkRenderingLIC-6.1.so.abi | 10172 ++-- ...19-pr19023-libtcmalloc_and_profiler.so.abi | 16012 +++--- ...st20-pr19025-libvtkParallelCore-6.1.so.abi | 15070 +++--- .../PR22015-libboost_iostreams.so.abi | 2582 +- .../test-read-dwarf/PR22122-libftdc.so.abi | 3009 +- .../data/test-read-dwarf/PR25007-sdhci.ko.abi | 9053 ++-- .../PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi | 169 +- tests/data/test-read-dwarf/libtest23.so.abi | 596 +- .../libtest24-drop-fns-2.so.abi | 662 +- .../test-read-dwarf/libtest24-drop-fns.so.abi | 662 +- .../test-read-dwarf/test-libaaudio.so.abi | 32 +- .../test-read-dwarf/test-libandroid.so.abi | 172 +- tests/data/test-read-dwarf/test0.abi | 47 +- tests/data/test-read-dwarf/test0.hash.abi | 5 +- .../test-read-dwarf/test10-pr18818-gcc.so.abi | 6858 +-- .../test-read-dwarf/test11-pr18828.so.abi | 13813 +++--- .../test-read-dwarf/test12-pr18844.so.abi | 24164 ++++----- .../test-read-dwarf/test15-pr18892.so.abi | 11521 ++--- .../test-read-dwarf/test16-pr18904.so.abi | 16600 +++---- ...st18-pr19037-libvtkRenderingLIC-6.1.so.abi | 10074 ++-- ...19-pr19023-libtcmalloc_and_profiler.so.abi | 15812 +++--- ...st20-pr19025-libvtkParallelCore-6.1.so.abi | 14780 +++--- .../test22-pr19097-libstdc++.so.6.0.17.so.abi | 41384 ++++++++-------- .../test9-pr18818-clang.so.abi | 4404 +- .../test28-without-std-fns-ref.xml | 648 +- .../test28-without-std-vars-ref.xml | 590 +- 32 files changed, 116422 insertions(+), 116276 deletions(-) The patch is too big for the mailing list so I am attaching it gzipped.