This is the mail archive of the
mailing list for the GCC project.
Re: Minimal GCC/Linux shared lib + EH bug example
- From: martin at v dot loewis dot de (Martin v. Loewis)
- To: Mark Mitchell <mark at codesourcery dot com>
- Cc: Jason Merrill <jason at redhat dot com>, David Abrahams <david dot abrahams at rcn dot com>, "Ralf W. Grosse-Kunstleve" <rwgk at cci dot lbl dot gov>, "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: 12 May 2002 20:48:42 +0200
- Subject: Re: Minimal GCC/Linux shared lib + EH bug example
- References: <firstname.lastname@example.org>
Mark Mitchell <email@example.com> writes:
> > I find this testcase somewhat persuasive, as the offending dlopen call is
> > not in the C++ code. What do others think?
> I agree with your other statement: RTLD_LOCAL and C++ don't really make
The issue is that Python *must* use RTLD_LOCAL to load its extension
modules, or else unrelated extension modules might crash due to
Now, people want to use C++ for extension modules. So far, this has
worked fine - except that it now stops working with g++ 3.x, if you
want to throw exceptions in the extension module.
> We will have given people a bigger bazooka, but it will be aimed at
> their own feet.
Since the alternative is not to allow writing exceptions in C++,
people would be willing to accept restrictions, if they know what
those restrictions are. Requiring all classes used as exceptions to be
polymorphic (non-pure non-inline blabla), and not allowing static
members in templates might be acceptable; not allowing exceptions
It would be nice if the compiler could warn if features are used that
require symbol uniqueness.