This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [rfa/c++] cp_lookup_rtti_type, take 2
- From: mec dot gnu at mindspring dot com (Michael Elizabeth Chastain)
- To: drow at mvista dot com, mec dot gnu at mindspring dot com
- Cc: carlton at kealia dot com, gdb-patches at sources dot redhat dot com
- Date: Thu, 4 Dec 2003 23:22:37 -0500 (EST)
- Subject: Re: [rfa/c++] cp_lookup_rtti_type, take 2
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