public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
* [Bug default/23795] Ignore libstdc++ symbols incorrectly exported in other libraries
  2018-01-01  0:00 [Bug default/23795] New: Ignore libstdc++ symbols incorrectly exported in other libraries bochecha at daitauha dot fr
                   ` (2 preceding siblings ...)
  2018-01-01  0:00 ` bochecha at daitauha dot fr
@ 2018-01-01  0:00 ` fweimer at redhat dot com
  2018-01-01  0:00 ` dodji at redhat dot com
  4 siblings, 0 replies; 6+ messages in thread
From: fweimer at redhat dot com @ 2018-01-01  0:00 UTC (permalink / raw)
  To: libabigail

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

Florian Weimer <fweimer at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |fweimer at redhat dot com

--- Comment #2 from Florian Weimer <fweimer at redhat dot com> ---
(In reply to Mathieu Bridon from comment #0)
> Some C++ libraries sometimes incorrectly export some symbols from libstdc++.

Are these STB_GNU_UNIQUE bindings that are required to get working C++
templates?  Or actual exports of implementation of support functions?

If a library is statically linked with a copy of libstdc++ and doesn't hide
these symbols, then why would anyone ignore this?  It's likely to result in
problems.

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

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

* [Bug default/23795] New: Ignore libstdc++ symbols incorrectly exported in other libraries
@ 2018-01-01  0:00 bochecha at daitauha dot fr
  2018-01-01  0:00 ` [Bug default/23795] " fweimer at redhat dot com
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: bochecha at daitauha dot fr @ 2018-01-01  0:00 UTC (permalink / raw)
  To: libabigail

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

            Bug ID: 23795
           Summary: Ignore libstdc++ symbols incorrectly exported in other
                    libraries
           Product: libabigail
           Version: unspecified
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: default
          Assignee: dodji at redhat dot com
          Reporter: bochecha at daitauha dot fr
                CC: libabigail at sourceware dot org
  Target Milestone: ---

Some C++ libraries sometimes incorrectly export some symbols from libstdc++.

Libabigail could ignore those by default in its default suppression files.

The following seems to do the trick:

```
[suppress_function]
label = Ignore libstdc++ symbols incorrectly exported by in other libraries
soname_not_regexp = ^libstdc\\+\\+\\.so.*
name_regexp = ^__gnu_cxx\\:\\:.*
drop = yes
```

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

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

* [Bug default/23795] Ignore libstdc++ symbols incorrectly exported in other libraries
  2018-01-01  0:00 [Bug default/23795] New: Ignore libstdc++ symbols incorrectly exported in other libraries bochecha at daitauha dot fr
  2018-01-01  0:00 ` [Bug default/23795] " fweimer at redhat dot com
  2018-01-01  0:00 ` dodji at redhat dot com
@ 2018-01-01  0:00 ` bochecha at daitauha dot fr
  2018-01-01  0:00 ` fweimer at redhat dot com
  2018-01-01  0:00 ` dodji at redhat dot com
  4 siblings, 0 replies; 6+ messages in thread
From: bochecha at daitauha dot fr @ 2018-01-01  0:00 UTC (permalink / raw)
  To: libabigail

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

--- Comment #1 from Mathieu Bridon <bochecha at daitauha dot fr> ---
Oh wow, actually the snippet from my previous comment does **not** work!

It does work if I remove the `drop = yes` line.

Is that expected?

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

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

* [Bug default/23795] Ignore libstdc++ symbols incorrectly exported in other libraries
  2018-01-01  0:00 [Bug default/23795] New: Ignore libstdc++ symbols incorrectly exported in other libraries bochecha at daitauha dot fr
@ 2018-01-01  0:00 ` fweimer at redhat dot com
  2018-01-01  0:00 ` dodji at redhat dot com
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: fweimer at redhat dot com @ 2018-01-01  0:00 UTC (permalink / raw)
  To: libabigail

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

--- Comment #5 from Florian Weimer <fweimer at redhat dot com> ---
(In reply to dodji from comment #3)
> "fweimer at redhat dot com" <sourceware-bugzilla@sourceware.org> writes:
> 
> > (In reply to Mathieu Bridon from comment #0)
> >> Some C++ libraries sometimes incorrectly export some symbols from libstdc++.
> >
> > Are these STB_GNU_UNIQUE bindings that are required to get working C++
> > templates?  Or actual exports of implementation of support functions?
> 
> From the discussion I've had with the submitter of the bug, my
> understanding is that these are *instantiations* of libstdc++ templates,
> into the user C++ library that is using libstdc++.

Depending on what's in libstdc++ and what's being instantiated, these exports
may be required for correct C++ semantics.  Have you talked to Jonathan about
this?  Can you add some concrete affected symbols to this bug?

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

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

* [Bug default/23795] Ignore libstdc++ symbols incorrectly exported in other libraries
  2018-01-01  0:00 [Bug default/23795] New: Ignore libstdc++ symbols incorrectly exported in other libraries bochecha at daitauha dot fr
  2018-01-01  0:00 ` [Bug default/23795] " fweimer at redhat dot com
@ 2018-01-01  0:00 ` dodji at redhat dot com
  2018-01-01  0:00 ` bochecha at daitauha dot fr
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: dodji at redhat dot com @ 2018-01-01  0:00 UTC (permalink / raw)
  To: libabigail

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

--- Comment #4 from dodji at redhat dot com ---
> Is that expected?

Hmmh, no I don't think so.  I think I'd need to get my hands on the
involved binaries to understand why the 'drop = yes' would make any
difference.

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

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

* [Bug default/23795] Ignore libstdc++ symbols incorrectly exported in other libraries
  2018-01-01  0:00 [Bug default/23795] New: Ignore libstdc++ symbols incorrectly exported in other libraries bochecha at daitauha dot fr
                   ` (3 preceding siblings ...)
  2018-01-01  0:00 ` fweimer at redhat dot com
@ 2018-01-01  0:00 ` dodji at redhat dot com
  4 siblings, 0 replies; 6+ messages in thread
From: dodji at redhat dot com @ 2018-01-01  0:00 UTC (permalink / raw)
  To: libabigail

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

Florian Weimer <fweimer at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |fweimer at redhat dot com

--- Comment #2 from Florian Weimer <fweimer at redhat dot com> ---
(In reply to Mathieu Bridon from comment #0)
> Some C++ libraries sometimes incorrectly export some symbols from libstdc++.

Are these STB_GNU_UNIQUE bindings that are required to get working C++
templates?  Or actual exports of implementation of support functions?

If a library is statically linked with a copy of libstdc++ and doesn't hide
these symbols, then why would anyone ignore this?  It's likely to result in
problems.

--- Comment #3 from dodji at redhat dot com ---
"fweimer at redhat dot com" <sourceware-bugzilla@sourceware.org> writes:

> (In reply to Mathieu Bridon from comment #0)
>> Some C++ libraries sometimes incorrectly export some symbols from libstdc++.
>
> Are these STB_GNU_UNIQUE bindings that are required to get working C++
> templates?  Or actual exports of implementation of support functions?

From the discussion I've had with the submitter of the bug, my
understanding is that these are *instantiations* of libstdc++ templates,
into the user C++ library that is using libstdc++.

I believe those instantiations should not have been expoted by the user
C++ library; that is, the C++ library should have better controlled what
symbols it's exporting.  Alas the user library is exporting basically
everything, including instantiations of libstdc++ stuff that should have
been "private" in ELF terms.

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

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

end of thread, other threads:[~2018-10-19  9:36 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-01  0:00 [Bug default/23795] New: Ignore libstdc++ symbols incorrectly exported in other libraries bochecha at daitauha dot fr
2018-01-01  0:00 ` [Bug default/23795] " fweimer at redhat dot com
2018-01-01  0:00 ` dodji at redhat dot com
2018-01-01  0:00 ` bochecha at daitauha dot fr
2018-01-01  0:00 ` fweimer at redhat dot com
2018-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).