public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
* [Bug default/30971] New: Changes being suppressed unexpectedly when using "has_data_member_inserted_at"
@ 2023-10-13 17:22 quic_johmoo at quicinc dot com
  2023-10-16  9:22 ` [Bug default/30971] " dodji at redhat dot com
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: quic_johmoo at quicinc dot com @ 2023-10-13 17:22 UTC (permalink / raw)
  To: libabigail

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

            Bug ID: 30971
           Summary: Changes being suppressed unexpectedly when using
                    "has_data_member_inserted_at"
           Product: libabigail
           Version: unspecified
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: default
          Assignee: dodji at redhat dot com
          Reporter: quic_johmoo at quicinc dot com
                CC: libabigail at sourceware dot org
  Target Milestone: ---

Say I have the following struct:

struct foo {
        long x;
        long y;
};

Then change one of the types (but keep the size the same):

struct foo {
        long x;
        unsigned long y;
};

If I abidiff this with no suppressions, I get:

  [C] 'struct foo' changed:
    type size hasn't changed
    1 data member change:
      type of 'long int y' changed:
        type name changed from 'long int' to 'unsigned long int'
        type size hasn't changed

However, it seems like if I add any struct suppression involving data member
insertions, it filters out the change. For example:

[suppress_type]
        type_kind = struct
        has_data_member_inserted_at = offset_of(not_present)

The "not_present" member isn't in "struct foo", so I would expect the diff to
still be emitted, but it is not:

Functions changes summary: 0 Removed, 0 Changed, 0 Added function
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
Unreachable types summary: 0 removed, 0 changed (1 filtered out), 0 added type

This doesn't apply to all suppressions. For example, this seems to be working
properly:

[suppress_type]
        type_kind = struct
        name = bar

Since there's no struct named "bar", it doesn't filter anything. If I change it
to "name = foo", then it's filtered.

Same with this:

[suppress_type]
        type_kind = struct
        has_data_member = not_present

Since there's no data member "not_present", the diff is still emitted. If I
change it to "has_data_member = x", the diff is suppressed as expected.

Am I misunderstanding something about how "has_data_member_inserted_at" works?
Seems that any time I use that suppression, it filters out struct changes where
no data members are inserted at all.

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug default/30971] Changes being suppressed unexpectedly when using "has_data_member_inserted_at"
  2023-10-13 17:22 [Bug default/30971] New: Changes being suppressed unexpectedly when using "has_data_member_inserted_at" quic_johmoo at quicinc dot com
@ 2023-10-16  9:22 ` dodji at redhat dot com
  2023-10-16 13:04 ` dodji at redhat dot com
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: dodji at redhat dot com @ 2023-10-16  9:22 UTC (permalink / raw)
  To: libabigail

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

dodji at redhat dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2023-10-16
             Status|UNCONFIRMED                 |ASSIGNED

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug default/30971] Changes being suppressed unexpectedly when using "has_data_member_inserted_at"
  2023-10-13 17:22 [Bug default/30971] New: Changes being suppressed unexpectedly when using "has_data_member_inserted_at" quic_johmoo at quicinc dot com
  2023-10-16  9:22 ` [Bug default/30971] " dodji at redhat dot com
@ 2023-10-16 13:04 ` dodji at redhat dot com
  2023-10-16 18:16 ` quic_johmoo at quicinc dot com
  2023-10-17  8:50 ` dodji at redhat dot com
  3 siblings, 0 replies; 5+ messages in thread
From: dodji at redhat dot com @ 2023-10-16 13:04 UTC (permalink / raw)
  To: libabigail

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

--- Comment #1 from dodji at redhat dot com ---
I could reproduce the problem, thank you for reporting it.

[...]

> Am I misunderstanding something about how "has_data_member_inserted_at" works?

No, you are correct, this is a bug.

I have a patch for it at
https://sourceware.org/git/?p=libabigail.git;a=commit;h=eb58465d715e4629cf53e2b79ac1532f855c1261
in the branch "PR30971" that can be browsed at
https://sourceware.org/git/?p=libabigail.git;a=shortlog;h=refs/heads/users/dodji/PR30971.

Does that patch fixes the issue for you?

> Seems that any time I use that suppression, it filters out struct changes where
> no data members are inserted at all.

That is exactly it.  Thank you for spotting this.

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug default/30971] Changes being suppressed unexpectedly when using "has_data_member_inserted_at"
  2023-10-13 17:22 [Bug default/30971] New: Changes being suppressed unexpectedly when using "has_data_member_inserted_at" quic_johmoo at quicinc dot com
  2023-10-16  9:22 ` [Bug default/30971] " dodji at redhat dot com
  2023-10-16 13:04 ` dodji at redhat dot com
@ 2023-10-16 18:16 ` quic_johmoo at quicinc dot com
  2023-10-17  8:50 ` dodji at redhat dot com
  3 siblings, 0 replies; 5+ messages in thread
From: quic_johmoo at quicinc dot com @ 2023-10-16 18:16 UTC (permalink / raw)
  To: libabigail

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

--- Comment #2 from John Moon <quic_johmoo at quicinc dot com> ---
Thanks Dodji! I tested your patch and it does fix the bug.

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug default/30971] Changes being suppressed unexpectedly when using "has_data_member_inserted_at"
  2023-10-13 17:22 [Bug default/30971] New: Changes being suppressed unexpectedly when using "has_data_member_inserted_at" quic_johmoo at quicinc dot com
                   ` (2 preceding siblings ...)
  2023-10-16 18:16 ` quic_johmoo at quicinc dot com
@ 2023-10-17  8:50 ` dodji at redhat dot com
  3 siblings, 0 replies; 5+ messages in thread
From: dodji at redhat dot com @ 2023-10-17  8:50 UTC (permalink / raw)
  To: libabigail

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

dodji at redhat dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED

--- Comment #3 from dodji at redhat dot com ---
(In reply to John Moon from comment #2)
> Thanks Dodji! I tested your patch and it does fix the bug.

Thanks, John, for the quick feedback!

I have applied the patch
https://inbox.sourceware.org/libabigail/87jzrlk5fi.fsf@redhat.com/ to the
master branch.

That fix should be available in libabigail 2.4.

Thank you for reporting this problem and sorry for the inconvenience.

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-10-17  8:50 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-10-13 17:22 [Bug default/30971] New: Changes being suppressed unexpectedly when using "has_data_member_inserted_at" quic_johmoo at quicinc dot com
2023-10-16  9:22 ` [Bug default/30971] " dodji at redhat dot com
2023-10-16 13:04 ` dodji at redhat dot com
2023-10-16 18:16 ` quic_johmoo at quicinc dot com
2023-10-17  8:50 ` dodji at redhat dot com

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).