* [Bug default/18902] New: Apply suppression specifications to the output of abidw
@ 2015-01-01 0:00 dodji at redhat dot com
2015-01-01 0:00 ` [Bug default/18902] " dodji at redhat dot com
` (6 more replies)
0 siblings, 7 replies; 8+ messages in thread
From: dodji at redhat dot com @ 2015-01-01 0:00 UTC (permalink / raw)
To: libabigail
https://sourceware.org/bugzilla/show_bug.cgi?id=18902
Bug ID: 18902
Summary: Apply suppression specifications to the output of
abidw
Product: libabigail
Version: unspecified
Status: NEW
Severity: enhancement
Priority: P2
Component: default
Assignee: dodji at redhat dot com
Reporter: dodji at redhat dot com
CC: libabigail at sourceware dot org
Target Milestone: ---
Today suppression specifications apply to the result of a comparison.
It's useful that they also apply to the output of abidw. That is, the abixml
format writer shouldn't emit a type or a decl if it's suppressed by a supplied
suppression specification.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug default/18902] Apply suppression specifications to the output of abidw
2015-01-01 0:00 [Bug default/18902] New: Apply suppression specifications to the output of abidw dodji at redhat dot com
@ 2015-01-01 0:00 ` dodji at redhat dot com
2016-01-01 0:00 ` roland at gnu dot org
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: dodji at redhat dot com @ 2015-01-01 0:00 UTC (permalink / raw)
To: libabigail
https://sourceware.org/bugzilla/show_bug.cgi?id=18902
dodji at redhat dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
Blocks| |18606
--- Comment #1 from dodji at redhat dot com ---
The code that evaluates a suppression specification and determines that it
matches an ABI artifact is in abg-comparison.cc. It's called "suppression
engine" and it's part of the comparison engine.
We need to separate that suppression engine from the comparison engine and make
it have a well defined API. We'll then adjust the comparison engine to make it
use the API of that new suppression engine logical component.
Then we'll change the xml format writer to make it use the suppression engine
to know if it should emit a decl or not, depending on if the decl (or its type)
has been suppressed.
Referenced Bugs:
https://sourceware.org/bugzilla/show_bug.cgi?id=18606
[Bug 18606] RFE: Handling opaque types by classifying header files as external
vs internal
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug default/18902] Apply suppression specifications to the output of abidw
2015-01-01 0:00 [Bug default/18902] New: Apply suppression specifications to the output of abidw dodji at redhat dot com
2015-01-01 0:00 ` [Bug default/18902] " dodji at redhat dot com
2016-01-01 0:00 ` roland at gnu dot org
@ 2016-01-01 0:00 ` roland at gnu dot org
2016-01-01 0:00 ` [Bug default/18902] Apply suppression specifications when building type internal representation dodji at redhat dot com
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: roland at gnu dot org @ 2016-01-01 0:00 UTC (permalink / raw)
To: libabigail
https://sourceware.org/bugzilla/show_bug.cgi?id=18902
Roland McGrath <roland at gnu dot org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Blocks| |19843
Referenced Bugs:
https://sourceware.org/bugzilla/show_bug.cgi?id=19843
[Bug 19843] make abidw usable in the glibc build process
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug default/18902] Apply suppression specifications to the output of abidw
2015-01-01 0:00 [Bug default/18902] New: Apply suppression specifications to the output of abidw dodji at redhat dot com
2015-01-01 0:00 ` [Bug default/18902] " dodji at redhat dot com
@ 2016-01-01 0:00 ` roland at gnu dot org
2016-01-01 0:00 ` roland at gnu dot org
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: roland at gnu dot org @ 2016-01-01 0:00 UTC (permalink / raw)
To: libabigail
https://sourceware.org/bugzilla/show_bug.cgi?id=18902
Roland McGrath <roland at gnu dot org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |roland at gnu dot org
--- Comment #2 from Roland McGrath <roland at gnu dot org> ---
This is one of the key features that will enable glibc to start using abidw as
part of the build/test process. So my vote is to give it high priority!
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug default/18902] Apply suppression specifications when building the internal representation
2015-01-01 0:00 [Bug default/18902] New: Apply suppression specifications to the output of abidw dodji at redhat dot com
` (3 preceding siblings ...)
2016-01-01 0:00 ` [Bug default/18902] Apply suppression specifications when building type internal representation dodji at redhat dot com
@ 2016-01-01 0:00 ` dodji at redhat dot com
2016-01-01 0:00 ` [Bug default/18902] Apply suppression specifications when building type " dodji at redhat dot com
2016-01-01 0:00 ` dodji at redhat dot com
6 siblings, 0 replies; 8+ messages in thread
From: dodji at redhat dot com @ 2016-01-01 0:00 UTC (permalink / raw)
To: libabigail
https://sourceware.org/bugzilla/show_bug.cgi?id=18902
dodji at redhat dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|Apply suppression |Apply suppression
|specifications to the |specifications when
|output of abidw |building the internal
| |representation
--- Comment #3 from dodji at redhat dot com ---
Indeed, this is an important feature to work on.
It appears that although libabigail only considers globally defined functions
and variables, all types that are reachable from these definitions are
represented (even through pointer dereferencing) end up being represented by
libabigail when it analyses a binary.
In these circumstances, it's not uncommon to to see cases where *all* types of
some analysed binaries are represented. If nothing else, this can cause memory
consumption to sky-rocket. Think about libraries like libwebkit, or libjvm.so.
As a positive perspective, we know that in most of the cases, abi{pkg}diff is
going to be used with suppression specifications to filter out ABI change
reports on types that are *NOT* defined in the public header. In other words,
filter out ABI change reports on types that are internal to the binary being
analysed. I am thinking about the new options --header-dir{1,2} of abidiff or
--devel-pkg{1,2} at #19588 and #19948.
So if we can make it so that libabigail avoids building internal
representations of types that are effectively "internal types" to those
binaries, I figure we can save some significant amount of memory (and hopefully
time) during the analysis phase. And there won't be anything to filter out
during the diff categorization/filtering phase.
So I am going to work on this soon, hopefully.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug default/18902] Apply suppression specifications when building type internal representation
2015-01-01 0:00 [Bug default/18902] New: Apply suppression specifications to the output of abidw dodji at redhat dot com
` (5 preceding siblings ...)
2016-01-01 0:00 ` [Bug default/18902] Apply suppression specifications when building type " dodji at redhat dot com
@ 2016-01-01 0:00 ` dodji at redhat dot com
6 siblings, 0 replies; 8+ messages in thread
From: dodji at redhat dot com @ 2016-01-01 0:00 UTC (permalink / raw)
To: libabigail
https://sourceware.org/bugzilla/show_bug.cgi?id=18902
dodji at redhat dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|Apply suppression |Apply suppression
|specifications when |specifications when
|building the internal |building type internal
|representation |representation
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug default/18902] Apply suppression specifications when building type internal representation
2015-01-01 0:00 [Bug default/18902] New: Apply suppression specifications to the output of abidw dodji at redhat dot com
` (2 preceding siblings ...)
2016-01-01 0:00 ` roland at gnu dot org
@ 2016-01-01 0:00 ` dodji at redhat dot com
2016-01-01 0:00 ` [Bug default/18902] Apply suppression specifications when building the " dodji at redhat dot com
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: dodji at redhat dot com @ 2016-01-01 0:00 UTC (permalink / raw)
To: libabigail
https://sourceware.org/bugzilla/show_bug.cgi?id=18902
dodji at redhat dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
--- Comment #4 from dodji at redhat dot com ---
Work on this feature has started in branch dodji/suppr which can be browsed at
https://sourceware.org/git/gitweb.cgi?p=libabigail.git;a=shortlog;h=refs/heads/dodji/suppr.
The idea is that abidw (as well as abidiff, abipkgdiff, and abilint) can now
support a suppression specification like this one:
[suppress_function]
# If we are looking at a C++ binary that is *NOT* libstdc++ itself,
# internal representation of functions of libstdc++ that are
# instantiated into this binary should be dropped on the floor
# and not be present in memory.
# As a result, the corresponding ABI XML file won't
# contain any description of these functions either and
# will be smaller as a result.
name_regexp = std::.*
file_name_not_regexp = libstdc++.so
drop_artifact = yes
That suppression specification allows the tool to drop some selected functions
from the internal representation of the ABI of the binary so that the resulting
internal representation is smaller.
It's intended to make the "drop_artifact" property also work with the
"[suppress_variable]" directive.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug default/18902] Apply suppression specifications when building type internal representation
2015-01-01 0:00 [Bug default/18902] New: Apply suppression specifications to the output of abidw dodji at redhat dot com
` (4 preceding siblings ...)
2016-01-01 0:00 ` [Bug default/18902] Apply suppression specifications when building the " dodji at redhat dot com
@ 2016-01-01 0:00 ` dodji at redhat dot com
2016-01-01 0:00 ` dodji at redhat dot com
6 siblings, 0 replies; 8+ messages in thread
From: dodji at redhat dot com @ 2016-01-01 0:00 UTC (permalink / raw)
To: libabigail
https://sourceware.org/bugzilla/show_bug.cgi?id=18902
dodji at redhat dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #5 from dodji at redhat dot com ---
This feature landed in the master branch at commit
https://sourceware.org/git/?p=libabigail.git;a=commit;h=98c8d616849059a219adf49e2b742ebae70deced.
It will be present in the coming 1.0rc6 release of Libabigail.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2016-11-23 9:43 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-01 0:00 [Bug default/18902] New: Apply suppression specifications to the output of abidw dodji at redhat dot com
2015-01-01 0:00 ` [Bug default/18902] " dodji at redhat dot com
2016-01-01 0:00 ` roland at gnu dot org
2016-01-01 0:00 ` roland at gnu dot org
2016-01-01 0:00 ` [Bug default/18902] Apply suppression specifications when building type internal representation dodji at redhat dot com
2016-01-01 0:00 ` [Bug default/18902] Apply suppression specifications when building the " dodji at redhat dot com
2016-01-01 0:00 ` [Bug default/18902] Apply suppression specifications when building type " dodji at redhat dot com
2016-01-01 0:00 ` 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).