Article View: gnu.gdb.bug
Article #623Sun4 GDB bug (3.0)
From: Michael Tiemann
Date: Sun, 27 Nov 1988 19:06
Date: Sun, 27 Nov 1988 19:06
17 lines
1136 bytes
1136 bytes
This code in printcmd.c assumes that LOC_REGPARM implies
an integer or floating type. In fact, any kind of type
can occur for a LOC_REGPARM. GDB crashes if a parameter
has some other kind of type.
/* Print the next arg. */
if (SYMBOL_CLASS (sym) == LOC_REGPARM)
{
unsigned char raw_buffer[MAX_REGISTER_RAW_SIZE];
unsigned char virtual_buffer[MAX_REGISTER_VIRTUAL_SIZE];
read_relative_register_raw_bytes (SYMBOL_VALUE (sym), raw_buffer);
if (TYPE_CODE (SYMBOL_TYPE (sym)) == TYPE_CODE_INT)
val = value_from_long (SYMBOL_TYPE (sym), *(int *)raw_buffer);
else if (TYPE_CODE (SYMBOL_TYPE (sym)) == TYPE_CODE_FLT)
val = value_from_double (SYMBOL_TYPE (sym), *(double *)raw_buffer);
}
Technical Details
Message-ID:
<8811271906.AA01414@chickasaw.>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!watmath!uunet!tut.cis.ohio-state.edu!CIS.OHIO-STATE.EDU!mdtShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!watmath!uunet!tut.cis.ohio-state.edu!CIS.OHIO-STATE.EDU!mdt From: mdt@CIS.OHIO-STATE.EDU (Michael Tiemann) Newsgroups: gnu.gdb.bug Subject: Sun4 GDB bug (3.0) Message-ID: <8811271906.AA01414@chickasaw.> Date: 27 Nov 88 19:06:00 GMT Sender: daemon@tut.cis.ohio-state.edu Reply-To: tiemann@lurch.stanford.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 17