[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug default/25128] abidiff is incorrectly comparing the size for declaration-only types with --leaf-changes-only



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

--- Comment #2 from Matthias Maennich <maennich at android dot com> ---
Created attachment 12052
  --> https://sourceware.org/bugzilla/attachment.cgi?id=12052&action=edit
another reproducer

I found another case. This time the default reporter recognizes the difference.
The leaf reporter does not report a difference, but returns rc=4 indicating an
ABI difference.


$ abidiff base.xml new.xml    # i.e. the default reporter

Functions changes summary: 0 Removed, 1 Changed (710 filtered out), 0 Added
functions
Variables changes summary: 0 Removed, 0 Changed (8 filtered out), 0 Added
variables

1 function with some indirect sub-type change:

  [C]'function sk_buff* __cfg80211_alloc_event_skb(wiphy*, wireless_dev*,
nl80211_commands, nl80211_attrs, unsigned int, int, int, gfp_t)' at
nl80211.c:9646:1 has some indirect sub-type changes:
    parameter 2 of type 'wireless_dev*' has sub-type changes:
      in pointed to type 'struct wireless_dev' at cfg80211.h:4896:1:
        type size hasn't changed
        1 data member change:
         type of 'wiphy* wireless_dev::wiphy' changed:
           in pointed to type 'struct wiphy' at cfg80211.h:4536:1:
             type size hasn't changed
             1 data member changes (2 filtered):
              type of 'cfg80211_wowlan* wiphy::wowlan_config' changed:
                in pointed to type 'struct cfg80211_wowlan' at
cfg80211.h:2704:1:
                  type size hasn't changed
                  1 data member changes (1 filtered):
                   type of 'cfg80211_wowlan_tcp* cfg80211_wowlan::tcp' changed:
                     in pointed to type 'struct cfg80211_wowlan_tcp' at
cfg80211.h:2670:1:
                       type size hasn't changed
                       1 data member change:
                        type of 'socket* cfg80211_wowlan_tcp::sock' changed:
                          in pointed to type 'struct socket' at net.h:112:1:
                            type size hasn't changed
                            1 data member changes (1 filtered):
                             type of 'const proto_ops* socket::ops' changed:
                               in pointed to type 'const proto_ops':
                                 in unqualified underlying type 'struct
proto_ops' at net.h:135:1:
                                   type size hasn't changed
                                   1 data member changes (22 filtered):
                                    type of 'void ()* proto_ops::read_sock'
changed:
                                      in pointed to type 'function type int
(sock*, read_descriptor_t*, typedef sk_read_actor_t)':
                                        parameter 1 of type 'sock*' has
sub-type changes:
                                          in pointed to type 'struct sock' at
sock.h:324:1:
                                            type size hasn't changed
                                            1 data member changes (1 filtered):
                                             type of 'xfrm_policy*
sock::sk_policy[2]' changed:
                                               array element type
'xfrm_policy*' changed:
                                                 in pointed to type 'struct
xfrm_policy':
                                                   type size changed from 6336
to 0 (in bits)
                                               type size hasn't changed


$abidiff --leaf-changes-only base.xml new.xml

Leaf changes summary: 0 artifact changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

RC=4


Inspecting the xml files revealed the same difference as in the previous case.

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