This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: libstdc++/4292: dynamic_cast incorrectly returns 0
- To: aoliva at gcc dot gnu dot org
- Subject: Re: libstdc++/4292: dynamic_cast incorrectly returns 0
- From: Florian Kainz <kainz at ilm dot com>
- Date: Tue, 06 Nov 2001 11:47:33 -0800
- CC: gcc-bugs at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, hubbard at ilm dot com, jyost at ilm dot com, kainz at ilm dot com, nobody at gcc dot gnu dot org
- Organization: Industrial Light + Magic
- References: <20010929033401.14446.qmail@sourceware.cygnus.com>
aoliva@gcc.gnu.org wrote:
> RTLD_GLOBAL should fix the problem. I'm not sure we really want to make type comparison less efficient to allow for non-GLOBAL dlopening.
Thank you for looking into this.
RTLD_GLOBAL does not fix the incorrect dynamic_cast.
Also, there are situations where dlopen is used without
RTLD_GLOBAL for a good reason, and adding the RTLD_GLOBAL
flag sometimes just isn't possible.
I definitely prefer "correct" over "fast", especially
when the difference in performance is rather small, as
in this case.
Florian Kainz
Industrial Light + Magic