This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/42679] RTLD_DEEPBIND dlopen option for shared library that uses libstdc++ std::ostream crashes
- From: "jakub at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 28 Jan 2010 08:03:05 -0000
- Subject: [Bug libstdc++/42679] RTLD_DEEPBIND dlopen option for shared library that uses libstdc++ std::ostream crashes
- References: <bug-42679-13845@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #6 from jakub at gcc dot gnu dot org 2010-01-28 08:03 -------
If libstdc++ relies on ODR, then RTLD_DEEPBIND can break its assumptions, as
then the same symbol which is defined in multiple shared libraries can resolve
to different addresses (RTLD_DEEPBIND means first the dlopened library and its
dependencies, and only after it the global search scope, will be searched).
STB_GNU_UNIQUE object ought to cure it, though it is only in 4.5 (and 4.4-RH)
gcc and sufficiently new binutils and glibc are needed for it too.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42679