From: "dodji at redhat dot com" <sourceware-bugzilla@sourceware.org>
To: libabigail@sourceware.org
Subject: [Bug default/26646] unexpectedly declaration-only types
Date: Mon, 24 Jan 2022 15:07:07 +0000 [thread overview]
Message-ID: <bug-26646-9487-2A6plAzCu2@http.sourceware.org/bugzilla/> (raw)
In-Reply-To: <bug-26646-9487@http.sourceware.org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=26646
--- Comment #10 from dodji at redhat dot com ---
Hello,
Here is my analysis on what is going on.
Let's look at the DWARF output and the abixml of the vmlinux3 binary.
From the abixml, we see that the struct ip_mc_list is used from the struct
in_device type. For instance, the ip_mc_list::mc_list data member is of type
"pointer to decl-only struct ip_mc_list".
Moreover, the only use of struct ip_mc_list is through a "pointer to decl-only
struct ip_mc_list" use.
Let's look at the DWARF to see if we see the same.
[5ebb608] structure_type abbrev: 25
name (strp) "in_device"
byte_size (data2) 352
decl_file (data1) inetdevice.h (122)
decl_line (data1) 25
This is the definition DIE of the struct in_device type.
[...]
[5ebb641] member abbrev: 4
name (strp) "mc_list"
type (ref4) [5ebb7f7]
decl_file (data1) inetdevice.h (122)
decl_line (data1) 31
data_member_location (data1) 24
This is the definition of the "in_device::mc_list" data member.
Its type is the DIE [5ebb7f7] ...
[...]
[5ebb7f7] pointer_type abbrev: 5
type (ref4) [5ebb7fc]
Here we see that the DIE [5ebb7f7] is a pointer ...
[5ebb7fc] structure_type abbrev: 12
name (strp) "ip_mc_list"
declaration (flag_present) yes
... to a struct ip_mc_list that is declaration-only.
Looking through the DWARF, there no public exported function that refers
directly or indirectly to the full definition of ip_mc_list, as defined by this
DIE, for instance:
[9b97e73] structure_type abbrev: 3
name (strp) "ip_mc_list"
byte_size (data1) 144
decl_file (data1) igmp.h (228)
decl_line (data1) 67
[...]
So, this is why libabigail considers that the /definition/ of the struct
ip_mc_list is not used by any function that is publicly defined. So, that
struct definition is not part of the ABI.
What am I missing?
--
You are receiving this mail because:
You are on the CC list for the bug.
next prev parent reply other threads:[~2022-01-24 15:07 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-22 11:35 [Bug default/26646] New: " gprocida+abigail at google dot com
2020-09-22 12:15 ` [Bug default/26646] " dodji at redhat dot com
2020-10-06 21:02 ` gprocida+abigail at google dot com
2020-10-07 9:33 ` gprocida+abigail at google dot com
2020-11-23 17:06 ` gprocida+abigail at google dot com
2022-01-17 17:46 ` gprocida at google dot com
2022-01-18 9:37 ` gprocida at google dot com
2022-01-18 11:20 ` gprocida at google dot com
2022-01-18 11:20 ` gprocida at google dot com
2022-01-18 11:32 ` gprocida at google dot com
2022-01-24 15:07 ` dodji at redhat dot com [this message]
2022-01-24 17:29 ` gprocida at google dot com
2022-02-07 10:40 ` gprocida at google dot com
2022-02-07 11:19 ` dodji at redhat dot com
2022-02-07 17:10 ` [Bug default/26646] unexpected " dodji at redhat dot com
2022-02-07 17:47 ` gprocida at google dot com
2022-02-07 21:15 ` gprocida at google dot com
2022-02-10 16:45 ` dodji at redhat dot com
2022-02-10 16:46 ` gprocida at google dot com
2022-02-10 17:21 ` gprocida at google dot com
2022-02-10 17:33 ` dodji at redhat dot com
2022-02-10 17:36 ` dodji at redhat dot com
2022-02-10 18:53 ` gprocida at google dot com
2022-02-11 12:51 ` gprocida at google dot com
2022-02-11 13:00 ` gprocida at google dot com
2022-02-24 11:09 ` dodji at redhat dot com
2022-02-24 12:16 ` gprocida at google dot com
2022-02-24 15:54 ` dodji at redhat dot com
2022-02-24 16:05 ` gprocida at google dot com
2022-02-28 9:59 ` dodji at redhat dot com
2022-02-28 10:01 ` dodji at redhat dot com
2022-03-01 14:34 ` gprocida at google dot com
2022-03-01 14:40 ` gprocida at google dot com
2022-03-02 13:34 ` Dodji Seketeli
2022-03-02 13:34 ` dodji at seketeli dot org
2022-03-02 22:36 ` gprocida at google dot com
2022-03-03 11:43 ` dodji at seketeli dot org
2022-03-03 13:32 ` gprocida at google dot com
2022-06-08 15:43 ` gprocida at google 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-26646-9487-2A6plAzCu2@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).