[cxx-abi-dev] comparing type_infos (was Re: Patch for throw/catch problems)

Jason Merrill jason_merrill at redhat.com
Tue Aug 14 22:47:45 UTC 2001


>>>>> "Mark" == Mark Mitchell <mark at codesourcery.com> writes:

> Maybe -- but it is what it says, and it is what people have implemented.
> I know that there are C++ compilers out there with runtimes that do
> pointer comparisons now...

Really?  Comparisons of pointers to type_infos, complete with the special
trickery necessary to handle pointers to incomplete type?  Why, when they
can just as easily do pointer comparison of the NTBS?

> Anyhow, there are two issues, both important:

>   - What happens with RTLD_LOCAL?

>   - How can we reduce startup cost?

> They're somewhat different, even if they might have a related solution.

> My opinion is that RTLD_LOCAL is not something we should even try to
> get right.  It's way too hard.

Yup.

> Startup cost happens once per program, except for any excess memory
> used that hangs around.  So, for a long-running application (anything
> graphical definitely qualifies) this isn't *too* important, and there
> are techniques (caching, prelinking) that can get around the problem.

And yet it seems to be a significant problem for a significant number of
people.  I was trying hard to avoid unnecessary dynamic relocations in the
ABI; clearly I failed.  I think I wasn't paying close enough attention to
the RTTI stuff.

Jason



More information about the cxx-abi-dev mailing list