This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/66830] Problem with C++ unique symbols in plugins


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66830

Carlos O'Donell <carlos at redhat dot com> changed:

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

--- Comment #4 from Carlos O'Donell <carlos at redhat dot com> ---
(In reply to pleuba from comment #3)
> Is this problem/behavior referenced or documented somewhere? I did not find
> any explanation on the internet. 
> 
> It take me some time to understand it, and if we can avoid others to spend
> this time too.
> 
> Are they any plans to fix this or disable unique symbols by default ?

The dynamic loader could mark all users of an STB_GNU_UNIQUE symbol as
RTLD_NODELETE. It seems like the only answer.

That would mean you can't unload any of your plugins, and would make using C++
for dynamic plugin work very difficult. A long-running process could never
change these plugins. The author of the plugins would have to understand
intimate ABI details to write unloadable plugins or use another language that
doesn't have these problems.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]