public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
From: "dodji at redhat dot com" <sourceware-bugzilla@sourceware.org>
To: libabigail@sourceware.org
Subject: [Bug default/30034] [libabigail] Handle library splitting
Date: Mon, 05 Jun 2023 15:36:51 +0000	[thread overview]
Message-ID: <bug-30034-9487-LNPXIE4J7H@http.sourceware.org/bugzilla/> (raw)
In-Reply-To: <bug-30034-9487@http.sourceware.org/bugzilla/>

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

--- Comment #6 from dodji at redhat dot com ---
"david.marchand at redhat dot com" <sourceware-bugzilla@sourceware.org>
writes:

[...]

> Asking for a abidiff on this librte_eal.so library file would make libabigail
> parse libm.so.6, libnuma.so.1 etc....

Where would libabigail find those (dependant) libraries?

> There may be a concern with recursivity, because parsing the dependencies of
> dependencies could become troublesome and consume a lot of cpu/memory.

We could limit (by default) the dependant libraries to those that are
dependencies of the libraries provided on the command line.  E.g, the
dependencies of libm.so.6 would be ignored.  In other words, we won't be
looking at the transitive closure of the binaries provided on the
command line of abidiff, but rather at their direct dependencies.

> So the "--follow-dt-needed" option could take an optional regex to filter which
> dependencies are to be considered.

Yes, the suppression specification file syntax could be augmented to
take a property that filters out the dependencies to ignore while
handling the --follow-dt-needed option.  [Note that I'd rather call the
option --follow-dependencies to avoid being specific to ELF as ABIXML
does have a similar concept too].

Would that work for you?

> I am unclear whether it may be better to *require* a filter (wrt to cpu/memory
> consumption).

I don't know first hand.  That the kind of details that can be flushed
out later after a some real world testing, I guess.

> Here is an example with how we check DPDK libraries. With this new option, I
> would focus on librte_.*\.so.* files so invoking as:
> $ abidiff --follow-dt-needed librte_ --suppr .../devtools/libabigail.abignore
> --no-added-syms --headers-dir1
> .../abi/v23.03/build-gcc-shared/usr/local/include --headers-dir2
> .../builds/main/build-gcc-shared/install/usr/local/include
> .../abi/v23.03/build-gcc-shared/usr/local/lib64/librte_eal.so
> .../builds/main/build-gcc-shared/install/usr/local/lib64/librte_eal.so

So, are you sure that librte_eal.so has ALL the split libraries
(resulting from splitting the former big library into smaller ones) as
dependencies?  I mean, this really looks like a particular case of the
general problem of being able to compare sets of ABI corpora.  Sure, I
understand how this particular use case is worth supporting (and I agree
we should support it), but in the grand scheme of things, I am wondering
if supporting /just/ this particular case makes sense.

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

  parent reply	other threads:[~2023-06-05 15:36 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-23 13:45 [Bug default/30034] New: " david.marchand at redhat dot com
2023-06-02 17:53 ` [Bug default/30034] " dodji at redhat dot com
2023-06-05  8:04 ` david.marchand at redhat dot com
2023-06-05 11:01 ` dodji at redhat dot com
2023-06-05 15:08 ` david.marchand at redhat dot com
2023-06-05 15:24 ` woodard at redhat dot com
2023-06-05 15:36 ` dodji at redhat dot com [this message]
2023-06-05 16:53 ` woodard at redhat dot com
2023-06-06  7:28 ` david.marchand at redhat dot com
2023-06-06 21:07 ` woodard at redhat dot com
2023-06-09 12:29 ` dodji at redhat dot com
2023-06-14 12:22 ` david.marchand at redhat dot com
2023-06-23  8:30 ` david.marchand at redhat dot com
2023-06-23  8:32 ` david.marchand at redhat dot com
2023-06-23 10:17 ` david.marchand at redhat dot com
2023-06-24 14:19 ` dodji at redhat dot com
2023-06-24 14:32 ` dodji at redhat dot com
2023-06-25  8:17 ` david.marchand at redhat dot com
2023-06-25  8:37 ` david.marchand at redhat dot com
2023-06-26 10:07 ` dodji at redhat dot com
2023-06-26 10:11 ` dodji at redhat dot com
2023-06-26 12:13 ` david.marchand at redhat dot com
2023-06-26 12:41 ` david.marchand at redhat dot com
2023-06-26 13:57 ` dodji at redhat dot com
2023-07-06 13:38 ` david.marchand at redhat dot com
2023-07-07  8:38   ` Dodji Seketeli
2023-07-07  8:39 ` dodji at seketeli dot org
2023-07-07 11:48 ` dodji at redhat dot com
2023-07-07 13:55 ` fweimer at redhat dot com
2023-07-07 18:18 ` dodji at redhat 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-30034-9487-LNPXIE4J7H@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).