-fvisibility=hidden doesn't hide stl implementation details.

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

 



Hi there,

So I eventually stumble upon:

* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36022
* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=50348

which are both marked as "resolved invalid"...so this issue is even
more mysterious to me.

Both issues describe easy to reproduce steps...however the problematic
symbols from those bugs reports are now gone using g++ 10.2.1 (Debian
bullseye).

Could someone please confirm what is the expected behavior of g++ with
regard to libstdc++ symbols ? The documentation makes is quite clear
for exception class, so my question is about the other types (eg.
std::vector). Should I expect symbols to be visible or not ?

Thanks,

On Tue, Nov 23, 2021 at 4:51 PM Mathieu Malaterre <malat@xxxxxxxxxx> wrote:
>
> Hi there,
>
> From time to time I see odd c++ symbols appearing in my Debian symbol
> file. For example when packaging the CharLS library:
>
> * https://buildd.debian.org/status/fetch.php?pkg=charls&arch=amd64&ver=2.2.0%2Bdfsg-3&stamp=1632479482&raw=0
>
> I need to hide some symbols. Otherwise some c++ symbols appears such as:
>
> _ZSt12__miter_baseIPhEDTcl12__miter_basecldtfp_4baseEEESt13move_iteratorIT_E
>
> with:
>
> % echo _ZSt12__miter_baseIPhEDTcl12__miter_basecldtfp_4baseEEESt13move_iteratorIT_E
> | c++filt
> decltype (__miter_base(({parm#1}.base)())) std::__miter_base<unsigned
> char*>(std::move_iterator<unsigned char*>)
>
> Where is it coming from ? My CXXFLAGS is set to `-fvisibility=hidden
> -fvisibility-inlines-hidden`.
>
> Thanks much,



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux