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

Michael Elizabeth Chastain
2003-12-05T04:23:16Z

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.

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?!

> 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.

> 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.

This is the major regression from gdb 6.0 to gdb HEAD. I'd like to get
gdb HEAD to a state where there are no known regressions. I have a
goal that gdb_6_1-branch will take only 6 weeks from cutting the branch
to the release!

Michael C