public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
From: Dodji Seketeli <dodji@redhat.com>
To: libabigail@sourceware.org
Subject: [PATCH, applied] ir: Don't consider different int types of same kind and size as equivalent
Date: Fri, 19 Aug 2022 17:09:43 +0200	[thread overview]
Message-ID: <8735dsmfrc.fsf@redhat.com> (raw)

[-- 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

                 reply	other threads:[~2022-08-19 15:12 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8735dsmfrc.fsf@redhat.com \
    --to=dodji@redhat.com \
    --cc=libabigail@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).