public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
* [PATCH, applied] ir: Don't consider different int types of same kind and size as equivalent
@ 2022-08-19 15:09 Dodji Seketeli
  0 siblings, 0 replies; only message in thread
From: Dodji Seketeli @ 2022-08-19 15:09 UTC (permalink / raw)
  To: libabigail

[-- Attachment #1: Type: text/plain, Size: 6321 bytes --]

Hello,

This patch is a revert of my previous patch referenced below:

        commit 7cd83740bfe7e58c03ea2a66386dbb0962f7f6de
        Author: Dodji Seketeli <dodji@redhat.com>
        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 <dodji@redhat.com>
---
 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.


[-- Attachment #2: 0001-ir-Don-t-consider-different-int-types-of-same-kind-a.patch.gz --]
[-- Type: application/gzip, Size: 2027062 bytes --]

[-- Attachment #3: Type: text/plain, Size: 22 bytes --]


Cheers,

-- 
		Dodji

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-08-19 15:12 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-19 15:09 [PATCH, applied] ir: Don't consider different int types of same kind and size as equivalent Dodji Seketeli

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).