This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: gdb 5.0 "ia64-unknown-linux" segv error
- To: kevinb at cygnus dot com (Kevin Buettner)
- Subject: Re: gdb 5.0 "ia64-unknown-linux" segv error
- From: Daniel Berlin <dberlin at redhat dot com>
- Date: 09 Dec 2000 20:16:26 -0500
- Cc: gjertsen at us dot ibm dot com, bug-gdb at gnu dot org, gdb at sources dot redhat dot com
- References: <1001209230540.ZM25815.cygnus.bug-gdb@ocotillo.lan>
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