[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug default/23795] Ignore libstdc++ symbols incorrectly exported in other libraries



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.