Article View: gnu.gdb.bug
Article #401Bug/feature request in gdb-4.6.
From: Randall Smith
Date: Wed, 26 Aug 1992 15:14
Date: Wed, 26 Aug 1992 15:14
39 lines
1707 bytes
1707 bytes
In the function define_symbol in gdb-4.6 read the following words:
if (string[0] == CPLUS_MARKER)
{
/* Special GNU C++ names. */
switch (string[1])
{
case 't':
SYMBOL_NAME (sym) = obsavestring ("this", strlen ("this"),
&objfile -> symbol_obstack);
break;
case 'v': /* $vtbl_ptr_type */
/* Was: SYMBOL_NAME (sym) = "vptr"; */
goto normal;
case 'e':
SYMBOL_NAME (sym) = obsavestring ("eh_throw", strlen ("eh_throw"),
&objfile -> symbol_obstack);
break;
case '_':
/* This was an anonymous type that was never fixed up. */
goto normal;
default:
abort ();
}
}
I question the wisdom of calling abort from within define_symbol.
Specifically, you may be (I am) debugging a mixed C/some other random
language program and wish to use gdb on it. That other random language
may have added extensions to the dbx symbol format that gdb doesn't
understand, but that do not render gdb useless in debugging that
language. I would think that the right thing to do would be to return
from define_symbol (ie. do nothing for that symbol), possibly printing a
warning (though this feature should be togglable, or gdb should only tell
the user about the first three or four instances of it).
-- Randy
Technical Details
Message-ID:
<9208261514.AA24807@turing.think.com>Path:
arc1-ca.pugleaf.net!sparky!uunet!cis.ohio-state.edu!think.com!randysShow Full Headers
Complete Article Headers
Newsgroups: gnu.gdb.bug Path: arc1-ca.pugleaf.net!sparky!uunet!cis.ohio-state.edu!think.com!randys From: randys@think.com (Randall Smith) Subject: Bug/feature request in gdb-4.6. Message-ID: <9208261514.AA24807@turing.think.com> Sender: gnulists@ai.mit.edu Organization: GNUs Not Usenet Distribution: gnu Date: Wed, 26 Aug 1992 15:14:37 GMT Approved: bug-gdb@prep.ai.mit.edu Lines: 40