* [Bug default/28289] New: [1.7 -> 1.8 regression] false positives involving enum synthetic type names
@ 2021-08-30 7:20 lukas at wunner dot de
2021-08-30 7:24 ` [Bug default/28289] " lukas at wunner dot de
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: lukas at wunner dot de @ 2021-08-30 7:20 UTC (permalink / raw)
To: libabigail
https://sourceware.org/bugzilla/show_bug.cgi?id=28289
Bug ID: 28289
Summary: [1.7 -> 1.8 regression] false positives involving enum
synthetic type names
Product: libabigail
Version: unspecified
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: default
Assignee: dodji at redhat dot com
Reporter: lukas at wunner dot de
CC: gprocida at google dot com, libabigail at sourceware dot org
Target Milestone: ---
Created attachment 13633
--> https://sourceware.org/bugzilla/attachment.cgi?id=13633&action=edit
full abidiff output
Invoking abidiff v1.8 (or newer) on libzfs results in 74 reported changes if
the .abi file was generated with an abidiff version < 1.8.
The changes are not reported if abidiff v1.7 or an older version is used.
git bisect identified this as the first bad commit:
commit 8a0825e319c3c3430706ca4f7f330259dfc85563
Author: Giuliano Procida <gprocida@google.com>
Date: Thu Oct 29 12:20:59 2020 +0000
Improve enum synthetic type names
The reported changes seem nonsensical as there are "no data member changes":
[C] 'function prop_changelist_t* changelist_gather(zfs_handle_t*, zfs_prop_t,
int, int)' at libzfs_changelist.c:624:1 has some indirect sub-type changes:
parameter 1 of type 'zfs_handle_t*' has sub-type changes:
in pointed to type 'typedef zfs_handle_t' at libzfs.h:195:1:
underlying type 'struct zfs_handle' at libzfs_impl.h:77:1 changed:
type size hasn't changed
1 data member changes (5 filtered):
type of 'libzfs_handle_t* zfs_handle::zfs_hdl' changed:
in pointed to type 'typedef libzfs_handle_t' at libzfs.h:197:1:
underlying type 'struct libzfs_handle' at libzfs_impl.h:48:1
changed:
type size hasn't changed
no data member changes (4 filtered);
The issue is tracked here:
https://github.com/openzfs/zfs/issues/12360
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug default/28289] [1.7 -> 1.8 regression] false positives involving enum synthetic type names
2021-08-30 7:20 [Bug default/28289] New: [1.7 -> 1.8 regression] false positives involving enum synthetic type names lukas at wunner dot de
@ 2021-08-30 7:24 ` lukas at wunner dot de
2021-08-30 7:28 ` lukas at wunner dot de
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: lukas at wunner dot de @ 2021-08-30 7:24 UTC (permalink / raw)
To: libabigail
https://sourceware.org/bugzilla/show_bug.cgi?id=28289
--- Comment #1 from lukas at wunner dot de ---
Created attachment 13634
--> https://sourceware.org/bugzilla/attachment.cgi?id=13634&action=edit
abi file created with v1.7
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug default/28289] [1.7 -> 1.8 regression] false positives involving enum synthetic type names
2021-08-30 7:20 [Bug default/28289] New: [1.7 -> 1.8 regression] false positives involving enum synthetic type names lukas at wunner dot de
2021-08-30 7:24 ` [Bug default/28289] " lukas at wunner dot de
@ 2021-08-30 7:28 ` lukas at wunner dot de
2021-08-30 7:28 ` lukas at wunner dot de
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: lukas at wunner dot de @ 2021-08-30 7:28 UTC (permalink / raw)
To: libabigail
https://sourceware.org/bugzilla/show_bug.cgi?id=28289
--- Comment #2 from lukas at wunner dot de ---
Created attachment 13635
--> https://sourceware.org/bugzilla/attachment.cgi?id=13635&action=edit
libzfs shared object (x86-64)
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug default/28289] [1.7 -> 1.8 regression] false positives involving enum synthetic type names
2021-08-30 7:20 [Bug default/28289] New: [1.7 -> 1.8 regression] false positives involving enum synthetic type names lukas at wunner dot de
2021-08-30 7:24 ` [Bug default/28289] " lukas at wunner dot de
2021-08-30 7:28 ` lukas at wunner dot de
@ 2021-08-30 7:28 ` lukas at wunner dot de
2021-08-30 7:29 ` lukas at wunner dot de
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: lukas at wunner dot de @ 2021-08-30 7:28 UTC (permalink / raw)
To: libabigail
https://sourceware.org/bugzilla/show_bug.cgi?id=28289
lukas at wunner dot de changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #13634|abi file created with v1.7 |libzfs abi file created
description| |with v1.7
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug default/28289] [1.7 -> 1.8 regression] false positives involving enum synthetic type names
2021-08-30 7:20 [Bug default/28289] New: [1.7 -> 1.8 regression] false positives involving enum synthetic type names lukas at wunner dot de
` (2 preceding siblings ...)
2021-08-30 7:28 ` lukas at wunner dot de
@ 2021-08-30 7:29 ` lukas at wunner dot de
2021-08-30 7:43 ` gprocida at google dot com
2021-09-05 13:48 ` lukas at wunner dot de
5 siblings, 0 replies; 7+ messages in thread
From: lukas at wunner dot de @ 2021-08-30 7:29 UTC (permalink / raw)
To: libabigail
https://sourceware.org/bugzilla/show_bug.cgi?id=28289
--- Comment #3 from lukas at wunner dot de ---
Created attachment 13636
--> https://sourceware.org/bugzilla/attachment.cgi?id=13636&action=edit
libzfs suppressions
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug default/28289] [1.7 -> 1.8 regression] false positives involving enum synthetic type names
2021-08-30 7:20 [Bug default/28289] New: [1.7 -> 1.8 regression] false positives involving enum synthetic type names lukas at wunner dot de
` (3 preceding siblings ...)
2021-08-30 7:29 ` lukas at wunner dot de
@ 2021-08-30 7:43 ` gprocida at google dot com
2021-09-05 13:48 ` lukas at wunner dot de
5 siblings, 0 replies; 7+ messages in thread
From: gprocida at google dot com @ 2021-08-30 7:43 UTC (permalink / raw)
To: libabigail
https://sourceware.org/bugzilla/show_bug.cgi?id=28289
--- Comment #4 from gprocida at google dot com ---
The problem that the commit mentioned addressed could have been addressed in at
least one other way (by changing the hashing used for enum types and reordering
type elements keying by hash).
The treatment of underlying enum type by DWARF and libabigail is a bit uneven.
I don't think there's any requirement for DWARF to give a name (such as "int")
to the underlying type. The most important aspect is size. However, in C++, the
exact type can be user-specified and can impact overloading resolution /
implicit conversions to some degree (say bool vs int).
The commit, like other changes over the last year, resulted in changes to the
ABI representation for the same input. As you point out, the name change
triggers abidiff. In post-1.8 development the (first, partial) bitfield offset
fix warranted an XML version bump, making abidiff refuse to compare mismatched
XML files, but no such thing was done for the 1.7->1.8 changes.
In theory, abidiff could be tweaked to ignore underlying type name when it
comes to C enums; in practice this may not be straightforward. I'm not actually
sure what the treatment of C++ enums is.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug default/28289] [1.7 -> 1.8 regression] false positives involving enum synthetic type names
2021-08-30 7:20 [Bug default/28289] New: [1.7 -> 1.8 regression] false positives involving enum synthetic type names lukas at wunner dot de
` (4 preceding siblings ...)
2021-08-30 7:43 ` gprocida at google dot com
@ 2021-09-05 13:48 ` lukas at wunner dot de
5 siblings, 0 replies; 7+ messages in thread
From: lukas at wunner dot de @ 2021-09-05 13:48 UTC (permalink / raw)
To: libabigail
https://sourceware.org/bugzilla/show_bug.cgi?id=28289
lukas at wunner dot de changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |WONTFIX
Status|UNCONFIRMED |RESOLVED
--- Comment #5 from lukas at wunner dot de ---
In reply to gprocida from comment #4)
> The commit, like other changes over the last year, resulted in changes to
> the ABI representation for the same input. As you point out, the name change
> triggers abidiff. In post-1.8 development the (first, partial) bitfield
> offset fix warranted an XML version bump, making abidiff refuse to compare
> mismatched XML files, but no such thing was done for the 1.7->1.8 changes.
Thanks for the explanation Giuliano.
The OpenZFS project now works around the issue by forcing version 1.8 or newer:
https://github.com/openzfs/zfs/commit/a9655fc2bd1f
And the project's *.abi files have been regenerated with v1.8:
https://github.com/openzfs/zfs/commit/6ea058da16cc
Hopefully in the future there won't be any silent changes in the XML file
format which trigger abidiff.
Closing this. Thanks again.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-09-05 13:48 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-30 7:20 [Bug default/28289] New: [1.7 -> 1.8 regression] false positives involving enum synthetic type names lukas at wunner dot de
2021-08-30 7:24 ` [Bug default/28289] " lukas at wunner dot de
2021-08-30 7:28 ` lukas at wunner dot de
2021-08-30 7:28 ` lukas at wunner dot de
2021-08-30 7:29 ` lukas at wunner dot de
2021-08-30 7:43 ` gprocida at google dot com
2021-09-05 13:48 ` lukas at wunner dot de
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).