Re: [rfa/c++] cp_lookup_rtti_type, take 2

Daniel Jacobowitz
2003-12-05T05:01:25Z

On Thu, Dec 04, 2003 at 11:22:37PM -0500, Michael Chastain wrote:
> Cool, I will commit this patch now.
>
> > The only reason we can do it by symbol lookup at all is the One
> > Definition Rule, and we should probably be restricting ourselves to the
> > objfile in which we found the minimal symbol.
>
> Yes, it's still very flaky. The only reason it works now is that
> there is a low-priority "fallback" search over all static blocks.
> That is just more trouble waiting to happen.

Trouble doesn't generally happen, though, because of the ODR.

> We've got a vtbl pointer, and we want type information for it.
> So we translate:
>
> vtbl address -> minsym
> minsym -> mangled name
> mangled name -> demangled name
> demangled name -> prefix
> prefix -> symbol
> symbol -> type
>
> Maybe we should just go from the vtbl address to the symbol without
> converting to a name and back again?!

We don't have any information to do that, unless you know something I
don't.

> > Now that we've had another major release of GDB I am extremely tempted
> > to rip out aCC C++ support. If you really want to experiment, the HP
> > TestDrive systems do have aCC installed; www.testdrive.hp.com and
> > spe191.testdrive.hp.com:telnet. But they're a real nuisance to run
> > tests on due to the lack of usable (to me) tools, and the restrictive
> > firewall.
>
> That's in my area. "Get into testdrive" is a task for me, and "set up
> migchain/migbat" is another task. I can handle the lack of tools as
> long as there is lots of disk space, because I bootstrap the whole
> toolchain. I'll have to see how restrictive the firewall is.

You may have to start bootstrap a little further back than usual.
You'll need at least GNU Make... HP-UX's make is incredibly annoying.

> > And if we found problems, there wouldn't be anyone motivated
> > to fix them.
>
> Well, it would be useful to get enough hpux running to clean up
> all the hp/acc special code in the test suite. It would be great
> if acc is completely getting replaced, too.
>
> > The "earlier version" used VAR_DOMAIN, FYI. It was presumably based on
> > the code in gnu-v2-abi.c, but because gnu-v2-abi.c didn't show the
> > problem I encountered at the time I didn't update it.
>
> Aha, the history is falling into place.
>
> In retrospect, my new lookup_rtti_type should take the domain as a parameter.

I don't really think so. You're always (?) looking for aggregate types
STRUCT_DOMAIN is the most useful place to find them.

--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer