public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
From: "gprocida+abigail at google dot com" <sourceware-bugzilla@sourceware.org>
To: libabigail@sourceware.org
Subject: [Bug default/26013] abidiff: collapse subsequent data member offset changes
Date: Tue, 26 Jan 2021 13:10:53 +0000	[thread overview]
Message-ID: <bug-26013-9487-PwVCuPRIUz@http.sourceware.org/bugzilla/> (raw)
In-Reply-To: <bug-26013-9487@http.sourceware.org/bugzilla/>

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

Giuliano Procida <gprocida+abigail at google dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |gprocida+abigail at google dot com

--- Comment #1 from Giuliano Procida <gprocida+abigail at google dot com> ---
Hi Dodji.

This is to give you an update where we are with this. I decided that opening up
and operating on abidiff to achieve the stated aim would be quite (and too)
intrusive, particularly given the relative ease with which this can be done in
post-processing.

We've implemented a post-processor which generates output like the following.

    ...
    8 ('foo' .. 'bar') offsets changed (by +256 bits)
    ...

Only consecutive runs where the members have identical offset changes - and
only offset changes - are summarised like this.

In abidiff, the trickiest bit would be determining that there were no other
changes. This can only be done with a holistic view of either the diff output
(which might mean pushing functionality into the ostream object) or perhaps
member diffs (but that would require adding a lot of functionality and probably
splitting the change categories SIZE and OFFSET as I proposed long ago).

The idea to do something with ostream using for reporting is not terrible. For
example, much of the indentation logic could be centralised there; multiple
post-processing filters could be added.

But... we actually find it useful to have the full unexpurgated report and use
post-processing to yield a shorter report that users look at by default. We
only have to run abidiff once.

That was a bit of a longer update than I intended. The post-processing code is
here, if you're interested. It includes a couple of other filters.

https://android.googlesource.com/kernel/build/+/refs/heads/master/abi/abitool.py

Regards.

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

      reply	other threads:[~2021-01-26 13:10 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-18 20:08 [Bug default/26013] New: " maennich at android dot com
2021-01-26 13:10 ` gprocida+abigail at google dot com [this message]

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-26013-9487-PwVCuPRIUz@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).