public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* c++ public symbol exported
@ 2021-11-23 15:51 Mathieu Malaterre
  2021-11-24 10:28 ` -fvisibility=hidden doesn't hide stl implementation details Mathieu Malaterre
  0 siblings, 1 reply; 2+ messages in thread
From: Mathieu Malaterre @ 2021-11-23 15:51 UTC (permalink / raw)
  To: gcc-help

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,

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

* -fvisibility=hidden doesn't hide stl implementation details.
  2021-11-23 15:51 c++ public symbol exported Mathieu Malaterre
@ 2021-11-24 10:28 ` Mathieu Malaterre
  0 siblings, 0 replies; 2+ messages in thread
From: Mathieu Malaterre @ 2021-11-24 10:28 UTC (permalink / raw)
  To: gcc-help

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@debian.org> 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,

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

end of thread, other threads:[~2021-11-24 10:29 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-23 15:51 c++ public symbol exported Mathieu Malaterre
2021-11-24 10:28 ` -fvisibility=hidden doesn't hide stl implementation details Mathieu Malaterre

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).