This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: gdb 5.0 "ia64-unknown-linux" segv error


kevinb@cygnus.com (Kevin Buettner) writes:

> On Dec 8,  3:34pm, gjertsen@us.ibm.com wrote:
> 
> > I've transferred the ~24Mb file, testcase.tar.gz, over to the incoming
> > location.
> > 
> > The name/size information is:
> > 
> > -rw-rw-r--   1 gjertsen gjertsen 24473202 Dec  8 15:33 testcase.tar.gz
> > 
> > tar file contents:
> > -rwxrwxr-x   1 gjertsen gjertsen 74072196 Dec  8 15:30 mmfsd
> > -rw-rw-r--   1 gjertsen gjertsen  3158277 Dec  8 15:30 mmfsd.map
> 
> Thanks for the test case.  I am able to reproduce the bug that you
> reported.  I've done some investigation and I now wonder what tools
> you used to create mmfsd.  (I.e, I wonder if the bug is actually in
> the compiler.)  I've used "readelf -wi" to look at the debugging
> symbols in mmfsd and I see the following:
> 
>  <1><96d50>: Abbrev Number: 12 (DW_TAG_typedef)
>      DW_AT_name        : ulong  
>      DW_AT_decl_file   : 12     
>      DW_AT_decl_line   : 59     
>      DW_AT_type        : <96d50>        
> 
> I'm not a DWARF2 expert, but it looks to me like the above is a
> self referential typedef.  This would explain why you're seeing
> the infinite recursion in dwarf2read.c.
> 
Yes, it is, and it's illegal.
This happened a while ago in G++, I reported it, and nobody could
reproduce with the current CVS, so it appears to be fixed.
Someone had sent me an executable with this kind of broken DWARF2
generated by GNU C++ 2.96 20000719.
It was unreproducable on 7/24, according to Jason Merril.
Search gcc-bugs for self-referential.
--Dan


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]