public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
From: "gprocida at google dot com" <sourceware-bugzilla@sourceware.org>
To: libabigail@sourceware.org
Subject: [Bug default/28319] abidw - regression in treatment of anonymous enums in structs
Date: Tue, 11 Jan 2022 11:30:48 +0000	[thread overview]
Message-ID: <bug-28319-9487-U57cd1Rfwc@http.sourceware.org/bugzilla/> (raw)
In-Reply-To: <bug-28319-9487@http.sourceware.org/bugzilla/>

https://sourceware.org/bugzilla/show_bug.cgi?id=28319

--- Comment #4 from gprocida at google dot com ---
Hi Dodji.

Following up on the last few bug comments: "old" and "new" refer to abidw
before and after commit 1cfbff1b3037d1049bdff7e86de27c3a86af23b3.

Looking at that commit and the new code in more detail, the binary-only enum
comparison behaviour was added to address issues with a GIMP library ABI and
makes abidw ignore enumerator names when canonicalising types.

For Android and especially the kernel, we are extremely unlikely to have a
use-case where binary-only enum comparison is useful, because we are very
unlikely to link code against an old .a.

On the other hand, the new behaviour is causing the regression noted in this
bug.

While there may be a more nuanced resolution possible, the best way forward for
us is seems to be to put the new behaviour under flag control.

I'll start work on this now. Do you have any preference as to whether
binary-only enum comparison should be the default and what the flag should be
called?

From the perspective of adding the binary-only comparison feature, only the
GIMP test is improved, various other tests exhibit worse behaviour. Details
follow.

Regards.

runtestannotate and runtestreaddwarf

test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi
test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi

2 different (member type) enums are conflated
1 of them disappears from its containing class
it wasn't referred to elsewhere in the ABI

test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi
test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi

enum tcmalloc::ThreadCache::__anonymous_enum__ disappears
it wasn't referred to elsewhere in ABI

test-annotate/test-anonymous-members-0.o.abi

3 anonymous enums (all used) are conflated
2 of them vanish from their containing type

test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi

1 anonymous enum disappears from its containing type
it wasn't referred to elsewhere in ABI

test-abidiff/test-enum0-report.txt

This was an enum test where the name of an enumerator changed. The report no
longer shows any diff.

runtestaltdwarf

the GIMP test changes a lot, as expected

runtestdiffdwarf

test-diff-dwarf/PR25058-liblttng-ctl-report-1.txt

The report no longer includes some enumerator name changes.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

  parent reply	other threads:[~2022-01-11 11:30 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-08 14:28 [Bug default/28319] New: " gprocida at google dot com
2021-09-08 14:45 ` [Bug default/28319] " gprocida at google dot com
2021-09-08 15:23 ` dodji at redhat dot com
2021-09-08 16:00 ` woodard at redhat dot com
2021-09-21 15:27 ` dodji at redhat dot com
2021-10-08 10:53 ` gprocida at google dot com
2022-01-11 11:30 ` gprocida at google dot com [this message]
2022-01-11 12:36 ` gprocida at google dot com
2022-01-11 17:01 ` dodji at redhat dot com
2022-01-11 18:16 ` gprocida at google dot com
2022-01-12 11:25 ` gprocida at google dot com
2022-01-12 11:59 ` gprocida at google dot com
2022-01-13 11:01 ` gprocida at google dot com
2022-01-13 13:35 ` dodji at redhat dot com
2022-01-13 14:26 ` gprocida at google dot com
2022-01-14 12:38 ` dodji at redhat dot com
2022-01-24 17:06 ` gprocida at google dot com
2022-03-01 11:22   ` Dodji Seketeli
2022-03-01 11:22 ` dodji at seketeli dot org
2022-03-01 14:56 ` gprocida at google dot com
2022-03-01 14:59 ` gprocida at google dot com

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=bug-28319-9487-U57cd1Rfwc@http.sourceware.org/bugzilla/ \
    --to=sourceware-bugzilla@sourceware.org \
    --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).