[Bug default/31513] abidiff differences due to change in compiler version
woodard at redhat dot com
sourceware-bugzilla@sourceware.org
Wed Mar 20 19:14:07 GMT 2024
https://sourceware.org/bugzilla/show_bug.cgi?id=31513
Ben Woodard <woodard at redhat dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |woodard at redhat dot com
--- Comment #5 from Ben Woodard <woodard at redhat dot com> ---
As a person who has done a lot of testing like this:
Ques 1: Is this behavior expected as we have not made any change in the source
files of the library the highlighted changes are in compiler source files.
"is this behavior expected" is a tricky question. As a person who has done a
lot of this testing. I would say that that this behavior is "expected" in the
sense that I do not at all find it surprising. On the other hand, is this
behavior "desired", no not really. Here is the thing, libabigail pulls its
information from a combination of DWARF and ELF and while ELF pretty much is
needed to make things work and if it isn't "right" the program doesn't run.
DWARF on the other hand has been more or less an afterthought and if things
were not correct then *shrug*. The feeling was it wasn't a critical problem if
debuggers didn't work perfectly in all cases. Tools such as libabigail, stress
the DWARF in new ways and have uncovered quite a few compiler bugs over the
years. We work closely with the compiler people and have resolved many issues
as they have come up.
So with compilers as far apart as 7.5.0 and 11.4.0 I think it is pretty fair to
assume that we found and fixed quite a few problems between those two releases
and some of the differences are false errors due to problems with the DWARF
emitted by the compiler. The fact that the problems end up showing up in part
of the stdlib also is suggestive that they are more a problem with DWARF than a
problem with your library's ABI changing.
That being said, there may be some changes in how the templates in the headers
that make up that part of the standard library are instantiated based on the
compiler version or supported language version and this could lead to changes
like you are seeing. If that bit of code has a conditional compilation that
adds those members or deletes those other members based on the compiler's
language version then you could see that.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Libabigail
mailing list