public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
* [Bug default/19967] System-level suppressions for glibc.
  2016-01-01  0:00 [Bug default/19967] New: System-level suppressions for glibc carlos at redhat dot com
  2016-01-01  0:00 ` [Bug default/19967] " dodji at redhat dot com
  2016-01-01  0:00 ` [Bug default/19967] New: " Dodji Seketeli
@ 2016-01-01  0:00 ` dodji at redhat dot com
  2016-01-01  0:00 ` dodji at seketeli dot org
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ 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=19967

dodji at redhat dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #6 from dodji at redhat dot com ---
(In reply to Carlos O'Donell from comment #5)
> I hope that answers your question.

It sure does, thanks Carlos!

So I committed this default suppression
https://sourceware.org/git/gitweb.cgi?p=libabigail.git;a=blob_plain;f=default.abignore.

You can use it right now  by "make install"-install the master branch of
libabigail's git (from commit
https://sourceware.org/git/gitweb.cgi?p=libabigail.git;a=commit;h=1ab5aebf594c658ade543c18bfa0d7f8758bf8a2)
and then just invoking abidiff, abipkgdiff or fedabipkgdiff.

Otherwise, this should be available in the next 1.0.rc5 release of libabigail.

Thanks for taking time to file this problem report!

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug default/19967] System-level suppressions for glibc.
  2016-01-01  0:00 [Bug default/19967] New: System-level suppressions for glibc carlos at redhat dot com
                   ` (4 preceding siblings ...)
  2016-01-01  0:00 ` dodji at redhat dot com
@ 2016-01-01  0:00 ` dodji at redhat dot com
  2016-01-01  0:00 ` carlos at redhat dot com
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ 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=19967
Bug 19967 depends on bug 20180, which changed state.

Bug 20180 Summary: Support system-wide suppression specifications
https://sourceware.org/bugzilla/show_bug.cgi?id=20180

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug default/19967] System-level suppressions for glibc.
  2016-01-01  0:00 [Bug default/19967] New: System-level suppressions for glibc carlos at redhat dot com
                   ` (5 preceding siblings ...)
  2016-01-01  0:00 ` dodji at redhat dot com
@ 2016-01-01  0:00 ` carlos at redhat dot com
  2016-01-01  0:00 ` carlos at redhat dot com
  2016-01-01  0:00 ` dodji at redhat dot com
  8 siblings, 0 replies; 10+ messages in thread
From: carlos at redhat dot com @ 2016-01-01  0:00 UTC (permalink / raw)
  To: libabigail

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

--- Comment #2 from Carlos O'Donell <carlos at redhat dot com> ---
(In reply to dodji from comment #1)
> "carlos at redhat dot com" <sourceware-bugzilla@sourceware.org> a écrit:
> 
> > All symbols of the form ".*@GLIBC_PRIVATE" (with version) are implementation
> > dependent symbols shared between glibc shared objects and the dynamic linker. 
> >
> > Such symbols should be added to an abigail generic-OS-level suppression list
> > for GNU/Linux. 
> >
> > The alternative is that distribution-level packages need to provide their own
> > suppresion lists.
> 
> For core libraries like glibc, I think it's more practical for users to
> have an OS-level default suppression list, just like what valgrind does.
> 
> It would put in $libdir/libabigail/default.abignore
> 
> In this particular case the file would contain these two directives:
> 
> [suppress_function]
>   symbol_version = GLIBC_PRIVATE
> 
> [suppress_variable]
>   symbol_version = GLIBC_PRIVATE
> 
> This should be enough.
> 
> In each of these two directives, we could also add a property saying
> something like "this is for glibc", though, I don't think any other
> library would use that version name.  But who knows.
> 
> The possible properties I am thinking about are either file_name_regexp
> or soname_regexp.  We'd need to list all the file names of all the
> libraries of glibc, or their sonames.
> 
> What do you think?

Just to clarify: libabigail would carry a glibc-specific suppression
specification to avoid needing it upstream, or downstram in all the
distributions?

If that's the case, then this sounds perfect.

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug default/19967] System-level suppressions for glibc.
  2016-01-01  0:00 [Bug default/19967] New: System-level suppressions for glibc carlos at redhat dot com
                   ` (3 preceding siblings ...)
  2016-01-01  0:00 ` dodji at seketeli dot org
@ 2016-01-01  0:00 ` dodji at redhat dot com
  2016-01-01  0:00 ` dodji at redhat dot com
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ 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=19967

--- Comment #4 from dodji at redhat dot com ---
Hey Carlos,

So what do you think the content of the system-wide suppression should be?

I am thinking about this:

[suppress_function]
  symbol_version = GLIBC_PRIVATE
  soname_regexp = <union of the sonames of the different libc DSOs>

[suppress_variable]
  symbol_version = GLIBC_PRIVATE
  soname_regexp = <union of the sonames of the different libc DSOs>


If this is OK, could you help me with the value of the soname_regexp property
please?

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug default/19967] System-level suppressions for glibc.
  2016-01-01  0:00 [Bug default/19967] New: System-level suppressions for glibc carlos at redhat dot com
                   ` (6 preceding siblings ...)
  2016-01-01  0:00 ` carlos at redhat dot com
@ 2016-01-01  0:00 ` carlos at redhat dot com
  2016-01-01  0:00 ` dodji at redhat dot com
  8 siblings, 0 replies; 10+ messages in thread
From: carlos at redhat dot com @ 2016-01-01  0:00 UTC (permalink / raw)
  To: libabigail

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

--- Comment #5 from Carlos O'Donell <carlos at redhat dot com> ---
(In reply to dodji from comment #4)
> Hey Carlos,
> 
> So what do you think the content of the system-wide suppression should be?
> 
> I am thinking about this:
> 
> [suppress_function]
>   symbol_version = GLIBC_PRIVATE
>   soname_regexp = <union of the sonames of the different libc DSOs>
> 
> [suppress_variable]
>   symbol_version = GLIBC_PRIVATE
>   soname_regexp = <union of the sonames of the different libc DSOs>
> 
> 
> If this is OK, could you help me with the value of the soname_regexp
> property please?

We have the following sonames which are relevant:

ld-linux-x86-64.so.2
libanl.so.1
libcidn.so.1
libcrypt.so.1
libc.so.6
libdl.so.2
libm.so.6
libmvec.so.1
libnsl.so.1
libnss_compat.so.2
libnss_db.so.2
libnss_dns.so.2
libnss_files.so.2
libnss_hesiod.so.2
libnss_nisplus.so.2
libnss_nis.so.2
libpthread.so.0
libresolv.so.2
librt.so.1
libthread_db.so.1
libutil.so.1

Empirically the following trivial regexp seems to work:

sed -e
's,\(libanl\|libcidn\|libcrypt\|libc\|libdl\|libm\|libmvec\|libnsl\|libnss_compat\|libnss_db\|libnss_dns\|libnss_files\|libnss_hesiod\|libnss_nisplus\|libnss_nis\|libpthread\|libresolv\|librt\|libthread_db\|libutil\|ld[a-z0-9-]*\)\.so.[0-9]*,,g'

I am trying to be as conservative as possible and avoid all instances of '.*'
and instead use [...]* to capture strings of numbers or digits.

The most variable entry is ld.so, which can be ld-linux-x86-64.so.2, or
ld-2.24.so, or ld-linux-armhf.so.2, etc. etc. (varying by arch and by release,
just look at https://sourceware.org/glibc/wiki/ABIList).

I hope that answers your question.

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug default/19967] System-level suppressions for glibc.
  2016-01-01  0:00 [Bug default/19967] New: System-level suppressions for glibc carlos at redhat dot com
@ 2016-01-01  0:00 ` dodji at redhat dot com
  2016-01-01  0:00 ` [Bug default/19967] New: " Dodji Seketeli
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ 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=19967

dodji at redhat dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug default/19967] System-level suppressions for glibc.
  2016-01-01  0:00 [Bug default/19967] New: System-level suppressions for glibc carlos at redhat dot com
                   ` (7 preceding siblings ...)
  2016-01-01  0:00 ` carlos at redhat dot com
@ 2016-01-01  0:00 ` dodji at redhat dot com
  8 siblings, 0 replies; 10+ 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=19967

dodji at redhat dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Depends on|                            |20180
           Severity|normal                      |enhancement

--- Comment #3 from dodji at redhat dot com ---
Okay, to implement this, I am creating a separate enhancement request to
support system-wide default suppression specifications in libabigail.

When that request is handled, then we can focus on the particular suppression
specifications to come with, in for glibc in particular.

The enhancement request in question is
https://sourceware.org/bugzilla/show_bug.cgi?id=20180.


Referenced Bugs:

https://sourceware.org/bugzilla/show_bug.cgi?id=20180
[Bug 20180] Support system-wide suppression specifications
-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug default/19967] New: System-level suppressions for glibc.
@ 2016-01-01  0:00 carlos at redhat dot com
  2016-01-01  0:00 ` [Bug default/19967] " dodji at redhat dot com
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: carlos at redhat dot com @ 2016-01-01  0:00 UTC (permalink / raw)
  To: libabigail

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

            Bug ID: 19967
           Summary: System-level suppressions for glibc.
           Product: libabigail
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: default
          Assignee: dodji at redhat dot com
          Reporter: carlos at redhat dot com
                CC: libabigail at sourceware dot org
  Target Milestone: ---

All symbols of the form ".*@GLIBC_PRIVATE" (with version) are implementation
dependent symbols shared between glibc shared objects and the dynamic linker. 

Such symbols should be added to an abigail generic-OS-level suppression list
for GNU/Linux. 

The alternative is that distribution-level packages need to provide their own
suppresion lists.

What's the preference?

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Bug default/19967] New: System-level suppressions for glibc.
  2016-01-01  0:00 [Bug default/19967] New: System-level suppressions for glibc carlos at redhat dot com
  2016-01-01  0:00 ` [Bug default/19967] " dodji at redhat dot com
@ 2016-01-01  0:00 ` Dodji Seketeli
  2016-01-01  0:00 ` [Bug default/19967] " dodji at redhat dot com
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Dodji Seketeli @ 2016-01-01  0:00 UTC (permalink / raw)
  To: carlos at redhat dot com; +Cc: libabigail

"carlos at redhat dot com" <sourceware-bugzilla@sourceware.org> a écrit:

> All symbols of the form ".*@GLIBC_PRIVATE" (with version) are implementation
> dependent symbols shared between glibc shared objects and the dynamic linker. 
>
> Such symbols should be added to an abigail generic-OS-level suppression list
> for GNU/Linux. 
>
> The alternative is that distribution-level packages need to provide their own
> suppresion lists.

For core libraries like glibc, I think it's more practical for users to
have an OS-level default suppression list, just like what valgrind does.

It would put in $libdir/libabigail/default.abignore

In this particular case the file would contain these two directives:

[suppress_function]
  symbol_version = GLIBC_PRIVATE

[suppress_variable]
  symbol_version = GLIBC_PRIVATE

This should be enough.

In each of these two directives, we could also add a property saying
something like "this is for glibc", though, I don't think any other
library would use that version name.  But who knows.

The possible properties I am thinking about are either file_name_regexp
or soname_regexp.  We'd need to list all the file names of all the
libraries of glibc, or their sonames.

What do you think?

-- 
		Dodji

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug default/19967] System-level suppressions for glibc.
  2016-01-01  0:00 [Bug default/19967] New: System-level suppressions for glibc carlos at redhat dot com
                   ` (2 preceding siblings ...)
  2016-01-01  0:00 ` [Bug default/19967] " dodji at redhat dot com
@ 2016-01-01  0:00 ` dodji at seketeli dot org
  2016-01-01  0:00 ` dodji at redhat dot com
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: dodji at seketeli dot org @ 2016-01-01  0:00 UTC (permalink / raw)
  To: libabigail

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

--- Comment #1 from dodji at seketeli dot org ---
"carlos at redhat dot com" <sourceware-bugzilla@sourceware.org> a écrit:

> All symbols of the form ".*@GLIBC_PRIVATE" (with version) are implementation
> dependent symbols shared between glibc shared objects and the dynamic linker. 
>
> Such symbols should be added to an abigail generic-OS-level suppression list
> for GNU/Linux. 
>
> The alternative is that distribution-level packages need to provide their own
> suppresion lists.

For core libraries like glibc, I think it's more practical for users to
have an OS-level default suppression list, just like what valgrind does.

It would put in $libdir/libabigail/default.abignore

In this particular case the file would contain these two directives:

[suppress_function]
  symbol_version = GLIBC_PRIVATE

[suppress_variable]
  symbol_version = GLIBC_PRIVATE

This should be enough.

In each of these two directives, we could also add a property saying
something like "this is for glibc", though, I don't think any other
library would use that version name.  But who knows.

The possible properties I am thinking about are either file_name_regexp
or soname_regexp.  We'd need to list all the file names of all the
libraries of glibc, or their sonames.

What do you think?

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2016-05-31 11:04 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-01  0:00 [Bug default/19967] New: System-level suppressions for glibc carlos at redhat dot com
2016-01-01  0:00 ` [Bug default/19967] " dodji at redhat dot com
2016-01-01  0:00 ` [Bug default/19967] New: " Dodji Seketeli
2016-01-01  0:00 ` [Bug default/19967] " dodji at redhat dot com
2016-01-01  0:00 ` dodji at seketeli dot org
2016-01-01  0:00 ` dodji at redhat dot com
2016-01-01  0:00 ` dodji at redhat dot com
2016-01-01  0:00 ` carlos at redhat dot com
2016-01-01  0:00 ` carlos 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).