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: Daniel Berlin <dberlin at redhat dot com>
- Subject: Re: gdb 5.0 "ia64-unknown-linux" segv error
- From: gjertsen at us dot ibm dot com
- Date: Tue, 12 Dec 2000 12:26:43 -0500
- cc: kevinb at cygnus dot com (Kevin Buettner), bug-gdb at gnu dot org, gdb at sources dot redhat dot com
I've upgraded g++ / toochain and that fixed the problem occuring in gdb
(used 1002 toolchain ... 1204 was giving me a headache).
Turbolinux apparently is using the 0719 snapshot of the toolchain which was
right before this self-referential problem with g++ was fixed.
Thanks for the quick help,
--Rob
Daniel Berlin <dberlin@redhat.com>@cygnus.com on 12/09/2000 07:16:26 PM
Sent by: dberlin@cygnus.com
To: kevinb@cygnus.com (Kevin Buettner)
cc: Robert K Gjertsen/Austin/IBM@IBMUS, bug-gdb@gnu.org,
gdb@sources.redhat.com
Subject: 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