Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!iuvax!cica!tut.cis.ohio-state.edu!UUNET.UU.NET!kewill!bryan From: kewill!bryan@UUNET.UU.NET (Bryan Boreham) Newsgroups: gnu.gdb.bug Subject: A bug fix! (I hope) Message-ID: <8907131930.AA00293@edinburgh.kewill.uucp> Date: 13 Jul 89 19:30:53 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 40 This appears to fix the core-dumping problem I mentioned earlier: diff -c dbxread.c.orig dbxread.c *** dbxread.c.orig Sun Apr 9 13:41:31 1989 --- dbxread.c Thu Jul 13 20:28:09 1989 *************** *** 3565,3571 **** has not yet been seen. In this case, we skip to the comma, which will mark the end of the base class name. (The ':' at the end of the base class name will be skipped as well.) */ ! *pp = (char *) index (*pp, ','); /* Just allocate the type and leave it zero if nothing known */ return dbx_alloc_type (typenums); --- 3565,3581 ---- has not yet been seen. In this case, we skip to the comma, which will mark the end of the base class name. (The ':' at the end of the base class name will be skipped as well.) */ ! ! /* Change by Bryan Boreham, Kewill, Thu Jul 13 20:09:44 1989. ! ! This is wrong, as it can set *pp to zero if there is no comma, ! which occurs if the compiler didn't know what the type is. It seems ! safe to check for the colon instead, although I can't be certain this ! won't break other things. ! ! Was: *pp = (char *) index (*pp, ','); */ ! *pp = (char *) index (*pp, ':') + 1; ! /* Just allocate the type and leave it zero if nothing known */ return dbx_alloc_type (typenums); Please mail me if this is wrong; I don't know anything about the internals of gdb, or the way dbx information should look. Bryan Boreham bryan@kewill.uucp Software Engineer || bryan%kewill@uunet.uu.net Kewill Systems PLC || ... uunet!mcvax!ukc!root44!kewill!bryan Walton-On-Thames Surrey, England Telephone: (+44) 932 248 328